基于PSoC4的空間矢量脈寬調制方案
基于PSoC4的設計實(shí)例
我們使用TCPWM模塊來(lái)實(shí)現SVPWM。TCPWM模塊提供了電機控制常用的中央對齊、邊沿對齊PWM,并可實(shí)現嚴格的同步功能。支持靈活的死區控制,并可與ADC同步。TCPWM包括四個(gè)16位的周期長(cháng)度用戶(hù)可編程的計數器,這些計數器之間可以進(jìn)行功能同步。每個(gè)模塊包含一個(gè)捕獲寄存器、一個(gè)周期寄存器以及一些比較寄存器。每個(gè)模塊都支持互補的可編程的死區,還支持一個(gè)關(guān)斷輸入信號來(lái)強迫輸出信號進(jìn)入預先設定的狀態(tài)。
如圖5所示,從PSoC Creator中拖放三個(gè)TCPWM模塊,配置TCPWM的工作模式為中央對齊,帶死區的雙路互補輸出模式。三對PWM輸出可分別作為U、V和W相橋臂驅動(dòng)信號(如PWM_U_Upper, PWM_U_Lower)。同時(shí)在任一TCPWM模塊的UN事件輸出(下溢信號,用來(lái)指示計數器向下計數達到“0”)觸發(fā)PWM中斷(PWM_MainLoop_ISR),用于進(jìn)行FOC計算并更新占空比。

圖5:三相PWM原理圖。
“PWM_UPDATE”信號可在UN事件時(shí)觸發(fā)TCPWM的Switch事件,周期和比較寄存器上的值會(huì )自動(dòng)與緩存周期和比較器寄存器的值更換。利用此特性,我們可以在TC事件之前更新緩存寄存器,然后用同一信號觸發(fā)不同PWM的Switch事件,由此保證各路PWM更新的嚴格實(shí)時(shí)同步。
圖中的控制寄存器(PWM_Ctrl_Reg)還可以同時(shí)使能或禁止六路PWM輸出。PSoC靈活的可編程特性可輕松實(shí)現了三對嚴格同步的互補對稱(chēng)PWM及其更新邏輯,這樣可以使工程師將更多的時(shí)間專(zhuān)注于算法層面,提供產(chǎn)品的競爭力。
主控程序首先會(huì )初始化和配置PSoC4的內部資源,然后進(jìn)入主循環(huán)。主循環(huán)主要檢測用戶(hù)的起停命令,決定電機的運動(dòng)狀態(tài);并完成一定的調試輸出功能。FOC主算法全部在PWM中斷中完成,主要完成坐標變換,SVPWM輸出及更新占空比等操作。中斷程序會(huì )人工生成一個(gè)周期性變化的角度,用于電機開(kāi)環(huán)運行。圖6顯示了主控程序流程圖。

圖6:程序流程圖。
實(shí)驗結果
在PSoC Creator環(huán)境下編譯工程,并連接PSoC4開(kāi)發(fā)板,三相全橋驅動(dòng)板與PMSM電機,通電后電機可正常運行,圖7電機相電流波形。從測試結果可以看出,電流波形平滑,正弦度很好。

圖7相電流波形圖。
小結
上述實(shí)例介紹了如何在PSoC4 平臺上實(shí)現空間矢量脈寬調制。PSoC4針對電機控制做出了富有特色的優(yōu)化。憑借片內豐富的資源及高度的靈活性,用戶(hù)可以輕松設計出高度集成化、低成本、性能優(yōu)越的PMSM矢量控制系統,提高產(chǎn)品的核心競爭力。
評論