劉振宇
(華南理工大學(xué) 機(jī)械與汽車工程學(xué)院,廣東 廣州 510641)
作為未來電動(dòng)車的重要發(fā)展形式,輪轂驅(qū)動(dòng)控制技術(shù)一直是近年來電動(dòng)車領(lǐng)域的一大研究熱點(diǎn)[1-3]。目前大多數(shù)電動(dòng)車架構(gòu)仍是在傳統(tǒng)燃油車的基礎(chǔ)上改造而成,僅僅是將車的動(dòng)力來源由燃油驅(qū)動(dòng)換作電力驅(qū)動(dòng),其他性能及架構(gòu)方面并無太大改善[4]。而輪轂電動(dòng)車直接將電機(jī)安裝在車輪輪轂中,簡(jiǎn)化并降低了整車底盤,使整車的能量和動(dòng)力分布更加均勻。由于四個(gè)電機(jī)之間并無直接的機(jī)械聯(lián)系,所以如何對(duì)整車動(dòng)力進(jìn)行高效控制以發(fā)揮良好的性能成為輪轂驅(qū)動(dòng)技術(shù)的一項(xiàng)難題。
目前關(guān)于輪轂汽車的控制研究最多的是速度和位置控制,并且在市場(chǎng)上已經(jīng)有了比較成熟的應(yīng)用。但是這些控制策略只能適應(yīng)一些簡(jiǎn)單路況,對(duì)于復(fù)雜的實(shí)際工況,則需要更加優(yōu)秀精準(zhǔn)的算法來完成。
隨著相關(guān)技術(shù)研究逐漸走向成熟,具有巨大結(jié)構(gòu)優(yōu)勢(shì)的輪轂驅(qū)動(dòng)控制技術(shù)也會(huì)普及開來,而優(yōu)秀的算法往往需要良好的底層硬件系統(tǒng)的支持。一個(gè)無刷電機(jī)的控制常常需要3對(duì)互補(bǔ)的PWM接口和3個(gè)位置檢測(cè)接口,另需電壓電流等幾個(gè)模擬量檢測(cè)接口。而輪轂驅(qū)動(dòng)技術(shù)需要4個(gè)無刷電機(jī)聯(lián)合控制,故需要4倍數(shù)量的上述接口,因此,一般MCU所搭載的外圍接口是無法滿足該需求的。目前大多數(shù)電動(dòng)車都是采用“1個(gè)主芯片作控制+4個(gè)從芯片作接口”的過渡方案,這樣的方案不僅協(xié)調(diào)性欠佳、復(fù)雜度提高、穩(wěn)定性降低,而且會(huì)造成大量芯片資源的浪費(fèi);也有方案采用FPGA來實(shí)現(xiàn),雖然FPGA的接口能力非常強(qiáng)大,但是作為控制,其可移植性與可更改性均不盡如人意[5]。
本文提出一種基于雙TMS320F2812芯片、通過CAN通信進(jìn)行聯(lián)合控制的底層驅(qū)動(dòng)方案,克服了大多數(shù)“1個(gè)主芯片+4個(gè)從芯片”方案的缺陷;同時(shí),與FPGA方案相比,TMS320F2812芯片更加通用,可移植性更好。CAN總線可以進(jìn)行良好的信息交互,為未來成熟的控制算法提供優(yōu)秀的底層接口。
輪轂電動(dòng)車總體控制架構(gòu)如圖1所示,采取主芯片控制兩個(gè)后輪驅(qū)動(dòng)、從芯片控制兩個(gè)前輪驅(qū)動(dòng),前后芯片通過CAN通信交換傳輸4個(gè)電機(jī)的電流、電壓、速度、位置等信息,且每個(gè)電機(jī)能夠獨(dú)立實(shí)現(xiàn)PID參數(shù)調(diào)節(jié)和過流、過壓等報(bào)警功能。
圖1 輪轂電動(dòng)車整體控制架構(gòu)
基于TMS320F2812芯片的雙MCU前后輪主從控制策略,利用2812的兩個(gè)事件管理器來分別驅(qū)動(dòng)兩個(gè)前輪或者后輪的無刷直流電機(jī),然后將前后輪所采集到的每個(gè)電機(jī)的速度、電流、電壓和位置等信息通過CAN芯片進(jìn)行交互,從而將整車的各輪信息集中到一起,設(shè)計(jì)合適的控制策略,實(shí)現(xiàn)四輪的協(xié)調(diào)控制。
硬件方案采用4個(gè)獨(dú)立的驅(qū)動(dòng)板對(duì)接4個(gè)獨(dú)立電機(jī)的方式,如圖2所示。電機(jī)驅(qū)動(dòng)板接口搭載到轉(zhuǎn)接板上面以實(shí)現(xiàn)主從芯片與驅(qū)動(dòng)板之間的接口對(duì)接。電源、驅(qū)動(dòng)、控制、通信等各個(gè)模塊均采用獨(dú)立板載,以利于各板塊的組裝及升級(jí)維護(hù)。
圖2 輪轂電動(dòng)車硬件架構(gòu)
本方案針對(duì)四輪驅(qū)動(dòng)控制,搭建了一個(gè)良好的底層驅(qū)動(dòng)接口,可以為MATLAB等其他工具搭建的仿真平臺(tái)提供可嵌入底層接口。
汽車直線正常行駛時(shí),無論是采用速度控制還是轉(zhuǎn)矩控制,或者其他控制,都只有一個(gè)自由度[6]。如采用速度控制時(shí),一般在得到4個(gè)輪子速度中的一個(gè)或整車速度之后,其他的速度也會(huì)被唯一地確定。即4個(gè)輪速和整車速度5個(gè)量只有一個(gè)自由度,只要其中有一個(gè)量是受控的,則其他速度自然受到控制。
圖3為輪轂電動(dòng)車軟件底層控制程序框圖。具體實(shí)現(xiàn)如下:開始時(shí),主機(jī)采集后輪速度、動(dòng)力及電力信息,從機(jī)采集前輪速度、動(dòng)力及電力信息,然后通過CAN總線傳輸給主機(jī);主機(jī)分別從后輪和前輪采集相關(guān)信息,并對(duì)采集到的4個(gè)輪轂的動(dòng)力及電力信息進(jìn)行預(yù)分析估計(jì)和故障判斷,如果判斷有故障,返回電機(jī)獨(dú)立驅(qū)動(dòng)模塊,重新采集信息并進(jìn)行故障判斷,當(dāng)判斷4個(gè)輪轂無障礙后,根據(jù)采集的速度估算出整車的速度,并采用PID算法將整車速度反饋輸入4個(gè)輪子進(jìn)行速度控制。
圖3 輪轂電動(dòng)車軟件底層控制程序框圖
系統(tǒng)通過CAN總線實(shí)現(xiàn)主、從機(jī)的通信,TMS320F2812芯片上面搭載了硬件CAN模塊,可以支持CAN2.0B通信格式。本設(shè)計(jì)將郵箱作為與上層程序之間的接口,以方便上層使用底層框架進(jìn)行操作。
輪轂電動(dòng)車底層接口功能如下:
(1)具有每個(gè)電機(jī)過流、過壓故障檢測(cè)功能,并根據(jù)所選用電機(jī)及電流、電壓采集電路更改過流、過壓參數(shù)。
(2)硬件支持CAN2.0B通信協(xié)議,通過CAN通信來交換前后輪電機(jī)的速度、位置、電流、電壓等數(shù)據(jù)信息。
(3)根據(jù)前后輪數(shù)據(jù)信息編寫高級(jí)算法,具有優(yōu)秀的底層接口,適應(yīng)高精度的算法。
(4)具備4個(gè)無刷直流電機(jī)獨(dú)立測(cè)速功能。
(5)利用CAN總線將4個(gè)無刷電機(jī)擴(kuò)展成多個(gè)電機(jī)的方案,以應(yīng)用于復(fù)雜的工業(yè)場(chǎng)合。
(6)可以調(diào)節(jié)每個(gè)電機(jī)的PID參數(shù)。
本方案接口已經(jīng)把DSP2812芯片的底層參數(shù)配置好,故將程序包打開以后,可以直接運(yùn)行CCS開發(fā)環(huán)境,對(duì)上層程序C文件進(jìn)行修改或者算法填充。
根據(jù)電壓、電流采集電路以及電機(jī)型號(hào)對(duì)過壓、過流的AD采樣極限值進(jìn)行修改。本軟件程序接口采用T1的周期中斷事件啟動(dòng)ADC1和ADC2通道來分別測(cè)左側(cè)輪轂電機(jī)的電壓值和電流值,采用T3的周期中斷事件啟動(dòng)ADC3和ADC4通道來分別測(cè)右側(cè)輪轂電機(jī)的電壓值和電流值。ADC結(jié)果寄存器是16位的,其高12位用于存儲(chǔ)12位的ADC結(jié)果,低4位被忽略。當(dāng)模擬輸入電壓最大為3V時(shí),ADC結(jié)果寄存器的值為0xFFF0,即65520;當(dāng)模擬輸入電壓最小為0V時(shí),ADC結(jié)果寄存器的值為0??梢缘玫剑?/p>
其中:AD Result為結(jié)果寄存器的值;VoltInput為模擬量輸入;ADCL0為ADC模塊參考電平。另外一種計(jì)算方法是將結(jié)果寄存器中的值A(chǔ)D Result先右移4位,這時(shí)當(dāng)模擬輸入電壓最大為3V時(shí),ADC結(jié)果寄存器的值為0x0FFF,即4095。通過對(duì)應(yīng)的數(shù)模轉(zhuǎn)換關(guān)系,依據(jù)過壓值A(chǔ)veragedcv、過流值A(chǔ)veragedcc的模擬量極限值所對(duì)應(yīng)的數(shù)字量對(duì)參數(shù)修改即可。
可以調(diào)用相關(guān)子函數(shù)來調(diào)取查看前輪、后輪的電機(jī)參數(shù),以此為依據(jù)對(duì)整車進(jìn)行相應(yīng)的控制。CAN總線的主機(jī)郵箱信息交換表見表1。
表1 主機(jī)郵箱信息交換表
表1中,BOX0~BOX15為主機(jī)到從機(jī)的信息,BOX16~BOX31為從機(jī)到主機(jī)的信息;SPEEDSET為估算后的整車速度,即采集的4個(gè)電機(jī)速度濾掉過大過小值后求平均;Speedl與Speedr為左輪和右輪的實(shí)時(shí)速度;Current為電流;Volt為電壓;Fault為故障類型;Order為控制指令;MotorDir為電機(jī)運(yùn)轉(zhuǎn)方向。
也可以根據(jù)所選電機(jī)的型號(hào)確定其極對(duì)數(shù),對(duì)轉(zhuǎn)速計(jì)算程序進(jìn)行校正。如圖4所示,所選電機(jī)的極對(duì)數(shù)為pole,在該函數(shù)的初始化時(shí),對(duì)pole這個(gè)變量進(jìn)行修改即可。
圖4 PID底層程序
同時(shí)每個(gè)電機(jī)配備了獨(dú)立的位置式PID控制函數(shù),如圖5所示,并且可以從底層修改PID參數(shù),對(duì)PID進(jìn)行實(shí)時(shí)的在線調(diào)試。
輪轂電機(jī)驅(qū)動(dòng)控制系統(tǒng)是一種全新的驅(qū)動(dòng)形式,具有明顯的技術(shù)優(yōu)勢(shì),已經(jīng)成為電動(dòng)交通工具發(fā)展的一個(gè)重要方向。本文設(shè)計(jì)了四電機(jī)聯(lián)合控制的輪轂電機(jī)控制方案。與單電機(jī)控制相比,控制策略更加適應(yīng)復(fù)雜路況,控制精度更好。同時(shí),本設(shè)計(jì)提出了開放的上層接口,可以滿足擴(kuò)展算法的需求,有助于研制更加良好的底層框架,具有更加深遠(yuǎn)的意義。
圖5 PID參數(shù)調(diào)節(jié)