HPM SDK
HPMicro Software Development Kit
hpm_over_zero.c File Reference
#include "hpm_bldc_define.h"
#include "hpm_over_zero.h"
#include "hpm_block.h"

Macros

#define HPM_OVER_ZERO_INIT_FILTER_TIMES   15
 
#define HPM_OVER_ZERO_FILTER_TIMES   5
 
#define HPM_OVER_ZERO_INDEX_GET(interval, dir)   (interval << dir)
 

Functions

void hpm_mcl_over_zero_pwm_ctrl (uint8_t motorindex, uint8_t step)
 pwm output for different angle intervals More...
 
int8_t hpm_mcl_over_zero_step_get (hpm_mcl_over_zero_cfg_t *cfg)
 Get commutation position. More...
 
float hpm_mcl_over_zero_speed_filter (hpm_mcl_over_zero_spd_para_t *par)
 Speed filter. More...
 
float hpm_mcl_over_zero_cal_speed (hpm_mcl_over_zero_cfg_t *cfg)
 alculating speed by clock cycles More...
 
float hpm_mcl_over_zero_pi_contrl (hpm_mcl_over_zero_pi_para_t *par)
 Speed pi control. More...
 

Macro Definition Documentation

◆ HPM_OVER_ZERO_FILTER_TIMES

#define HPM_OVER_ZERO_FILTER_TIMES   5

◆ HPM_OVER_ZERO_INDEX_GET

#define HPM_OVER_ZERO_INDEX_GET (   interval,
  dir 
)    (interval << dir)

◆ HPM_OVER_ZERO_INIT_FILTER_TIMES

#define HPM_OVER_ZERO_INIT_FILTER_TIMES   15

Function Documentation

◆ hpm_mcl_over_zero_cal_speed()

float hpm_mcl_over_zero_cal_speed ( hpm_mcl_over_zero_cfg_t cfg)

alculating speed by clock cycles

Parameters
[in,out]cfghpm_mcl_over_zero_cfg_t
Returns
speed raw value

◆ hpm_mcl_over_zero_pi_contrl()

float hpm_mcl_over_zero_pi_contrl ( hpm_mcl_over_zero_pi_para_t par)

Speed pi control.

Parameters
[in]parhpm_mcl_over_zero_pi_para_t
Returns
pwm duty cycle

◆ hpm_mcl_over_zero_pwm_ctrl()

void hpm_mcl_over_zero_pwm_ctrl ( uint8_t  motorindex,
uint8_t  step 
)

pwm output for different angle intervals

Parameters
[in]motorindexmotor index
[in]stepangle intervals

◆ hpm_mcl_over_zero_speed_filter()

float hpm_mcl_over_zero_speed_filter ( hpm_mcl_over_zero_spd_para_t par)

Speed filter.

Parameters
[in,out]parhpm_mcl_over_zero_spd_para_t
Returns
speed value

Low pass

PI

◆ hpm_mcl_over_zero_step_get()

int8_t hpm_mcl_over_zero_step_get ( hpm_mcl_over_zero_cfg_t cfg)

Get commutation position.

Parameters
[in,out]cfghpm_mcl_over_zero_cfg_t
Returns
Current commutation interval

Determine the current state machine and perform different operations

< Continue waiting for positioning to complete

< Continue waiting for positioning to complete

< Number of cumulative cycles