《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 基于MC9S12DP256B的客車ABS控制器設計

基于MC9S12DP256B的客車ABS控制器設計

2008-04-14
作者:鄒素瑞, 岳繼光, 蘇永清

  摘 要: 介紹了ABS控制器的硬件電路部分,給出了ABS控制算法" title="控制算法">控制算法??刂破魉惴ú捎眠壿嬮T限值控制算法,輪速信號的處理采用修正的脈沖計數(shù)法,提高了計算精度。算法中引入五個中斷,第一個中斷用來采集輪速信號,后四個中斷用來自實現(xiàn)四個輪子的ABS控制。以半實物仿真的形式對設計的控制器進行了驗證,并給出了仿真結果,取得了較好的控制效果。
  關鍵詞: ABS 邏輯門限值控制 半實物仿真


  汽車防抱死制動系統(tǒng)" title="防抱死制動系統(tǒng)">防抱死制動系統(tǒng)簡稱ABS(Anti-Lock Brake System),是在汽車制動過程中,防止車輪完全抱死,提高汽車在制動過程中的方向穩(wěn)定性和轉向操縱能力,縮短制動距離。針對汽車防抱死制動系統(tǒng)(ABS), 國際上流行的控制方法" title="控制方法">控制方法有邏輯門限值控制、PID控制、滑模變結構控制、最優(yōu)控制、模糊控制和神經(jīng)網(wǎng)絡控制等控制方法。國內開發(fā)ABS采用的控制方法主要是最基本的邏輯門限值控制方法。目前,國內研究ABS理論的科研單位有很多,比較有代表性的有:以郭孔輝院士為代表的吉林大學汽車動態(tài)模擬國家重點實驗室、清華大學汽車安全與節(jié)能國家重點實驗室、華南理工交通學院汽車系、濟南程軍電子科技公司等。國內生產(chǎn)ABS的公司不少, 但大多數(shù)公司是和國外著名ABS公司合作生產(chǎn), 其產(chǎn)品并非自主研制開發(fā)出來的。完全自主開發(fā)ABS的國內比較有代表性的公司有重慶聚能汽車技術有限責任公司和西安博華機電股份有限公司等[1]。
  汽車在制動過程中,車輪可能相對于路面發(fā)生滑移,滑移成分在車輪縱向運動中所占的比例可由滑移率來表征。定義滑移率為s:
  
  式中: v為車身速度,ω為車輪角速度,r為車輪半徑。在不同的滑移率時,附著力系數(shù)也不同。試驗表明,縱向和側向附著力系數(shù)與滑移率關系如圖1所示。


  防抱死制動系統(tǒng)的工作原理就是將車輪的滑移率控制在最佳滑移率sc附近,以獲得較高的縱向和側向附著系數(shù)從而減小制動距離以及保證汽車制動時的方向穩(wěn)定性。
1 ABS硬件設計
1.1 MC9S12DP256B單片機[2]

  MC9S12DP256B是Motorola 16位單片機HCS12家族中的一員,其處理單元采用16位的STAR12CPU。片內資源包括256KB的Flash ROM、12KB的RAM、4KB的EEPROM、一個8通道的脈沖寬度調制模塊(PWM)、一個8通道的增強型捕捉定時器模塊(ECT)、兩個8通道的A/D轉換模塊(ATD)、兩個串行通訊接口(SCI)、三個串行設備接口(SPI)等。在Codewarrior集成開發(fā)環(huán)境中,可以對單片機進行程序編輯、編譯、下載和在線調試,使其開發(fā)十分便利。
  ECT模塊具有八個輸入捕捉/輸出比較(IC/OC)通道,四個8位或兩個16位的脈沖累加器" title="累加器">累加器(PAI)通道。當該模塊運行時,16位的自由定時器按照設定的時鐘頻率在$0000~$FFFF之間循環(huán)計數(shù)。若某個通道設置為I/O功能,當被測信號的設定邊沿到來時,輸入捕捉邏輯立即將自由定時器的內容捕捉到16位的IC/OC寄存器中,其分辨能力高達1μs甚至更高,并設置中斷請求標志,隨后程序進行中斷處理。若某個通道設置為OC功能,輸出比較邏輯自動將IC/OC寄存器的內容與自由定時器的內容進行比較,一旦相符立即操作對應的引腳,同時設置相應的中斷標志,隨后程序進行中斷處理,引腳輸出波形的時間分辨能力也可以達到1μs甚至更高。脈沖計數(shù)器則只對輸入脈沖的個數(shù)或者邊沿進行計數(shù),不產(chǎn)生中斷。在輪速采集算法中使用了該功能。
  IC/OC與通用I/O口PORTT共享八個引腳。四個8位的PAI通道0~3與前四個IC通道IC0~3共享引腳PORTT0~3。本控制器中,PORTT0~3使用脈沖累加器功能,注錄四個輪速傳感器的脈沖個數(shù)。當產(chǎn)生實時中斷(RTI)后,中斷程序讀取脈沖累加器的值,計算車輪的速度,同時脈沖累加器清零,重新開始計數(shù)。PORTT4~7使用輸出比較功能,當IC/OC寄存器的值與自由計數(shù)器的值相等之后,產(chǎn)生中斷,四個中斷程序分別處理各自輪子的ABS控制策略。
