林聯偉
(株洲易力達機電有限公司,湖南株洲 412000)
NXP的S12 MagniV產品組合包含一系列面向汽車和工業控制應用的集成混合信號微控制器(MCU),提供單芯片解決方案,集成數字編程能力和高精度模擬電路,配備集成高壓模擬器件。其中S12ZVM系列為汽車電機控制提供最小、最高效且可擴展的3相電機控制解決方案。它集成了先進的S12Z 16位MCU、12 V至5 V穩壓器、LIN物理層或CAN物理層和柵極驅動器(GDU),以控制6個功率MOSFET驅動三相無刷電機。采用S12ZVMC128芯片進行設計,簡化了PMSM(Permanent Magnet Synchronous Motor) EPS控制器的設計,有效地降低了成本和結構尺寸。通過MATLAB進行建模和代碼生成,實現軟件的快速開發和驗證。
PMSM EPS控制器由單片機MCU S12ZVMC128、功率模塊、接口電路和少量的外圍器件組成,是一個最精簡的EPS控制器。此控制器匹配數字式的轉向盤扭矩角度一體傳感器和帶霍爾位置傳感器的PMSM電機,運用在有CAN通信網絡的車輛上。此控制器具有結構小巧、集成度高、成本低等優點,其框圖如圖1所示。

圖1 控制器框圖
單片機S12ZVMC128負責傳感器信號采集、算法計算、空間矢量調制占空比的輸出。轉向盤數字扭矩、角度傳感器信號由單片機的定時器捕獲模塊完成占空比和頻率的測量;電機霍爾位置傳感器由單片機IO端口完成電機角度和轉速的測量;下端母線電流由單片機內置的電流放大器、ADC和PTU觸發模塊協調完成電機電流的測量;三相橋的驅動和保護由單片機內置的GDU和PMF模塊完成;車輛的車速報文和發動機轉速報文通過CAN總線接口接收。
功率模塊集成了一個包括6個功率管組成的三相橋、一個NTC熱敏電阻和一個下端母線采樣電阻。功率模塊的外形和內部電路如圖2所示。

圖2 功率模塊
單電阻采樣具有降低系統成本、集成度高、電流檢測電路無須校準和補償的優點。其中無須校準和補償是因為采用一樣的采樣電阻、一樣的放大器,檢測三相電流使用的電路完全相同,所以其增益和偏移都是相同的。圖3是單電阻采樣電路示意圖。

圖3 單電阻采樣
單電阻采樣在硬件設計上較簡單,但是在軟件實現上就相對復雜。根據基爾霍夫定律,通過測量三相電流的任意兩相電流,則根據公式(1)可以計算出第三相電流:
IA+IB+IC=0
(1)
根據三相SVPWM(Space Vector Pulse Width Modulation,空間矢量脈寬調制)在一個周期內功率管開關作用時間的區段可分為五段式和七段式(圖4),其中五段式又可以分為一相恒高的五段式(圖5)和一相恒低的五段式(圖6)。三相中的任意兩相PWM相同時七段式變成了五段式,三相PWM都相同時七段式變成了三段式;三相中的不為恒高或恒低的另外兩相相同時五段式變成了三段式。此分法是以PWM中心沿對齊時的分法,以PWM邊沿對齊則對應地分為四段式和三段式。

圖4 七段式SVPWM

圖5 一相恒高的五段式SVPWM

圖6 一相恒低的五段式SVPWM
在測量流經采樣電阻的電流時,底部3個功率管開關的狀態至關重要。圖7是一個周期內三相橋下端3個功率管的開關狀態,由T0、T1、T2、T3、T2、T1、T0共七段組成。在T1時間段,B相下管打開,另外兩相下管關閉,所以采樣電阻上流過的電流為B相電流IB;T2時間段,A相下管關閉,另外兩相下管打開,所以采樣電阻上流過的電流為A相電流IA;T0時間段三相下管均關閉,T3時間段三相下管均打開,即T0和T3時間段為零矢量,采樣電阻上無電流流過。在這個周期內只需在T1時間段測量IB,在T2時間段測量IA,則IC由公式(1)計算得出;由此即重構了PMSM電機的三相電流。

圖7 三相橋下端功率管SVPWM
要實現電流的準確采樣,需要用到單片機的PTU模塊的PWM Reload同步觸發事件來觸發ADC進行采樣。ADC采樣需要Ts的時間,所以當T1或T2的時間寬度為0或比Ts還短時(圖8陰影部分),ADC采樣的結果將不能準確地反映相上的實際電流,造成只能測量兩相中的一相電流,另外一相電流無法測量。

圖8 向量的臨界區及其SVPWM

