<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STM32單片機的酒精濃度探測儀設計

STM32單片機的酒精濃度探測儀設計

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:采用具有ARM Cortex—M3內核的F103VET6單片機與電化學(xué)式氣敏元件實(shí)現了對酒精濃度的測量,通過(guò)對測量數據進(jìn)行顯示,并采用進(jìn)行語(yǔ)音報警提示,從而實(shí)現了對不同濃度酒精的檢測和顯示。設計的特點(diǎn)在于采用斜率和電壓范圍雙重保險來(lái)判斷酒精濃度,提高了檢測的精度,解決了現有酒精傳感器恢復時(shí)間較長(cháng)的問(wèn)題,可應用于酒后駕車(chē)和其他特殊場(chǎng)合的酒精檢測。
關(guān)鍵詞:;;;;

引言
酒后駕車(chē)是導致交通事故的一個(gè)重要原因,給人們的生活和生命安全帶來(lái)巨大的危害。為了防止機動(dòng)車(chē)輛駕駛人員酒后駕車(chē),現場(chǎng)實(shí)時(shí)對人體呼氣中酒精含量的檢查已日益受到重視。本系統針對現有酒精傳感器恢復時(shí)間較長(cháng)的問(wèn)題,通過(guò)計算斜率成功地實(shí)現了快速酒精濃度檢測,縮短了檢測間隔時(shí)間,大大提升了酒精檢測的效率。

1 酒精濃度探測儀的整體結構
酒精濃度探測儀由單片機、酒精傳感器、信號調理電路、語(yǔ)音報警模塊、顯示模塊、通信模塊、功放模塊等部分組成,結構框圖如圖1所示。由于語(yǔ)音報警模塊和TFTLCD顯示模塊對于單片機的處理速度和處理數據量要求高,再加上酒精檢測反應速度較快,實(shí)時(shí)性較高,因此采用了ST公司的系列的單片機作為主控端。電化學(xué)式氣敏元件具有功耗低、精度高、靈敏度高、線(xiàn)性范圍寬、抗干擾能力強、重復性?xún)?yōu)異和穩定性高等優(yōu)點(diǎn)。

本文引用地址:http://dyxdggzs.com/article/201610/307657.htm

a.JPG



2 硬件設計
2.1 單片機及其外圍接口的設計
單片機采用低功耗高速工業(yè)級芯片STM32F103VET6。STM32系列基于專(zhuān)為要求高性能、低成本、低功耗的嵌入式應用專(zhuān)門(mén)設計的ARM Cortex—M3內核,STM32F103為“增強型”系列,時(shí)鐘頻率達到72MHz,具有512 KB ROM、64 KB RAM,普通I/O口為80個(gè),具有8個(gè)定時(shí)/計數器,3個(gè)SPI、2個(gè)I2C總線(xiàn)、3個(gè)UART、1個(gè)USB、1個(gè)CAN總線(xiàn)等通信端口。具有2個(gè)I2S音頻口、1μs的雙12位ADC、4 Mbps的UART、18Mbps的SPI、18 MHz的I/O翻轉速度,內部集成優(yōu)異的安全時(shí)鐘模式、帶喚醒功能的低功耗模式、內部RC振蕩器、內嵌復位電路等,完全滿(mǎn)足本酒精濃度探測儀的設計需求。
電源電路采用LM2596作為初級電壓轉換芯片,用來(lái)提供5 V電壓給外圍模塊供電,采用AMS-3.3作為末級電壓轉換芯片,用來(lái)提供3.3 V電壓給STM32供電。此芯片的輸出電流可以達到1 A,輸入電壓調節率小于0.2%,負載調節率小于0.4%,輸出電壓穩定。
看門(mén)狗電路采用美國IMP公司生產(chǎn)的系統μP監控芯片IMP706,IMP706能在上電、掉電期間或手動(dòng)情況下產(chǎn)生復位信號,該器件內含有1個(gè)1.6 s的看門(mén)狗定時(shí)器和4.4 V的電源電壓監視器。另外,IMP706還有1個(gè)1.25 V門(mén)限的電源故障報警電路,可用于檢測電池電壓和非5 V的電源。
2.2 酒精傳感器
ME3-C2H5OH型酒精傳感器根據電化學(xué)原理工作,利用待測氣體在電解池中工作電極電位上的電化學(xué)氧化過(guò)程,待測氣體電化學(xué)反應所產(chǎn)生的電流與其濃度成正比并遵循法拉第定律,通過(guò)檢測電流的大小就可以確定待測氣體的濃度。ME3-C2H5OH傳感器檢測處理電路如圖2所示。對被測者呼出氣體中酒精濃度的反應以采樣電阻R1來(lái)獲取采樣電壓,通過(guò)運放負反饋放大電路,對采樣電壓進(jìn)行放大。電路中的RT是熱電阻,用來(lái)抵消溫度漂移,保證恒定的放大系數。放大后的電壓信號送入STM32的ADC中,對經(jīng)過(guò)A/D轉化后的數據進(jìn)行分析處理,最后計算出酒精濃度的大小,從而判斷被測者是否飲酒。判斷結果通過(guò)語(yǔ)音芯片進(jìn)行語(yǔ)音提示,再通過(guò)LCD顯示濃度值。