1.2 電子控制單元ECU硬件結構
  ABS的核心部件是電子控制單元ECU(Electronic Control Unit)。ECU電路主要包括四個模塊:電源模塊、輪速信號處理模塊、運算模塊、電磁閥驅動電路,其基本功能是要實現(xiàn)輪速的采集、ABS的故障檢測、按照控制規(guī)律對電磁閥發(fā)控制信號。其結構框圖如圖2所示。


2 ABS控制算法
  ABS控制算法采用邏輯門限值控制。它的基本原理是以車輪的加減速度作為主要控制門限,以車輪的滑移率作為輔助控制門限,在減速度達到下門限值時發(fā)出減壓控制信號,在加速度達到第一上門限值時發(fā)出增壓控制信號。如此反復循環(huán),直到輪速降至一個較低的數(shù)值,退出ABS控制。
  不同的路面附著系數(shù)使用不同的控制策略,所以算法的第一步就是識別路面。路面識別的方法是:首先給車輪發(fā)出保壓信號,保壓一段時間后,根據(jù)此時的輪減速度來識別路面。如果此時的輪減速度超過了第二上門限值,則說明是高附著路面;如果輪減速度在第一上門限值和第二上門限值之間,說明是一般附著路面;如果輪減速度小于第一上門限值,則說明是低附著路面。這樣做的結果是每個輪子的保壓等待時間占據(jù)一個循環(huán)周期的大部分時間,如果采用四個輪子的循環(huán)順序來執(zhí)行則需要很長時間,不能滿足時效性要求。但如果引入多任務實時操作系統(tǒng)勢必使得算法過于復雜。因此,提出了引入四個中斷處理的方法,即每個輪子都有獨立的計時時鐘,ABS控制完全按照各自設定的中斷時間執(zhí)行,實現(xiàn)了四個輪子的并行控制。中斷時間的設定是保證一秒鐘ABS控制循環(huán)執(zhí)行十幾到幾十次。
2.1 ABS詳細控制策略
  Step 1:輪減速度剛達到下門限值時,系統(tǒng)開始保壓,同時計算滑移率,直到判斷出車輪進入不穩(wěn)定區(qū)域,置階段標志位Flag=2,減壓。
  Step 2:判斷減速度,直到減速度小于下門限值,置Flag=3,保壓。
  Step 3:保壓一定時間,判斷此時加速度的大小:(1)如果加速度小于第一上門限值,判斷為低附著路面,置Flag=41,減壓。(2)如果加速度在第一上門限值和第二上門限值之間,判斷為一般路面,置Flag=42,保壓。(3)如果加速度大于第二上門限值,判斷為高附著路面,置Flag=43,增壓。
  Step 4:根據(jù)Step3得出的Flag值執(zhí)行不同的控制方案。
  Step 5:一個階段完畢,置Flag=1,準備進入下一個循環(huán)。
  這樣程序每次進入中斷后都將根據(jù)階段標志位的值執(zhí)行不同的控制階段,直到完成整個ABS控制。
