宋振斌,李軍偉,孫賓賓,王培金,陳 靜
(1.山東理工大學 交通與車輛工程學院,山東 淄博 255049;2.淄博市公安局交通警察支隊 車輛管理所,山東 淄博 255000)
雙電機雙軸驅動電動汽車與傳統的單電機單軸驅動汽車相比,具有更好的經濟性和動力性,該構型也是當今電動汽車研究的熱點領域之一[1-3]。為充分挖掘該構型的潛力,提高車輛性能,本文針對雙電機雙軸驅動電動汽車的整車控制系統展開研究。為了提高控制系統的開發效率,采用基于模型的設計方法開發高壓上電、加速踏板處理、擋位選擇、需求轉矩計算、驅動轉矩分配、能量回收和故障診斷等模塊控制策略,建立雙電機雙軸驅動電動汽車控制系統的模型,借助相關工具完成對模型的驗證和測試。模型配置完成后,利用嵌入式代碼自動生成工具(Real-Time Workshop Embedded Coder),將Simulink下的控制模型自動轉換為嵌入式 ANSI C代碼,進行應用層C代碼的自動生成[4]。該方法不僅可避免手工編寫代碼時出現的各種錯誤,也能提高開發效率。這種基于圖形化模型的設計可以在設計初期對模型進行仿真驗證,發現設計缺陷并及時糾正,以避免后期出現問題而引起更大的損失。
本文所研究的雙電機雙軸驅動電動汽車采用前后軸電機驅動的形式,構型如圖1所示。

圖1 雙電機雙軸驅動電動汽車構型Fig.1 Configuration of dual motor dual-axis driving electric vehicle
該電動汽車整車包括:(1) 動力電池部分。整車裝備總電壓為144 V的動力鋰電池,自帶電池管理系統(BMS,Battery Management System),以并聯方式給兩路電機系統供電。(2) 電機驅動部分。整車前后軸分別匹配了相同大小的交流異步電機,每個電機使用獨立的電機控制器(MCU,Motor Control Unit)。(3) 整車控制部分。整車控制器(VCU,Vehicle Control Unit)作為整車控制的重要部件,通過采集整車及各部件的運行狀態,確定相應的策略控制整車運行。(4) 傳動系統部分。車輛前后軸裝備的主減速器傳動比大小相同,并且由于電機特性更符合車輛行駛需求,取消了多擋變速器[5]。
根據雙電機雙軸驅動電動汽車的構型特點,要實現車輛的有效控制,整車控制器需要具有高壓上電、加速踏板信號處理、檔位識別、驅動轉矩分配、制動能量回收以及故障診斷等主要功能。
1.2.1 高壓上電
本文所研究的上電策略為:當鑰匙打開后, VCU和BMS接通低壓電并進行上電自檢,MCU接到VCU喚醒信號后也進行自檢,同時閉合高壓配電盒內預充回路的繼電器,為MCU的充電做準備。BMS自檢通過后向VCU反饋狀態,同時閉合電池包內主負繼電器,動力電池輸出高壓電;MCU自檢通過后閉合自身內部的預充回路上的繼電器,開始預充電,并不斷向VCU反饋直流電壓值,VCU自檢通過后時刻判斷MCU反饋的預充電壓值,當電壓值超過當前電池電壓的90%后,VCU控制主正繼電器閉合,隨后,MCU斷開預充回路內的繼電器,整車高壓上電成功。
高壓上電的控制模型如圖2所示。圖2中兩個子系統模塊Precharge_Check和OverTime的主要作用是判斷預充電是否完成。在Precharge_Check使能子系統中通過輸入信號Input中的動力電池電壓和MCU反饋的預充電壓判斷預充是否完成,若完成Precharge_Result結果為1,否則為0。在OverTime子系統中根據Precharge_Result的結果決定是否調用執行Precharge_Check使能子系統。如果Precharge_Result為0,表示預充電尚未完成,需要繼續調用執行Precharge_Check使能子系統;如果Precharge_Result為1,表示預充電已經完成,不需要繼續調用執行Precharge_Check使能子系統,此時ON_Out輸出為1?!癆ND”模塊通過綜合判斷自檢結果、系統故障等級、SOC狀態、前后電機預充允許標志和預充結果,最終實現整車高壓上電。

