基于ATmega16的汽車(chē)側(cè)滑檢測(cè)裝置的設(shè)計(jì)
摘要:汽車(chē)在行駛過(guò)程中的安全是現(xiàn)在日常生活中很重要的問(wèn)題,而其中由于側(cè)滑帶來(lái)的危害是很大的。提出一種基于ATmega16的汽車(chē)側(cè)滑檢測(cè)裝置。本系統(tǒng)介紹了以ATmega16單片機(jī)為核心,以及正負(fù)電源穩(wěn)定電壓,傳感器信號(hào)電壓抬升,數(shù)碼管的控制和一些警報(bào)提示電路等組成。實(shí)現(xiàn)了汽車(chē)側(cè)滑檢測(cè)的誤差不超過(guò)0.1的側(cè)滑檢測(cè)裝置。經(jīng)過(guò)在車(chē)間的試驗(yàn),本系統(tǒng)的誤差依然不超過(guò)0.1,可以滿足工業(yè)生產(chǎn)的要求。
關(guān)鍵詞:ATmega16單片機(jī);汽車(chē)側(cè)滑檢測(cè);正負(fù)電源;電壓抬升
隨著汽車(chē)行業(yè)的發(fā)展,汽車(chē)對(duì)人們的生活與工作產(chǎn)生了很大的影響,同時(shí)對(duì)于汽車(chē)使用中的安全問(wèn)題也就成了我們?nèi)粘I钪斜仨氷P(guān)注的部分。其中,汽車(chē)的側(cè)滑是指某一軸的車(chē)輪或兩軸的車(chē)輪出現(xiàn)橫向移動(dòng),這樣的情況是很危險(xiǎn)的,因此需要對(duì)其進(jìn)行檢測(cè)以便調(diào)整。為此,我們實(shí)現(xiàn)了對(duì)側(cè)滑臺(tái)傳感器數(shù)據(jù)的采集,通過(guò)運(yùn)放電路將傳感器傳出的電壓從±2.5 V調(diào)整為0~5 V,在通過(guò)ATmega16內(nèi)置的AD轉(zhuǎn)換,
最終通過(guò)AVR單片機(jī)ATmega16對(duì)數(shù)據(jù)進(jìn)行分析來(lái)實(shí)現(xiàn)對(duì)汽車(chē)側(cè)滑量的檢測(cè)。
1 檢測(cè)裝置的組成和基本原理
本裝置主要由汽車(chē)側(cè)滑試驗(yàn)臺(tái)、位移傳感器、AVR單片機(jī)和顯示模塊組成,其連接方式如圖1所示。
檢測(cè)汽車(chē)的側(cè)滑時(shí)時(shí),使汽車(chē)前輪在汽車(chē)側(cè)滑試驗(yàn)臺(tái)的檢測(cè)滑板上通過(guò),汽車(chē)行駛過(guò)程中會(huì)使得檢測(cè)滑板向內(nèi)或向外移動(dòng)。這個(gè)移動(dòng)量就是由于汽車(chē)的側(cè)滑照成的。我們可以通過(guò)位移傳感器將移動(dòng)的量值傳出來(lái),經(jīng)過(guò)ATmega16單片機(jī)的處理之后就可以將數(shù)據(jù)進(jìn)行顯示。檢測(cè)滑板的寬度長(zhǎng)度為1 M,滑板位移量的量級(jí)為mm,通過(guò)單片機(jī)的處理,可將汽車(chē)的側(cè)滑量轉(zhuǎn)變?yōu)橐訫/kM的單位數(shù)值進(jìn)行顯示。汽車(chē)側(cè)滑的結(jié)果的絕對(duì)值如果大于5 M/kM則為不合格,否則為合格。
2 AVR單片機(jī)控制模塊設(shè)計(jì)
整個(gè)控制模塊包括傳感器供電模塊、傳感器信號(hào)電壓抬升模塊和數(shù)碼管顯示控制模塊組成。每個(gè)模塊都有其特定的功能。
2.1 傳感器供電模塊
傳感器最主要的部分是一個(gè)電路的橋組成的,其輸出和加在橋兩側(cè)的電壓以及一個(gè)可變電阻都有關(guān)系。其中可變電阻是在傳感器確定后就已經(jīng)確定的,沒(méi)辦法改變。而電壓則是通過(guò)控制箱加在傳感器上的,為了使傳感器的輸出電壓比較穩(wěn)定,則需要在傳感器供電模塊進(jìn)行相應(yīng)的設(shè)計(jì),使得供電電壓更穩(wěn)定。其工作原理如圖2所示。
開(kāi)關(guān)電源給出的電壓經(jīng)過(guò)整流橋后,再經(jīng)過(guò)量級(jí)濾波后再接7815和7915的輸入端。后級(jí)為0.1μF的電容作用是通過(guò)充放電原理把交流成分去掉。7815和7915的輸出端經(jīng)兩個(gè)33 k高精度電阻分壓后接放大器LM358的反相輸入端,LM358的同相輸入端接地,放大器LM358的輸出端接7915的公共端。R17,R18為高精度電阻,7815,7915的輸出端又經(jīng)過(guò)由兩個(gè)47 μF/25 V的電解電容濾掉其交流成分,最后經(jīng)過(guò)1~2個(gè)0.1 pF的濾波電容慮掉其交流成分,則輸出端為穩(wěn)定的直流+15 V和-15 V電壓??梢詫⑵浼釉趥鞲衅鞯募?lì)端,使傳感器的輸出更加穩(wěn)定。
2.2 傳感器信號(hào)電壓抬升模塊
本側(cè)滑試驗(yàn)臺(tái)使用的傳感器傳出的電壓值范圍是-2.5~2.5 V,而Atmega16的內(nèi)置AD可采集的電壓為0~5 V,所以需要將這個(gè)電壓值抬升,這樣才可以采集到正確的電壓值。電壓的抬升電路如圖3所示。
在通過(guò)運(yùn)放進(jìn)行抬升電壓的時(shí)候,兩端的電壓是通過(guò)7805,7905產(chǎn)生的,因此,電壓都相對(duì)穩(wěn)定,所以抬升以后的電壓也是比較穩(wěn)定的,輸入和輸出電壓的關(guān)系為:
可以看出,調(diào)整后的電壓為原電壓的兩倍加上5 V,即:原電壓為-2.5~2.5 V,則調(diào)整后的電壓為0~10 V,且變化為線性關(guān)系。之后再通過(guò)電位計(jì)對(duì)電壓進(jìn)行調(diào)整,使其符合0~5 V的標(biāo)準(zhǔn),且是線性相關(guān)的,這樣就可以將抬升后的電壓直接接到AD轉(zhuǎn)換的端口上,通過(guò)AD轉(zhuǎn)換就可以讓AVR單片機(jī)得到現(xiàn)在位移的數(shù)據(jù),從而達(dá)到檢測(cè)的目的。
2.3 數(shù)碼管顯示控制模塊
對(duì)數(shù)碼管進(jìn)行控制,需要分別對(duì)數(shù)碼管的位選和段選進(jìn)行控制,也就是說(shuō)需要兩路信號(hào)來(lái)進(jìn)行控制。同時(shí),ATmega16的輸出的電壓為5 V,而數(shù)碼管的電壓應(yīng)為1.8 V左右,所以在單片機(jī)的輸出和數(shù)碼管之間應(yīng)接一個(gè)鎖存器,即可以實(shí)現(xiàn)降壓,又可以將一些信號(hào)進(jìn)行鎖存,使得一些數(shù)值可長(zhǎng)時(shí)間顯示。數(shù)碼管的控制方式如圖4所示,其中P1為片選的控制輸出,P2為位選的控制輸出。而且圖4同時(shí)給出了信號(hào)輸入
ATmege16和一些提示信號(hào)的輸出。
對(duì)數(shù)碼管的控制由單片機(jī)完成,顯示需要顯示的內(nèi)容由單片機(jī)對(duì)每個(gè)數(shù)碼管的顯示進(jìn)行循環(huán)刷新,這樣就可以讓數(shù)碼管顯示出的數(shù)據(jù)為連續(xù)的、可見(jiàn)的。達(dá)到對(duì)檢測(cè)結(jié)果顯示的目的。
2.4 整體模塊
單片機(jī)模塊是將相應(yīng)的模塊連接在一起。然后需要一些LED燈的報(bào)警提示,LED燈的連接方法在圖4中也相應(yīng)的給出。單片機(jī)和傳感器的連接為傳感器供電模塊提供傳感器的激勵(lì)信號(hào),傳感器信號(hào)電壓抬升模塊接收傳感器的信號(hào),并將其抬升至0~5 V,然后提供給ATmega16。
3 軟件部分設(shè)計(jì)
本系統(tǒng)需要軟件對(duì)其AD轉(zhuǎn)換的結(jié)果進(jìn)行分析并顯示,而且是需要采集滑動(dòng)板在汽車(chē)行駛過(guò)程中的最大值,以確定汽車(chē)的側(cè)滑量,而且需要對(duì)得出的數(shù)據(jù)進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換之后再顯示。軟件的流程圖如圖5所示。
其中標(biāo)定時(shí)有最大值標(biāo)定和最小值標(biāo)定。在標(biāo)定最大值時(shí),需要將滑動(dòng)板向外移動(dòng)1 cm,并由單片機(jī)記錄傳感器此時(shí)相應(yīng)的電壓值。標(biāo)定最小值時(shí),需要將滑動(dòng)板向內(nèi)移動(dòng)1 cm,并由單片機(jī)記錄傳感器相應(yīng)的電壓值。有了這兩個(gè)值,并且知道滑動(dòng)板左有各移動(dòng)1 cm,即兩個(gè)電壓對(duì)應(yīng)的滑動(dòng)板距離差為2 cm。再根據(jù)傳感器由滑動(dòng)板的移動(dòng)而引起的電壓變化為線性的,我們就可以確定傳感器移動(dòng)距離與電壓變化的關(guān)系。在之后的檢測(cè)中就可以通過(guò)電壓的變化值來(lái)確定滑動(dòng)板移動(dòng)的距離。
在檢測(cè)時(shí),剛開(kāi)始對(duì)傳感器的電壓進(jìn)行采集200次,并進(jìn)行平均,這個(gè)值作為本次檢測(cè)的零點(diǎn)電壓值。此后進(jìn)行采集5次平均,目的是確保可采集更多的數(shù)據(jù),將最大電壓值得出。采集過(guò)程中,得到的每一個(gè)電壓值都與零點(diǎn)電壓值進(jìn)行比較,并將兩個(gè)電壓差值最大的點(diǎn)緩存下來(lái)。當(dāng)點(diǎn)擊結(jié)束檢測(cè)的時(shí)候,緩存的電壓值與零點(diǎn)電壓值的差為此次測(cè)量得出的結(jié)果的反映。在經(jīng)過(guò)電壓與滑動(dòng)板位移的關(guān)系就可以得出本次測(cè)量過(guò)程中汽車(chē)在滑動(dòng)板上走過(guò)后,滑動(dòng)板的最大位移量。最后經(jīng)過(guò)單位的轉(zhuǎn)化就得出了此次檢測(cè)的側(cè)滑量。側(cè)滑量通過(guò)數(shù)碼管進(jìn)行顯示。如果側(cè)滑量大于5 m/km或小于-5 m/km,則汽車(chē)側(cè)滑不合格,單片機(jī)控制蜂鳴器報(bào)警。之后返回到選擇階段。
4 檢測(cè)結(jié)果
設(shè)計(jì)安裝完畢之后,首先對(duì)本系統(tǒng)進(jìn)行標(biāo)定,之后進(jìn)行檢測(cè)測(cè)試。已知滑動(dòng)板長(zhǎng)為1 m,即滑動(dòng)板每移動(dòng)1 mm則最終側(cè)滑量為1 m/km。表1為檢測(cè)結(jié)果。
由表1可知,檢測(cè)結(jié)果的誤差均不超過(guò)0.1。國(guó)家對(duì)側(cè)滑檢測(cè)標(biāo)準(zhǔn)的誤差規(guī)定為不超過(guò)0.2。而且此數(shù)據(jù)為車(chē)間測(cè)試結(jié)果。車(chē)間的噪聲干擾較大,但檢測(cè)結(jié)果依然準(zhǔn)確。所以此系統(tǒng)可以實(shí)用。
5 結(jié)束語(yǔ)
本側(cè)滑檢測(cè)系統(tǒng)運(yùn)行穩(wěn)定,可以準(zhǔn)確的采集傳感器的電壓并得出測(cè)量過(guò)程中準(zhǔn)確的側(cè)滑值。且本系統(tǒng)采用ATmega16,功耗低,效率高,集成度高,節(jié)約空間。在信號(hào)采集的過(guò)程中,使用了多次采集然后平均的方法,由于信號(hào)電壓一般是帶有毛刺的,所以多次采集后的平均有較大可能將電壓的毛刺去掉。此外本系統(tǒng)最好的地方是使用了很穩(wěn)定的正負(fù)電源,使得給傳感器的信號(hào)電壓也很穩(wěn)定。再加上之后對(duì)傳感器信號(hào)電壓的一些濾波處理,這樣給ATmega16進(jìn)行處理的信號(hào)電壓就很穩(wěn)定,所以得出的結(jié)果就很準(zhǔn)確。由測(cè)試結(jié)果也可以知道,本設(shè)計(jì)可以在實(shí)際中進(jìn)行應(yīng)用。