劉振宇
(華南理工大學 機械與汽車工程學院,廣東 廣州 510641)
作為未來電動車的重要發展形式,輪轂驅動控制技術一直是近年來電動車領域的一大研究熱點[1-3]。目前大多數電動車架構仍是在傳統燃油車的基礎上改造而成,僅僅是將車的動力來源由燃油驅動換作電力驅動,其他性能及架構方面并無太大改善[4]。而輪轂電動車直接將電機安裝在車輪輪轂中,簡化并降低了整車底盤,使整車的能量和動力分布更加均勻。由于四個電機之間并無直接的機械聯系,所以如何對整車動力進行高效控制以發揮良好的性能成為輪轂驅動技術的一項難題。
目前關于輪轂汽車的控制研究最多的是速度和位置控制,并且在市場上已經有了比較成熟的應用。但是這些控制策略只能適應一些簡單路況,對于復雜的實際工況,則需要更加優秀精準的算法來完成。
隨著相關技術研究逐漸走向成熟,具有巨大結構優勢的輪轂驅動控制技術也會普及開來,而優秀的算法往往需要良好的底層硬件系統的支持。一個無刷電機的控制常常需要3對互補的PWM接口和3個位置檢測接口,另需電壓電流等幾個模擬量檢測接口。而輪轂驅動技術需要4個無刷電機聯合控制,故需要4倍數量的上述接口,因此,一般MCU所搭載的外圍接口是無法滿足該需求的。目前大多數電動車都是采用“1個主芯片作控制+4個從芯片作接口”的過渡方案,這樣的方案不僅協調性欠佳、復雜度提高、穩定性降低,而且會造成大量芯片資源的浪費;也有方案采用FPGA來實現,雖然FPGA的接口能力非常強大,但是作為控制,其可移植性與可更改性均不盡如人意[5]。
本文提出一種基于雙TMS320F2812芯片、通過CAN通信進行聯合控制的底層驅動方案,克服了大多數“1個主芯片+4個從芯片”方案的缺陷;同時,與FPGA方案相比,TMS320F2812芯片更加通用,可移植性更好。CAN總線可以進行良好的信息交互,為未來成熟的控制算法提供優秀的底層接口。
輪轂電動車總體控制架構如圖1所示,采取主芯片控制兩個后輪驅動、從芯片控制兩個前輪驅動,前后芯片通過CAN通信交換傳輸4個電機的電流、電壓、速度、位置等信息,且每個電機能夠獨立實現PID參數調節和過流、過壓等報警功能。

圖1 輪轂電動車整體控制架構
基于TMS320F2812芯片的雙MCU前后輪主從控制策略,利用2812的兩個事件管理器來分別驅動兩個前輪或者后輪的無刷直流電機,然后將前后輪所采集到的每個電機的速度、電流、電壓和位置等信息通過CAN芯片進行交互,從而將整車的各輪信息集中到一起,設計合適的控制策略,實現四輪的協調控制。
硬件方案采用4個獨立的驅動板對接4個獨立電機的方式,如圖2所示。電機驅動板接口搭載到轉接板上面以實現主從芯片與驅動板之間的接口對接。電源、驅動、控制、通信等各個模塊均采用獨立板載,以利于各板塊的組裝及升級維護。

圖2 輪轂電動車硬件架構
本方案針對四輪驅動控制,搭建了一個良好的底層驅動接口,可以為MATLAB等其他工具搭建的仿真平臺提供可嵌入底層接口。
汽車直線正常行駛時,無論是采用速度控制還是轉矩控制,或者其他控制,都只有一個自由度[6]。如采用速度控制時,一般在得到4個輪子速度中的一個或整車速度之后,其他的速度也會被唯一地確定。即4個輪速和整車速度5個量只有一個自由度,只要其中有一個量是受控的,則其他速度自然受到控制。
圖3為輪轂電動車軟件底層控制程序框圖。具體實現如下:開始時,主機采集后輪速度、動力及電力信息,從機采集前輪速度、動力及電力信息,然后通過CAN總線傳輸給主機;主機分別從后輪和前輪采集相關信息,并對采集到的4個輪轂的動力及電力信息進行預分析估計和故障判斷,如果判斷有故障,返回電機獨立驅動模塊,重新采集信息并進行故障判斷,當判斷4個輪轂無障礙后,根據采集的速度估算出整車的速度,并采用PID算法將整車速度反饋輸入4個輪子進行速度控制。

