詳細分析電動助力轉向系統(eps)的原理及其工作流程,采用pic18f458單片機作為控制器,通過其增強型的PWM脈寬調制模塊ECCP控制助力電機,實現eps系統的助力控制、回正控制、阻尼控制等方式。
應用軟件采用OSEK OS嵌入式操作系統為平臺,將eps系統進行多任務劃分,通過優先級調度達到系統協調運行的目的。
隨著電子技術和電機控制技術的發展,電動助力轉向(Electronic Power Steering,eps)系統的研究取得了很大進步。目前,汽車電動助力轉向已部分取代傳統液壓動力轉向(Hydraulic Power Steering,HPS)。
經過20多年的發展,eps技術日趨完善,已經取得了相當大的成果,在輕型轎車、廂式車上得到了廣泛應用。傳統的軟件設計不容易維護,移植性差,且實時性得不到保證。隨著汽車工業的不斷發展,電子技術在汽車上得到越來越多的應用。
為了滿足日益復雜的汽車電子控制軟件的開發需要,實現應用軟件的可移植性和不同廠商的控制模塊間的可兼容性,1993年德國汽車工業界聯合推出了“汽車電子的開放式系統及接口軟件規范”,即 OSEK(open systems and the corresponding interfaces for automotive electronics)規范,旨在為汽車上的分布控制單元提供一個開放結構的工業標準。1994年法國汽車工業界使用的汽車分布式運行系統 VDX(Vehicle Distributed Executive)和OSEK規范合并,形成OSEK/VDX規范。
目前該規范已經成為ISO國際標準(ISO17356)。基于此,本文提出了基于嵌入式實時操作系統的eps軟件設計方法。
1 ? ?eps系統的結構和工作原理
1.1 ? ?eps系統的結構
根據電機安裝位置的不同,eps可分為轉向軸助力式、小齒輪助力式和齒條助力式。圖1是一個典型電動助力轉向系統的示意圖。eps控制系統的主要組成部件:
① 扭矩信號傳感器,測量駕駛員作用在轉向盤上的力矩大小和方向。
② 車速信號傳感器,測量汽車的行駛速度,在不同的車速和方向盤轉矩的情況下,會提供不同的助力,以保證eps系統在低速下靈活,高速下具有較好的“路感”。
③ 助力電動機,是eps系統最關鍵的部件之一,助力電動機要求低轉速大扭距、轉動慣量小、可靠性高、振動小、噪聲小,且尺寸小、質量輕。圖1電動助力轉向系統示意圖
④ 電磁離合器,主要起安全保護的作用,當eps發生故障時,電磁離合器會及時切斷電動機和轉向柱的連接,汽車以傳統的機械轉向裝置進行工作,從而保證行車安全。
⑤ 減速機構,是eps系統不可缺少的部分,用來產生減速增扭的作用。
⑥ 電子控制單元ECU,主要包括信息處理單元及其外圍電路。它是eps系統的控制核心。控制單元根據方向盤轉矩傳感器和車速傳感器的信號,經過A/D轉換和邏輯分析與計算后,發出指令控制電機工作。
1.2 ? eps系統的工作原理
雖然eps的有3種類型,但工作原理是一樣的:通過扭矩傳感器和車速傳感器,進行信號采集,經A/D轉換,將信號發送到電子控制單元(ECU)中,單片機根據采集到的車速信號與扭矩信號,并根據相應的控制策略對直流伺服電動機進行實時控制。
根據汽車轉向行駛的不同情況要求,eps按不同的控制方式進行控制,通常有3種基本控制方式。
(1) 助力控制汽車在低速范圍內行駛,方向盤進行轉向并離開中間位置時電控單元對電動機進行常規控制;通過計算確定助力電動機的電流,以獲得合適的助力轉矩,使轉向操縱輕便靈敏。
(2) 回正控制回正控制可以改善汽車的回正性能。汽車在低速范圍內行駛轉向后方向盤回到中間位置附近時,電控單元使電動機電流迅速減小,以便轉向輪迅速回正;在高速時,采用阻尼控制,使電機兩端短路,產生與回正力矩相反的回正阻尼,改善轉向盤的回正超調。
(3) 阻尼控制阻尼控制可以衰減汽車高速行駛時出現的方向盤抖動現象,消除轉向輪因路面輸入而引起的擺振。其原理很簡單,即汽車處于高速行駛時,使電動機短路,其端電壓變為零,電動機將不提供助力,但由于感應電動勢的作用,電動機將產生與其轉動方向相反的轉矩。
此過程等于增加了轉向系統的阻尼,駕駛員能夠獲得適當的路感,不致有發飄的感覺。
2 ? ?eps控制系統ECU設計
eps系統實現的主要功能是采集扭矩傳感器信號、車速傳感器信號和電動機反饋電流信號,經控制器中的控制策略和控制算法,通過脈寬調制控制伺服電動機為駕駛員提供轉向輔助力。
另外,考慮到其應用對象的特殊性,其安全性要求的絕對地位,系統還需要提供許多應急處理方案。eps系統的硬件設計主要包括以下一些主要模塊:控制器核心系統設計、控制單元接口電路、電動機驅動及其保護電路、電磁離合器控制電路、傳感器信號處理電路以及電源系統電路的設計等,如圖2所示。在這里主要介紹一下控制器和電機驅動電路。
2.1 ? 控制器eps系統的微控制器采用的是 Microchip公司的pic18f458芯片。該系列芯片具有以下性能:
① 16位寬指令,8位寬數據通道,2 MB的程序存儲器、4 KB的數據存儲器,高達10 MIPS的執行速度。
② 40 MHz時鐘輸入,4~10 MHz帶PLL鎖相環有源晶振/時鐘輸入。
③ 帶優先級的中斷和8×8單周期硬件乘法器。
④ 捕捉/比較/脈寬調制(CCP)模塊:◆ 捕捉輸入——16位,最大分辨率為6.25 ns;◆ 比較單元——16位,最大分辨率為100 ns;◆ 脈寬調制(PWM)輸出——分辨率為1~10位;◆ 最高PWM頻率——8位時頻率為156 kHz,10位時頻率為39 kHz。
⑤ 增強型CCP模塊除具有以上CCP特性外,還具有1、2、4路的PWM輸出,可選擇PWM極性,可編程的PWM死區時間。
⑥ 10位,8通道的A/D轉換。
⑦ CAN總線模塊。
2.2驅動電路設計
電動機控制電路的設計在電動助力轉向系統的設計中是比較關鍵的部分。隨著計算機進入控制領域,以及新型的電力電子功率元器件的不斷出現,直流電動機的結構和控制方式都發生了很大的變化,采用全控型的開關功率元件進行脈寬調制(Pulse Width Modulation,PWM)的控制方式已成為絕對主流。在本系統中,電機的控制就是采用的PWM脈寬調制控制方式。全橋雙極性驅動電路如圖3所示。
pic18f458單片機的ECCP引腳連接2個驅動芯片IR2110(每個IR2110可控制2個MOSFET),來控制4個MOSFET的導通和截止,從而實現對助力電機的控制。eps系統需要實現3種控制方式:常規控制、回正控制和阻尼控制。
3 ?eps軟件設計
隨著嵌入式應用進一步復雜化和對實時性、可靠性要求的提高,為了合理調度多種任務并利用系統資源,基于嵌入式實時操作系統進行嵌入式軟件設計逐漸成為了嵌入式系統設計開發的主流。當前嵌入式實時操作系統有數百種,它們各具特色。開放源碼的嵌入式實時操作系統在成本和技術上具有獨特的優勢,并占有越來越重要的地位。
本文選擇開源的嵌入式實時操作系統PICOS18作為eps的軟件開發平臺。
PICOS18是按照OSEK/VDX標準實現的實時操作系統。PICOS18是一個多任務可剝奪型微實時內核,非常小巧,占程序空間(ROM)小于1 KB,占數據空間(RAM)僅為7 B,系統代碼容量及運行所需的ROM和RAM也非常少;提供了任務管理、定時器管理、事件管理、中斷管理等功能;基于優先級進行任務調度,具有16個優先級,系統占用1個,用戶可創建15個任務,每個任務最多還可以擁有8個事件。
3.1應用軟件開發
嵌入式實時操作系統將面向功能的應用開發轉化為面向任務的應用開發,因此軟件開發的過程就是將應用系統按照功能細分為多個任務,然后實現每個任務,并為任務確定合適的優先級;對于實時性要求高的操作,需要編寫相關的中斷服務程序。根據eps的工作原理,可分為8個任務。
(1) Task1——車速信號采集擴展任務,用于計算車速。上電運行后Task1處于等待狀態, 等待車速計算事件EventSpeed。利用定時器/計數器TMR0模塊當計數器溢出時(數量的轉速信號脈沖后)產生中斷,進入轉速中斷服務程序,記錄脈沖周期總時間,然后設置事件EventSpeed,激活Task1。這時Task1處于就緒狀態,在操作系統調度機制(完全搶占式)的管理下,等到就緒隊列中優先級高于Task1的任務都運行完成時,Task1運行,根據所記錄的脈沖時間和脈沖個數,計算出車速,并進行濾波。執行完后,激活Task2,清除事件EventSpeed,Task1又處于等待狀態。
(2) Task2——扭矩信號采集基本任務,用于采集扭矩信號。該任務由Task1激活,執行頻率與Task1相同。因為車速信號和扭矩信號是eps系統最重要的兩個參數,所以必須使這兩個參數及時地更新,以保證助力模式的選擇和助力大小的確定得到及時準確的控制。
(3) Task3——電流反饋信號采集基本任務,用于采集電機反饋電流。該任務由Task5激活,系統只有在助力控制時才會激活此任務。該參數與目標電流的差值,通過PID調節器的控制,使電機迅速提供相應的扭矩,達到助力的目的。
(4) Task4——故障診斷擴展任務,用于故障的監測和診斷。上電運行后,等待消息MsgSpeedErr,確定車速正常;等待消息MsgVoltErr,確定電壓正常;等待消息MsgTorqueErr,確定扭矩正常。一旦發生故障,該任務將立即斷開繼電器,使轉向系統處于機械轉向狀態,避免事故發生。
(5) Task5——助力模式選擇基本任務,用于選擇助力方式以及確定助力控制方式下的目標電流。此任務由Task2激活,通過車速和扭矩的大小,判斷助力模式,在助力控制下通過助力特性曲線得到目標電流。此任務的執行次數與Task1和Task2相同,以保證助力方式和助力大小實時準確。
(6) Task6——助力控制基本任務,助力控制,由Task3激活。通過Task5得到的目標電流,以及Task3電機反饋電流,采用PID調節器進行閉環控制,最后通過PWM脈寬調制控制助力電機。
(7) Task7——回正控制基本任務,回正控制,由Task5激活。當汽車車速很高時,使電機兩端短路,產生回正阻尼,減小回正超調;當汽車處于低速時,使電機兩端迅速斷路,減小電機阻力,使轉向迅速回正。
(8) Task8——阻尼控制基本任務,阻尼控制,由Task5激活。阻尼控制用于高速時的各種狀態(回正、轉向和直線行駛)。回正時,阻尼控制可減小系統超調;轉向時,可增加阻力,使駕駛員得到較好的路感;直線行駛時,可減小路面對方向盤的沖擊。
3.2 ?任務優先級
PICOS18采用占先式調度方式,即所有任務都是可占先的,每個任務都有一個確定的唯一的優先級,任務越重要優先級越高。由于助力控制(Task6)任務必須在合適的時刻運行,所以Task6優先級最高,回正控制(Task7)、阻尼控制(Task8)次之,其次是故障診斷任務(Task4),其余任務優先級按其激活的執行順序確定。Task4在開始運行時處于等待狀態如未監測到不正常信號則不再執行。Task1、Task2和Task5在按順序執行完一個循環后,繼續響應轉速中斷,重新執行。這種調度方式不僅能采集到最新的車速信號和扭矩信號,使eps系統實時準確地提供助力,還能提高CPU利用率,充分利用硬件資源。
3.3 ?任務配置(OIL)
PICOS18通過taskdesc.c定義任務的各個參數,并且是用OSEK/VDX規范中的OIL(OSEK/VDX的實現語言,類似于一個C結構定義)編寫的\[5\]。由于PICOS18沒有提供GUI用于任務的配置,因此只能逐句編寫。任務的參數定義結構如下:
rom_desc_tsk rom_desc_task={
TASK_PRIO,/* 任務的優先級*/
stack,/* 堆棧地址(16位)*/
TASK, /* 起始地址(16位)*/
READY, /* 初始化時的狀態*/
TASK_ID,/* 任務ID*/
sizeof(stack)/* 堆棧大小(16位)*/
};
AlarmObject Alarm_list\[\] = {
/******第1個任務********/
{
OFF,/* 狀態*/
0, /*報警值*/
0,/*周期*/
&Counter_kernel,/*與報警相關的計數器*/
TASK1_ID,/*要激活的任務ID*/
ALARM_EVENT,/*傳遞的事件 */
0/*回調*/
},
…/*其他任務 */
};
Resource Resource_list\[\] = {
{
10,/* 優先級 */
0,/* 任務優先級 */
0,/* 上鎖,0表示未上鎖 */
}
};
Counter Counter_list\[\] = {
/******第1個計數器******/
{
{
200,/*允許的最大計數值*/
10,/*預分頻器*/
100/*最小周期*/
},
0,/*計數值*/
0
}
…/*其他計數器*/
};
4 結論
本文分析了eps系統的結構、工作原理和3種控制方式。通過pic18f458單片機的ECCP模塊控制電機,實現了eps系統在各種情況下的助力方式。采用嵌入式實時操作系統,不僅提高了CPU的利用率,確保了eps系統的實時性要求,還提高了系統運行的穩定性、可靠性以及移植性。OSEK/VDX 是汽車電子開發的國際性標準,采用OSEK/VDX規范開發的實時系統能夠提高軟件模塊的移植效率、實現軟件模塊的重復利用及在不同電子控制單元之間的通信。采用OSEK/VDX 進行汽車電控單元開發已成為發展趨勢。
評論
查看更多