新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PSoC4的空间矢量脉宽调制方案

基于PSoC4的空间矢量脉宽调制方案

作者: 时间:2016-12-19 来源:网络 收藏


基于PSoC4的设计实例

我们使用TCPWM模块来实现SVPWM。TCPWM模块提供了电机控制常用的中央对齐、边沿对齐PWM,并可实现严格的同步功能。支持灵活的死区控制,并可与ADC同步。TCPWM包括四个16位的周期长度用户可编程的计数器,这些计数器之间可以进行功能同步。每个模块包含一个捕获寄存器、一个周期寄存器以及一些比较寄存器。每个模块都支持互补的可编程的死区,还支持一个关断输入信号来强迫输出信号进入预先设定的状态。

如图5所示,从PSoC Creator中拖放三个TCPWM模块,配置TCPWM的工作模式为中央对齐,带死区的双路互补输出模式。三对PWM输出可分别作为U、V和W相桥臂驱动信号(如PWM_U_Upper, PWM_U_Lower)。同时在任一TCPWM模块的UN事件输出(下溢信号,用来指示计数器向下计数达到“0”)触发PWM中断(PWM_MainLoop_ISR),用于进行FOC计算并更新占空比。


图5:三相PWM原理图。

“PWM_UPDATE”信号可在UN事件时触发TCPWM的Switch事件,周期和比较寄存器上的值会自动与缓存周期和比较器寄存器的值更换。利用此特性,我们可以在TC事件之前更新缓存寄存器,然后用同一信号触发不同PWM的Switch事件,由此保证各路PWM更新的严格实时同步。

图中的控制寄存器(PWM_Ctrl_Reg)还可以同时使能或禁止六路PWM输出。PSoC灵活的可编程特性可轻松实现了三对严格同步的互补对称PWM及其更新逻辑,这样可以使工程师将更多的时间专注于算法层面,提供产品的竞争力。

主控程序首先会初始化和配置PSoC4的内部资源,然后进入主循环。主循环主要检测用户的起停命令,决定电机的运动状态;并完成一定的调试输出功能。FOC主算法全部在PWM中断中完成,主要完成坐标变换,SVPWM输出及更新占空比等操作。中断程序会人工生成一个周期性变化的角度,用于电机开环运行。图6显示了主控程序流程图。


图6:程序流程图。

实验结果

在PSoC Creator环境下编译工程,并连接PSoC4开发板,三相全桥驱动板与PMSM电机,通电后电机可正常运行,图7电机相电流波形。从测试结果可以看出,电流波形平滑,正弦度很好。


图7相电流波形图。

小结

上述实例介绍了如何在PSoC4 平台上实现空间矢量脉宽调制。PSoC4针对电机控制做出了富有特色的优化。凭借片内丰富的资源及高度的灵活性,用户可以轻松设计出高度集成化、低成本、性能优越的PMSM矢量控制系统,提高产品的核心竞争力。

上一页 1 2 3 下一页

评论


技术专区

关闭