桑任仲,蔡艷波,馬世璽,王一婷
(東風(fēng)汽車集團(tuán)股份有限公司技術(shù)中心電子電器部,湖北 武漢 430058)
目前在各種換擋器中,小汽車上的自動(dòng)擋一般只有P、R、N、D這4個(gè)位置信號(hào),或者是P、R、N、D、+、-這6個(gè)位置信號(hào)。手動(dòng)擋上位置根據(jù)變速器的擋位數(shù)決定,多數(shù)為1、2、3、4、5、N、R這7個(gè)位置,并且是雙排或者三排排列。但是在一些大型的商用車和貨車上面,換擋器很多是單排排列的,而且擋位最多的操作桿位置有1、2、3、4、5、6、7、N、R1、R2等超過10個(gè)位置。在這樣的條件下,每個(gè)擋位之間的距離很近,各個(gè)位置的信號(hào)相互干擾的可能性就很大了。
目前換擋器操作桿位置信號(hào)的采集,絕大部分采用磁信號(hào)的方式采集操作桿的位置信號(hào),具體為:在操作桿上的某個(gè)位置加上磁鐵,當(dāng)操作桿移動(dòng)到某個(gè)位置,就會(huì)觸發(fā)相應(yīng)位置的傳感器,從而換擋器的ECU就能讀到當(dāng)前的傳感器狀態(tài),得到操作桿當(dāng)前的位置。
霍爾效應(yīng)從本質(zhì)上講是運(yùn)動(dòng)的帶電粒子在磁場(chǎng)中受洛侖茲力作用引起的偏轉(zhuǎn)。當(dāng)帶電粒子 (電子或空穴) 被約束在固體材料中,這種偏轉(zhuǎn)就導(dǎo)致在垂直電流和磁場(chǎng)的方向上產(chǎn)生正負(fù)電荷的聚積,從而形成附加的橫向電場(chǎng)。
根據(jù)霍爾效應(yīng)制作成的傳感器叫做霍爾傳感器,霍爾傳感器分為線型霍爾傳感器和開關(guān)型霍爾傳感器兩種。其中本課題中采用的是開關(guān)型霍爾傳感器來(lái)進(jìn)行電路設(shè)計(jì),通常也稱為霍爾開關(guān)。
如圖1所示,其中Bnp為工作點(diǎn)“開”的磁感應(yīng)強(qiáng)度,BRP為釋放點(diǎn)“關(guān)”的磁感應(yīng)強(qiáng)度。當(dāng)外加的磁感應(yīng)強(qiáng)度超過動(dòng)作點(diǎn)Bnp時(shí),傳感器輸出低電平,當(dāng)磁感應(yīng)強(qiáng)度降到動(dòng)作點(diǎn)Bnp以下時(shí),傳感器輸出電平不變,一直要降到釋放點(diǎn)BRP時(shí),傳感器才由低電平躍變?yōu)楦唠娖健np與BRP之間的滯后使開關(guān)動(dòng)作更為可靠。
霍爾的特性可以分為雙極性、單極性、線性、全極性4種。
1) 雙極性:感應(yīng)南北磁場(chǎng)的變化,通常南 (S) 極感應(yīng),霍爾輸出低電平,直到北極 (N) 靠近,芯片輸出狀態(tài)翻轉(zhuǎn)為高電平,如此往復(fù)。
2) 單極性:只感應(yīng)單向磁場(chǎng),通常南 (S) 極靠近時(shí)輸出低電平,當(dāng)南 (S) 極離開時(shí),芯片輸出狀態(tài)翻轉(zhuǎn)為高電平,北 (N) 極感應(yīng)始終是輸出高電平。
3) 線性:芯片的輸出電壓與磁場(chǎng)強(qiáng)度成正比,根據(jù)感應(yīng)到的磁場(chǎng)極性和強(qiáng)度,芯片輸出電壓上升或下降。
4) 全極性:感應(yīng)南 (S) 北 (N) 磁場(chǎng)的變化,在南(S) 磁場(chǎng)和北 (N) 磁場(chǎng)下均感應(yīng)輸出高低電平變化信號(hào)。
根據(jù)擋位的設(shè)計(jì)需求,選用了HAL543單極性高靈敏度的霍爾開關(guān),它的工作電壓在3~30V,磁場(chǎng)Bnp和BRP分別為120G和60G,工作的溫度-40~150℃,它由反向電壓保護(hù)、電壓調(diào)整器、霍爾電壓發(fā)生器、信號(hào)放大器、史密特觸發(fā)器和集電極開路的輸出級(jí)組成。
對(duì)一個(gè)永磁鐵的磁感應(yīng)強(qiáng)度,它的兩端的磁場(chǎng)強(qiáng)度最大,但是軸線上移動(dòng)的話,距離越遠(yuǎn),磁場(chǎng)強(qiáng)度越小,具體的磁場(chǎng)強(qiáng)度的變化滿足如下公式:
式中:L——圓柱體高度;x——軸心線上距離。
從公式 (1) 中可以得出,磁場(chǎng)強(qiáng)度會(huì)隨著距離增加而迅速降低,要觸發(fā)霍爾開關(guān)Bnp就必須要在一定范圍內(nèi),不能太遠(yuǎn),但是太近也會(huì)造成其他擋位的霍爾開發(fā)被觸發(fā),或者在離開這個(gè)擋位時(shí),磁場(chǎng)強(qiáng)度不能低于BRP而關(guān)閉不了此霍爾開關(guān)。因此在霍爾開關(guān)與磁鐵的距離是設(shè)計(jì)中重點(diǎn)考慮的一項(xiàng)。
在換擋器中,擋位的信號(hào)是最重要的,將擋位信號(hào)的采集放在優(yōu)先級(jí)最高,只要信號(hào)發(fā)生變化,就直接進(jìn)行處理,以確保擋位的信息能及時(shí)傳遞進(jìn)來(lái)。所以在電路設(shè)計(jì)時(shí)將這些霍爾開關(guān)的信號(hào)接入單片機(jī)的中斷口,以便軟件能進(jìn)行中斷響應(yīng)。
電路板PCB設(shè)計(jì)一般依據(jù)于機(jī)械結(jié)構(gòu)的設(shè)計(jì),一個(gè)機(jī)械設(shè)計(jì)的模塊定下來(lái)之后,整個(gè)操作桿的移動(dòng)范圍就定下來(lái)了。每個(gè)擋位操作桿停的位置也定下來(lái)后,在電路板布置的時(shí)候,需要將每個(gè)霍爾開關(guān)與每個(gè)操作桿停止的位置一致,在垂直方向上,操作桿上磁鐵的位置和霍爾開關(guān)是重合的,這樣才能保證磁場(chǎng)強(qiáng)度足夠大,觸發(fā)相應(yīng)的霍爾開關(guān)。
先在底層的程序中,將霍爾開關(guān)的接入口定義成中斷接口,在設(shè)計(jì)中斷類型的時(shí)候?qū)⑺鼈冊(cè)O(shè)置成下降沿觸發(fā),即只要有霍爾開關(guān)是從關(guān)信號(hào)變成開信號(hào)就會(huì)觸發(fā)中斷程序,當(dāng)進(jìn)入中斷程序再進(jìn)行程序的判斷,具體的算法如圖2所示。
一款多擋位信號(hào)的手動(dòng)換擋器在產(chǎn)品驗(yàn)收的時(shí)候,發(fā)現(xiàn)某個(gè)擋位信號(hào)無(wú)法讀取,即當(dāng)操作桿移動(dòng)至某個(gè)位置的時(shí)候,發(fā)出來(lái)的信號(hào)沒有變化。
圖2 擋位信號(hào)采集的軟件流程圖
通過軟件排查時(shí),發(fā)現(xiàn)程序雖然進(jìn)入了中斷程序但是進(jìn)入邏輯判斷語(yǔ)句后就直接跳出了,說(shuō)明程序在邏輯判斷時(shí)沒有找到相應(yīng)的程序入口,它就直接跳出了,致使數(shù)據(jù)沒有存入CAN緩存區(qū),導(dǎo)致?lián)Q擋器發(fā)出的信息也就不會(huì)變化。
用示波器對(duì)霍爾開關(guān)的輸出信號(hào)進(jìn)行檢測(cè)時(shí),換擋器操作桿移動(dòng)這個(gè)發(fā)出信號(hào)的位置再移回來(lái),示波器抓到的波形如圖3所示,在示波器的綠色波形進(jìn)入下降沿的時(shí)候,表示這時(shí)該位置霍爾開關(guān)已經(jīng)開啟,但是此時(shí)的黃色波形還是低電平,說(shuō)明它對(duì)應(yīng)的霍爾開關(guān)還沒有關(guān)閉,此時(shí)采集進(jìn)來(lái)的霍爾開關(guān)信號(hào)有2個(gè)起作用,所以程序進(jìn)入中斷程序后找不到對(duì)應(yīng)的擋位信息,擋位信息不能進(jìn)入CAN的數(shù)據(jù)緩存器;相反后面黃色波形進(jìn)入下降沿的時(shí)候,綠色已經(jīng)變成高電平了,所以這時(shí)程序進(jìn)入中斷程序,采集到的信息就有對(duì)應(yīng)的擋位信息,即可將此信號(hào)存入CAN緩存器。
圖3 采集到的霍爾開關(guān)信號(hào)波形
由于此換擋器是一個(gè)多擋位的手動(dòng)換擋器,有1、2、3、4、5、6、7、8、N、R1、R2共11個(gè)擋位,而且操作桿的設(shè)計(jì)運(yùn)行軌跡也是在一個(gè)平面內(nèi),造成了操作桿停留的位置也很多,對(duì)應(yīng)的霍爾開關(guān)在電路板的布置比較緊密;再加之有些器件存在個(gè)體性差異和器件安裝時(shí)存在著一定的安裝誤差,從而造成了某些霍爾開關(guān)之間的距離較近,當(dāng)操作桿上的磁鐵在某個(gè)擋位時(shí),觸發(fā)了一個(gè)霍爾開啟,但另一個(gè)開關(guān)卻還沒有關(guān)閉的現(xiàn)象。
由于之前的程序設(shè)計(jì)時(shí),為快速響應(yīng)擋位信息的采集,采用了中斷處理程序,在程序進(jìn)入中斷時(shí),直接采集擋位信息,此時(shí)讀到的是2個(gè)霍爾開關(guān)同時(shí)開啟的信息,由于不能有2個(gè)擋位信息同時(shí)出現(xiàn)的工況,所以判斷這次讀取到的擋位信息為無(wú)效值。程序只有每觸發(fā)一次霍爾開關(guān)才會(huì)執(zhí)行一次中斷,當(dāng)這次中斷完畢后,沒有新的觸發(fā)信息,程序就不會(huì)再進(jìn)入中斷程序,即使后面出現(xiàn)了準(zhǔn)確的擋位信息,由于進(jìn)入不了中斷程序?qū)е潞竺娴膿跷恍畔o(wú)法讀取到。
由于換擋器操作桿的運(yùn)動(dòng)都需要一定的時(shí)間,從一個(gè)擋位到下一個(gè)擋位一般在200~300ms,所以進(jìn)入中斷后,針對(duì)這個(gè)程序進(jìn)入讀取不到有效擋位信息時(shí),需要等到操作桿真正進(jìn)入有效擋位信息,才能讀取擋位信息。于是在軟件的邏輯設(shè)計(jì)時(shí),又重新設(shè)計(jì)了一套軟件算法,即采用中斷程序和循環(huán)掃描兼顧的方案,軟件流程圖如圖4所示。
程序進(jìn)入中斷程序之后,就開始設(shè)置一個(gè)標(biāo)志位,判斷擋位已經(jīng)發(fā)生變化了,再以50ms的周期進(jìn)行程序掃描,來(lái)判斷當(dāng)前的擋位信息是否有效,當(dāng)信息為有效值,才進(jìn)行記錄,并將此最新的擋位信息發(fā)送出去,將之前設(shè)計(jì)的標(biāo)志位清零。這樣既能保證對(duì)擋位信息的快速響應(yīng),也具有很強(qiáng)的糾錯(cuò)能力,能夠過濾掉一些無(wú)用的擋位信息。
按照上述方案進(jìn)行整改后,之前有擋位丟失的換擋器已經(jīng)沒有再出現(xiàn)擋位丟失的現(xiàn)象,而且后續(xù)所有的換擋器也未再出現(xiàn)擋位丟失,說(shuō)明整改方案的算法是準(zhǔn)確的。