圖2 高壓上電模型Fig.2 High-voltage power-on model
1.2.2 加速踏板雙路信號處理
在車輛行駛時,駕駛員的意圖是由加速踏板開度體現的,考慮到整車行駛的安全性和穩定性,防止由于踏板損壞導致重大事故的發生,加速踏板一般有兩路信號,兩路信號成一定比例,在行駛時起到“互相監視”的作用。為了更好地隔離兩路信號、防止互相影響,加速踏板總成一般采用兩路電源獨立供電。在正常情況下,踏板信號1的二分之一與信號2的差值需要在0.07 V之內,如果不滿足這個關系,則說明加速踏板出現故障需要立即處理,比如降功率輸出或者關斷總電源等。在計算踏板開度時設置空行程保護,防止因為物理卡滯或踏板故障引起的錯誤動作。加速踏板信號處理的Simulink模型如圖3所示。從輸入信號Input中選取兩路踏板信號,減去踏板空行程,計算得出兩路踏板開度APP1和APP2。在Accp_Select模塊中根據兩路踏板信號值是否在正常范圍且是否滿足固定比例關系,判斷踏板是否出現故障,并根據兩路信號的狀態輸出相應踏板開度值。當兩路踏板信號值滿足固定比例關系且均在正常范圍內時,Out1=1,Out2=0,此時本模塊輸出踏板信號1的開度APP1,故障等級Fault=0;當兩路踏板信號滿足固定比例關系,踏板信號1不在正常范圍內,踏板信號2在正常范圍時,Out1=2,Out2=0,本模塊輸出踏板信號2的開度APP2,故障等級Fault=0;當兩路踏板信號滿足固定比例關系,踏板信號1在正常范圍內,踏板信號2不在正常范圍時,Out1=1,Out2=0,本模塊輸出踏板信號1的開度APP1,故障等級Fault=0;當兩路踏板信號不滿足固定比例關系,但兩路踏板信號均在正常范圍時,本模塊將比較兩路踏板信號值大小并輸出兩者中較小的踏板信號值,故障等級Fault=1;其他失效情況下,Out1=3,Out2=4,本模塊將不輸出踏板開度值,故障等級Fault=4。

圖3 加速踏板處理模型Fig.3 Processing model of accelerator
1.2.3 驅動轉矩控制及分配
整車控制器根據加速踏板、電機、電池及其它部件當前的工作狀態確定整車需求轉矩,通過合理的算法將轉矩分別分配給前后兩個驅動電機,驅動車輛行駛,該過程主要包括兩部分:整車需求轉矩計算和轉矩分配。
VCU通過CAN總線接收到電池溫度、電機溫度、電池SOC、電機轉速、電池故障等級、電機控制器溫度、電機故障等級及整車故障等級等信號,結合有關信號求出當前雙電機系統所能輸出的最大轉矩值。VCU采集加速踏板電壓值,通過加速踏板處理模型得到當前踏板開度,并將踏板開度轉化為當前整車電機負荷系數。將電機負荷系數與最大轉矩值相乘得出當前狀態下的整車需求轉矩。
驅動轉矩控制及分配模型如圖4所示。通過Input信號中的電機故障等級判斷前后電機工作狀態,若電機故障等級大于1則進入跛行故障模式,在Cripple_Drive模塊中判斷前后電機故障等級,選擇無故障電機進入單電機跛行模式,此模式下不考慮轉矩分配,將需求轉矩分配給無故障電機;若前后電機均出現故障,則前后電機均不使能,MCU_Fault輸出為0;若前后電機故障等級均小于1,則前后電機均無故障,觸發轉矩分配模塊Torque_Distribution進行前后兩個驅動電機轉矩的分配。