2.2 輪速處理算法[4]
  輪速是ABS 程序中計算車輪加減速度的基礎。對輪速的處理必須滿足:(1)實時性好。ABS 的防抱死控制一秒鐘要進行多次循環(huán),因此對輪速處理的及時性要求很高,要求輪速處理程序不能過于復雜。(2)精度高。ABS 輪速的精度對其以后的輪加減速度和參考車速的計算精度影響很大。
  輪速采集的方法通常有周期法和脈沖計數(shù)法,這里采用脈沖計數(shù)法。脈沖計數(shù)法是利用一定時間內輪速傳感器采集進來的齒圈個數(shù)即脈沖數(shù)來計算輪速。其計算公式為:
  ω=2(πr/N)×(n/△t)           (2)
  式中,ω為車輪角速度;r為車輪半徑;N為齒圈齒數(shù);n為記錄的脈沖個數(shù);△t為測量時間間隔。由式(2)可以看出,計算誤差主要由后半部分引起。單片機的計時很精確,因此△t的誤差可以忽略不計,但脈沖個數(shù)n易造成±1齒的測量誤差。誤差產(chǎn)生示意圖如圖3所示。


  在低速時,這±1齒的誤差很可能會造成ABS的誤動作。如果增加測量時間間隔△t,ABS控制時效性變差。這里采用平均值法,即保持△t不變,每次計算輪速取最近四次的脈沖計數(shù)值的平均值,這樣就減小了隨機誤差,既能反映出車輪減速度的變化趨勢,又能防止±1齒的誤差給計算帶來大的干擾。
2.3 程序流程
  程序流程圖分別如圖4、圖5、圖6所示。

?


3 仿真平臺" title="仿真平臺">仿真平臺及結果
  仿真方式采用xPC Target結構。xPC Target是MathWorks公司發(fā)行的一個基于RTW(Real-Time Workshop)體系框架的補充產(chǎn)品,它可將Intel 80x86/Pentium計算機或PC兼容機轉變?yōu)橐粋€實時系統(tǒng),而且支持許多類型的I/O接口板,采用宿主機和目標機的“雙機型”解決途徑,使用兩臺PC機,其中宿主機用于運行Simulink,而目標機則用于執(zhí)行實時代碼。目標機運行了一個高度緊縮的實時操作內核,通過以太網(wǎng)絡連接來實現(xiàn)宿主機和目標機之間的通信。仿真結束后可將結果數(shù)據(jù)上傳至宿主機,進行分析處理。
  客車整車模型在宿主機Matlab/Simulink環(huán)境中搭建,然后采用xPC工具將模型自動轉換成C代碼,通過以太網(wǎng)下載到工控機中作為被控對象,實現(xiàn)實時仿真。硬件部分的信號接收及轉換使用Advantech公司的數(shù)據(jù)采集卡PCL-726完成??刂破鞯拈_發(fā)平臺使用Metrowerks公司的Codewarrior3.1,程序編譯之后下載至控制器(ECU)中,并在BDM模式下調試程序。半實物仿真平臺如圖7所示。
  其中一個輪子的仿真結果如圖8所示。

?


  圖8為車輛初速度為25mps、路面附著系數(shù)為0.6工況下的單輪結果圖。圖中四條曲線分別代表車身速度、車輪速度、電磁閥信號和制動踏板信號。電磁閥高狀態(tài)表示增壓,0狀態(tài)表示保壓,低狀態(tài)表示減壓。1秒鐘之后給制動信號, ABS開始起作用。由圖中可以看出,在輪速驟減的地方毛刺大,而電磁閥都是處于減壓或者減保脈沖階段;在輪速變化比較平緩的地方都是處于增壓或者增保脈沖階段。9秒鐘以后,車身速度降到3mps以下,自動退出ABS控制,恢復到常規(guī)制動。在整個制動階段中都沒有出現(xiàn)過車輪抱死的情況,結果比較理想。
  本文介紹了利用Motorola單片機MC9S12DP256B進行客車ABS控制器的設計,提出了采用四級中斷的方式實現(xiàn)并行任務的處理。仿真平臺使用快速原型開發(fā)技術,利用Matlab自帶的xPC Target工具,將Simulink模型直接生成可執(zhí)行的C代碼,構成閉環(huán)半實物仿真平臺。經(jīng)過模擬各種工況后,控制器均取得了很好的控制效果,可以實車測試進一步優(yōu)化,以達到成品化的效果。
參考文獻
1 鄭偉風,劉國福.國內ABS發(fā)展現(xiàn)狀[J].汽車電器,2005;(11)
2 MC9S12DP256 advance information revision 1.1[Z]. Motorola,2000
3 王遂雙.汽車電子控制系統(tǒng)的原理與檢修[M]. 北京:機械工業(yè)出版社,2004
4劉訓忠.汽車防抱死制動系統(tǒng)輪速算法研究[J].汽車電器,2000;(1)

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。