圖3 輪轂電動車軟件底層控制程序框圖
系統通過CAN總線實現主、從機的通信,TMS320F2812芯片上面搭載了硬件CAN模塊,可以支持CAN2.0B通信格式。本設計將郵箱作為與上層程序之間的接口,以方便上層使用底層框架進行操作。
輪轂電動車底層接口功能如下:
(1)具有每個電機過流、過壓故障檢測功能,并根據所選用電機及電流、電壓采集電路更改過流、過壓參數。
(2)硬件支持CAN2.0B通信協議,通過CAN通信來交換前后輪電機的速度、位置、電流、電壓等數據信息。
(3)根據前后輪數據信息編寫高級算法,具有優秀的底層接口,適應高精度的算法。
(4)具備4個無刷直流電機獨立測速功能。
(5)利用CAN總線將4個無刷電機擴展成多個電機的方案,以應用于復雜的工業場合。
(6)可以調節每個電機的PID參數。
本方案接口已經把DSP2812芯片的底層參數配置好,故將程序包打開以后,可以直接運行CCS開發環境,對上層程序C文件進行修改或者算法填充。
根據電壓、電流采集電路以及電機型號對過壓、過流的AD采樣極限值進行修改。本軟件程序接口采用T1的周期中斷事件啟動ADC1和ADC2通道來分別測左側輪轂電機的電壓值和電流值,采用T3的周期中斷事件啟動ADC3和ADC4通道來分別測右側輪轂電機的電壓值和電流值。ADC結果寄存器是16位的,其高12位用于存儲12位的ADC結果,低4位被忽略。當模擬輸入電壓最大為3V時,ADC結果寄存器的值為0xFFF0,即65520;當模擬輸入電壓最小為0V時,ADC結果寄存器的值為0。可以得到:

其中:AD Result為結果寄存器的值;VoltInput為模擬量輸入;ADCL0為ADC模塊參考電平。另外一種計算方法是將結果寄存器中的值AD Result先右移4位,這時當模擬輸入電壓最大為3V時,ADC結果寄存器的值為0x0FFF,即4095。通過對應的數模轉換關系,依據過壓值Averagedcv、過流值Averagedcc的模擬量極限值所對應的數字量對參數修改即可。
可以調用相關子函數來調取查看前輪、后輪的電機參數,以此為依據對整車進行相應的控制。CAN總線的主機郵箱信息交換表見表1。

表1 主機郵箱信息交換表
表1中,BOX0~BOX15為主機到從機的信息,BOX16~BOX31為從機到主機的信息;SPEEDSET為估算后的整車速度,即采集的4個電機速度濾掉過大過小值后求平均;Speedl與Speedr為左輪和右輪的實時速度;Current為電流;Volt為電壓;Fault為故障類型;Order為控制指令;MotorDir為電機運轉方向。
也可以根據所選電機的型號確定其極對數,對轉速計算程序進行校正。如圖4所示,所選電機的極對數為pole,在該函數的初始化時,對pole這個變量進行修改即可。

圖4 PID底層程序
同時每個電機配備了獨立的位置式PID控制函數,如圖5所示,并且可以從底層修改PID參數,對PID進行實時的在線調試。
輪轂電機驅動控制系統是一種全新的驅動形式,具有明顯的技術優勢,已經成為電動交通工具發展的一個重要方向。本文設計了四電機聯合控制的輪轂電機控制方案。與單電機控制相比,控制策略更加適應復雜路況,控制精度更好。同時,本設計提出了開放的上層接口,可以滿足擴展算法的需求,有助于研制更加良好的底層框架,具有更加深遠的意義。

圖5 PID參數調節