潘瑩,陳燕(通訊作者),圣慶澳
(蚌埠學(xué)院 電子與電氣工程學(xué)院,安徽蚌埠,233030)
為了能夠有效地解決各種因酒后駕駛機(jī)動車所導(dǎo)致而頻繁發(fā)生的交通事故,本此設(shè)計基于51 系列單片機(jī)的基礎(chǔ)之上,構(gòu)想出了一款酒后駕駛智能閉鎖系統(tǒng),該系統(tǒng)核心處理單元為單片機(jī),駕駛員呼吸產(chǎn)生的氣體被傳感器檢測,通過分析此氣體判斷駕駛員體內(nèi)酒精濃度,進(jìn)而判別駕駛員是否能夠有思維,有判斷力去駕駛機(jī)動車。當(dāng)氣體酒精含量濃度較高時,系統(tǒng)能夠主動阻止機(jī)動車引擎的啟動,繼而報警系統(tǒng)驅(qū)使報警器進(jìn)行報警。以此來實(shí)現(xiàn)自動控制的功能,進(jìn)而大大減小交通事故的發(fā)生,極大程度上保障了道路安全,更好地維護(hù)了我國的交通秩序,營造了友好的交通環(huán)境。
系統(tǒng)整體結(jié)構(gòu)采取了電源所需要的各種元器件集成到一塊芯片或者一塊電路板上的電源模塊、以二氧化錫為基本敏感材料的,專門用于呼氣中酒精濃度檢測的酒精傳感器、將flash 存儲器與MCS-51 控制器相結(jié)合的新型8 位AT89系列單片機(jī)、將模擬信號轉(zhuǎn)化為數(shù)字信號的A/D 轉(zhuǎn)換模塊、把LED(發(fā)光二極管)按一定規(guī)則排列在一起再封裝起來,加上一些防水處理組成的LED 顯示模塊、對指定的監(jiān)控數(shù)據(jù)進(jìn)行監(jiān)控,從而與控制器進(jìn)行通訊的報警模塊、輸出特性等于交流接觸器,可以被電壓驅(qū)動的繼電器驅(qū)動模塊等相繼構(gòu)成。
該系統(tǒng)的主要工作性能是對傳感器模塊中的酒精傳感器所輸出的電壓信號進(jìn)行獲取,然后對所獲取到的電壓信號進(jìn)行模數(shù)轉(zhuǎn)換和放大處理操作,因此結(jié)合實(shí)際實(shí)踐操作情況分別對相關(guān)操作采用ADC0809 模數(shù)轉(zhuǎn)換模塊和AT89C52單片機(jī)模塊,當(dāng)檢測到呼出氣體酒精含量濃度超過規(guī)定范圍值時,顯示模塊會對輸出電壓值利用LED 顯示屏進(jìn)行顯示,進(jìn)而報警模塊會切斷汽車啟動電源,同時驅(qū)動繼電器進(jìn)行后續(xù)相關(guān)操作。
鑒于以上分析,對基于單片機(jī)的酒后駕駛智能閉鎖系統(tǒng)有了一定程度的構(gòu)想,圖1 為該系統(tǒng)的系統(tǒng)框圖。

圖1 整體系統(tǒng)框架結(jié)構(gòu)圖
本項目選用MR 酒精傳感器,因其靈敏度高、對乙醇蒸氣選擇性好、響應(yīng)恢復(fù)快、使用壽長、穩(wěn)定可靠、驅(qū)動電路簡單等顯著特點(diǎn),符合要求。電路圖如圖2 所示。

