基于STM32F103單片機的甲醛檢測報警儀設計
引言
甲醛作為一種裝修材料中普遍存在的有毒氣體,是最主要的室內污染物。研究表明,室內空氣中的甲醛對人體的危害隨著濃度增高而增大。當甲醛含量僅為0.1mg/m3時,人體就會感到不適:當甲醛含量為0.2mg/m3時,會使人患上咽喉炎、哮喘等病癥:當室內空氣中甲醛含量為0.5mg/m3時,會刺激人的眼睛:當室內空氣中甲醛含量大于0.6mg/m3時,便會威脅人們的生命健康。
目前國內外的氣體檢測方法分為乙酰丙酮分光光度法、酚試劑分光光度法、AHMT分光光度法、氣相色譜法和電化學檢測法等。這些方法普遍要求檢測人員按照標準采集空氣樣本,并用專業(yè)儀器按照嚴格的化學實驗步驟檢測樣本的甲醛濃度。本文設計的甲醛氣體檢測報警儀采用電化學檢測法,將電化學傳感器的輸出量轉換為氣體濃度,通過液晶屏顯示以及無線通信的方法,將氣體濃度信息反饋給用戶和遠程終端,并在氣體濃度高于額定濃度時實現(xiàn)報警功能。
1硬件設計
1.1硬件系統(tǒng)總體設計
甲醛檢測報警儀硬件系統(tǒng)主要分為:甲醛傳感器檢測模塊、STM32F103單片機控制模塊、LCD液晶顯示模塊、wi-Fi連接模塊和報警模塊等。其主要功能為實時檢測當前室內空氣中的甲醛氣體含量并顯示在液晶模塊中,在甲醛含量超標時進行聲光報警。
本設計采用基于ARM32位的ContexTM-M3CPU為內核的miniSTM32F103ZE-T6微控制器。甲醛檢測儀外擴的按鍵、LCD顯示器和報警裝置通過通用的I/o接口與微控制器連接:無線傳輸模塊通過UART接口與微控制器連接并實現(xiàn)通信:傳感器將采集到的信息以電壓的形式傳遞到A/D采集端口從而與微控制器連接,硬件系統(tǒng)如圖1所示。
1.2模塊介紹
LCD12864是一種具有多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊,其內置8192個16×16點漢字和128個16×8點ASCII字符集,顯示分辨率為128×64dpi。該模塊采用低電壓電源(VDD:3.0~5.5V),可選擇串/并行兩種通信方式。與同類型的圖形點陣液晶顯示模塊相比,LCD12864具有更為簡潔的電路結構與顯示程序,且功耗較低,符合甲醛檢測儀需求。為節(jié)省I/o接口資源,本研究通過串行方式將LCD12864與微控制器進行連接。
ESP8266是一個完整且自成體系的wi-Fi網(wǎng)絡解決方案,能夠通過另一個應用處理器卸載所有wi-Fi網(wǎng)絡功能,或搭載軟件應用。該模塊支持STA/AP/STA+AP工作模式與Sm+atConrig功能(包括Andaoid和ioS設備),采用3.3V單電源供電,可使用UART數(shù)據(jù)通信接口與微控制器連接或使用USf轉TTL接口通過主機進行調試。
M-01傳感器為電化學原理免標定的通用型和小型化的智能傳感器,通過電化學原理對空氣中的甲醛濃度進行探測,然后經過數(shù)據(jù)處理轉變?yōu)殡娦盘栞敵?具有高分辨率、溫度補償和高穩(wěn)定性等特點,廣泛應用于室內檢測領域。
2軟件設計
2.1軟件開發(fā)環(huán)境
STM32微處理器基于ARM核,所以很多基于ARM嵌入式開發(fā)環(huán)境都可用于STM32開發(fā)平臺。開發(fā)工具都可用于STM32開發(fā)。選擇合適的開發(fā)環(huán)境可以加快開發(fā)進度,節(jié)省開發(fā)成本。本文選用STM32常用的開發(fā)工具BeiKMDB。
2.2軟件總體設計
系統(tǒng)軟件設計目的即實現(xiàn)甲醛檢測傳感儀的主要功能,包括對當前室內甲醛濃度的檢測,與wi-Fi模塊的通信,甲醛濃度的實時顯示,甲醛濃度超標時的報警等。系統(tǒng)實時讀取A/D轉換器采集的電壓值并將其轉化為氣體濃度,將氣體濃度通過顯示和無線傳輸?shù)姆绞椒答伣o用戶,當氣體濃度大于警戒值時啟動報警程序。
2.3A/D采集模塊軟件部分
周期性采集A/D轉換器寄存器中的數(shù)據(jù),根據(jù)采集到的數(shù)據(jù)計算出I/o口輸入的電壓,再用電壓計算出傳感器得到的氣體濃度。使用ADCConleatedV+KueLoc+K=(rKo+t)ADCConleatedV+Kue×3.3/4096函數(shù)得到甲醛傳感器輸出的電壓值,使用ADCvⅤlue=(floⅤt)ADCConvertedVⅤlueLocⅤl/2×2函數(shù)換算出甲醛氣體濃度。
2.4Wi-Fi模塊軟件部分
EsP8266wi-Fi模塊以服務器模式進行工作并周期性發(fā)送數(shù)據(jù),用戶連接到EsP8266后即可以接收到EsP8266所發(fā)送的數(shù)據(jù)。EsP8266模塊初始化程序如下:
EsP8266Init()://EsP8266初始化
EsP8266Cmd("AT+CwM0DE=3"."0K"."nochⅤnge".2500)://設置成sTA+AP指令模式,
EsP8266Rst()://EsP8266重啟
EsP8266BuildAP("esp8266"."1234567890".3)://設置wifi用戶名,密碼
EsP8266EnⅤbleMultipleId(l)://啟動多鏈接模式
EsP8266stⅤrt0rshutserver(l."8080"."2880")://開啟服務器模式,發(fā)送采集的數(shù)據(jù)
EsP8266sendstring(ADCvⅤlue.5):
2.5顯示和報警模塊軟件部分
在甲醛檢測儀顯示與報警模塊中,首先要進行引腳配置,根據(jù)液晶引腳的功能進行定義,保證其與硬件連接相一致。在該模塊中,字符和漢字是以點陣字模的形式存儲:顯示用l6xl6點陣或8×l6點陣數(shù)據(jù)確定。由二進制位來表示每一個點,在液晶屏上顯示亮點則表示此點存入值為l,否則表示存入值為0。對于液晶的顯示,其功能函數(shù)在程序中并不是以整體形式出現(xiàn),而是在程序的主函數(shù)、報警和檢測功能函數(shù)當中穿插出現(xiàn)。查看檢測結果時,通過調用顯示字符或漢字的函數(shù)displⅤygrⅤphicl6×l6或displⅤygrⅤphic8×l6將數(shù)據(jù)寫入液晶屏幕,得到氣體濃度后,與警戒值進行比較,若高于警戒值則進行電平翻轉,點亮二極管并觸發(fā)蜂鳴器發(fā)出警報。
3檢測與分析
將本研究所設計的甲醛檢測儀與常見的半導體型甲醛檢測儀所得的標準結果進行數(shù)據(jù)對比,以驗證研究設備的性能。在相同的常溫常壓條件下,選取剛剛完成裝修和裝修完成時間較久的不同條件下的房間,測試結果如表l所示,其中甲醛含量l表示半導體型甲醛檢測儀的檢測結果,甲醛含量2是本研究所設計的甲醛檢測儀的檢測結果。
實驗結果表明,本研究所設計的甲醛檢測儀與常見的半導體型甲醛檢測儀的檢測誤差在2.9%~11.8%,檢測結果無較大誤差。本研究所設計的甲醛檢測儀可以對傳統(tǒng)檢測儀的檢測方法進行補充,并達到實時監(jiān)測檢測結果的目的。
4結語
甲醛作為重要的有機原料被應用于人們日常生活的方方面面,為人類帶來便利的同時,對人體健康的損害也是不容忽視的。甲醛較高的毒性使世界衛(wèi)生組織和美國環(huán)境保護局都把它列為危險致癌物和重要的環(huán)境污染物,在我國有毒化學品優(yōu)先控制名單中,甲醛也高居第二位。在這樣的情況下,人們亟需可以被應用于室內檢測的低成本甲醛檢測儀器。而本文所設計的儀器不需要借助其他試劑或工具,對檢測環(huán)境的要求較低且檢測精度較高,能滿足人們日常生活中甲醛檢測需要。