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