圖9 向量的低調制區及其SVPWM
這樣的區域也即向量從一個扇區向另一個扇區過渡的臨界區,簡稱為矢量臨界區。在臨界區時會出現兩相PWM值相等或接近的情況。當目標電流很小SVPWM輸出的三相PWM均為50%或在其附近時,此區域稱為向量的低調制區(圖9陰影部分)。
在矢量臨界區和低調制區都無法采集電機的相電流。針對在矢量特殊區域無法采集的問題,可以采用兩個方法來解決:一個方法是移相(Phase Shifting),即移動SVPWM中的一相或兩相的相位。如圖10所示分別是圖8的移相結果和圖9的移相結果。另一個方法是“雙切”(Double Switching),即在一個PWM周期內插入合適時間寬度的零矢量。就像PWM周期由一個變成了兩個,所以叫雙切。如圖11所示分別是圖8的雙切結果和圖9的雙切結果。

圖10 臨界區和低調制區的SVPWM移相示意圖

圖11 臨界區和低調制區的SVPWM雙切示意圖
不管是移相還是雙切的方法,都是讓SVPWM的兩兩之間至少要相差一個ADC采樣時間Ts,以保證能準確地采樣到電機相上的電流。S12ZVMC128的PMF模塊在配置成中心沿對齊的互補PWM時具有雙切功能,方便實現對矢量在臨界區和低調制區的電流采樣,以實現PMSM電機的三相電流重構。
使用基于模型的設計(MBD)和NXP提供的電機控制工具箱MC ToolBox和數學函數庫可以大量縮減軟件開發時間。基于模型的設計分為4個步驟,見圖12。

圖12 MBD的4個步驟
控制器的理想化仿真和電機的優化技術可以只在電腦上完成而無須控制器硬件。在建模時需要根據控制器系統需求和總體應用程序策略對算法進行功能劃分和接口定義。圖13是EPS的算法模型。模型中的HallSensor模塊計算輸出電機的角度和轉速;HellaSensor模塊計算輸出轉向盤的扭矩和角度;EPS算法模塊包括控制器的狀態控制、助力、回正、阻尼等算法,計算得到目標電流Id和Iq;黃色的模塊是FOC算法,包括Clark、Park、PI、反Park、SVPWM調制等算法;SetDutycycle模塊是雙切算法,用于下端母線電流的采樣。

圖13 EPS控制器軟件模型
圖14是Park變換的仿真波形。

圖14 Park變換仿真波形
軟件在環仍然是在電腦上完成,無須控制器硬件。與建模仿真不同的是軟件在環需要自動生成算法的C語言代碼,并使用與建模仿真相同的測試向量,以完成對C代碼的覆蓋率和功能驗證。主要驗證EPS控制算法、電機FOC算法、傳感器處理算法。
處理器在環是在MCU上進行模型算法的驗證。這一過程需要優化模型以生成可讀性強的代碼、完成功能和文件劃分、定點化數據為1Q15格式、測試算法的功能組件等,測量MCU實際的內存和堆棧使用情況以及程序執行的負載率。
EPS控制使用MCU的部分模塊及其作用如下:
PMF和GDU模塊用于SVPWM的輸出;
PTU和ADC模塊用于下端母線電流的測量、母線電壓的測量,并進行三相電流的重構;
PORTP和PORTS模塊用于電機霍爾位置信號和正交編碼信號的采集測量;
定時器和PORTT模塊用于海拉數字傳感器信號的采集和測量;
CAN模塊用于車輛轉速和車輛車速的采集;
MCU的硬件驅動是通過添加MCD_MC9S12ZVMx_Config_Information、GDU_Config、 PTU_Trigger_Generators、 ADC0_Config、ADC1_Config、ADC0_Command_List、 ADC1_Command_List、 PMF_Reload_Interrupt等模塊來實現的。這些模塊完成對單片機硬件的參數設定和初始化。
將完整的模型編譯生成的目標文件(*.elf文件)通過Codewarrior燒入到MCU中進行EPS算法和電機控制的功能驗證。
圖15是通過FreeMaster工具在ECU上實際測量的Park變換波形。

圖15 Park變換實際波形
采用MATLAB建模和代碼生成,經過快速原型的開發、優化設計,控制器可在短時間內進行裝車驗證和批量生產。
通過S12ZVMC128和功率模塊組成最簡PMSM EPS控制器的硬件設計、軟件的MATLAB建模和代碼生成以及下端母線電流單電阻采樣的電機三相電流重構方法運用,快速實現了一款成本低廉、結構緊湊的PMSM EPS控制器。
參考文獻:
[1]NXP MC9S12ZVMRM:MC9S12ZVM-Family Reference Manual and Datasheet[M].[S.l.],2016.
[2]NXP AN5135:3-phase Sensorless PMSM Motor Control Kit with MagniV MC9S12ZVM[M].[S.l.],2016
[3]NXP AN5327:3-phase Sensorless Single-Shunt Current-Sensing PMSM Motor Control Kit with MagniV MC9S12ZVM[M].[S.l.],2016.
[4]NXP DRM102:PMSM Vector Control with Single-Shunt Current-Sensing Using MC56F8013[M].[S.l.],2008.
[5]TORRES D,ZAMBADA J.PMSM無傳感器FOC的單分流三相電流重構算法[EB/OL].https://wenku.baidu.com/view/1e37a51fc281e53a5802ff6c.html.