圖4 驅動轉矩控制及分配模型Fig.4 Drive torque control and distribution model
在電機某一轉速點,考慮到雙電機轉矩之和等于總需求轉矩的前提下,通過粒子群算法在電機外特性圖中分別搜索兩個電機轉矩并結合電機的效率,以雙電機能耗最小為判斷依據進行搜索,在完成搜索后,滿足雙電機能耗最小的轉矩就是最終需分配給雙電機的轉矩值[5]。
算法首先需要確定種群規模、粒子維數及每個粒子的初始位置和速度;設定學習因子、慣性權重的最大值和最小值及最大迭代次數。然后計算每個粒子的初始適應度值,并求出個體極值和全局極值。利用公式(1)求出每個粒子的適應度值f,確定個體極值,并經過比較確定全局極值。
(1)
式中:Tf、Tr分別為前、后電機需求轉矩;ηf,ηr分別為前、后電機工作效率。
進入主循環進行迭代,每次迭代慣性權重計算公式為
(2)
式中:ω為當前慣性權重;ωmax為最大慣性權重;ωmin為最小慣性權重;k為當前迭代次數;kmax為最大迭代次數。
每個粒子的位置和速度更新公式為
(3)
式中:k為迭代次數;c1和c2稱為學習因子,分別代表粒子向自身極值和全局極值推進的加速權值;r1,r2為分布在(0,1)之間的隨機數;ω為慣性權重,控制著前一速度對當前速度的影響,用于平衡算法的探索和開發。粒子位置代表雙電機轉矩值,計算每個粒子的適應度值,并更新個體極值和全局極值。
迭代到最大次數后停止迭代,輸出最優轉矩值。迭代停止時,與最小適應度函數值相對應的粒子位置就是所搜尋的全局最優雙電機轉矩值。
根據算法搜尋結果,在Torque_Distribution中通過對MCU_Enable_F,MCU_Enable_B分別賦值實現對前后電機分別使能,并通過對Demand_Torque_F和Demand_Torque_B分別賦值實現相應轉矩分配,最終實現以雙電機能耗最小為目標的單雙電機實時切換。
1.2.4 故障診斷與處理
故障診斷是所有整車控制器都必須配備的功能,是保證車輛安全行駛的前提。整車控制器需要處理的故障主要包括四部分:整車故障、前電機故障、后電機故障和電池故障。根據不同部件的故障嚴重程度和整車安全性需求,將故障信息分為一級故障、二級故障、三級故障和四級故障,分別對應關閉高壓電輸出、零轉矩輸出停車、跛行、報警不處理的控制策略。
故障判定如下:同一個故障如果在規定時間內連續出現至少1次,則對故障計數器進行累加,當故障計數器累加到一定數值,則判定該故障確實存在,會把對應的故障碼置位。若在計數期間,同一故障相鄰兩次出現的時間超過規定時間,則對故障計數器進行清零,當再次出現故障時重新計數。按照高級別故障優先原則進行故障判斷,如同時發生三級故障和四級故障,則按三級故障處理。
在需要行車下電時,整車控制器會檢測鑰匙信號,如果有故障發生時,會自動把置位后的故障碼存入EEPROM中。
各模塊控制策略模型開發完成后,進行整車控制策略模型的集成,將不同模塊的同一信號連接,保證模型執行時序和數據流的準確性。將高壓上電模型Power_ON、加速踏板信號處理模型ACCP、擋位識別模型Gear、驅動轉矩分配模型Torque、能量回收模型、故障診斷模型System _Fault以及車速計算模型進行集成,集成后的整車控制模型如圖5所示。

