引言
隨著經濟持續快速發展,人們的生活水平不斷提高,對各種室內環境的要求也越來越高。傳統的室內環境監測設備實時性差、精度低、體積大、功耗大,難以適應現代經濟發展的要求。基于以上背景,本文設計了基于單片機的室內環境監測儀系統,它能實時自動地采集室內多個地方的溫度、濕度、煙霧濃度、甲醛濃度、二氧化碳濃度、CO濃度,該監測儀功耗低、體積小、成本低、測量精度高,易于使用,具有較好的推廣應用前景。
1 多參數室內環境智能監測系統總體方案設計
本設計中,各種被測信號經過傳感器、放大整形濾波、現場可編程門陣列(FPGA) 采集緩存等處理后,進入單片機,通過單片機計算處理后實現液晶顯示、上位機通信 ,同時來自上位機的信號經RS485總線傳輸到采集節點 ,驅動數據采集。多參數室內環境智能監測儀系統整體結構框圖如圖1所示。
在圖1中,CO傳感器測量范圍30~1000ppm,輸出電流信號范圍為0.45~15μA,而甲醛傳感器的測量范圍0~10ppm,輸出電流范圍是0~20μA,先將這兩個電信號進行放大濾波處理后再送入A/D轉換器轉換成數字量。煙霧和CO 傳感器輸出的是0~5V的電壓信號,直接送入A/D轉換器轉換成數字量,溫濕度傳感器輸出的是數字量,直接被FPGA采集。6項數據由FPGA并行采集,緩存供單片機調用。采集節點通過RS485總線與上位機通訊,實現各項數據的實時顯示、存儲和報警等功能。
2 系統硬件設計
2.1 單片機控制部分
STC89C52是一個低功耗、高性能的51內核的CMOS 8位單片機 ,具有在線編程功能,使用簡單且價格非常低廉。STC89C52單片機系統由單片機、時鐘電路、復位電路組成。
2.2 FPGA數據處理模塊
FPGA具有豐富的引腳,可用于進行I/O擴展,并且可以實現硬件并行運算,所以本文選用了FPGA輔助STC89C52單片機進行數據的采集、預處理、緩存。由于不同系列的FPGA芯片其靜態功耗各不相同,而且同一系列的器件中,型號不同的器件其靜態功耗也不盡相同。在同一系列的器件中,靜態功耗隨著器件內部可用邏輯門數量和RAM的不同而不同。因此,在低功耗FPGA設計中,在滿足設計要求的前提下,應當考慮選用低靜態功耗的FPGA器件。本設計考慮綜合成本、功耗等方面的因素,最終決定采用EP1C12Q240C8 。FPGA硬件框圖如圖2所示。其中包括:(1)與ADC0809的數據連接。(2)與單片機的數據通訊。(3)FPGA的配置部分。(4)時鐘與電源電路部分。FPGA配置方式采用主動串行(AS)配置模式,配置芯片采用EPCS4,這種芯片內部自帶永久性存儲器和簡單的4腳配置接口,不僅成本低,而且解決了FPGA器件的掉電易失性。EPCS4存儲空間為4Mbit,足以容納整個系統配置代碼,通過DCLK,DATA0,ASD0和Ncs0四腳對FPGA器件進行配置。
2.3 電源電路設計
本系統的電源電路如圖3所示,220V的交流電通過電源變壓器變換成12V的交流電,再經過橋式整流電路D1~D4和LM7805轉變為+5V的穩定直流電壓。
而EP1C12Q240C8穩定工作需要3.3V和1.5V的電壓,需進行電壓轉換。本設計中采用低功耗的電壓轉換芯片LM1117,它可以提供多個穩定電壓輸出,外圍電路簡單,精度高,提供電流限制和熱保護等功能。轉換電路如圖4所示。
2.4 采集信號調理電路設計
由于一氧化碳和甲醛傳感器輸出信號較弱,所以在處理之前應先進行放大。本設計中,一氧化碳傳感器采用TGS2442,輸出電流信號范圍為0.45~15μA。甲醛傳感器采用ME3M-CH20,輸出電流范圍為0~20μA,在調理電路中,需將這兩個電流信號經過采樣電阻為1kΩ的精密電阻器轉變為電壓信號,再對此電壓信號進行調理。本設計采用AD620對信號進行放大,AD620具有高精度、低失調電壓和低失調漂移等優點,被廣泛應用于工程設計中。信號調理電路設計如圖5所示。
3 系統軟件設計
3.1 軟件總體設計
根據系統總體方案的設計要求,系統軟件程序主要實現以下功能:6項被測數據的檢測、處理和顯示。軟件結構框圖如圖6所示。
系統選用C語言編寫程序,程序設計首先對傳感器、FPGA、單片機、按鍵、液晶顯示和上位機顯示等進行初始化。FPGA控制啟動數據采集,AD轉換,轉換完成后進行處理并存儲在FPGA內部設計的RAM中,單片機讀取RAM中的信號并顯示,當某一項數據超出設定指標后啟動報警程序并發出警報聲,用戶對警報做出應對措施后,恢復正常。具體流程如圖7所示。
3.2 FPGA邏輯控制部分
本文引用地址:https://www.eepw.com.cn/article/262218.htm
在FPGA中設計了計數器和數據存儲器RAM以及邏輯控制模塊,以保證能夠實時地將ADC轉換過來的數據進行處理,FPGA邏輯控制模塊如圖8所示。
AD邏輯控制模塊用來對AD轉換器進行采樣控制。EP1C12Q240C8在對ADC0809控制時產生START轉換啟動信號,ALE地址鎖存允許信號(高電平有效),在工作過程中FPGA不斷讀入轉換結束信號EOC判斷ADC0809轉換是否結束。當EOC發出一個正脈沖時,表示A/D轉換結束,此時開啟輸出允許OE,打開ADC0809的三態緩沖鎖存器將轉換好的數據輸入FPGA中。存儲器RAM主要用來存儲采集的數據,方便單片機直接調用。
3.3 串口通信
單片機將采集的數據進行處理后,通過RS485總線接口電路傳輸至監控平臺。RS485通信距離為幾十米到上千米,并且采用平衡發送和差分接收,具有抑制共模抗干擾的能力,在互連時可以省掉許多信號線。被廣泛應用于單片機與PC之間的數據傳輸。
通信協議具體的要求如下:
(1) 上位機為主機,各節點采集模塊為從機,上位機需要讀出采集點的數據時,先發送設置指令,滿足一定的條件后發送數據查詢指令。
(2) 主從機之間采用多點總線型主從式結構、異步半雙工通訊方式,波特率設為9600bps。
(3) 由主機以一定的周期按照地址順序輪流向各從機發送查詢或控制指令,從機根據指令中的地址碼判斷是否輪到自己發送數據,是則立即根據指令向主機返回相應的信息,不是則不得向總線發任何數據。
(4) 正常情況下主機所有的指令只發一次,從機在接收無誤的情況下立即響應。如果主機在限定時間內(200ms)未收到應答,則繼續向該從機發送,如果連續3次不正常,則判斷該從機通訊故障,終止查詢,如果連續4次未能接收到從機的回應則判斷485出現故障并報警。
3.4 上位機顯示程序設計
上位機要實現與下位機的通信,實現不同節點的選擇,參數數據的上傳,數據的實時顯示,以及不同參數的趨勢圖繪制。上位機的工作流程如圖9。
3.4.1 Visual Basic6.0中的串行通信控件MSComm
MSComm控件通過串行端口傳輸和接收數據,為應用程序提供串行通信功能。它提供事件驅動方式和查詢方式兩種處理通信的方式。
MSComm控件通信的流程圖如圖10所示。編寫程序時,只需要按照圖10的流程圖,即可實現通信功能。
因為系統采用的是事件驅動,所以具體程序的編制必須圍繞相應的事件進行。本系統中,有關通信的工作過程主要有:通信參數初始化、發送握手信號、接收數據。
3.4.2 VB程序的編制及界面
圖11為開始界面,用戶選擇需要采集地點對應的節點,之后界面切換到所對應的圖12,左側為數據接收串口通信的參數,右側顯示實時數據,并在中間可自行選擇所需參數的趨勢圖;一旦某個數據超過限定范圍,報警器響,且數據對應的指示燈亮 。
4 測量結果分析
本設計的測溫濕度采用數字傳感器DHT11,溫度測量精度±2℃,濕度測量精度為±5%RH。表1為采用本裝置測得的室內溫度實測值與標準二類水銀溫度計測量的溫度值以及誤差。表2是在25℃下室內環境中,通過空氣加濕器調節濕度,采用便攜式露點檢測儀(精度1%RH)測量的環境濕度與本系統測試的濕度值對比及誤差。
由于溫濕度傳感器采用的是數字傳感器,沒有信號調理電路,這就減少了測量時引入的誤差,也降低了受外圍因素的干擾。
通過多次測試,測試結果表明,6項指標的誤差均在規定的范圍內,實現了穩定的采集顯示以及與上位機的通訊。
5 結束語
本文采用FPGA輔助單片機進行數據采集,充分利用了FPGA的高速度和高可靠性,從而解決了傳統的用單片機控制時速度慢的問題。該室內環境智能監測儀通過測試達到了預期的功能,適用于溫濕度、煙霧濃度、甲醛濃度、二氧化碳和一氧化碳的監測,可用于家庭等場所的環境監測,靈敏度高,穩定性好,價格低廉且電路結構簡單,具有較好的推廣應用價值。
參考文獻:
[1]高長鐸,丁倩.可視化編程應用VB6.0[M].人民郵電出版社.2012
[2]宋佳瑩.多參數室內環境自動監測儀研制[D].浙江:中國計量學院,2012
[3]姚營營.基于MSP430單片機的環境監測儀設計[D].遼寧:大連交通大學,2010
[4]李娟,黃海燕,邵茂清.重慶住宅室內空氣中甲醛污染調查[J].重慶大學學報(自然科學版),2006,29(9):144-146
[5]張正喜.單片機應用系統的抗干擾軟件設計[J].計算機測量與控制,2002,10(10):746-748
[6]郝麗麗,馬小軍,張娟.便攜式多參數環境監測儀的設計[J].計算機測量與控制,2006,14(6):835-837
[7]羅琳.一種高性能便攜式PIC單片機濕度檢測儀的研制[J].電子技術應用,2000,26(1):30-32
[8]韓慧.基于RS-485總線的溫室環境監測系統[J].儀表技術與傳感器,2012(3):60-61
[9]聶巍,李曉青.智能火災報警系統設計[J].信息通信,2012(2):92
[10]張毅剛,蘇俊高,劉兆慶.基于DSP和FPGA的導引頭數據采集系統設計[J].電子測量技術,2008,31(5):109-112
上一篇:一種用于電熱蒸汽發生器的水位控制器設計
下一篇:最后一頁
- 熱門資源推薦
- 熱門放大器推薦
- 【武漢理工大學校賽】電子設計競賽
- AD1583 2.5V 至 5.0V 微功率、精密串聯模式電壓基準的典型應用電路
- LTC3214EDD 演示板,低噪聲、高電流 LED 閃光燈充電泵,Vin = 2.9V - 4.4V
- 使用基于 ZICM3588SP0-1-R Ember EM35x 收發器模塊的 Mesh Connect EM35x 迷你模塊的典型應用電路
- FEBFCM8531_B01H300A,用于 FCM8531 SOC 應用處理器的 PMSM/BLDC 電機控制評估板
- 使用 Microchip Technology 的 TCL1584 的參考設計
- LTC3632EMS8E 高效 5V 穩壓器的典型應用電路
- TCR5SB25A、150mA、2.5V 輸出電壓 CMOS 低壓降穩壓器的典型應用
- LT1072HVIT 負降壓轉換器的典型應用
- 雙子座 ELRS 高頻頭 Genimi 高頻頭 (使用ESP32模塊)