曾憲陽1,楊紅莉2,郁漢琪1,褚南峰1
(1.南京工程學院 工業(yè)中心,江蘇 南京 211167;2.南京工程學院 數(shù)理部,江蘇 南京 211167)
摘要:根據(jù)市場上甲醛檢測裝置存在誤差大、功耗高等缺點,設(shè)計了以MSP430單片機作為控制核心,多子機網(wǎng)點輔助監(jiān)測,無線模塊進行數(shù)據(jù)通信的甲醛檢測儀。使用單片機內(nèi)部A/D轉(zhuǎn)換模塊將傳感器采集到的模擬量轉(zhuǎn)換成數(shù)字量,再經(jīng)卡爾曼濾波器進行濾波,保證了采樣數(shù)據(jù)的準確性。該監(jiān)測系統(tǒng)檢測精度高、功耗低、穩(wěn)定性好,經(jīng)試驗驗證,能很好地滿足消費者需求。
關(guān)鍵詞:低功耗;MSP430單片機;甲醛監(jiān)測儀;卡爾曼濾波;多網(wǎng)點
0引言
當前,空氣環(huán)境污染嚴重,特別是新裝修的房間含有甲醛等有害物質(zhì)[1-5],影響到人們的身體健康。市面現(xiàn)有的甲醛檢測系統(tǒng)多為單點測試,體積大、功耗高、檢測單一、價格昂貴,且不能自動對甲醛含量高的區(qū)域進行重點實時監(jiān)測[6-7],因此本文設(shè)計了一種新的甲醛含量監(jiān)控報警系統(tǒng)。該系統(tǒng)包括多個子機系統(tǒng)及一個主機系統(tǒng),將每個子機系統(tǒng)分散安置在各個房間的某個區(qū)域,主機系統(tǒng)放置在臥室或客廳等住戶常活動的位置,主機與子機之間采用NRF24L01無線網(wǎng)絡(luò)進行通信。子機系統(tǒng)定時將采集到的甲醛含量信息通過無線網(wǎng)絡(luò)傳遞給主機,主機通過中斷接收各子機發(fā)來的信息并進行分析處理,同時根據(jù)需要將數(shù)據(jù)通過無線網(wǎng)絡(luò)發(fā)送給上位機PC,給用戶帶來方便。
1系統(tǒng)設(shè)計思路
系統(tǒng)選用MSP430F149單片機作為主控制芯片,以減少功耗,提高效率。采用具有精度高、功耗低的AQM201傳感器來檢測甲醛含量。采用多個430單片機作為子機模塊分別測量對應(yīng)區(qū)域甲醛含量,然后各子機實時將采集到的甲醛含量信息傳送給430主機模塊,子機與主機之間采用NRF24L01無線模塊進行通信。系統(tǒng)設(shè)計框圖如圖1所示。
子機系統(tǒng)中的甲醛傳感器檢測空氣中的甲醛含量,經(jīng)處理以模擬信號形式輸出,經(jīng)A/D轉(zhuǎn)換為數(shù)字量后傳送給CPU,考慮到傳感器非線性因素,CPU將數(shù)據(jù)修正后轉(zhuǎn)換為實際甲醛含量濃度百分比,通過各自無線通信模塊通道傳輸給主機。以上過程每隔5 s重復(fù)采集發(fā)送一次,該采樣時間可通過主機發(fā)送給子機的命令參數(shù)進行自動調(diào)整。
主機通過外部中斷及時采集各子機發(fā)來的信息,并根據(jù)子機發(fā)來的地址碼將各子機發(fā)來的信息進行歸類,同一子機發(fā)來的信息存放在對應(yīng)房間號的數(shù)組中。主機通過數(shù)組數(shù)據(jù)及時分析各房間的甲醛含量值,對于甲醛含量長時間未呈減少趨勢的房間區(qū)域,主機將自動通知子機調(diào)整采樣時間來進行重點監(jiān)測。當甲醛含量連續(xù)多天一直超過設(shè)定上限值時,主機還會發(fā)出報警聲,用以提示用戶甲醛超標。在實際測量過程中,傳感器接收到的信號包括環(huán)境干擾信號,因此各子機采用卡爾曼濾波器對采樣數(shù)據(jù)進行濾波,更大程度地保證了采樣數(shù)據(jù)的準確性。
2硬件電路設(shè)計
2.1MSP430單片機最小系統(tǒng)電路設(shè)計[8-9]
本系統(tǒng)選用MSP430F149單片機作為主控單元,其最小系統(tǒng)包含了時鐘電路、復(fù)位電路、JTAG調(diào)試電路,如圖2所示。單片機的引腳VeREF+為內(nèi)部A/D轉(zhuǎn)換參考電壓,接3.3 V。為保證參考電壓穩(wěn)定,該引腳及單片機電源引腳DVCC均對地增加了濾波電容C8、C6以濾掉環(huán)境電磁干擾。由于430單片機為低電平復(fù)位,由R1、C5組成復(fù)位電路,系統(tǒng)上電后電容C5充電,相當于短路,RST端為低電平,充電完畢后RST變?yōu)楦唠娖?,完成上電自動?fù)位功能。按鍵S2為系統(tǒng)增加了手動復(fù)位功能。JTAG電路為系統(tǒng)程序調(diào)試下載接口,連接MSP-FET430UIF仿真器即可實現(xiàn)程序調(diào)試下載工作。在主機系統(tǒng)電路設(shè)計中,增加了按鍵電路如圖2中S3、S4、S5、S6所示。S3鍵為功能鍵,用于選擇采樣時間、顯示模式、報警上下限等功能;S4、S5分別為增加、減少按鍵,用于參數(shù)調(diào)整;S6鍵作為備用按鍵,便于后期功能拓展開發(fā)。按鍵接至單片機具有外部中斷功能的P1口,CPU可隨時進入按鍵中斷服務(wù)子程序?qū)ο鄳?yīng)參數(shù)進行設(shè)定調(diào)整。
2.2甲醛傳感器模塊電路設(shè)計[10]
所設(shè)計的甲醛傳感器模塊電路如圖3所示。由于甲醛傳感器AQM201輸出模擬量,需經(jīng)A/D轉(zhuǎn)換后得到數(shù)字量方可送給單片機處理。考慮到MSP430單片機內(nèi)部自帶高精度12位A/D轉(zhuǎn)換器,滿足設(shè)計要求,因此直接采用430單片機內(nèi)部A/D轉(zhuǎn)換器將信號轉(zhuǎn)換為數(shù)字量后供單片機CPU處理。由于甲醛傳感器輸出模擬量電壓范圍為0~5 V,而單片機A/D采樣滿量程電壓為3.3 V,因此傳感器輸出的模擬量還需進行電壓量程匹配轉(zhuǎn)換。如圖3所示,R2、R3組成分壓電路,阻值分別為1.7 kΩ、3.3 kΩ。3.3 kΩ電阻兩端的電壓作為模擬電壓輸出,此時該模塊輸出模擬電壓范圍將為0~3.3 V,與單片機A/D轉(zhuǎn)換量程匹配,該輸出信號接至單片機A/D轉(zhuǎn)換口P6.0。
2.3無線通信模塊電路設(shè)計
無線通信采用NRF24L01模塊[11-12],電路如圖4所示,N1為無線通信模塊,其中第8腳為中斷請求輸出端,接至單片機的外部中斷P1.4口。各無線通信模塊在接收到數(shù)據(jù)后,將數(shù)據(jù)保存在自身存儲器中,然后向單片機發(fā)出中斷請求,以便單片機及時讀取保存在自身存儲器中的數(shù)據(jù),防止該數(shù)據(jù)被新接收的數(shù)據(jù)覆蓋。
主機中的無線通信模塊IRQ引腳接至單片機外部中斷接口,以便主機及時響應(yīng)各子機發(fā)來的數(shù)據(jù)。系統(tǒng)中各子機將定義各自的地址碼,代表各子機所在的不同房間。子機在發(fā)送數(shù)據(jù)的同時連同自身的地址碼一并發(fā)出,主機接收到數(shù)據(jù)后,通過地址碼來區(qū)分各個子機的數(shù)據(jù)信息,從而得到對應(yīng)房間區(qū)域的甲醛含量濃度。主機采集到信息后在液晶顯示屏上顯示當前各個區(qū)域的甲醛濃度百分比,以及甲醛含量隨時間變化的曲線圖,便于用戶分析甲醛濃度分布及走向。
2.4報警模塊電路設(shè)計
選用蜂鳴器作為報警發(fā)生裝置,采用PNP三極管9012作為驅(qū)動,如圖5中Q1所示??紤]到I/O口的驅(qū)動能力,單片機將以灌電流形式控制蜂鳴器發(fā)聲,控制I/O口由單片機的P5.5引腳提供,當I/O口為低電平時,蜂鳴器發(fā)聲,為高電平時,蜂鳴器停止發(fā)聲。
2.5顯示模塊電路設(shè)計
如圖6所示,顯示模塊采用LCD12864HZ液晶顯示器,其自帶漢字字庫,可顯示漢字、字符及圖形,使用方便。液晶直接采用3.3 V電壓供電,便于與單片機I/O口電平匹配。為簡化電路設(shè)計,節(jié)約I/O口開支,液晶顯示模塊與單片機的接口采用串行接口進行通信,SCLK、SID、CS三引腳分別接至單片機的P3.5、P3.6、P3.7三個引腳。
3軟件程序設(shè)計
3.1子機系統(tǒng)軟件設(shè)計
在子機系統(tǒng)中,傳感器每隔一定時間采集一次數(shù)據(jù),經(jīng)數(shù)據(jù)處理、卡爾曼濾波[13-15]后,通過無線通信模塊發(fā)送給主機,同時子機實時準備接收主機發(fā)送過來的設(shè)置命令(用于設(shè)置子機傳感器采樣時間間隔等)。因此子機系統(tǒng)軟件任務(wù)包含傳感器數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收幾個部分。由于無線接收任務(wù)屬于緊急任務(wù),該任務(wù)由外部中斷來完成。主程序?qū)⑼瓿蓚鞲衅鲾?shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送任務(wù),流程圖如圖7所示。
3.2主機系統(tǒng)軟件設(shè)計
主機要完成的任務(wù)有:本機數(shù)據(jù)采集、子機數(shù)據(jù)接收、數(shù)據(jù)存儲、數(shù)據(jù)顯示、傳感器檢測、按鍵掃描、發(fā)送數(shù)據(jù)給上位機、報警等。根據(jù)任務(wù)的緊急性將數(shù)據(jù)接收、按鍵掃描任務(wù)均設(shè)置為外部中斷模式,并將數(shù)據(jù)接收設(shè)置為高優(yōu)先級中斷。數(shù)據(jù)顯示、傳感器檢測以及報警任務(wù)程序在主程序中循環(huán)調(diào)用。其中,初始化函數(shù)包含了時鐘配置、I/O口初始化、中斷初始化、各功能模塊初始化等,為系統(tǒng)工作做好準備。外部中斷入口對應(yīng)的中斷源為主機系統(tǒng)單片機的P1.4引腳,在初始化函數(shù)中將該引腳設(shè)置為外部中斷模式。主機流程圖在此不再贅述。
3.3系統(tǒng)數(shù)據(jù)處理
圖8為甲醛傳感器模擬輸出特性曲線圖,橫軸為濃度值,縱軸為采集到的電壓,根據(jù)圖中提供的數(shù)據(jù)可知,對采集到的數(shù)據(jù)進行處理即可計算出甲醛在空氣中的含量。設(shè)采集到的電壓為Vx,甲醛濃度為Y,則計算公式為:
4結(jié)論
圖9為系統(tǒng)主機實物圖及實時監(jiān)測曲線顯示。系統(tǒng)包括硬件設(shè)計和軟件編程兩部分,實現(xiàn)了對室內(nèi)甲醛含量的實時監(jiān)控與報警監(jiān)測。采用卡爾曼濾波器對傳感器采集到的信號進行濾波,保證了采樣數(shù)據(jù)的準確性。系統(tǒng)檢測精度高、功耗低、穩(wěn)定性好,可用于建筑室內(nèi)甲醛氣體含量監(jiān)測,也可用于電廠、化工、地下管道等施工環(huán)境監(jiān)測,防止甲醛中毒事故發(fā)生。
參考文獻
[1] 王維新.甲醛釋放與檢測[M].北京:化學工業(yè)出版社,2003.
?。?] 陳煥文,鄭健,李明,等.甲醛檢測方法及儀器[J].分析化學評述與進展,2004,32(7):969-972.
[3] GB/T 18204.26-2000,公共場所空氣中甲醛測定方法[S].北京:中國標準出版社,2000.
?。?] GB/T 16129-1995,居住區(qū)大氣甲醛衛(wèi)生檢驗標準方法:分光光度法[S].北京:中國標準出版社,1995.
?。?] 陸學奎,蘭建中.家庭室內(nèi)裝修后空氣中甲醛污染調(diào)查及防治措施初探[J].現(xiàn)代預(yù)醫(yī)學,2006,33(6):952-953.
[6] 馬天.甲醛分析儀現(xiàn)場檢測技術(shù)[J].中國測試技術(shù),2005,31(5):131-132.
?。?] 孫登峰,方正,馬天,等.甲醛快速測定儀測試性能研究[J].中國測試技術(shù),2006,32(6):26-28.
?。?] 胡大可.MSP430C語言程序設(shè)計與開發(fā)[M].北京:北京航空航天大學出版社,2003.
?。?] 劉忠超,殷華文,郭抒穎.基于MSP430單片機的智能儀表設(shè)計[J].自動化與儀表,2015(2):20-24.
?。?0] 單成祥.傳感器的理論與設(shè)計基礎(chǔ)及應(yīng)用[M].北京:國防工業(yè)出版社,1999.
[11] 侯杏娜,陳壽宏,唐萬順.基于NRF24L01的降雨量實時采集無線監(jiān)測系統(tǒng)[J].計算機測量與控制,2014,22(8):2372-2376.
?。?2] 嚴林祥,張紅雨.基于Web和nRF24L01的遠程數(shù)據(jù)接收器設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(10):69-75.
?。?3] DAUM F. Nonlinear filters beyond the Kalman filter[J].IEEE A&E Systems Magazine,2005,20(8):57-69.
?。?4] KIM J, VADDI S S, MENON P K, et al.Comparison between nonlinear filtering techniques forspiraling ballistic missile state estimation [J].IEEE Transactions on Aerospace and Electronic Systems,2012,48(1):313-328.
?。?5] KALMAN R E. A new approach to linear filtering and prediction problems [J].Transactions of the AMSE Journal of Basic Engineering,1960,82(1):35-45.