圖2 傳感器測試電路
信號采集放大電路主要實(shí)現(xiàn)的功能就是對酒精傳感器產(chǎn)生的輸出電壓信號進(jìn)行收集。所選用的是燃料電池酒精傳感器,其輸出信號為模擬電壓信號。剛開始會將經(jīng)過模擬電壓輸出的信號放大到儀表放大器AD623 上面;然后,再把其模擬電壓信號傳輸至ADC0809 輸入的模擬數(shù)字轉(zhuǎn)換(A/D)。由一個電源供電,外接電阻后,最大增益可以達(dá)到1000 倍的儀表放大器AD623。
儀表放大器選用的是LM339,其類似于增益不可調(diào)的運(yùn)算放大器。每個比較器有一個同向輸入端(用“+”表示),一個反向輸入端(用“-”表示)和一個輸出端。其相關(guān)功能操作為:當(dāng)輸入端輸入電壓高于輸出端輸出值時,對輸出管操作進(jìn)行攔截,相當(dāng)于輸出端處于開路狀態(tài);當(dāng)輸出端輸出電壓高于輸入端輸入值時,輸出管將處于飽和狀態(tài),類似于輸出端接低電平。
由放大器LM339 相關(guān)性能可知:若想要前后輸出狀態(tài)可以可靠轉(zhuǎn)化,需兩個輸入端電壓想差大于10mV。由此,該器件應(yīng)用是比較理想的。
ADC0809 是一款CMOS 工藝8 通道,8 位逐次逼近式的A/D 模數(shù)轉(zhuǎn)換器,可對8 路模擬信號進(jìn)行分時采集,采集一次數(shù)據(jù)轉(zhuǎn)換時間在100μs 左右,一般低于640kHz 的外接時鐘頻率。延時,查詢和中斷是其三種數(shù)據(jù)采集方式。它們在電路連接和程序編輯這兩方面是有區(qū)別的。該設(shè)計如圖3 所示。

圖3 ADC0809 轉(zhuǎn)換電路
單片機(jī)最小系統(tǒng),或者稱最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。對單片機(jī)來說,最小系統(tǒng)一般包括:單片機(jī)、電源電路、晶振電路、復(fù)位電路。
2.4.1 時鐘電路設(shè)計
在AT89C52 單片機(jī)中,是利用一個反相高增益放大器來作為內(nèi)部振蕩器。放大器的輸入接口和輸出接口分別對應(yīng)引腳19 的XTAL1 和引腳18 的XTAL2。放大器的反饋回路中連接石英晶體與電容C1 和電容C2 以此組成并聯(lián)諧振電路。

圖4 時鐘電路
2.4.2 復(fù)位電路設(shè)計
復(fù)位在單片機(jī)操作過程發(fā)揮著重要的作用,是其初始化操作。復(fù)位電路的目的:一是在最初時設(shè)置到一個所要求的固定的值可以使絕大部分特殊寄存器正確的運(yùn)行,二是讓它有一個最初工作的起點(diǎn)。因這功能,所以在運(yùn)行中如因受干擾程序跑飛時常利用這復(fù)位把它拉回到正確的運(yùn)行上來。通電自動復(fù)位、按鍵級復(fù)位和外部脈沖復(fù)位是復(fù)位操作的三種方式。據(jù)此本次采用了按鍵電平復(fù)位方式。如圖5 所示。

圖5 復(fù)位電路
2.4.3 AT89C52 單片機(jī)處理
AVR、MCS-51、PIC 系列單片機(jī)是近些年市場上最常見且普遍使用的。
51 系列單片機(jī)具有很鮮明的特點(diǎn):有良好完備的從硬件到軟件的按位操作系統(tǒng),能夠進(jìn)行置位、清零、位傳送、邏輯運(yùn)算、測試等,功能完善且齊全;并且含有乘法及除法指令,編程更方便。
AT89C52 是51 系列單片機(jī)的一個型號,其優(yōu)良改進(jìn)是微處理器和flash 存儲器搭配處理,且Flash 存儲器可以反復(fù)擦寫,大大地降低了開發(fā)成本,資源合理利用。
基于本項目要求的性價比以及所實(shí)現(xiàn)功能,選用Atmel公司的AT89C52 單片機(jī)。
2.4.4 顯示電路設(shè)計
本設(shè)計采用LCD1602 液晶屏進(jìn)行顯示,P2^4 和P2^6端口作為LCD 的RS、RW 和E 的控制終端,PO 端口作為LCD 的D0 和D7 的控制信號。1602 在本設(shè)計中顯示設(shè)置電壓值、酒精濃度、測量電壓值等信息。
當(dāng)人體血液中的酒精濃度超過0.2g/L 時,會被AT89系列單片機(jī)的P2.4 端口所檢測到。呼出空氣中的酒精含量為47.43ppm 時,酒后駕駛智能鎖定系統(tǒng)將控制報警,給出安全提示。

圖6 報警電路設(shè)計
當(dāng)電路檢驗到人體血液濃度不在合理范圍之內(nèi)時,如果司機(jī)打算打開車,此系統(tǒng)中驅(qū)動繼電器模塊開關(guān)動作,進(jìn)而強(qiáng)行制止司機(jī)酒后駕車。繼電器驅(qū)動電路原理圖如圖7 所示。