b.JPG


圖3酒精傳感器為靈敏度、響應恢復及輸出信號特性圖,圖4為濃度線(xiàn)性特征曲線(xiàn)圖。由圖3和圖4可以看出,ME3-C2H5OH型電化學(xué)元件靈敏度高、響應速度快、零點(diǎn)漂移較小,而且此元件是線(xiàn)性的。因此,采用這類(lèi)電化學(xué)元件來(lái)檢測酒精濃度值精度較高,反應較快。

c.JPG


2.3 語(yǔ)音報警模塊
XF-S4040-CN中文語(yǔ)音合成芯片,是安徽中科大訊飛信息科技有限公司推出的基于InterSound4.6中文語(yǔ)音合成系統而設計的一款全新的中文語(yǔ)音合成芯片。該芯片可以通過(guò)異步串口(UART)及I2C總線(xiàn)接口方式接收命令和待合成的文本,直接合成為語(yǔ)音輸出,主要面向中高端應用領(lǐng)域,提供一套語(yǔ)音合成效果出色、體積極小的語(yǔ)音解決方案。語(yǔ)言合成模塊電路如圖5所示。

f.JPG


XF-S4040-CN中文語(yǔ)音合成芯片針對嵌入式應用領(lǐng)域設計,具有合成任意中文文本及英文字母的能力。該芯片的主要特點(diǎn)是合成語(yǔ)音自然度高,控制接口簡(jiǎn)單方便,可調節功能強大。其操作命令格式如下所示。

d.JPG


基于串口的操作例程如下:
e.JPG
g.JPG
2.4 功放模塊
TDA7266是雙路音頻立體聲放大器,以MULTI—WATT形式封裝,專(zhuān)門(mén)為音樂(lè )設備和彩色電視機的高質(zhì)量音頻放大電路而設計。語(yǔ)音報警模塊輸出的左聲道和右聲道的語(yǔ)音信號通過(guò)電位器進(jìn)入TDA7266放大器中,進(jìn)行語(yǔ)音信號的放大,電位器用來(lái)調節音量大小,放大后輸出兩路音頻信號,將這兩路分別接到兩個(gè)揚聲器上。

h.JPG


