摘要:利用單片機和虛擬儀器LabVIEW在PC端設計了溫濕度測量及控制系統(tǒng),用于溫濕度數(shù)據(jù)監(jiān)測。該系統(tǒng)上位機為PC端監(jiān)控界面,下位機為單片機,單片機采集溫濕度數(shù)據(jù),并將采集到的數(shù)據(jù)通過串口發(fā)送給監(jiān)控界面進行監(jiān)測和管理。該監(jiān)測系統(tǒng)具有開發(fā)成本低、功耗低、性能穩(wěn)、電路簡單等優(yōu)點。
關鍵詞:溫濕度采集;DHT11;LabVIEW;單片機
中圖分類號:TP393.0 " "文獻標志碼:A " "文章編號:1671-0797(2023)02-0033-05
DOI:10.19514/j.cnki.cn32-1628/tm.2023.02.010
0 " "引言
隨著技術的發(fā)展,溫濕度測量應用到了工作和生活的方方面面,溫濕度監(jiān)測系統(tǒng)的應用也愈加廣泛。目前,基于虛擬儀器的監(jiān)控與數(shù)據(jù)采集系統(tǒng)的設計主要依賴于價格昂貴的數(shù)據(jù)采集卡,系統(tǒng)開發(fā)和應用成本高[1]。LabVIEW是美國國家儀器(NI)公司研制開發(fā)的一款圖形化編程開發(fā)環(huán)境,本文基于單片機和LabVIEW平臺實現(xiàn)了溫濕度實時監(jiān)測系統(tǒng)的設計。單片機和溫濕度傳感器構成下位機系統(tǒng),以串口通信方式將采集的數(shù)據(jù)發(fā)送至上位機PC端LabVIEW平臺,實現(xiàn)溫濕度數(shù)據(jù)實時采集、溫濕度趨勢圖繪制、門限報警、歷史數(shù)據(jù)存儲,并對數(shù)據(jù)進行精細化管理。該監(jiān)測系統(tǒng)快速有效,開發(fā)成本低,非常適合日常使用。
1 " "系統(tǒng)設計思路
該系統(tǒng)下位機控制核心為STC89C52,溫濕度傳感器DHT11采集溫濕度信號,液晶顯示屏LCD1602顯示系統(tǒng)信息。系統(tǒng)設置報警電路,用戶可自行設定報警閾值,當溫度或濕度超過設定值時則啟動報警。上位機采用LabVIEW編寫程序,單片機與其通過串口進行通信,實現(xiàn)系統(tǒng)溫濕度數(shù)據(jù)的實時測量、監(jiān)控、存儲及統(tǒng)計分析。LabVIEW圖形化編程人機交互界面友好,開發(fā)成本低,簡單易行,功能可靠。系統(tǒng)結構如圖1所示。
2 " "硬件電路設計
2.1 " "下位機硬件電路設計
下位機單片機控制系統(tǒng)硬件電路包括:溫濕度傳感器DHT11電路、LCD1602顯示電路、聲光報警電路和鍵盤電路,本文在此只闡述溫濕度傳感器DHT11的電路設計。DHT11只需要占用單片機一個I/O口即可完成連接。如圖2所示,DHT11的供電電壓為3.5~5.5 V,其1腳接VCC,2腳接單片機的I/O口,3腳懸空,4腳接GND。上電后等待1 s以越過不穩(wěn)定狀態(tài),在此期間不要發(fā)送任何指令。
2.2 " "上位機串行通信電路設計
上位機通過串口通信獲取單片機采集的溫濕度數(shù)值。串行通信線路簡單,只需一對傳輸線即可實現(xiàn)通信,速度慢但成本低。在串行通信中,需要進行邏輯電平轉換,使其對信息的邏輯定義與TTL兼容,接口電路如圖3所示。
3 " "系統(tǒng)軟件設計
3.1 " "下位機單片機程序設計
下位機程序設計主要包括DHT11溫濕度讀取、LCD1602顯示、鍵盤、聲光報警以及單片機串口通信設計,圖4為下位機主程序流程圖。
下位機程序設計中的復雜部分是關于DHT11如何讀取溫濕度數(shù)據(jù)。DHT11采用單總線數(shù)據(jù)格式,一次通信時間要小于3 ms,主機連續(xù)采樣間隔建議大于100 ms,其讀取單總線上的1個字節(jié)數(shù)據(jù)程序設計如圖5所示。其溫濕度數(shù)據(jù)包由5 Byte(40 bit)組成:8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bit溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)+8 bit校驗和[2],可以據(jù)此讀出采集到的溫濕度數(shù)據(jù)。
3.2 " "上位機LabVIEW程序設計
3.2.1 " "LabVIEW上位機設計模式
由于下位機連續(xù)不斷地采集溫濕度數(shù)據(jù),為保證數(shù)據(jù)不丟失,上位機設計模式代碼框架采用生產(chǎn)者/消費者模式。利用消息隊列處理器,將用戶界面UI、數(shù)據(jù)采集、數(shù)據(jù)保存顯示、數(shù)據(jù)分析4個隊列多線并行運行,如圖6所示。用戶界面有任何動作,生產(chǎn)者均會在事件結構產(chǎn)生對應的事件消息,發(fā)送到隊列,消費者不斷取出隊列的事件消息進行處理[3],對所有動作做出反應。
3.2.2 " "LabVIEW上位機串口發(fā)送程序
本程序運行前需要先配置串口,將命令(如55 AA 01)通過VISA串口寫入,等待不少于0.02 s,時間太短會導致讀取緩存失敗。通過串口屬性節(jié)點Byte at Port可判斷串口緩存的字符個數(shù),若單片機返回錯誤標志,則重新發(fā)送[3]。由于DHT11是單總線器件,單片機正在執(zhí)行時序時不能被打斷,會錯過上位機命令,所以需要重復發(fā)送幾次,保證連接成功,不管成功與否最多發(fā)送5次。執(zhí)行部分程序框圖如圖7所示。
3.2.3 " "LabVIEW上位機串口接收程序
為保證單片機發(fā)送過來的數(shù)據(jù)不會丟失,上位機將串口緩沖中的數(shù)據(jù)一一讀到隊列中,再建立另外一個線程來取出隊列中數(shù)據(jù)并進行分析,如圖8所示。
3.2.4 " "數(shù)據(jù)文件存儲和調(diào)用
上位機存儲數(shù)據(jù)文件類型為TDMS(Technical Data Management Streaming)文件,它兼顧了存取方便、高速等優(yōu)勢。TDMS的邏輯結構分為三層:文件(File)、通道組(Channel Groups)和通道(Channels)[4],程序員可以非常方便地使用這三個邏輯層次定義測試數(shù)據(jù),數(shù)據(jù)檢索是有序的、方便存取的,如圖9所示。
4 " "系統(tǒng)設計結果
系統(tǒng)測試結果如圖10~圖13所示。本系統(tǒng)實現(xiàn)了基于單片機和LabVIEW的溫濕度監(jiān)測,下位機實時監(jiān)測溫濕度數(shù)據(jù),上位機在LabVIEW前面板實現(xiàn)溫濕度數(shù)據(jù)和波形實時顯示,當溫濕度數(shù)值超出或低于預設值時,可通過下位機蜂鳴器和上位機指示燈進行報警,歷史數(shù)據(jù)能以TDMS文件形式保存,易于查詢和打印。
5 " "結語
本文設計了基于單片機和LabVIEW的溫濕度監(jiān)測系統(tǒng),經(jīng)測試,該系統(tǒng)可實現(xiàn)溫濕度的實時監(jiān)測、報警、歷史數(shù)據(jù)存儲和查詢功能,且監(jiān)測界面美觀、操作便捷,系統(tǒng)成本低,功能易擴展,具有較好的使用和推廣價值。
[參考文獻]
[1] 林園勝,許鋼,江娟娟,等.基于LabVIEW的溫濕度監(jiān)測系統(tǒng)設計與實現(xiàn)[J].重慶工商大學學報(自然科學版),2014,31(6):63-67.
[2] 管融雪,于喜志,郭永強.低功耗智能家居控制系統(tǒng)的應用設計[J].電子世界,2021(10):162-163.
[3] 張哲,劉廣朋.基于變配電設備的無線無源在線溫度監(jiān)測系統(tǒng)的研究[J].能源與環(huán)保,2017,39(8):12-18.
[4] 姚建江.基于腦體模的顱腦選擇性制冷方式的實驗評價[D].杭州:浙江大學,2014.
收稿日期:2022-09-29
作者簡介:孫文靜(1981—),女,山東淄博人,碩士,講師,研究方向:電子信息技術。