何燕陽
(泉州輕工職業學院,福建 泉州 262201)
汽車不再是每個家庭的奢侈品,人們在享受汽車便捷的同時也帶來一定的困擾。汽車內部由于空調老化、不經常通風、車體裝修等原因都會造成車內空氣質量變差,長時間接觸有致癌風險。如果車子停駛時,仍開放空調,發動機排出的一氧化碳便有可能逐漸聚集在車內,加之車內人員呼吸耗氧而排出二氧化碳,會導致車內缺氧。當汽車內長時間處于關窗狀態,車內氧氣濃度會下降,當車內氧氣濃度會下降到一定值后,車內人員會出現頭暈、頭痛等不適感,這將降低駕駛員的反應能力,加大汽車事故的發生[1]。目前,只有在汽車沒有熄火的情況下,通風系統才能工作,為司機和乘客創造一個舒適的車內空間;在汽車內,沒有對有毒氣體進行檢測報警;汽車熄火后,汽車也沒有主動換氣系統。因此研究氣體傳感器和溫度傳感器在汽車換氣系統中的應用顯得很有意義,具有較大的實用價值和社會價值。
該系統的硬件設計包含了STM單片機最小系統、電源模塊電路、甲醛等氣體檢測轉換電路、溫度傳感器電路、蜂鳴器報警電路、進氣和排氣兩個風機的換氣電路、指示燈以及液晶顯示電路,硬件結構總框圖如圖1所示。

圖1 系統硬件結構框圖
本系統選用STM32系列的單片機STM32F103R6該型號的內核是32位的ARM Cortex-M3,運行速度比傳統的51單片機快很多且功耗低、功能強。芯片上集成了256KB Flash,48KB SRAM,3個12位ADC模數轉換大通道,2個12位DAC,2個IIC,3個SPI,11個定時器,5個串口及51個通用IO口。
氣敏傳感器用于鑒別氣體成分以及濃度,并將濃度轉換為電阻值或者電壓值。這次選擇了MQ-138型甲醛,MG811二氧化碳氣體傳感器以及ZE03-O2-(0-25%)VOL氧氣傳感器。該氧氣傳感器的標稱測量氧氣范圍是0-25%,溫度范圍-20℃~50℃,響應時間小于15S,靈敏度高,0.1%VOL的分辨率,功耗低穩定性好,分別提供兩種輸出方式:UART、模擬電壓信號,用戶可自行選擇。該間接加熱氣敏傳感器,該傳感器由敏感組件和轉換電路組成。MQ-138型甲醛氣敏傳感器轉換電路如圖2所示。