TDA7266功放電路簡(jiǎn)單,聲音效果比較好,因此被廣泛應用于高質(zhì)量的音頻放大上。功放模塊電路如圖6所示。
2.5 通信模塊
要求通信距離為幾十米到上千米時(shí),廣泛采用RS-485串行總線(xiàn),RS-485采用平衡發(fā)送和差分接收的組合,因此具有抑制共模干擾的能力。加上總線(xiàn)收發(fā)器具有高靈敏度,能檢測低至200 mV的電壓,故傳輸信號能在千米以外得到恢復。RS-485接口總線(xiàn)上允許連接多達128個(gè)收發(fā)器,即具有多站能力,這樣用戶(hù)可以利用簡(jiǎn)單的RS-485接口方便地建立起設備網(wǎng)絡(luò )。本設計中,正是考慮到酒精濃度探測儀的數據有可能要傳回電腦上位機終端,要求傳輸距離比較遠而且信號失真小,因此選擇RS-485通信。
2.6 TFTLCD顯示模塊
酒精濃度探測儀在使用中,需要顯示酒精濃度值大小、報警信息,同時(shí)還需要輸入酒精濃度報警點(diǎn)預設值,用來(lái)設定酒精濃度報警的范圍。因此,本設計中采用TFTLCD來(lái)顯示酒精濃度值,TFTLCD具有觸摸功能,可用于輸入酒精濃度預設值。
TFTLCD采用了26萬(wàn)色的TFTLCD屏幕,分辨率為320×240,可以實(shí)現友好的人機接口界面顯示。TFTLCD采用了Ilitek公司生產(chǎn)的ILI9320,它可以通過(guò)多種并行通信方式與單片機通信。TFTLCD屏幕自帶電阻式觸摸屏,利用壓力感應進(jìn)行控制,采用TI公司生產(chǎn)的ADS7846作為觸摸屏控制芯片。ADS7846內部集成了12位逐次逼近型A/D轉換器,轉換頻率為125 kHz。使用時(shí),ADS7846通過(guò)兩次A/D轉換得到觸點(diǎn)位置的X、Y
坐標,通過(guò)SPI總線(xiàn)與STM32通信,完成控制信息的輸入。

3 軟件設計
3.1 總體軟件設計方案
系統初始化完畢后,首先采集酒精濃度傳感器的值,采用do…while()等待傳感器初始化,直到最佳狀態(tài),否則就一直等待。傳感器初始化完成之后,就開(kāi)始進(jìn)入循環(huán)檢測模式,當有人吹氣時(shí),可根據斜率的變化范圍檢測到,然后判斷其是否喝酒。當檢測到酒精氣體時(shí),傳感器的電導率將會(huì )隨著(zhù)氣體濃度的增大而增大,導致與傳感器連接的分壓電阻的電壓增大,單片機A/D接口的第7個(gè)通道將會(huì )采集此電壓。當電壓值增大到一定程度,即酒精濃度達到設定的值時(shí),就會(huì )將標志位置為喝酒狀態(tài);如果電壓降低,即酒精濃度為零,此時(shí)標志位置為正常狀態(tài)。根據以上兩種不同狀態(tài),蜂鳴器、以及LED指示燈進(jìn)行不同的報警。單片機不停地進(jìn)行定時(shí)的A/D轉換,在轉換結束中斷中進(jìn)行濾波、比較,兩次A/D測量值的差值既是電壓的變化率,也就是所需要的斜率值,將此值與之前設定的斜率范圍值進(jìn)行比較,從而也可以判斷出被測者是否飲酒。LCD會(huì )一直將采集到的值進(jìn)行濾波和取均值后的值進(jìn)行動(dòng)態(tài)顯示。
3.2 斜率算法設計
斜率算法的設計中主要使用到了單片機的定時(shí)A/D轉換資源,根據前文所述,需要計算電壓變換的斜率,即電壓在一定時(shí)間內的變化范圍,使用定時(shí)A/D轉換功能可輕易地實(shí)現這一需求。

i.JPG


圖7為A/D轉換中斷程序流程圖,在主程序中只要根據此中斷設置的標志位即可作出相應的操作,比如語(yǔ)音播放的控制、蜂鳴器報警、LED燈的閃爍等。

結語(yǔ)
本文詳細介紹了基于STM32的酒精濃度探測儀設計方法。該探測儀具有高精度、高靈敏度、友好的人機交互、智能化的語(yǔ)音報警、攜帶方便等優(yōu)點(diǎn),可適用于各種需要對人體酒精含量進(jìn)行檢測的場(chǎng)合,尤其適用于酒后駕車(chē)的檢測,具有廣闊的應用前景。

  • STM32單片機中文官網(wǎng)
  • STM32單片機官方開(kāi)發(fā)工具
  • STM32單片機參考設計


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>