0 引言
設計要求:1)能夠檢測酒精濃度;2)能夠預先設定閥值;3)閥值能夠再調整;4)超過閥值能夠聲光報警;5)顯示酒精濃度值;6)能夠判斷是否吹氣和吹氣是否有效。
呼氣酒精濃度測試常用的方法有燃料電池型(電化學型)和半導體型兩種。燃料電池酒精傳感器只有美國、英國、德國、中國等少數(shù)幾個國家能夠生產。半導體型酒精傳感器采用具有氣敏特性的氧化錫半導體作為傳感器,當氣體中酒精濃度增加時,傳感器電阻值就降低,對酒精具有最高的敏感度。
基于STC12C5A16AD單片機設計的酒精氣體濃度探測儀,可用來檢測酒精氣體濃度,當酒精氣體濃度高于允許限定值時,發(fā)出報警。
1 系統(tǒng)結構
系統(tǒng)由數(shù)據采集模塊(包括吹氣判斷電路、MQ-3酒精氣體濃度傳感器電路、信號調整電路組成);單片機控制模塊(包括STC12C5A32AD型單片機、模/數(shù)轉換部分、閥值比較電路、液晶顯示器電路、晶振電路、復位電路組成);閥值電路模塊(包括閥值預設定電路、閥值調整電路、閥值存儲電路、過閥聲/光報警等分電路組成)。系統(tǒng)結構框圖如圖1所示。
STC12C5A32AD這款單片機自身帶有8路ADCP1.0-P1.7口模數(shù)轉換功能;可以大量簡化硬件電路設計。
2 電路設計思路
2.1 酒精濃度檢測儀電路
由酒精氣體濃度傳感器MQ-3負責檢測空氣中的酒精氣體濃度;由單片機內部自帶的模/數(shù)轉換器把檢測到的模擬量(表示酒精濃度)的電壓信號轉換成數(shù)字量;然后和預先設定的表示酒精濃度的閥值進行比較,如果比較結果超過閥值就由單片機P2.3口輸出方波信號控制PNP型三極管VT4驅動蜂鳴器發(fā)出報警聲;同時由單片機P2.6口輸出低電平控制發(fā)光二極管LED3發(fā)出紅光;表示被檢測的人處于醉酒狀態(tài);如果黃燈LED2亮表示被檢測的人處于飲酒狀態(tài);如果綠燈LED3亮表示被檢測的人沒有飲酒。
數(shù)據的采集模塊:
2.2 吹氣判斷電路
當沒聲音信號時VT1飽和導通,其集電極為低電平,VT2因反偏截止,IC1 555“2”腳為高電平,IC1 555“3”腳輸出低電平,VT3截止,信號輸出端VOUT輸出高電平。此時綠色指示燈LED2不亮,表示沒吹氣或吹氣無效,此時,單片機P1.3口輸入高電平;編程時P3.1口高電平判斷為:吹氣無效或沒有吹氣。
吹氣時,麥克線圈把音頻信號轉化為低頻脈沖信號,經電容C1耦合、三極管VT1 9013/VT28050工作在放大區(qū),經2次放大,IC555 2腳大于1/3VCC、小于2/3VCC時,接成單穩(wěn)態(tài)的IC555電路翻轉、3腳輸出高電平、綠色LED21導通發(fā)光,表示吹氣有效;此時,單片機P1.3口輸入低電平;編程時P1.3口低電平判斷為:吹氣有效。
酒精濃度信號采集電路及信號調整電路:MQ-3酒精氣體濃度傳感器檢測到空氣中的酒精濃度,并且把濃度轉換成電壓輸出(模擬量AOUT送到單片機的P1.7口);傳感器輸出的信號輸入運算放大器LM393的2腳,與3腳RP2分壓以后的電位比較,從1腳輸出整形數(shù)字信號(數(shù)字量)。
模/數(shù)轉換:由于STC12C5A32AD這個型號的單片機P3口帶有ADC功能,根據酒精濃度和電壓關系圖表,可以把模擬量轉換為數(shù)字量,供CPU處理。調節(jié)電位器Rp改變輸出的靈敏度。
2.3 單片機模塊
單片機和液晶顯示器LCD1602接口、及晶振、復位電路如圖3所示。液晶顯示器選用LCD1602來顯示酒精濃度值;LCD1602掛在單片機P0口上,液晶顯示器的8位數(shù)據線P0.0~P0.7和單片機P0口的8位P0.0~P0.7一一對應連接;LCD1602的3條控制線由單片機P2.0、P2.1、P2.2控制;連接關系如下:E-P2.0;RW-P2.1;RS-P2.2;液晶顯示器通過3腳上的10K電位器RP3調整;由于P0口結構關系需要外接上拉電阻;用1K的排阻一端接5V,另一端接P0.0~P0.7;單片機采用11.0592MHz晶振頻率;復位電路采用按鍵式復位方案。
2.4 酒精濃度和輸出電壓關系的取得
由無水乙醇和水勾兌、稀釋而成不同濃度的酒精;然后分別用不同濃度的酒精慢慢靠近MQ-3酒精氣體濃度傳感器,從電壓表讀出電壓值;建立模型(圖表),找出電壓和濃度的關系(試驗多次,然后取平均值)。電壓與濃度的對應關系如表1所示。
單片機還把濃度和閥值比較,如果超過閥值就通過P2.3口控制三極管VT4(9012)驅動蜂鳴器發(fā)出報警聲。通過P2.6/P2.5輸出低電平驅動紅燈LED3亮表示醉酒狀態(tài);LED2黃燈亮表示飲酒狀態(tài);同時單片機把轉換后的酒精濃度數(shù)據送到液晶顯示器上顯示;單片機負責控制各個分電路。
2.5 閥值設定/調整電路
由單片機和四個按鍵組成。按鍵一端接地,另一端接單片機P3口;P3.5口控制SW4(CANCEL)鍵(當按下時表示處于閥值預設或閥值調整狀態(tài));P3.4口控制SW3(OK)鍵(當按下時表示閥值設定到位);P3.1口控制SW2(Down)鍵,每按一次,閥值減一;P3.0口控制SW1(UP)鍵,每按一次,閥值加一。如圖4所示。
平時沒有鍵按下,P3口處于高電平狀態(tài);當有按鍵按下時,P3口和地線接通被拉成低電平。采用查詢掃描方式,循環(huán)檢測。如果沒有按鍵按下,檢測結果都是高電平;如果檢測到低電平時,表示有鍵按下。當檢測到P3.5口是低電平時,表示SW4按下處于閥值預設定狀態(tài),此時,每按一次SW1(UP)鍵,閥值加一。達到20mg(或80mg)時,請按下SW3(OK)鍵,表示固定閥值。如果按下SW2(Down),閥值減一。
表示酒精濃度的閥值取得:采用道路交通安全法中的規(guī)定;即大于20mg小于80mg,判斷為飲酒狀態(tài);大于80mg判斷為醉酒狀態(tài)。
2.6 閥值存儲電路
采用電可擦寫可編程只讀存儲器AT24C24來保存酒精濃度閥值數(shù)據。圖中PRE、E1和E2為芯片的地址引腳,一般接地即可。SCL和SDA為AT24C04和單片機IIC通信的串行控制時鐘線和數(shù)據線。SCL連P1.0,SDA連P1.1。閥值數(shù)據很重要,是處罰的依據,必須保存好以備查和解決爭議;AT24C24內部有E2PROM可保存數(shù)據100年,掉電數(shù)據不丟失,最適合。
閥值設定/調整:通過“增加”、“減少”按鍵調節(jié)。
2.7 聲光報警電路
聲光報警電路如圖5所示。
單片機將酒精濃度的測量值與事先設定的閾值相比較,當測量值大于閾值時,蜂鳴器報警;當超過閥值(20mg、80mg)時,單片機從P2.3口輸出方波信號,控制三極管VT1導通/截止交替變化,驅動蜂鳴器發(fā)聲。
如果20mg/100ml<酒精含量<80mg/100ml,則單片機P2.5口輸出低電平驅動發(fā)光二極管發(fā)光,黃燈閃爍,表示飲酒狀態(tài)。
如果酒精含量>80mg/100ml,則紅燈閃爍,單片機P2.6口輸出方波信號驅動發(fā)光二極管閃爍,紅燈表示醉酒狀態(tài)。
3 設計制作印刷電路板
Protel Dxp 2004是目前網絡上功能最強大、最專業(yè)的PCB線路板設計軟件,軟件具有豐富的設計功能,能進行原理圖的設計、印制電路板的設計、新增加了自動布線功能、原理圖仿真功能。把各個分電路集成就形成了酒精濃度檢測儀完整電路原理圖。如圖6所示。
設計過程中設計了自己的元件庫,自制了4個元件(LCD1602、MQ-3、STC12C5A32AD、LED);設計了自己的封裝庫(LCD1602、MQ-3、STC12 C5A32AD)。
為符合設計要求,設計了酒精濃度檢測儀電路印刷電路板。采用雙面板方案,電子元件選用非貼片,元件封裝采用THT技術,電路布局按功能分區(qū)布設,雙面覆銅;PCB板采用方型;集成電路采用DIP技術;按要求設計的酒精濃度檢測儀電路印刷電路板圖如圖7所示。
4 軟件設計
主程序流程圖如圖8所示。
5 結論
本設計能夠對人體呼出氣體進行酒精氣體濃度檢測,超過規(guī)定閥值時能夠聲光報警,實現(xiàn)了預期設計要求。