圖2 氣敏傳感器轉換電路
由圖可知,該氣敏傳感器的針狀引腳和電阻串聯,可以實現電壓轉換,經過電壓比較器后此電壓可以將電壓轉化為數字量。系統工作中,當甲醛濃度大小發生改變時,甲醛氣體傳感器的電阻發生相應的變化,轉換電路將電阻變化轉化為電壓的變化,并將此電壓信號輸送至單片機的模數轉換通道,以便單片機判別運算。
常用的數字溫度傳感器有很多,本系統選用的是DS18B20數字溫度傳感器,該傳感器有很多優點,例如檢測溫度的范圍大,分辨率高等,而且該傳感器在各種各樣比較小的空間內一樣可以實施,這主要是因為其體積很小,檢測也比較方便,且僅需采用單向接口就可以實現雙向通訊。
A/D模數轉換器是指對反映數字信號中甲醛和其他氣體濃度的模擬電壓信號進行轉換。本系統采用的單片機STM32f103自帶模數轉換通道,因此單片機外部不需要接A/D模數轉換芯片,可直接讀取模擬量。該設計將甲醛、二氧化碳以及氧氣傳感器的模擬量電壓通過PA5、PA6、PA7引腳輸入STM單片機進行模數轉換。通道的A/D轉換可以按時間、連續、掃描或間歇方式進行。ADC轉換的結果可以左對齊或右對齊,并存儲在MCU的16位數據寄存器中。
為了直觀的實時顯示氣體濃度和溫度,需要選用帶用中文字庫的LCD12864液晶顯示器用來顯示氣體濃度和溫度高低,并顯示氣體濃度和溫度的閡值。運行過程中第一行顯示報警溫度;第二行顯示當前溫度值;第三行顯示報警濃度;第四行顯示當前氣體濃度。由于有多種氣體要檢測,所以液晶顯示可輪流分時顯示這些氣體濃度。
依據主程序流程圖在Keil編程,選用Proteus軟件實現自動換氣扇系統的軟件調試,搭建電路模型,如圖模型搭建完畢,點擊單片機添加程序,打開開關開始調試。
系統上電后,將溫度以及濕度的設定值進行采集,如果綠色的指示燈亮,則表示環境情況正常。此時繼電器不工作,電機不轉,換氣扇不工作。電路處于正常工作狀態。系統上電后,調節電位器阻值。如果所測試的環境中的氣體濃度超標,相應的紅色指示燈會閃爍,表示車內空氣情況異常,同時指示燈閃爍報警,繼電器得電工作,電機得電旋轉,換氣扇工作,改善車內空氣質量。再次回調電位器[6],此時的甲醛和二氧化碳氣體濃度都處于偏低的狀態,即換氣扇停止工作。
同樣當系統上電后,將DS溫度傳感器的溫度進行設定,一旦出現紅色指示燈閃爍的情況,即表示車內溫度情況異常,同時指示燈閃爍報警,繼電器得電工作,電機旋轉,換氣扇工作,改善居室空氣質量。再次回調DS溫度傳感器,一旦檢測到溫度過低,換氣扇也隨即停止工作。
調試過程中可根據個人對氣體濃度和溫度的敏感度和需求,修改氣體濃度和溫度報警值。按下設置鍵,再按增大減小鍵,可修改報警閡值。
在進入主程序之前,首先要做的就是將系統初始化,系統的初始化必須遵循按照需求而配置的要求。在初始化時[7],需要通過調控相應儲存程序的狀態來進行調控,以此來實現系統的功能。
在即將進行初始化工作之前,需要將系統首先調控在初始化狀態,即程序利用主循環將時間與檢測的過程進行統一的規劃,包含采集,調控相關的顯示設備,數據處理設備等。將準備工作做好后,在進行數據的處理,即通過主程序,將后續進行查找并中斷。主程序模塊包含的定義和功能如圖3所示。

圖3 主程序模塊定義及功能
由圖可知,首先需要采用函數進行數據中斷處理,然后利用interrupt賦予初值,進行數據采集后來進行模擬信號的處理,最后再將數據進行儲存,編程時也需要采用AD變換法,將數字信號不間斷的讀取出來。
為了測試所設計的系統是否能實現車內氣體濃度大小和溫度高低的檢測識別,以及該系統在進行換氣系統測試時處理數據的速度是否優于傳統的換氣系統,進行了對比實驗,將傳統的換氣檢測系統處理數據的時間與所設計的換氣檢測系統的數據處理時間進行對比。
根據設計好的系統結構框圖以及硬件電路原理圖制作硬件電路并進行電路的測試,保證硬件電路正確沒問題;接著,根據程序流程圖分模塊編寫程序,再進行主程序調用以及程序的調試;硬軟件調試完成后,才開始進行測試。測試條件的準備,在實驗室中,我們采用自主設計的一個密閉的透明空間,將系統置于該空間,通過吹入二氧化碳,加熱等方式來模擬實際情況。
采用傳統的換氣檢測系統與所設計的換氣檢測系統進行對比,選取五處隨機的換氣處理地點,分別檢測二者處理溫度等數據的時間以及數值,經過實驗得知所設計的換氣檢測系統可以實現車內中氣體濃度大小和溫度的識別,具有可行性,同時,五組隨機換氣處理地點的數據處理速度均高于傳統的換氣檢測系統,因此,具有高效性,有一定的推廣價值。
綜上所述,所設計的換氣檢測系統符合要求,可以實現對于車內的溫度以及其他指標的檢測,且在處理數據的時間上遠遠低于傳統的數據檢測系統,因此具有一定的推廣意義,在后續的使用中還將不斷完善和更新。