周鴻雁
(大慶師范學(xué)院物理與電氣信息工程學(xué)院,黑龍江大慶163712)
基于STC單片機(jī)的便攜式酒精濃度檢測(cè)儀的設(shè)計(jì)
周鴻雁
(大慶師范學(xué)院物理與電氣信息工程學(xué)院,黑龍江大慶163712)
以STC單片機(jī)和MQ-3酒精傳感器為核心,設(shè)計(jì)了一款智能化的便攜式酒精濃度檢測(cè)儀。該檢測(cè)儀具有酒精濃度LCD顯示和濃度值超限報(bào)警功能??梢愿鶕?jù)不同環(huán)境的需要設(shè)置不同的濃度值報(bào)警限值,若檢測(cè)酒精濃度值大于所設(shè)定的濃度值即進(jìn)行報(bào)警提示。該檢測(cè)儀具有硬件電路簡(jiǎn)單,體積小,有高靈敏度、工作性能好、低功耗、低成本等諸多優(yōu)點(diǎn),可應(yīng)用于對(duì)酒駕者進(jìn)行初步驗(yàn)證的場(chǎng)合。
酒精濃度檢測(cè);MQ-3傳感器;STC單片機(jī)
隨著改革開放的深入,我國(guó)經(jīng)濟(jì)發(fā)展的速度也越來越快,人們的生活質(zhì)量也得到了明顯的提高。隨之而來的改變就是越來越多的私家車涌現(xiàn),各式各樣的汽車成為人們的首選代步工具。由此伴隨而來的是越來越多的交通事故,尤其是因?yàn)榫坪篑{車所引發(fā)的交通事故,這不僅給自己和他人的生命財(cái)產(chǎn)帶來威脅,同樣也給社會(huì)和國(guó)家造成了嚴(yán)重的經(jīng)濟(jì)損失。為了避免酒后駕駛給人們的生命造成威脅,幫助交警和駕駛員簡(jiǎn)便快捷地檢測(cè)出飲酒者體內(nèi)的酒精含量,一種便攜并能快速檢測(cè)駕駛員體內(nèi)酒精濃度的檢測(cè)儀器應(yīng)時(shí)而生。便攜式酒精濃度檢測(cè)儀不需要通過抽血化驗(yàn),直接通過檢測(cè)駕駛員呼出的氣體來測(cè)量其血液內(nèi)的酒精濃度,從而初步判斷駕駛者是否酒駕或醉駕。
檢測(cè)儀采用酒精濃度檢測(cè)分析駕駛員呼出的氣體,將氣體中的酒精濃度轉(zhuǎn)換為模擬電信號(hào),然后再將該模擬信號(hào)傳遞給A/D轉(zhuǎn)換電路,經(jīng)過模數(shù)轉(zhuǎn)換轉(zhuǎn)換后,把轉(zhuǎn)換后所生成的數(shù)字信號(hào)傳給單片機(jī)。單片機(jī)對(duì)所轉(zhuǎn)換后的數(shù)字信號(hào)進(jìn)行分析及處理,最后將處理所得到的結(jié)果通過LCD液晶屏顯示出來。此外,根據(jù)手動(dòng)設(shè)置的酒精濃度上限值與實(shí)際接收到的酒精濃度值進(jìn)行比較,如果駕駛員呼出的酒精氣體濃度超過了預(yù)先設(shè)定的濃度上限值,那么紅色的報(bào)警燈就會(huì)亮起來,以提示超過規(guī)定的酒精濃度。
檢測(cè)儀的硬件部分主要包括酒精濃度傳感器、模數(shù)轉(zhuǎn)換器、單片機(jī)系統(tǒng)、液晶顯示模塊、按鍵電路、存儲(chǔ)電路和聲光報(bào)警電路組成,其結(jié)構(gòu)框圖如圖1所示。
本文選用STC12C5A60S2/AD/PWM系列單片機(jī)。該單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期的單片機(jī),具有高速度、低耗能、超強(qiáng)抗干擾特點(diǎn)。這一系列的單片機(jī)在指令代碼上完全兼容傳統(tǒng)的8051單片機(jī),同時(shí)處理速度要比傳統(tǒng)的單片機(jī)快8~12倍,其中更具操作性的是擁有2路PWM和8路高速10位A/D轉(zhuǎn)換模塊,可應(yīng)用于很多要求較高的場(chǎng)合[1]。STC12C5A60S2系列單片機(jī)包含中央處理器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、定時(shí)/計(jì)數(shù)器、UART串口、串口2、I/O接口、高速A/D轉(zhuǎn)換、SPI接口、PCA、看門狗及片內(nèi)R/C振蕩器和外部晶體振蕩電路等模塊。STC12C5A60S2系列單片機(jī)內(nèi)部具有適用于很多場(chǎng)合的功能模塊,令操作更加的便捷。
該酒精濃度檢測(cè)儀的數(shù)據(jù)采集模塊是采用MQ-3氣敏傳感器實(shí)現(xiàn)的。MQ-3氣敏傳感器可以更快速的吸附空氣中的酒精成分,同時(shí)更好的選擇性使MQ-3成為檢測(cè)酒精濃度的首選。該氣敏傳感器的工作原理非常簡(jiǎn)單,當(dāng)傳感器檢測(cè)到空氣中的酒精成分后,其阻值會(huì)發(fā)生變化,這種變化是隨著酒精濃度的變化而變化的,并且呈線性變化的關(guān)系。
2.2.1 MQ-3氣敏傳感器的結(jié)構(gòu)
MQ-3氣敏傳感器由微型AL2O3陶瓷管、SnO2敏感層,測(cè)量電極和加熱器構(gòu)成的敏感元件組成,這些氣敏元件固定在由特殊材料制作成的腔管內(nèi)。封裝好的MQ-3酒精傳感器總共有6只管腳,其中有4支是用來進(jìn)行酒精氣體濃度信號(hào)采集,另外2只引腳用來提供加熱電流[2]。
2.2.2 MQ-3傳感器的工作原理
酒精傳感器接收到酒駕者呼出氣體中的酒精氣體信號(hào),于是將該酒精信號(hào)轉(zhuǎn)換為電壓信號(hào),而該電壓信號(hào)會(huì)從酒精傳感器的第4引腳直接輸出,通過第4引腳將該電壓信號(hào)模擬量送到單片機(jī)中的A/D轉(zhuǎn)換模塊,電路如圖 2 所示[3]。
STC12C5A60S2系列單片內(nèi)部自帶A/D轉(zhuǎn)換電路。A/D轉(zhuǎn)換接口在P1口,共有8路10位高速A/D轉(zhuǎn)換器,速度可達(dá)到250KHz。8路電壓輸入型A/D,可做溫度檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等。STC12C5A60S2系列單片機(jī)ADC的結(jié)構(gòu)如圖3所示。
圖3 STC12C5A60S2系列單片機(jī)ADC的結(jié)構(gòu)圖
STC12C5A60S2系列單片機(jī)ADC由多路選擇開關(guān)、比較器、逐次比較寄存器、10位DAC、轉(zhuǎn)換結(jié)果寄存器以及ADC_CONTR構(gòu)成。
STC12C5A60S2系列單片機(jī)的ADC是逐次比較型ADC。逐次比較型ADC由一個(gè)比較器和D/A轉(zhuǎn)換器輸出進(jìn)行比較,經(jīng)過多次比較,使轉(zhuǎn)換所得的數(shù)字量逐次逼近輸入模擬量對(duì)應(yīng)值。
A/D轉(zhuǎn)換結(jié)束后,最終的轉(zhuǎn)換結(jié)果保存到ADC轉(zhuǎn)換結(jié)果寄存器ADC_RES和ADC_RESL,同時(shí),置位ADC控制寄存器ADC_CONTR中的A/D轉(zhuǎn)換結(jié)束標(biāo)志位ADC_FLAG,以供程序查詢或發(fā)出中斷申請(qǐng)。模擬通道的選擇控制由ADC控制寄存器ADC_CONTR中的CHS2-CHS0確定。ADC的轉(zhuǎn)換速度由ADC控制寄存器中的SPEED1和SPEED0確定。在使用ADC之前,應(yīng)先給ADC上電,也就是置位ADC控制寄存器中的 ADC_POWER 位[4]。
為了在不同的情況和場(chǎng)合,該酒精檢測(cè)儀都可以準(zhǔn)確的檢測(cè)出酒精濃度,由此可以將傳統(tǒng)的酒精檢測(cè)儀稍加改進(jìn)。這里就增加了一個(gè)可以手動(dòng)設(shè)置酒精濃度上限值的按鍵模塊,增加了此模塊后,該檢測(cè)儀就可以在不同的場(chǎng)合或不同的條件下使用,并且測(cè)量準(zhǔn)確。在這里只要將按鍵作為外部中斷源來手動(dòng)設(shè)置酒精濃度上限值,就可以滿足設(shè)計(jì)要求,同時(shí),還可以節(jié)省不必要的硬件資源。按鍵電路如圖4所示。
圖4 按鍵電路
在該設(shè)計(jì)中增加一個(gè)手動(dòng)設(shè)置濃度上限值的功能,可以使該檢測(cè)儀適用于更多的場(chǎng)合,達(dá)到更多的要求。又能與檢出的酒精濃度值進(jìn)行比較,增強(qiáng)了直觀性。于此選用了AT24C04作為存儲(chǔ)器件,用單片機(jī)的P2.6、P2.7口模擬I2C與其通信,從而完成數(shù)據(jù)的讀寫操作。
AT24C04是ATMEL公司生產(chǎn)的4K bit E2PROM芯片,該芯片采用總線設(shè)計(jì),主要性能指標(biāo)與AT24C02類似。
AT24C04外部存儲(chǔ)電路如圖5所示。A0為空引腳,A1,A2口為器件地址設(shè)定口,通過A1,A2口來設(shè)定AT24C04的器件地址。WP口接低電平時(shí),可以對(duì)整個(gè)AT24C04器件的512個(gè)字節(jié)進(jìn)行讀寫操作。當(dāng)WP口接高電平后,器件的前256個(gè)地址的數(shù)據(jù)被保護(hù),只能讀,不可寫入,后256個(gè)字節(jié)數(shù)據(jù)可進(jìn)行讀寫操作。
若要使檢測(cè)到的酒精濃度值得到顯示,可以有兩種選擇。一種是用數(shù)碼管顯示,一種是LCD液晶顯示。為了追求顯示效果,這里選擇了采用LCD顯示,即采用LCD1602液晶顯示模塊。這種液晶可以同時(shí)顯示16*02個(gè)字符。1602液晶也叫1602字符型液晶,這種液晶的功能單一,只是用來顯示數(shù)字、字母和符號(hào)的點(diǎn)陣型液晶模塊。當(dāng)前大家所用到的液晶都是在HD44780液晶芯片控制的基礎(chǔ)之上的,控制原理是完全相同的,因此大部分字符型液晶都可以用HD44780來進(jìn)行操作和控制。檢測(cè)儀的濃度顯示電路如圖6所示。
A/D轉(zhuǎn)換的啟動(dòng)需要依靠下降沿才能觸發(fā),在START置低位后延時(shí)一段時(shí)間(約10ms),轉(zhuǎn)換才正式開始。在轉(zhuǎn)換的過程中,輸入時(shí)鐘所能接收的區(qū)間為10KHZ~1280KHZ,而要使酒精檢測(cè)儀能夠進(jìn)入正常的工作狀態(tài),則在該設(shè)計(jì)中應(yīng)該選用500KHZ。通過模數(shù)轉(zhuǎn)換后得到的數(shù)字量,即采用MQ-3酒精傳感器檢測(cè)到環(huán)境中的酒精含量,又通過轉(zhuǎn)換而產(chǎn)生電壓值,再通過單片機(jī)的程序處理,將檢測(cè)到的酒精濃度值顯示在屏幕上。
圖5 AT24C04外部存儲(chǔ)電路
圖6 輸出顯示電路
在初始化后,系統(tǒng)的檢測(cè)器將檢測(cè)到酒精濃度,同一時(shí)間A/D轉(zhuǎn)換器也在進(jìn)行模數(shù)轉(zhuǎn)換,系統(tǒng)仍然在檢測(cè)是否有外部中斷響應(yīng),當(dāng)按下按鈕時(shí),按鈕的數(shù)目將用來調(diào)整在顯示器中顯示的酒精濃度值,而且該濃度值將立即被存儲(chǔ)在外部存儲(chǔ)單元(AT24C04)中,與檢測(cè)到的酒精濃度進(jìn)行比較,在同一時(shí)間,完成下一個(gè)報(bào)警。
酒精濃度檢測(cè)儀的軟件程序主要使用C語言編寫,采用了模塊化、結(jié)構(gòu)化的程序設(shè)計(jì)方法。這其中主要包括了主程序、中斷程序等程序。當(dāng)給檢測(cè)儀上電時(shí),檢測(cè)儀首先進(jìn)行程序初始化、系統(tǒng)自檢,然后進(jìn)入等待外界酒精信號(hào)輸入的狀態(tài),A/D轉(zhuǎn)換和LCD顯示酒精濃度值的三個(gè)狀態(tài)。最后通過比較輸入的酒精濃度值和預(yù)先設(shè)置的酒精濃度上限值判斷是否執(zhí)行超標(biāo)報(bào)警。手動(dòng)設(shè)置酒精濃度上限值,被測(cè)酒精濃度值顯示等操作都屬于中斷子程序的內(nèi)容,程序的絕大部分時(shí)間用于數(shù)據(jù)處理上,而STC12C5A單片機(jī)處理一次數(shù)據(jù)的時(shí)間約為6us,故整體的平均功耗很低[5]。
設(shè)計(jì)了一款智能化的便攜式酒精濃度檢測(cè)儀,以STC12C5A單片機(jī)和MQ-3酒精傳感器為核心,具有報(bào)警和LCD顯示功能。此檢測(cè)儀具有高靈敏度、工作性能好、低功耗、低成本等諸多優(yōu)點(diǎn)。選用STC12C5A單片機(jī)作為控制核心,其內(nèi)部自帶模數(shù)轉(zhuǎn)換電路,可以通過軟件編程更改P1.0~P1.7口的功能,作為A/D轉(zhuǎn)換接口或者普通I/O接口,不需要外接A/D轉(zhuǎn)換電路,使該設(shè)計(jì)的外圍電路更加的簡(jiǎn)單。同時(shí)該設(shè)計(jì)可以手動(dòng)設(shè)置酒精濃度上限值,使檢測(cè)儀應(yīng)用于更多的場(chǎng)合,給使用者帶來更大的方便。
[1]何利民.STC系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:航空航天大學(xué)出版社,2003.
[2]單成祥.傳感器的理論與設(shè)計(jì)基礎(chǔ)及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2005.
[3]方吉高,黃炳醒.高選擇性酒精傳感器[J].硅谷,2004,10(2):41.
[4]藍(lán)和慧.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽單片機(jī)應(yīng)用技能[M].北京:電子工業(yè)出版社,2003.
[5]湯競(jìng)南,沈國(guó)琴.單片機(jī)C語言開發(fā)與實(shí)例[M].北京:人民郵電出版社,2004.
周鴻雁(1963-),男,黑龍江大慶人,大慶師范學(xué)院物理與電氣信息工程學(xué)院副教授,從事單片機(jī)應(yīng)用方面的研究。
TP368.2
A
2095-0063(2013)06-0022-04
2012-09-07