PMSM INIT API ;电机初始化接口函数 More...
Macros | |
| #define | SYNC_TIME_0 (1000U) |
| sync time ;四轴同步时间定义 More... | |
| #define | SYNC_TIME_1 (2000U) |
| #define | SYNC_TIME_2 (3000U) |
| #define | SYNC_TIME_3 (4000U) |
| #define | PWM_FREQUENCY (20000) |
| PWM freq uint HZ ;pwm 频率 More... | |
| #define | PWM_RELOAD (motor0_clock_hz/PWM_FREQUENCY) |
| pwm reload value ;pwm 重载值 More... | |
| #define | BLDC_CURRENT_SET_TIME_MS (200) |
| Zero drift calculate times(ms),must less than 250. ;电流采样次数,用于计算零漂 More... | |
Functions | |
| void | parm_global_init (void) |
| Parameter initialization ;参数初始化 More... | |
| void | pi_para_init (BLDC_CONTRL_PID_PARA *par, float KP, float KI, float MAX) |
| init kp,ki,pi control function ;pi控制器初始化 More... | |
| void | pmsm_param_init (BLDC_CONTROL_FOC_PARA *par, uint8_t MOTOR_ID) |
| init foc control para ;电机矢量控制初始化 More... | |
| void | pwm_duty_init (PWM_Type *ptr, uint32_t PWM_PRD, uint8_t CMP_SHADOW_REGISTER_UPDATE_TYPE, uint8_t CMP_COMPARE) |
| Config PWM ;pwm配置 More... | |
| void | pwm_trigfor_adc_init (PWM_Type *ptr, uint32_t PWM_PRD, uint8_t CMP_SHADOW_REGISTER_UPDATE_TYPE, uint8_t CMP_COMPARE, uint8_t PWM_CH_TRIG_ADC) |
| Config the PWM channel for ADC trigger ;pwm触发adc采样 More... | |
| void | pwm_trigfor_currentctrl_init (PWM_Type *ptr, uint32_t PWM_PRD, uint8_t CMP_SHADOW_REGISTER_UPDATE_TYPE, uint8_t CMP_COMPARE, uint8_t PWM_CH_TRIG_CURRENTCtrl) |
| Config the PWM channel for current loop interrupt ;pwm触发电流环中断 More... | |
| void | timer_init (void) |
| 1ms timer for speed loop. ;1ms中断配置gptimer More... | |
| void | init_trigger_mux (TRGM_Type *ptr, uint8_t TRAG_INPUT, uint8_t TRAG_INPUT_FOR_ADC) |
| Config TRGM output&input ;互联管理器配置 More... | |
| void | init_trigger_cfg (ADC16_Type *ptr, uint8_t trig_ch, uint8_t channel, bool inten, uint32_t ADC_MODULE, uint8_t ADC_PREEMPT_TRIG_LEN) |
| Config the preemption mode for an ADC instancet ;adc抢占模式配置 More... | |
| void | adc_cfg_init (ADC16_Type *ptr, uint8_t channel, uint32_t sample_cycle, uint32_t ADC_MODULE) |
| adc cfg init ;adc配置初始化 More... | |
| void | adc_pins_init (PWM_Type *ptr) |
| adc pins init ;adc引脚初始化 More... | |
| void | lv_set_adval_middle (BLDC_CONTROL_FOC_PARA *par, uint32_t ADC_TRG) |
| get current value in steady state ;零漂计算 More... | |
| void | pwm_pins_init (PWM_Type *ptr) |
| pwm pins init ;pwm引脚初始化 More... | |
| void | qei_cfg_init (TRGM_Type *ptr, QEI_Type *ptr_qei, uint8_t trag_in_A, uint8_t trag_out_A, uint8_t trag_in_B, uint8_t trag_out_B, uint32_t QEI_IRQ, uint32_t MAX_cnt) |
| qei cfg ;qei配置 More... | |
| void | qei_pins_init (PWM_Type *ptr) |
| qei pins init ;qei引脚初始化 More... | |
| void | pwm_sync (void) |
| pwm enable at synci. ;pwm 同步使能配置 More... | |
| void | pmsm_motor0_init (void) |
| PMSM Motor1 initialization ;轴0 adc pwm qei等初始化配置 More... | |
| void | pmsm_motor1_init (void) |
| void | pmsm_motor2_init (void) |
| void | pmsm_motor3_init (void) |
| void | pmsm_motor_init (void) |
| void | pmsm0_foc_angle_align (void) |
| Rotor Angle alignment aligns the encoder midpoint value with the actual physical Angle midpoint value . ;给定d轴电流,使得d轴与A轴重合,电角度为0. More... | |
| void | pmsm1_foc_angle_align (void) |
| void | pmsm2_foc_angle_align (void) |
| void | pmsm3_foc_angle_align (void) |
| void | pmsm_foc_angle_align (void) |
Variables | |
| uint32_t | adc_buff [3][(40U)] |
PMSM INIT API ;电机初始化接口函数
| #define BLDC_CURRENT_SET_TIME_MS (200) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Zero drift calculate times(ms),must less than 250. ;电流采样次数,用于计算零漂
| #define PWM_FREQUENCY (20000) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
PWM freq uint HZ ;pwm 频率
| #define PWM_RELOAD (motor0_clock_hz/PWM_FREQUENCY) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
pwm reload value ;pwm 重载值
| #define SYNC_TIME_0 (1000U) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
sync time ;四轴同步时间定义
| #define SYNC_TIME_1 (2000U) |
| #define SYNC_TIME_2 (3000U) |
| #define SYNC_TIME_3 (4000U) |
| void adc_cfg_init | ( | ADC16_Type * | ptr, |
| uint8_t | channel, | ||
| uint32_t | sample_cycle, | ||
| uint32_t | ADC_MODULE | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
adc cfg init ;adc配置初始化
| [in] | ptr | ADC base address;adc结构体 |
| [in] | channel | adc channel;adc通道 |
| [in] | sample_cycle | adc sample cycle;adc采样个数 |
| [in] | ADC_MODULE | adc module;16位adc |
| void adc_pins_init | ( | PWM_Type * | ptr | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
adc pins init ;adc引脚初始化
| [in] | ptr | PWM base address;pwm结构体 |
| void init_trigger_cfg | ( | ADC16_Type * | ptr, |
| uint8_t | trig_ch, | ||
| uint8_t | channel, | ||
| bool | inten, | ||
| uint32_t | ADC_MODULE, | ||
| uint8_t | ADC_PREEMPT_TRIG_LEN | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Config the preemption mode for an ADC instancet ;adc抢占模式配置
| [in] | ptr | ADC base address;adc结构体 |
| [in] | trig_ch | trig channel;触发通道 |
| [in] | channel | adc channel;adc采样通道 |
| [in] | inten | inten;中断使能标志 |
| [in] | ADC_MODULE | adc module;16位adc |
| [in] | ADC_PREEMPT_TRIG_LEN | tirg len;抢占转换队列长度 |
| void init_trigger_mux | ( | TRGM_Type * | ptr, |
| uint8_t | TRAG_INPUT, | ||
| uint8_t | TRAG_INPUT_FOR_ADC | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Config TRGM output&input ;互联管理器配置
| [in] | ptr | TRGM base address;trgm结构体 |
| [in] | TRAG_INPUT | input selection;互联管理器输入 |
| [in] | TRAG_INPUT_FOR_ADC | target output;互联管理器目标输出 |
| void lv_set_adval_middle | ( | BLDC_CONTROL_FOC_PARA * | par, |
| uint32_t | ADC_TRG | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
get current value in steady state ;零漂计算
| [in] | par | foc struct;矢量控制结构体 |
| [in] | ADC_TRG | adc trig channel;adc通道 |
| void parm_global_init | ( | void | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Parameter initialization ;参数初始化
| void pi_para_init | ( | BLDC_CONTRL_PID_PARA * | par, |
| float | KP, | ||
| float | KI, | ||
| float | MAX | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
init kp,ki,pi control function ;pi控制器初始化
| [in] | par | motor para to operate on;电机参数结构体 |
| [in] | KP | proportional gain;比例增益 |
| [in] | KI | integral gain;积分 |
| [in] | MAX | output max;输出限幅 |
| void pmsm0_foc_angle_align | ( | void | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Rotor Angle alignment aligns the encoder midpoint value with the actual physical Angle midpoint value . ;给定d轴电流,使得d轴与A轴重合,电角度为0.
| void pmsm1_foc_angle_align | ( | void | ) |
| void pmsm2_foc_angle_align | ( | void | ) |
| void pmsm3_foc_angle_align | ( | void | ) |
| void pmsm_foc_angle_align | ( | void | ) |
| void pmsm_motor0_init | ( | void | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
PMSM Motor1 initialization ;轴0 adc pwm qei等初始化配置
| void pmsm_motor1_init | ( | void | ) |
| void pmsm_motor2_init | ( | void | ) |
| void pmsm_motor3_init | ( | void | ) |
| void pmsm_motor_init | ( | void | ) |
| void pmsm_param_init | ( | BLDC_CONTROL_FOC_PARA * | par, |
| uint8_t | MOTOR_ID | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
init foc control para ;电机矢量控制初始化
| [in] | par | foc contorl para to operate on;电机矢量控制参数结构体 |
| [in] | MOTOR_ID | motor index;电机轴号 |
| void pwm_duty_init | ( | PWM_Type * | ptr, |
| uint32_t | PWM_PRD, | ||
| uint8_t | CMP_SHADOW_REGISTER_UPDATE_TYPE, | ||
| uint8_t | CMP_COMPARE | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Config PWM ;pwm配置
| [in] | ptr | pwm struct;pwm结构体 |
| [in] | PWM_PRD | pwm timer counter reload value;pwm重载值 |
| [in] | CMP_SHADOW_REGISTER_UPDATE_TYPE | compare configuration update trigger;CMP值更新时机 |
| [in] | CMP_COMPARE | compare work mode;比较器工作模式 |
| void pwm_pins_init | ( | PWM_Type * | ptr | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
pwm pins init ;pwm引脚初始化
| [in] | ptr | PWM base address;pwm结构体 |
| void pwm_sync | ( | void | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
pwm enable at synci. ;pwm 同步使能配置
| void pwm_trigfor_adc_init | ( | PWM_Type * | ptr, |
| uint32_t | PWM_PRD, | ||
| uint8_t | CMP_SHADOW_REGISTER_UPDATE_TYPE, | ||
| uint8_t | CMP_COMPARE, | ||
| uint8_t | PWM_CH_TRIG_ADC | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Config the PWM channel for ADC trigger ;pwm触发adc采样
| [in] | ptr | pwm struct;pwm结构体 |
| [in] | PWM_PRD | pwm timer counter reload value;pwm重载值 |
| [in] | CMP_SHADOW_REGISTER_UPDATE_TYPE | compare configuration update trigger;CMP值更新时机 |
| [in] | CMP_COMPARE | compare work mode;比较器工作模式 |
| [in] | PWM_CH_TRIG_ADC | coutput channel compare start index;比较器通道号 |
| void pwm_trigfor_currentctrl_init | ( | PWM_Type * | ptr, |
| uint32_t | PWM_PRD, | ||
| uint8_t | CMP_SHADOW_REGISTER_UPDATE_TYPE, | ||
| uint8_t | CMP_COMPARE, | ||
| uint8_t | PWM_CH_TRIG_CURRENTCtrl | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
Config the PWM channel for current loop interrupt ;pwm触发电流环中断
| [in] | ptr | pwm struct;pwm结构体 |
| [in] | PWM_PRD | pwm timer counter reload value;pwm重载值 |
| [in] | CMP_SHADOW_REGISTER_UPDATE_TYPE | compare configuration update trigger;CMP值更新时机 |
| [in] | CMP_COMPARE | compare work mode;比较器工作模式 |
| [in] | PWM_CH_TRIG_CURRENTCtrl | coutput channel compare start index;比较器通道号 |
| void qei_cfg_init | ( | TRGM_Type * | ptr, |
| QEI_Type * | ptr_qei, | ||
| uint8_t | trag_in_A, | ||
| uint8_t | trag_out_A, | ||
| uint8_t | trag_in_B, | ||
| uint8_t | trag_out_B, | ||
| uint32_t | QEI_IRQ, | ||
| uint32_t | MAX_cnt | ||
| ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
qei cfg ;qei配置
| [in] | ptr | trgm struct;互联管理器结构体 |
| [in] | ptr_qei | qei struct;qei结构体 |
| [in] | trag_in_A | input selection;互联管理器输入 |
| [in] | trag_out_A | target output;互联管理器输出 |
| [in] | trag_in_B | input selection;互联管理器输入 |
| [in] | trag_out_B | target output;互联管理器输出 |
| [in] | QEI_IRQ | interrupt number;qei中断 |
| [in] | MAX_cnt | maximum phcnt number;电机一圈脉冲数 |
| void qei_pins_init | ( | PWM_Type * | ptr | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
qei pins init ;qei引脚初始化
| [in] | ptr | PWM base address;pwm结构体 |
| void timer_init | ( | void | ) |
#include <apps/pmsm_four_axis_62/software/src/pmsm_init.h>
1ms timer for speed loop. ;1ms中断配置gptimer
|
extern |