自中科昊芯推出专题阐述HXS320F28034双电机有感FOC控制系统实现以来,第一期主要分析了双电机有感FOC控制原理,第二期着重分析了永磁BLDC的霍尔位置开环控制,第三期着重分析了永磁BLDC的双闭环调速,第四期着重分析了永磁PMSM双闭环FOC调速,本期基于上期的方案做了一个拓展,增加了位置闭环优化,实现永磁电机三闭环有感伺服控制,并继续基于平头哥半导体有限公司的剑池集成开发环境(简称“CDK”)V2.12.1版本与HXS320F28034驱动一体板联合开发。
PMSM三闭环有感伺服原理如图1,系统给定位置θ*与差分增量式编码器计算所得实际角度位置θ相比较,经位置PI运算得到给定转速n*,与差分增量式编码器计算所得实际转速nfbk相比较,经速度PI运算得到q轴电流给定值iq*,采用id*=0控制,与霍尔电流采样得到三相实际电流ia,ib,ic,经CLARK与PARK变换所得d轴与q轴电流id,iq进行比较,经电流PI输出调节电压Ud*,Uq*,经反PARK变换得到调节电压Uα*,Uβ*,经空间矢量脉宽调制SVPWM输出三路开关管切换时间Tcm1,Tcm2,Tcm3,与三路PWM输出三角载波相比较得到六路调制脉宽,驱动控制三相六桥臂MOSFET逆变器通断,实现三闭环伺服的位置精确控制。
图1 PMSM三闭环有感伺服系统框图
依照上述原理,设计HXS320F28034 PMSM三闭环有感伺服系统如图2,通过GPIO按键控制电机使能与位置给定,转子位置与速度检测通过QEP模块实现,电流采样通过ADC模块实现,经三闭环PI调节输出PWM波的导通脉宽,从而实现电机角度位置的精确伺服控制。硬件连接如图3,图中的小黑色电路板为差分编码转换器,读者可根据需要自行采购。
图2 系统硬件原理图
图3 系统硬件连接
系统所采用的软硬件开发环境详见《芯教程丨平头哥CDK助力中科昊芯HX2000系列芯片之双电机有感FOC控制系统专题(一)》。
根据上述分析,基于CDK开发PMSM三闭环有感伺服系统,代码包括:PWM、QEP的外设GPIO引脚配置、三路三相PWM波输出配置,QEP初始化配置与差分编码器位置采样、转速与电角度计算、ADC初始化配置与电流采样、PMSM斜坡启动编码器校正、PI调节算法、CLARK、PARK正逆变换、SVPWM算法调制的EPWM事件触发中断服务程序,主程序执行调用,其中SVPWM算法调制的EPWM事件触发中断服务程序代码为:
1.void INTERRUPT epwm1_isr(void)
2.{
3. /*出于安全考虑,默认驱动板上电时封波,按下GPIO7后,电机开始启动*/
4. if(GpioDataRegs.GPADAT.bit.GPIO7==0)
5. {
6. epwm_flag++;
7. }
8. /*判断启动脉冲信号是否产生,产生后电机开始启动*/
9. if(epwm_flag!=0)
10. {
11. /*启动计时*/
12. start_step++;
13. /*扇区读取:用于获取确定的转子初始位置与对应的SVPWM初始扇区*/
14. sector_uvw();
15. /*斜坡启动与调速:200rpm斜坡加速启动后调速,300个计数内完成启动*/
16. if((speed_ref1<300)&&(start_step<=300))
17. {
18. /*斜坡启动*/
19. start_ramp();
20. }
21. else
22. { if((speed_add!=0)||(speed_sub!=0))
23. {
24. /*按计数,分配在不同时段实现调速与转子位置伺服控制*/
25. speed_theta_regulated();
26. if(theta_reg<250000)
27. { /*调速*/
28. speed_regulated();
29. }
30. else
31. { /*角度调整*/
32. theta_regulated();
33. /*位置闭环*/
34. servo_loop();
35. }
36. }
37. }
38. /*转速闭环*/
39. speed_loop();
40. /*电流闭环*/
41. current_loop();
42. /*给定固定初始角度使电机转过最大反电势点,读取校正值=此时脉冲计数*/
43. theta=theta_open;
44. /*根据差分编码器的霍尔信号判断电机反电势是否处于最大值*/
45. if(theta==NA*_IQ7(PI/3)+_IQ7(PI/6))
46. {
47. iel_int++;
48. }
49. /*反电势最大时,切电角度闭环,使编码器零位与电机零位对齐,完成启动*/
50. if(iel_int!=0)
51. {
52. /*计算电角度*/
53. theta=freq*_IQ7(2*PI);
54. }
55. /*两相旋转坐标系变换到两相静止坐标系*/
56. iPark();
57. /*空间矢量旋转变换*/
58. svpwm_motor();
59. /*调制占空比输出配置*/
60. epwm_compare();
61. }
62. /*清除事件中断的INT全局中断*/
63. EPwm1Regs.ETCLR.bit.INT=1;
64. /*中断应答,锁定IER的第3组中断向量*/
65. PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;
66.}
CDK上开发PMSM三闭环有感伺服系统控制程序,其编译结果为:
编译通过后,可以开始调试,其调试结果如下:
调试后,控制PMSM在400rpm~600rpm调速与调节转子位置的效果如下:
关于中科昊芯
“智由芯生 创享未来”,中科昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构RISC-V,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制及电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。
全部0条评论
快来发表一下你的评论吧 !