徐昊元,曹誠(chéng)偉,舒煜喬,周家樂,史志鵬
(東南大學(xué) 成賢學(xué)院電子信息工程專業(yè),江蘇南京,210000)
由于社會(huì)經(jīng)濟(jì)的整體發(fā)展,人民的生活水平也不斷提高,家家戶戶幾乎都有能力購(gòu)買汽車,但同時(shí)也出現(xiàn)了許多的酒后駕駛的情況,導(dǎo)致了許多的人生財(cái)產(chǎn)損失,雖然國(guó)家一直在提倡尋找代駕,但是這也會(huì)耗費(fèi)許多的人力物力資源,并且會(huì)對(duì)交通產(chǎn)生一定的影響,為了減少社會(huì)壓力,我們思考并設(shè)計(jì)一種自主檢測(cè)的酒精檢測(cè)系統(tǒng)。本項(xiàng)目能夠在酒精檢測(cè)器的基礎(chǔ)上,使用先進(jìn)的技術(shù)手段來讓酒精檢測(cè)器的傳輸更加靈敏,能夠直接安裝于汽車上使用,讓駕駛員對(duì)自身的檢測(cè)更加方便,如果處于酒精濃度超標(biāo)的酒駕狀態(tài)則會(huì)進(jìn)行報(bào)警并提醒其家人等,減少事故,安全出行,同時(shí)也提高了酒駕檢測(cè)的效率。
本系統(tǒng)的主控芯片我們選用了STC89C52單片機(jī),系統(tǒng)擁有以下幾個(gè)主要模塊:STC89C52 單片機(jī)內(nèi)部控制模塊、MQ-3酒精濃度傳感器模塊,A/D數(shù)模轉(zhuǎn)換模塊、蜂鳴器模塊。系統(tǒng)能夠?qū)y(cè)量出的酒精濃度數(shù)據(jù)通過A/D轉(zhuǎn)換后,得到需要的數(shù)據(jù),再將其提供給單片機(jī)進(jìn)行下一步的處理,最后,在LCD顯示屏上顯示出此時(shí)的酒精濃度。若酒精濃度超過了我們預(yù)先設(shè)置的閾值,則會(huì)觸發(fā)警報(bào)系統(tǒng),并且采取一些及時(shí)的手段提醒聯(lián)系人,及時(shí)制止了駕駛員酒駕。圖1為該系統(tǒng)的總體結(jié)構(gòu)框圖。
該系統(tǒng)的原理設(shè)計(jì)圖如圖2所示。
圖2 原理設(shè)計(jì)圖
STC89C52單片機(jī)是一個(gè)高性能的COMOS8微型處理器。該器件采用了高密度、數(shù)據(jù)不易丟失的存儲(chǔ)器制造,與工業(yè)標(biāo)準(zhǔn)的一些指令集也能夠有最基本的兼容。
本系統(tǒng)選用的STC89C52單片機(jī),由于其內(nèi)部缺少時(shí)鐘振蕩器,因此選擇外接11.0592MHz的晶振來提供基本的時(shí)鐘信號(hào)。復(fù)位電路中,R3和C3的作用是上電自復(fù)位,目的是讓單片機(jī)上電以后從頭開始運(yùn)行,同時(shí)將一個(gè)無鎖按鍵開關(guān)接到單片機(jī)9腳,按下按鍵會(huì)給單片機(jī)9腳提供一個(gè)高電平,達(dá)到手動(dòng)復(fù)位的效果。
MQ-3模塊特點(diǎn):(1)具有信號(hào)輸出指示。(2)雙路信號(hào)輸出(模擬量輸出及TTL電平輸出)(3)TTL輸出有效信號(hào)為低電平。當(dāng)輸出低電平時(shí)信號(hào)燈亮,可直接接單片機(jī)。(4)模擬電壓輸出0~5V,酒精濃度越高,電壓越高。
圖3 為MQ-3 酒精傳感器實(shí)物圖和原理圖。
圖3 MQ-3 酒精傳感器實(shí)物圖和原理圖
MQ-3酒精傳感器工作原理:當(dāng)酒精濃度增大時(shí),傳感器內(nèi)阻降低。由分壓原理得,Vout增大,即圖4中比較器2腳上的電壓值增大,當(dāng)引腳2點(diǎn)位高于引腳3點(diǎn)位時(shí)(滑動(dòng)變阻器Rp可調(diào)節(jié)),引腳1輸出低電平,當(dāng)沒有信號(hào)時(shí),傳感器輸出與電源電壓相等的高電平。
圖4 MQ-3酒精傳感器內(nèi)部電路圖
本系統(tǒng)主要采用的是一個(gè)八位分辨率的ADC0832轉(zhuǎn)換器,其能夠進(jìn)行雙通道轉(zhuǎn)換,并且輸入與輸出電平能夠與TTL相互兼容,該轉(zhuǎn)換器接入的電源為5V,可以保證輸入電壓小于5V,而且消耗功率低,其工作的頻率才250kHz,非常適合在本設(shè)備中進(jìn)行使用。
當(dāng)CS輸入端為高電平時(shí),ADC0832不工作,此時(shí)芯片被禁用,只有CS使能端置于低電平,并且保持低電平,才能進(jìn)行A/D轉(zhuǎn)換。在芯片開始轉(zhuǎn)換的同時(shí),芯片時(shí)鐘輸入端CLK將會(huì)收到處理器部分傳來的時(shí)鐘脈沖,接著使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。啟動(dòng)信號(hào)的表示方法為:在第1個(gè)時(shí)鐘脈沖的下沉之前DI端必須是高電平。在第2和第3個(gè)脈沖下沉之前,DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能,當(dāng)此2位數(shù)據(jù)為“1”、“0”時(shí),只對(duì)CH0進(jìn)行單通道轉(zhuǎn)換。
圖5 ADC0832 轉(zhuǎn)換器實(shí)物圖和原理圖
本系統(tǒng)中主要選用低電平觸發(fā)的有源蜂鳴器模塊模擬繼電器,在供電裝置中,能夠控制電源。如果酒精濃度在可接受的范圍內(nèi),則蜂鳴器不會(huì)報(bào)警。在汽車穩(wěn)定狀態(tài)下,假如車內(nèi)的酒精濃度過高,蜂鳴器會(huì)響起,我們可將此信號(hào)視作繼電器的閉合,發(fā)動(dòng)機(jī)無法進(jìn)行正常啟動(dòng),車輛無法進(jìn)行正常啟動(dòng)。蜂鳴器模塊特點(diǎn)如下:S8550三極管驅(qū)動(dòng)模塊;工作電壓為3.3~5V;I/O端口輸入低電平時(shí),蜂鳴器發(fā)聲。
圖6 蜂鳴器電路原理圖
該系統(tǒng)采用的液晶顯示屏為L(zhǎng)CD1602,實(shí)物圖如圖7所示。主要參數(shù):顯示容量:16×2個(gè)字符;芯片工作電壓:4.5~5.5V;工作電流:2.0mA(5.0V);模塊最佳工作電壓:5.0V;字符尺寸:2.95mm×4.35mm(W×H)。
圖7 1602字符型液晶顯示器實(shí)物圖
LCD1602具體接線如下:引腳1接地,引腳2接5V正電源,引腳3為顯示屏對(duì)比度調(diào)整端,使用10k的可調(diào)電阻來調(diào)整對(duì)比度,當(dāng)RS高電平時(shí),引腳4選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器,引腳5中R/W為讀寫信號(hào)線,高電平讀,低電平寫,引腳6中EN使能端下降沿觸發(fā)。7~14腳分別與單片機(jī)的P0.0~P0.7相連,引腳15接背光源正極,引腳16接背光源負(fù)極。
圖8 液晶顯示屏電路原理圖
液晶顯示屏模塊流程圖如圖9所示。
圖9 液晶顯示屏電路流程圖
該系統(tǒng)中采用的短信通知模塊為SIM900A,是一個(gè)基本的GSM與GPRS模塊,能夠進(jìn)行基本的SMT的封裝。其工作頻率是900/1800MHz,能夠?qū)崿F(xiàn)基本的輸入輸出與傳輸特性,能夠適用于許多的產(chǎn)品設(shè)計(jì)和需求。模塊實(shí)物圖如圖10所示。
圖10 SIM900A模塊實(shí)物圖
SIM900A芯片主要特性:供電電壓:3.4V~4.5V;頻段:EGSM 900和DCS 1800;工作溫度范圍:-30℃~+80℃。
圖11 SIM900A模塊原理圖
SIM900A具體接線如下:?jiǎn)纹瑱C(jī)的 P3.0 管腳連接SIM900A 5VT,單片機(jī)的 P3.1 管腳連接SIM900A 5VR,直流 5V 連接SIM900A的VCC_MCU端口,SIM900A 的 GND 連接到單片機(jī)的 GND 上。
圖12 SIM900A模塊接線圖
軟件流程圖如圖13所示。
圖13 軟件設(shè)計(jì)流程圖
此部分主要運(yùn)用AT指令來控制模塊。
AT+CSCS="UCS2" 表示設(shè)置為16位通用8字節(jié)倍數(shù)編碼字符集;
AT+CMGF=1 表示設(shè)置短信為文本格式;
AT+CSMP=17,167,0,25 表示在提交消息時(shí),短消息服務(wù)中心收到消息起的有效時(shí)間為24,協(xié)議標(biāo)識(shí)為“0”,編碼方式為UNICODE;
AT+CMGS="*************"用來預(yù)先設(shè)置接收者的手機(jī)號(hào)碼,*******代表該手機(jī)號(hào)Unicode碼;
Uart1Sends("91527CBE62A58B66");為中文短信內(nèi)容的Unicode碼。
圖14程序用來轉(zhuǎn)換漢字與Unicode碼。
圖14
//按鍵+-
if(anjianjia==0)
判斷若按鍵加或按鍵減被按下,設(shè)定值會(huì)加一或減一。
顯示設(shè)定的報(bào)警閾值:
顯示當(dāng)前所采集的酒精濃度:
//顯示酒精傳感器所采集的濃度數(shù)值+顯示設(shè)定酒精報(bào)警設(shè)定值
wordl[4]通過采集來的酒精數(shù)據(jù)經(jīng)過數(shù)據(jù)轉(zhuǎn)換后得到。
(1)在本系統(tǒng)中,為實(shí)現(xiàn)本設(shè)計(jì)的功能,我們將模擬一個(gè)符合酒駕標(biāo)準(zhǔn)的駕駛者進(jìn)入某個(gè)汽車駕駛車廂的情況,即要讓駕駛者的血液中酒精濃度達(dá)到或超過20mg/100ml。為方便演示,我們將汽車車廂粗定為長(zhǎng)29cm,寬26cm,高14cm的長(zhǎng)方體密閉空間,計(jì)算體積為10556cm3。酒精模擬方面,選擇使用75%酒精消毒液(乙醇含量75%±5%),將其濕潤(rùn)在紙巾上,通過擠壓泵頭次數(shù)的不同來模擬多種濃度的酒精含量,通過市面上已有的呼氣式酒精檢測(cè)儀來判斷此時(shí)的酒精含量具體數(shù)值,從而決定在編寫代碼時(shí)所設(shè)定的酒精報(bào)警閾值。
實(shí)驗(yàn)數(shù)據(jù)如表1所示。
表1
實(shí)驗(yàn)現(xiàn)象:報(bào)警閾值設(shè)定為50%,當(dāng)系統(tǒng)報(bào)警時(shí),血液酒精含量為25mg/100ml。為避免閾值設(shè)定過高,導(dǎo)致駕駛員血液酒精濃度已達(dá)醉駕標(biāo)準(zhǔn)而系統(tǒng)沒有報(bào)警的情況。將閾值逐次降低,為了最接近酒駕標(biāo)準(zhǔn),并考慮到車廂密閉性等誤差,于是選擇最接近并小于20mg/100ml的數(shù)值,這樣做的目的也是為了避免上述的情況,當(dāng)報(bào)警閾值設(shè)定在小于40%時(shí),此時(shí)血液酒精含量雖小于酒駕標(biāo)準(zhǔn),但由于設(shè)定閾值過低,導(dǎo)致系統(tǒng)誤報(bào)警。
得出結(jié)論:酒精報(bào)警閾值設(shè)定為40%。
圖15 基于51單片機(jī)的智能防酒駕系統(tǒng)實(shí)物圖
(2)為了能夠真正使用于現(xiàn)實(shí)情況,我們?cè)谂c小車連接的電路中,加上了一個(gè)變壓器,將電壓從12V變?yōu)?V以適應(yīng)現(xiàn)實(shí)汽車中的電路。
圖16 電源模塊實(shí)物圖
在該系統(tǒng)測(cè)試中,我們得到測(cè)量時(shí)的酒精濃度,通過將此時(shí)酒精濃度與提前設(shè)定的閾值進(jìn)行對(duì)比,能夠初步判斷駕駛者的飲酒狀態(tài)。我們將該系統(tǒng)放于模擬現(xiàn)實(shí)環(huán)境下進(jìn)行測(cè)試,已經(jīng)基本滿足我們所預(yù)期的功能,若裝備在真實(shí)車輛上,則還需要添加繼電器改變電平。這個(gè)系統(tǒng)能夠一定程度上減少酒后駕駛的狀況,并且一定程度上減少交通事故可能發(fā)生的概率,減少酒駕可能帶來的危害。如果能將該項(xiàng)項(xiàng)目設(shè)計(jì)得更為成熟,則能夠?yàn)榘踩鲂刑峁└嗟谋U?,具有更大的社?huì)和實(shí)際意義。