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