圖5 整車控制模型Fig.5 Control model of the whole vehicle
整車控制器軟件包括整車應用層軟件和硬件控制器底層驅動軟件。
完成整車控制模型的搭建、集成和相關驗證后,通過編譯模型就可以實現整車應用層軟件代碼的自動生成,這種應用層軟件的開發方法使得開發可以專注于控制邏輯和算法的實現,避免了手工編寫控制代碼過程中分心于編程語法帶來的不便,提高了控制軟件開發效率[6-7]。
根據整車控制器硬件的功能,對其相應模塊配置及有關信號處理采用手工編程的方法實現整車控制器底層驅動軟件的開發。底層代碼包含如下內容:輸入輸出模塊用于采集車上的高、低有效開關量,例如擋位信號、制動開關信號;AD轉換模塊用于采集車上模擬量傳感器,例如加速踏板傳感器;定時器模塊主要用于提供固定時間的中斷,為各任務的調度提供基準;主控芯片通過SPI通信實現對低端驅動開關芯片的控制;整車控制器與電機控制器、電池管理系統和儀表之間通過CAN通信實現數據交換。
整車控制模型生成的應用層代碼和手工編寫的底層代碼集成在一起就實現了整車控制系統的軟件設計。
根據雙電機雙軸驅動動力構型對整車控制器的要求,開發的整車控制器實物圖如圖6所示。

圖6 整車控制器實物圖Fig.6 Physical figure of VCU
在進行應用層和底層集成時,一般是通過接口函數的形式實現的。應用層與底層的接口函數如圖7所示。

圖7 應用層與底層的接口函數Fig.7 Interface function between application layer and bottom layer
HIL測試是控制器開發過程中必不可少的環節,一般使用數學模型、部分傳感器和執行器等模擬控制器的運行環境,通過運行測試用例完成控制器測試。在完成雙電機雙軸驅動電動汽車控制系統硬件和軟件設計后,進行整車控制器硬件在環測試(Hardware-in-the-Loop)[8-9]。HIL測試的一般步驟為:首先利用MATLAB/Simulink/stateflow搭建好雙電機電動汽車整車縱向動力學模型,將該模型編譯成.dll文件通過Veristand下載到PXI處理器中;然后,按照制定的轉矩分配策略搭建VCU應用層模型,將控制代碼下載到被測VCU中;最后,將待測VCU與機柜通過標準接口連接,完成硬件平臺的搭建(如圖8所示),即可進行HIL測試。

圖8 HIL測試硬件平臺Fig.8 HIL test hardware platform
在本文中,HIL測試的主要目的是用來對雙電機驅動電動汽車控制系統的可行性和實時性進行驗證。采用NEDC工況作為本次測試的測試輸入[10],HIL測試結果如圖9和圖10所示。

圖9 NEDC工況需求轉矩曲線Fig.9 Demand torque curve under NEDC

圖10 NEDC工況轉矩分配曲線Fig.10 Torque distribution curve under NEDC
從圖9和圖10可以看出:在城市循環工況內,整體需求轉矩較小,整車大多時間運行在單電機模式下,只有在短暫的急加速時間內運行于雙電機模式下。在市郊循環工況下,對車輛動力性的要求更高,整車運行在雙電機模式下的比例較城市循環更高,說明控制系統能夠根據整車需求實現單雙電機實時切換。
采用基于模型的方法設計完成了雙電機雙軸驅動電動汽車控制系統高壓上電、加速踏板處理、擋位選擇、需求轉矩計算、驅動轉矩分配、能量回收和故障診斷等模塊控制策略模型的開發,將各模塊控制策略模型集成為整車控制模型,利用Simulink代碼自動生成工具將整車控制系統模型轉換為嵌入式 C代碼,實現了整車控制系統應用層軟件的快速開發。
根據雙電機雙軸驅動電動汽車整車控制器的功能需求,并結合整車的構型特點,設計完成了雙電機雙軸驅動電動汽車硬件控制器。依據整車控制器硬件功能需求, 進行了相應模塊的配置和有關信號的處理,完成了整車控制器底層驅動軟件設計,實現了系統應用層軟件與底層驅動軟件的集成。這種開發方法不依賴于具體的系統平臺,移植性好。
將集成后的軟件下載到雙電機雙軸驅動電動汽車控制系統硬件中,進行了NEDC工況下的硬件在環測試。試驗結果表明,基于模型開發的應用層軟件能夠穩定運行于嵌入式系統中,在實現轉矩分配的基礎上具有較好的實時性,可以滿足車輛行駛需要,符合設計預期。