摘 要: 介紹了ABS控制器的硬件電路部分,,給出了ABS控制算法" title="控制算法">控制算法??刂破魉惴ú捎眠壿嬮T(mén)限值控制算法,,輪速信號(hào)的處理采用修正的脈沖計(jì)數(shù)法,提高了計(jì)算精度,。算法中引入五個(gè)中斷,,第一個(gè)中斷用來(lái)采集輪速信號(hào),后四個(gè)中斷用來(lái)自實(shí)現(xiàn)四個(gè)輪子的ABS控制,。以半實(shí)物仿真的形式對(duì)設(shè)計(jì)的控制器進(jìn)行了驗(yàn)證,,并給出了仿真結(jié)果,取得了較好的控制效果,。
關(guān)鍵詞: ABS 邏輯門(mén)限值控制 半實(shí)物仿真
汽車防抱死制動(dòng)系統(tǒng)" title="防抱死制動(dòng)系統(tǒng)">防抱死制動(dòng)系統(tǒng)簡(jiǎn)稱ABS(Anti-Lock Brake System),,是在汽車制動(dòng)過(guò)程中,防止車輪完全抱死,,提高汽車在制動(dòng)過(guò)程中的方向穩(wěn)定性和轉(zhuǎn)向操縱能力,,縮短制動(dòng)距離。針對(duì)汽車防抱死制動(dòng)系統(tǒng)(ABS), 國(guó)際上流行的控制方法" title="控制方法">控制方法有邏輯門(mén)限值控制,、PID控制,、滑模變結(jié)構(gòu)控制、最優(yōu)控制,、模糊控制和神經(jīng)網(wǎng)絡(luò)控制等控制方法,。國(guó)內(nèi)開(kāi)發(fā)ABS采用的控制方法主要是最基本的邏輯門(mén)限值控制方法。目前,,國(guó)內(nèi)研究ABS理論的科研單位有很多,,比較有代表性的有:以郭孔輝院士為代表的吉林大學(xué)汽車動(dòng)態(tài)模擬國(guó)家重點(diǎn)實(shí)驗(yàn)室、清華大學(xué)汽車安全與節(jié)能國(guó)家重點(diǎn)實(shí)驗(yàn)室,、華南理工交通學(xué)院汽車系,、濟(jì)南程軍電子科技公司等。國(guó)內(nèi)生產(chǎn)ABS的公司不少, 但大多數(shù)公司是和國(guó)外著名ABS公司合作生產(chǎn), 其產(chǎn)品并非自主研制開(kāi)發(fā)出來(lái)的,。完全自主開(kāi)發(fā)ABS的國(guó)內(nèi)比較有代表性的公司有重慶聚能汽車技術(shù)有限責(zé)任公司和西安博華機(jī)電股份有限公司等[1],。
汽車在制動(dòng)過(guò)程中,車輪可能相對(duì)于路面發(fā)生滑移,,滑移成分在車輪縱向運(yùn)動(dòng)中所占的比例可由滑移率來(lái)表征,。定義滑移率為s:
式中: v為車身速度,,ω為車輪角速度,r為車輪半徑,。在不同的滑移率時(shí),,附著力系數(shù)也不同。試驗(yàn)表明,,縱向和側(cè)向附著力系數(shù)與滑移率關(guān)系如圖1所示,。
防抱死制動(dòng)系統(tǒng)的工作原理就是將車輪的滑移率控制在最佳滑移率sc附近,以獲得較高的縱向和側(cè)向附著系數(shù)從而減小制動(dòng)距離以及保證汽車制動(dòng)時(shí)的方向穩(wěn)定性,。
1 ABS硬件設(shè)計(jì)
1.1 MC9S12DP256B單片機(jī)[2]
MC9S12DP256B是Motorola 16位單片機(jī)HCS12家族中的一員,,其處理單元采用16位的STAR12CPU。片內(nèi)資源包括256KB的Flash ROM,、12KB的RAM,、4KB的EEPROM、一個(gè)8通道的脈沖寬度調(diào)制模塊(PWM),、一個(gè)8通道的增強(qiáng)型捕捉定時(shí)器模塊(ECT),、兩個(gè)8通道的A/D轉(zhuǎn)換模塊(ATD)、兩個(gè)串行通訊接口(SCI),、三個(gè)串行設(shè)備接口(SPI)等,。在Codewarrior集成開(kāi)發(fā)環(huán)境中,可以對(duì)單片機(jī)進(jìn)行程序編輯,、編譯,、下載和在線調(diào)試,使其開(kāi)發(fā)十分便利,。
ECT模塊具有八個(gè)輸入捕捉/輸出比較(IC/OC)通道,四個(gè)8位或兩個(gè)16位的脈沖累加器" title="累加器">累加器(PAI)通道,。當(dāng)該模塊運(yùn)行時(shí),,16位的自由定時(shí)器按照設(shè)定的時(shí)鐘頻率在$0000~$FFFF之間循環(huán)計(jì)數(shù)。若某個(gè)通道設(shè)置為I/O功能,,當(dāng)被測(cè)信號(hào)的設(shè)定邊沿到來(lái)時(shí),,輸入捕捉邏輯立即將自由定時(shí)器的內(nèi)容捕捉到16位的IC/OC寄存器中,其分辨能力高達(dá)1μs甚至更高,,并設(shè)置中斷請(qǐng)求標(biāo)志,,隨后程序進(jìn)行中斷處理。若某個(gè)通道設(shè)置為OC功能,,輸出比較邏輯自動(dòng)將IC/OC寄存器的內(nèi)容與自由定時(shí)器的內(nèi)容進(jìn)行比較,,一旦相符立即操作對(duì)應(yīng)的引腳,同時(shí)設(shè)置相應(yīng)的中斷標(biāo)志,,隨后程序進(jìn)行中斷處理,,引腳輸出波形的時(shí)間分辨能力也可以達(dá)到1μs甚至更高,。脈沖計(jì)數(shù)器則只對(duì)輸入脈沖的個(gè)數(shù)或者邊沿進(jìn)行計(jì)數(shù),不產(chǎn)生中斷,。在輪速采集算法中使用了該功能,。
IC/OC與通用I/O口PORTT共享八個(gè)引腳。四個(gè)8位的PAI通道0~3與前四個(gè)IC通道IC0~3共享引腳PORTT0~3,。本控制器中,,PORTT0~3使用脈沖累加器功能,注錄四個(gè)輪速傳感器的脈沖個(gè)數(shù),。當(dāng)產(chǎn)生實(shí)時(shí)中斷(RTI)后,,中斷程序讀取脈沖累加器的值,計(jì)算車輪的速度,,同時(shí)脈沖累加器清零,,重新開(kāi)始計(jì)數(shù)。PORTT4~7使用輸出比較功能,,當(dāng)IC/OC寄存器的值與自由計(jì)數(shù)器的值相等之后,,產(chǎn)生中斷,四個(gè)中斷程序分別處理各自輪子的ABS控制策略,。
1.2 電子控制單元ECU硬件結(jié)構(gòu)
ABS的核心部件是電子控制單元ECU(Electronic Control Unit),。ECU電路主要包括四個(gè)模塊:電源模塊、輪速信號(hào)處理模塊,、運(yùn)算模塊,、電磁閥驅(qū)動(dòng)電路,其基本功能是要實(shí)現(xiàn)輪速的采集,、ABS的故障檢測(cè),、按照控制規(guī)律對(duì)電磁閥發(fā)控制信號(hào)。其結(jié)構(gòu)框圖如圖2所示,。
2 ABS控制算法
ABS控制算法采用邏輯門(mén)限值控制,。它的基本原理是以車輪的加減速度作為主要控制門(mén)限,以車輪的滑移率作為輔助控制門(mén)限,,在減速度達(dá)到下門(mén)限值時(shí)發(fā)出減壓控制信號(hào),,在加速度達(dá)到第一上門(mén)限值時(shí)發(fā)出增壓控制信號(hào)。如此反復(fù)循環(huán),,直到輪速降至一個(gè)較低的數(shù)值,,退出ABS控制。
不同的路面附著系數(shù)使用不同的控制策略,,所以算法的第一步就是識(shí)別路面,。路面識(shí)別的方法是:首先給車輪發(fā)出保壓信號(hào),保壓一段時(shí)間后,根據(jù)此時(shí)的輪減速度來(lái)識(shí)別路面,。如果此時(shí)的輪減速度超過(guò)了第二上門(mén)限值,,則說(shuō)明是高附著路面;如果輪減速度在第一上門(mén)限值和第二上門(mén)限值之間,,說(shuō)明是一般附著路面,;如果輪減速度小于第一上門(mén)限值,則說(shuō)明是低附著路面,。這樣做的結(jié)果是每個(gè)輪子的保壓等待時(shí)間占據(jù)一個(gè)循環(huán)周期的大部分時(shí)間,,如果采用四個(gè)輪子的循環(huán)順序來(lái)執(zhí)行則需要很長(zhǎng)時(shí)間,不能滿足時(shí)效性要求,。但如果引入多任務(wù)實(shí)時(shí)操作系統(tǒng)勢(shì)必使得算法過(guò)于復(fù)雜,。因此,提出了引入四個(gè)中斷處理的方法,,即每個(gè)輪子都有獨(dú)立的計(jì)時(shí)時(shí)鐘,,ABS控制完全按照各自設(shè)定的中斷時(shí)間執(zhí)行,實(shí)現(xiàn)了四個(gè)輪子的并行控制,。中斷時(shí)間的設(shè)定是保證一秒鐘ABS控制循環(huán)執(zhí)行十幾到幾十次,。
2.1 ABS詳細(xì)控制策略
Step 1:輪減速度剛達(dá)到下門(mén)限值時(shí),系統(tǒng)開(kāi)始保壓,,同時(shí)計(jì)算滑移率,,直到判斷出車輪進(jìn)入不穩(wěn)定區(qū)域,,置階段標(biāo)志位Flag=2,減壓,。
Step 2:判斷減速度,,直到減速度小于下門(mén)限值,,置Flag=3,,保壓,。
Step 3:保壓一定時(shí)間,判斷此時(shí)加速度的大?。?1)如果加速度小于第一上門(mén)限值,,判斷為低附著路面,置Flag=41,,減壓。(2)如果加速度在第一上門(mén)限值和第二上門(mén)限值之間,,判斷為一般路面,,置Flag=42,保壓,。(3)如果加速度大于第二上門(mén)限值,,判斷為高附著路面,置Flag=43,增壓,。
Step 4:根據(jù)Step3得出的Flag值執(zhí)行不同的控制方案,。
Step 5:一個(gè)階段完畢,置Flag=1,,準(zhǔn)備進(jìn)入下一個(gè)循環(huán),。
這樣程序每次進(jìn)入中斷后都將根據(jù)階段標(biāo)志位的值執(zhí)行不同的控制階段,直到完成整個(gè)ABS控制,。
2.2 輪速處理算法[4]
輪速是ABS 程序中計(jì)算車輪加減速度的基礎(chǔ),。對(duì)輪速的處理必須滿足:(1)實(shí)時(shí)性好。ABS 的防抱死控制一秒鐘要進(jìn)行多次循環(huán),,因此對(duì)輪速處理的及時(shí)性要求很高,,要求輪速處理程序不能過(guò)于復(fù)雜。(2)精度高,。ABS 輪速的精度對(duì)其以后的輪加減速度和參考車速的計(jì)算精度影響很大,。
輪速采集的方法通常有周期法和脈沖計(jì)數(shù)法,這里采用脈沖計(jì)數(shù)法,。脈沖計(jì)數(shù)法是利用一定時(shí)間內(nèi)輪速傳感器采集進(jìn)來(lái)的齒圈個(gè)數(shù)即脈沖數(shù)來(lái)計(jì)算輪速,。其計(jì)算公式為:
ω=2(πr/N)×(n/△t) (2)
式中,ω為車輪角速度,;r為車輪半徑,;N為齒圈齒數(shù);n為記錄的脈沖個(gè)數(shù),;△t為測(cè)量時(shí)間間隔,。由式(2)可以看出,計(jì)算誤差主要由后半部分引起,。單片機(jī)的計(jì)時(shí)很精確,,因此△t的誤差可以忽略不計(jì),但脈沖個(gè)數(shù)n易造成±1齒的測(cè)量誤差,。誤差產(chǎn)生示意圖如圖3所示,。
在低速時(shí),這±1齒的誤差很可能會(huì)造成ABS的誤動(dòng)作,。如果增加測(cè)量時(shí)間間隔△t,,ABS控制時(shí)效性變差。這里采用平均值法,,即保持△t不變,,每次計(jì)算輪速取最近四次的脈沖計(jì)數(shù)值的平均值,這樣就減小了隨機(jī)誤差,,既能反映出車輪減速度的變化趨勢(shì),,又能防止±1齒的誤差給計(jì)算帶來(lái)大的干擾,。
2.3 程序流程
程序流程圖分別如圖4、圖5,、圖6所示,。
?
3 仿真平臺(tái)" title="仿真平臺(tái)">仿真平臺(tái)及結(jié)果
仿真方式采用xPC Target結(jié)構(gòu)。xPC Target是MathWorks公司發(fā)行的一個(gè)基于RTW(Real-Time Workshop)體系框架的補(bǔ)充產(chǎn)品,,它可將Intel 80x86/Pentium計(jì)算機(jī)或PC兼容機(jī)轉(zhuǎn)變?yōu)橐粋€(gè)實(shí)時(shí)系統(tǒng),,而且支持許多類型的I/O接口板,采用宿主機(jī)和目標(biāo)機(jī)的“雙機(jī)型”解決途徑,,使用兩臺(tái)PC機(jī),,其中宿主機(jī)用于運(yùn)行Simulink,而目標(biāo)機(jī)則用于執(zhí)行實(shí)時(shí)代碼,。目標(biāo)機(jī)運(yùn)行了一個(gè)高度緊縮的實(shí)時(shí)操作內(nèi)核,,通過(guò)以太網(wǎng)絡(luò)連接來(lái)實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的通信。仿真結(jié)束后可將結(jié)果數(shù)據(jù)上傳至宿主機(jī),,進(jìn)行分析處理,。
客車整車模型在宿主機(jī)Matlab/Simulink環(huán)境中搭建,然后采用xPC工具將模型自動(dòng)轉(zhuǎn)換成C代碼,,通過(guò)以太網(wǎng)下載到工控機(jī)中作為被控對(duì)象,,實(shí)現(xiàn)實(shí)時(shí)仿真。硬件部分的信號(hào)接收及轉(zhuǎn)換使用Advantech公司的數(shù)據(jù)采集卡PCL-726完成,??刂破鞯拈_(kāi)發(fā)平臺(tái)使用Metrowerks公司的Codewarrior3.1,程序編譯之后下載至控制器(ECU)中,,并在BDM模式下調(diào)試程序,。半實(shí)物仿真平臺(tái)如圖7所示。
其中一個(gè)輪子的仿真結(jié)果如圖8所示,。
?
圖8為車輛初速度為25mps,、路面附著系數(shù)為0.6工況下的單輪結(jié)果圖。圖中四條曲線分別代表車身速度,、車輪速度,、電磁閥信號(hào)和制動(dòng)踏板信號(hào)。電磁閥高狀態(tài)表示增壓,,0狀態(tài)表示保壓,,低狀態(tài)表示減壓。1秒鐘之后給制動(dòng)信號(hào),, ABS開(kāi)始起作用,。由圖中可以看出,在輪速驟減的地方毛刺大,,而電磁閥都是處于減壓或者減保脈沖階段;在輪速變化比較平緩的地方都是處于增壓或者增保脈沖階段。9秒鐘以后,,車身速度降到3mps以下,,自動(dòng)退出ABS控制,恢復(fù)到常規(guī)制動(dòng),。在整個(gè)制動(dòng)階段中都沒(méi)有出現(xiàn)過(guò)車輪抱死的情況,,結(jié)果比較理想。
本文介紹了利用Motorola單片機(jī)MC9S12DP256B進(jìn)行客車ABS控制器的設(shè)計(jì),,提出了采用四級(jí)中斷的方式實(shí)現(xiàn)并行任務(wù)的處理,。仿真平臺(tái)使用快速原型開(kāi)發(fā)技術(shù),利用Matlab自帶的xPC Target工具,,將Simulink模型直接生成可執(zhí)行的C代碼,,構(gòu)成閉環(huán)半實(shí)物仿真平臺(tái)。經(jīng)過(guò)模擬各種工況后,,控制器均取得了很好的控制效果,,可以實(shí)車測(cè)試進(jìn)一步優(yōu)化,以達(dá)到成品化的效果,。
參考文獻(xiàn)
1 鄭偉風(fēng),劉國(guó)福.國(guó)內(nèi)ABS發(fā)展現(xiàn)狀[J].汽車電器,,2005;(11)
2 MC9S12DP256 advance information revision 1.1[Z]. Motorola,2000
3 王遂雙.汽車電子控制系統(tǒng)的原理與檢修[M]. 北京:機(jī)械工業(yè)出版社,,2004
4劉訓(xùn)忠.汽車防抱死制動(dòng)系統(tǒng)輪速算法研究[J].汽車電器,,2000;(1)