那蕊,萬其豪,聶瓊,艾佳琨
(蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,江蘇蘇州, 215008)
近年來,隨著中國經(jīng)濟(jì)的騰飛,中國汽車保有量不斷創(chuàng)新高,因酒駕造成的交通事故數(shù)量所占比例不斷升高。我國出臺(tái)的《道路交通安全法》對(duì)于酒駕和醉駕處罰做了明確規(guī)定。而對(duì)酒精濃度的檢測(cè)是交警執(zhí)法過程中重要一環(huán),在交警執(zhí)勤的過程中如果能利用酒精檢測(cè)儀進(jìn)行粗篩,可以極大地提高效率。本文通過對(duì)戶外公共場所酒精濃度檢測(cè)條件進(jìn)行充分研究,以應(yīng)用為目的,設(shè)計(jì)出一套集數(shù)據(jù)采集、處理、顯示、報(bào)警、數(shù)據(jù)傳送和上位機(jī)顯示等功能為一體的系統(tǒng),能滿足檢測(cè)條件和要求,并且完成系統(tǒng)功能調(diào)試。本系統(tǒng)具有價(jià)格成本低、測(cè)試數(shù)據(jù)精準(zhǔn)和靈敏度高的特點(diǎn)。具有一定的市場價(jià)值[1~2]。
藍(lán)牙酒精檢測(cè)儀運(yùn)用酒精檢測(cè)技術(shù)、MCU技術(shù)以及藍(lán)牙技術(shù)相結(jié)合,可以實(shí)現(xiàn)公共場所酒精濃度數(shù)據(jù)采集和處理,LCD顯示和聲光報(bào)警,按鍵設(shè)置酒精濃度閾值等功能,并且將通過藍(lán)牙通信技術(shù)將酒精濃度數(shù)據(jù)傳輸至手機(jī)APP界面顯示數(shù)據(jù)值,可以實(shí)現(xiàn)手機(jī)實(shí)時(shí)查收數(shù)據(jù),可用于駕駛?cè)藛T自檢或者交通執(zhí)法人員酒精濃度檢測(cè)過程。
本設(shè)計(jì)是一套以單片機(jī)MCU為主控模塊的藍(lán)牙酒精濃度檢測(cè)系統(tǒng)。本系統(tǒng)主要由電源、酒精傳感器模塊、A/D轉(zhuǎn)換模塊、按鍵設(shè)置模塊、MCU模塊、LCD液晶顯示模塊、聲光報(bào)警模塊、藍(lán)牙RF模塊、上位機(jī)和機(jī)械部分等組成,如圖1所示。系統(tǒng)采用的是STC89C52RC單片機(jī)作為主控器,通過按鍵設(shè)置系統(tǒng)酒精濃度的報(bào)警閾值,MQ3傳感器模塊采集酒精濃度數(shù)據(jù),經(jīng)過ADC0832轉(zhuǎn)換成數(shù)字信號(hào),再輸入到MCU進(jìn)行數(shù)據(jù)處理后,LCD液晶顯示酒精濃度和通過藍(lán)牙RF模塊傳送至手機(jī)APP實(shí)時(shí)顯示數(shù)據(jù),顯示經(jīng)過程序算法判斷后驅(qū)動(dòng)聲光報(bào)警電路是否報(bào)警。突破時(shí)間和空間上的限制,實(shí)現(xiàn)用戶對(duì)酒精濃度檢測(cè)結(jié)果的實(shí)時(shí)監(jiān)測(cè)和閾值報(bào)警。
圖1 系統(tǒng)框圖
藍(lán)牙酒精檢測(cè)儀系統(tǒng)要求具有運(yùn)算能力強(qiáng)、低功耗、體積小、抗干擾、低成本等特點(diǎn),綜合比較后最終選擇了STC89C52RC這款單片機(jī)為本系統(tǒng)的主控核心控制器,MCU主控電路即單片機(jī)最小系統(tǒng),主要由復(fù)位電路、電源和時(shí)鐘電路等幾部分組成。P0口連接至液晶LCD_1602的引腳上,P1.2口輸入MQ3酒精傳感器模塊采集的信號(hào),P3.0和P3.1接收和發(fā)送藍(lán)牙模塊信號(hào)。當(dāng)按鍵K1按下時(shí),單片機(jī)復(fù)位。電容 C1、C2和晶振 Y1構(gòu)成了時(shí)鐘電路,為單片機(jī)提供一個(gè)頻率為11.0592MHz的穩(wěn)定時(shí)鐘信號(hào)。20腳和40腳連接到VCC和GND上為單片機(jī)供電。MCU主控電路原理圖如圖2所示[3]。
圖2 MCU主控電路原理圖
采集的酒精濃度數(shù)據(jù)輸入給單片機(jī),經(jīng)單片機(jī)數(shù)據(jù)處理后驅(qū)動(dòng)LCD液晶顯示酒精濃度數(shù)值按鍵設(shè)置閾值,LCD液晶接在單片機(jī)的P0口上。液晶顯示模塊我們選擇的是LCD_1602模塊,顯示容量為2行16個(gè)字符,可定義8個(gè)5×8點(diǎn)陣字符或者4個(gè)5×10點(diǎn)陣字符,容量足夠顯示當(dāng)前設(shè)置酒精濃度閾值和當(dāng)前酒精濃度值。具體電路如圖3所示[4]。
圖3 LCD液晶顯示電路
傳感器模塊主要負(fù)責(zé)采集酒精濃度數(shù)據(jù),酒精濃度傳感器采用的是MQ3氣敏傳感器,檢測(cè)范圍為10ppm~2000ppm,輸出酒精濃度模擬信號(hào)。具有響應(yīng)速度快、功耗小、壽命長、可靠性好和低成本等特點(diǎn)。
MQ3采集的模擬信號(hào)還需要轉(zhuǎn)換成數(shù)字信號(hào)才能傳輸至單片機(jī),實(shí)現(xiàn)A/D轉(zhuǎn)換功能的芯片我們采用的是ADC0832芯片。一般情況下ADC0832的CS、CLK、DO、DI 4個(gè)引腳與單片機(jī)相連,雖然DO和DI通信是雙向的但兩者并沒有同時(shí)有效,因此將DO和DI并聯(lián)在一起后連接到單片機(jī)的P1.2引腳,而CLK引腳接在單片機(jī)的P1.1引腳,CS接在單片機(jī)的P1.0上。當(dāng)ADC0832的CS輸入為高電平時(shí)芯片禁用,此時(shí)CLK、DO、DI電平可為任意值。當(dāng)進(jìn)行A/D轉(zhuǎn)換時(shí),CS需要置成低電平并保持到轉(zhuǎn)換結(jié)束,當(dāng)單片機(jī)向芯片CLK端輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)[5]。
圖4 傳感器A/D轉(zhuǎn)換電路
藍(lán)牙酒精濃度檢測(cè)儀系統(tǒng)能夠設(shè)置酒精濃度閾值并且實(shí)現(xiàn)LCD液晶實(shí)時(shí)顯示,當(dāng)采集的酒精濃度數(shù)值超過閾值單片機(jī)驅(qū)動(dòng)聲光報(bào)警。本系統(tǒng)通過“加”、“減”兩個(gè)控制命令進(jìn)行酒精濃度閾值設(shè)置,數(shù)量較少則選擇獨(dú)立式按鍵。按鍵K2、K3接在單片機(jī)的P3.2和P3.3上,如圖5所示,按鍵抖動(dòng)的消除通過軟件方法實(shí)現(xiàn),減少硬件成本。
圖5 按鍵設(shè)置電路
藍(lán)牙RF模塊主要通過藍(lán)牙實(shí)現(xiàn)MCU與上位機(jī)之間的通信。藍(lán)牙RF模塊中的主機(jī)芯片是HC-05,3.3V低電壓工作,藍(lán)牙2.0EDR,2Mbps-3Mbps調(diào)制度,采用CSR bc4 +8M FLASH方 案,具 有PIO0-PIO11、AIO0、AIO1、USB、PCM 、UART及 SPI接口,模塊內(nèi)置8M FLASH,功能強(qiáng)大,用戶可以定制軟件,適用于各種藍(lán)牙設(shè)備,內(nèi)置了2.4GHz天線,便于調(diào)試。具有低功耗、高性能、低成本等特點(diǎn)[6]。
HC-05的主機(jī)有個(gè)特性就是記憶最后一次配對(duì)過的從機(jī),如果放棄記憶按下S1即可。S1對(duì)于從機(jī)而言沒有意義。
藍(lán)牙酒精檢測(cè)儀系統(tǒng)電源采用5V USB供電,電源中加了一個(gè)LED電源指示燈,如圖6所示。供電設(shè)備多樣化,手機(jī)充電器、充電寶等都可以作為本系統(tǒng)的供電設(shè)備,供電穩(wěn)定并且使用方便。
圖6 電源電路
當(dāng)采集的酒精濃度超過按鍵設(shè)置的閾值時(shí),單片機(jī)P1.7輸出低電平,驅(qū)動(dòng)聲光報(bào)警。如圖7所示。
圖7 聲光報(bào)警電路
完成硬件電路設(shè)計(jì)后,要想實(shí)現(xiàn)傳感器模塊信號(hào)的采集和處理,還需要進(jìn)行系統(tǒng)軟件編程設(shè)計(jì)。為了提高可讀性和可移植性,根據(jù)各個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行模塊化編程。
藍(lán)牙酒精檢測(cè)儀的軟件程序設(shè)計(jì)主要包括單片機(jī)EEPROM讀寫程序、按鍵設(shè)置程序、數(shù)據(jù)采集與處理程序、A/D轉(zhuǎn)化程序、串口中斷程序、報(bào)警程序、LCD液晶顯示等子程序設(shè)計(jì)。當(dāng)電源開關(guān)按下以后,首先進(jìn)行單片機(jī)的初始化、LCD液晶初始化,顯示液晶開機(jī)畫面。初始化完成后調(diào)取按鍵設(shè)置程序和數(shù)據(jù)采集與處理程序,讀取按鍵酒精濃度的設(shè)置閾值和MQ3酒精傳感器模塊采集數(shù)據(jù),經(jīng)過MCU對(duì)數(shù)據(jù)處理后,驅(qū)動(dòng)聲光報(bào)警、液晶顯示和上位機(jī)實(shí)時(shí)顯示。主程序流程圖如圖8所示。
圖8 主程序流程圖
按鍵程序設(shè)計(jì)主要實(shí)現(xiàn)通過按下按鍵對(duì)系統(tǒng)發(fā)送酒精閾值,經(jīng)過MCU數(shù)據(jù)處理后串行輸出至LCD液晶顯示酒精濃度設(shè)置閾值。K1和K2兩個(gè)按鍵接在MCU的P3.2和P3.3上。如果K1按下,延時(shí)1ms后再次判斷,以此消除按鍵抖動(dòng)。如果1ms后仍然是K1被按下,酒精濃度設(shè)置數(shù)自加1,然后判斷酒精濃度設(shè)置值是否超過999,如果超過999酒精濃度設(shè)置值重新賦值為999,如果沒有超過999直接保存酒精濃度設(shè)置數(shù)值并LCD液晶顯示。如果K1沒有被按下,判斷K2是否被按下,如果是K2延時(shí)1ms后再次判斷,如果1ms后仍然是K2被按下,酒精濃度設(shè)置值自減1,如果酒精濃度設(shè)置數(shù)<=1,酒精濃度設(shè)置值就賦值為1,如果酒精濃度設(shè)置值不是<=1,則直接保存酒精濃度設(shè)置數(shù)值并LCD液晶顯示。按鍵設(shè)置程序流程圖如圖9所示。
圖9 按鍵設(shè)置程序流程圖
MQ3酒精濃度傳感器模塊將采集到的酒精濃度數(shù)據(jù)經(jīng)ADC0832模塊轉(zhuǎn)換后傳送給單片機(jī),單片機(jī)讀取傳感器酒精濃度數(shù)值后先將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再經(jīng)過自校準(zhǔn)后LCD液晶顯示數(shù)值,同時(shí)通過藍(lán)牙RF模塊發(fā)送至手機(jī)APP上。如果酒精濃度采集數(shù)據(jù)大于按鍵設(shè)置的酒精濃度閾值啟動(dòng)報(bào)警程序。流程圖如圖10所示。
圖10 數(shù)據(jù)采集與處理流程圖
檢測(cè)儀機(jī)械部分采用Pro/E wildfire 5.0進(jìn)行三維建模,并通過3D打印技術(shù)成型。外觀尺寸長160mm,寬100mm,厚30mm,外殼壁厚為3mm,分為前蓋和后蓋兩部分,中間安裝電路板。在前蓋正面開有若干方形孔,用于顯示液晶屏、LED燈、操作開關(guān)以及連接電源線,在前蓋反面有圓柱形定位銷用于固定電路板。前后蓋的三維模型如圖11和圖12所示。
圖11 檢測(cè)儀前蓋
外殼成型采用的3D打印機(jī)為上海聯(lián)泰Lite 600HD,選擇的打印材料為白色樹脂,其打印性能符合外殼結(jié)構(gòu)需要。打印控制軟件為聯(lián)泰RS Materialise Magics。
圖12 檢測(cè)儀后蓋
打印使用的工藝類型為SLA 激光快速成型,選擇工藝包UTR9000-Lite600-800p-V2-0625,采用路徑優(yōu)化,主要打印參數(shù)設(shè)置為:支撐掃描0.8,輪廓速度1.0,小光斑填充1.0,大光斑填充0.9,上表面速度1.0,下表面速度1.0,小光斑偏置1.0,大光斑偏置1.2,小光斑線間距1.0,大光斑線間距1.0。打印完成后去除毛刺,用少量支撐件對(duì)液晶屏進(jìn)行支撐固定后,將電路板安裝在定位銷上并進(jìn)行膠粘,然后膠粘后蓋完成裝配,在前蓋粘貼標(biāo)簽并進(jìn)行測(cè)試。
系統(tǒng)調(diào)試之前需要硬件裝配,裝配時(shí)我們首先檢測(cè)PCB板和元器件,確保其是完好的。然后使用恒溫焊臺(tái)進(jìn)行元器件焊接,裝配好后如圖14所示。
系統(tǒng)調(diào)試先測(cè)量系統(tǒng)電源部分,保證整個(gè)電路板沒有短路和斷路的情況,再通過下載器將程序下載到單片機(jī)。整個(gè)系統(tǒng)初始化完成后,按K1或K2鍵調(diào)節(jié)酒精濃度設(shè)置值,拿酒靠近酒精傳感器模塊,觀察LCD液晶顯示實(shí)時(shí)濃度數(shù)值和設(shè)置值,以及超過設(shè)置值后報(bào)警電路是否報(bào)警,如果和程序設(shè)定的功能需求一致,則調(diào)試成功。
圖13 系統(tǒng)調(diào)試圖
圖14 帶殼整機(jī)系統(tǒng)調(diào)試圖
本文研究了基于 MCU的藍(lán)牙酒精檢測(cè)儀系統(tǒng)的設(shè)計(jì)。通過查閱國內(nèi)外文獻(xiàn)資料和市場調(diào)查,分析優(yōu)缺點(diǎn),結(jié)合實(shí)際應(yīng)用創(chuàng)新和拓展功能,以手機(jī)作為上位機(jī),進(jìn)行酒精濃度數(shù)據(jù)的采集、保存和實(shí)時(shí)顯示。本系統(tǒng)具有體積小、測(cè)量準(zhǔn)確、攜帶方便、充電方式多樣化、耗電量少、實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)等特點(diǎn),具有一定的市場價(jià)值。