本帖最后由 handsomefa 于 2022-8-24 01:43 编辑
【N32G430开发板试用】+SVPWM驱动电机@安小芯
硬件准备:
N32G430开发板
野火无刷电机控制板和无刷电机
使用G430的以下资源,实现
TIM6:常规定时,用于开环SVPWM的定时,定时时间为1KHz
TIM8:作为三相互补PWM的输出,PWM输出频率为10KHz,可以设置死区时间,仿真同相MOS管上下同时导通
DSP库:用于实现复杂的三角计算
转动效果:
目前问题:
1.电机启动没有判断电机的转子的初始位置,导致启动时会出现抖动
2.电机转动一段时间后会不断抖动,目前判断为SVPWM输出矢量变换和实际电机矢量间的误差不断累加的结果。
异常抖动
代码思路:
1.设置开环的Id,Iq值
2.定时器TIM6中断不断修改转子的目标角度
3.根据以上的数值,进行反Pack和反Clack变换,得出每相mos管的导通时间
4.把导通时间切换为占空比值,写入到TIM8的寄存器中
SVPWM波形
SVPWM_N32.zip
(3.8 MB)
|