圖7 繼電器驅(qū)動電路設(shè)計
當(dāng)電源線接入系統(tǒng)或進(jìn)行復(fù)位時,系統(tǒng)程序開始運(yùn)行。
首先,進(jìn)行程序初始化,即清零處理。其作用主要為清除全部上次操作存儲數(shù)據(jù),用來存放新得到的數(shù)據(jù)。其次,傳感器檢測酒精氣體,傳遞數(shù)據(jù)信息。因負(fù)載電阻和ADC0809 的模擬輸入端INO 接入,單片機(jī)指令模數(shù)轉(zhuǎn)換芯片時,需通過通道0。然后對通道INO 端輸入的采集電壓信號作模數(shù)轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束。轉(zhuǎn)換結(jié)束時P1.5=1,可讀取數(shù)據(jù)。最后對轉(zhuǎn)換的數(shù)字信號進(jìn)行處理,將其與規(guī)定的合理范圍值進(jìn)行比較。若小于,不改變繼電器動作;若大于,結(jié)束繼電器動作并禁用,同時報警器模塊將提示駕駛員有進(jìn)行酒駕傾向。繼而將采集到的數(shù)據(jù)經(jīng)單片機(jī)處理,轉(zhuǎn)換成酒精濃度值,進(jìn)行LED 顯示。
酒后駕駛智能閉鎖系統(tǒng)的軟件設(shè)計流程圖如圖8 所示。

圖8 主程序流程圖
為驗證所設(shè)計系統(tǒng)的可行性,對系統(tǒng)進(jìn)行了仿真實(shí)驗。
在Windows 10環(huán)境下,基于keil uvision3 編譯器基礎(chǔ)上編寫了整個軟件系統(tǒng),完成對系統(tǒng)軟件匯編語言進(jìn)行編寫,對STC89C51 進(jìn)行編程兩大功能。仿真操作在proteus 上進(jìn)行,編程操作選用keil 軟件,然后對兩者進(jìn)行聯(lián)調(diào),用以實(shí)現(xiàn)項目任務(wù)。

圖9 酒精濃度未超標(biāo)系統(tǒng)仿真結(jié)果

圖10 酒精濃度超標(biāo)時系統(tǒng)仿真結(jié)果
當(dāng)整體系統(tǒng)所輸入的電壓值低于2.3V 時,因該電壓值并未達(dá)到繼電器使用電壓,所以繼電器開關(guān)無相關(guān)反應(yīng),引擎可以正常啟動,蜂鳴器不會發(fā)出聲音。
當(dāng)整體系統(tǒng)所輸入的電壓值超過2.3V 時,2.3V 已經(jīng)達(dá)到繼電器的使用電壓,繼電器開關(guān)不允許打開,禁止引擎電源啟動,蜂鳴器發(fā)出聲音,達(dá)到提醒駕駛員的目的。
本項目由AT89C52 單片機(jī)及相關(guān)操作模塊構(gòu)成自動智能的控制系統(tǒng),可以對汽車發(fā)動機(jī)進(jìn)行閉鎖控制。即使干擾情況較小,也可以對傳感器放大的信號進(jìn)行接收,再對相關(guān)電路信號進(jìn)行識別處理,分類判斷等操作,以此實(shí)現(xiàn)對繼電器的操控。該系統(tǒng)可以體現(xiàn)的幾大特點(diǎn):
(1)該系統(tǒng)就是為了杜絕有以下心理的人群:以為自己沒喝多,大腦沒被酒精麻痹,開車沒事的心理;還有相當(dāng)多的人就是明知故犯,知道自己喝酒了但是仍然選擇自己開車回家,一點(diǎn)都不慫;也有一部分人是抱著僥幸心理,比如說自己喝完酒時間長了,感覺差不多就上路了,或者是自己知道的一些沒有交警查的鄉(xiāng)村小路,在法律的邊緣瘋狂試探的。
(2)將AT89C52 單片機(jī)與燃料電池型酒精傳感器結(jié)合,使檢測結(jié)果準(zhǔn)確,環(huán)保且能量消耗小,符合綠色節(jié)能發(fā)展理念。LED 顯示使結(jié)果明了,加上報警提醒使人更加警醒,自行杜絕酒駕。
(3)本項目特地添加了報警系統(tǒng),利用蜂鳴器的特性對駕駛員要酒后駕駛的行為給予警示,同時告誡同行或者同伴駕駛員又要酒后駕駛的傾向,對這一行為緊急處理及時制止。