陳致宇 周志偉
?
基于STM32的樓宇熱水供應(yīng)監(jiān)測(cè)系統(tǒng)
陳致宇 周志偉
為了解決樓宇熱水供應(yīng)技術(shù)自動(dòng)化水平較低的問(wèn)題,本文設(shè)計(jì)了一套熱水供應(yīng)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)利用STM32系列微處理器作為系統(tǒng)的主控制器,同時(shí)結(jié)合現(xiàn)代傳感器技術(shù)和信號(hào)處理方法設(shè)計(jì)了系統(tǒng)的硬件部分。利用VC++6.0開(kāi)發(fā)的上位機(jī)軟件功能強(qiáng)大,可以實(shí)現(xiàn)顯示實(shí)時(shí)水溫與液位動(dòng)態(tài)曲線(xiàn),再現(xiàn)歷史信息,設(shè)置初始數(shù)據(jù)等功能。
我國(guó)大部分地區(qū)的樓宇熱水供應(yīng)系統(tǒng)的自動(dòng)化程度還不高,不少區(qū)域的系統(tǒng)監(jiān)控和維護(hù)對(duì)人工的依賴(lài)性還很強(qiáng)。隨著無(wú)線(xiàn)通訊技術(shù)的發(fā)展,無(wú)線(xiàn)通信功能已經(jīng)廣泛應(yīng)用在在樓宇熱水供應(yīng)系統(tǒng)上,無(wú)線(xiàn)通信功能所具有的遠(yuǎn)距離通信能力與傳統(tǒng)的人工操作與維護(hù)相比使得系統(tǒng)在穩(wěn)定性與可靠性方面上了一個(gè)臺(tái)階,遠(yuǎn)距離通信的能力在系統(tǒng)工作在惡劣環(huán)境時(shí),優(yōu)勢(shì)顯得越發(fā)明顯。
下位機(jī)監(jiān)測(cè)部分、遙控終端連同上位機(jī)軟件一起組成了樓宇熱水供應(yīng)監(jiān)測(cè)系統(tǒng)。下位機(jī)部分可以采集監(jiān)測(cè)系統(tǒng)的各種數(shù)據(jù)參數(shù)(液位、溫度、壓力),如果發(fā)現(xiàn)哪種數(shù)據(jù)參數(shù)超出了設(shè)定范圍可以通過(guò)相應(yīng)的控制單元使得對(duì)應(yīng)的參數(shù)回歸到預(yù)定的范圍內(nèi),與此同時(shí)通過(guò)遙控終端部分向上位機(jī)監(jiān)測(cè)軟件發(fā)送警報(bào)信息,采集到的數(shù)據(jù)信息還可以通過(guò)遙控終端的RF模塊發(fā)送到上位機(jī)監(jiān)測(cè)軟件上進(jìn)行實(shí)時(shí)顯示。下位機(jī)部分主要由溫度與液位傳感器、壓力傳感器、加熱器、供水罐、補(bǔ)水泵、加壓泵等組成。遙控部分的主要作用是接收下位機(jī)傳輸?shù)男畔⑵涠〞r(shí)存儲(chǔ)并顯示。上位機(jī)軟件主要負(fù)責(zé)以圖形化的形式實(shí)時(shí)讀取并顯示存儲(chǔ)在遙控部分的系統(tǒng)運(yùn)行數(shù)據(jù),此外還可以修改系統(tǒng)的運(yùn)行參數(shù)。
本系統(tǒng)硬件主要包括下位機(jī)部分模塊和遙控部分模塊兩個(gè)部分,下位機(jī)部分包括STM32F100C8主控芯片、壓力傳感器、溫度與液位傳感器、信號(hào)轉(zhuǎn)換電路、nRF905無(wú)線(xiàn)模塊、壓力控制機(jī)構(gòu)以及溫度與液位控制機(jī)構(gòu)。交流調(diào)功模塊的輸入采用D/A轉(zhuǎn)換電路的輸出電壓,加熱器兩端電壓由調(diào)功模塊依據(jù)其輸入電壓的大小進(jìn)行調(diào)節(jié),從而實(shí)現(xiàn)對(duì)加熱功率的控制,進(jìn)而穩(wěn)定溫度;變頻器的輸入采用D/A轉(zhuǎn)換電路的輸出電壓,補(bǔ)水泵的轉(zhuǎn)速依據(jù)輸入電壓的大小來(lái)進(jìn)行調(diào)節(jié),進(jìn)而達(dá)到穩(wěn)定液位的目的;系統(tǒng)壓力穩(wěn)定的維持則采用簡(jiǎn)單的加壓泵啟停方式。由STM32F100C8主控芯片、nRF905無(wú)線(xiàn)模塊、RS232接口電路、AT24C128存儲(chǔ)芯片、DS1302電路、LCD1602接口電路、聲光報(bào)警電路、調(diào)節(jié)按鍵電路等部分構(gòu)成了遙控終端。
系統(tǒng)軟件設(shè)計(jì)包括下位機(jī)采集終端軟件設(shè)計(jì)、遙控部分軟件設(shè)計(jì)以及上位機(jī)監(jiān)測(cè)軟件三個(gè)部分。
圖1 系統(tǒng)總體結(jié)構(gòu)
圖2 監(jiān)測(cè)節(jié)點(diǎn)硬件結(jié)構(gòu)
采集終端軟件設(shè)計(jì)
采集終端軟件流程圖如圖3所示。下位機(jī)采集模塊上電后,進(jìn)行各模塊的初始化程序。然后檢測(cè)遙控終端部分傳送來(lái)的數(shù)據(jù)信號(hào)是否被接收到,如果接收到了,則進(jìn)入數(shù)據(jù)接收子程序接收數(shù)據(jù)信息;如果遙控終端部分傳送過(guò)來(lái)的數(shù)據(jù)沒(méi)有被接收到,那么看定時(shí)時(shí)間有沒(méi)有到,STM32F100C8單片機(jī)在預(yù)設(shè)時(shí)間結(jié)束時(shí)采集相應(yīng)的數(shù)據(jù)信息,之后通過(guò)數(shù)據(jù)發(fā)送子程序?qū)⑥D(zhuǎn)換后的數(shù)據(jù)發(fā)送給遙控終端,考慮到壓力變化的速度相較于溫度和液位的變化速度快的特點(diǎn),對(duì)采樣時(shí)間進(jìn)行區(qū)別對(duì)待,如果數(shù)據(jù)沒(méi)有采樣十次,則繼續(xù)采樣壓力數(shù)據(jù),直到壓力數(shù)據(jù)采樣十次時(shí)才采樣溫度數(shù)據(jù)與壓力數(shù)據(jù),如果定時(shí)時(shí)間沒(méi)到,則繼續(xù)等待。采集到的溫度、液位和壓力數(shù)據(jù)分別進(jìn)入不同的控制程序中進(jìn)行處理。
圖3 采集終端軟件流程圖
圖4 遙控部分軟件設(shè)計(jì)
遙控部分軟件設(shè)計(jì)
遙控終端軟件流程圖如圖4所示。遙控終端上電之后,進(jìn)行系統(tǒng)的初始化,如果下位機(jī)傳送古來(lái)的數(shù)據(jù)被讀取,則運(yùn)行串行通信程序并讀取當(dāng)前時(shí)間,刷新顯示之后如果確實(shí)有接收數(shù)據(jù),那么接收數(shù)據(jù)并存儲(chǔ),如果是錯(cuò)誤信息則進(jìn)行聲光報(bào)警;如果沒(méi)有接收數(shù)據(jù),檢測(cè)是否有按鍵按下,如果有按鍵按下,進(jìn)行系統(tǒng)參數(shù)調(diào)整,接著進(jìn)行時(shí)間調(diào)整和運(yùn)行向下位機(jī)發(fā)送數(shù)據(jù)的程序。當(dāng)遙控終端部分與上位機(jī)部分進(jìn)行連接時(shí),主控芯片STM32F100C8會(huì)依據(jù)接收到的命令類(lèi)型執(zhí)行與其相對(duì)應(yīng)的相關(guān)子程序。
圖5 上位機(jī)監(jiān)測(cè)軟件運(yùn)行界面
上位機(jī)監(jiān)測(cè)軟件
本文采用VC++6.0設(shè)計(jì)了上位機(jī)部分的監(jiān)測(cè)軟件,采用ActiveX控件方式的串口操作方式。以二進(jìn)制方式檢取單片機(jī)串口的數(shù)據(jù),其一幀數(shù)據(jù)包括1位起始位,8位數(shù)據(jù)位和1位停止位,在VC++6.0軟件中寫(xiě)相應(yīng)程序時(shí),需要匹配STM32F100C8單片機(jī)的設(shè)置和串口通信控件的設(shè)置,根據(jù)實(shí)際需要將相關(guān)函數(shù)的參數(shù)配置成m_ ComPort.SetSettings (“9600,n,8,1”)。使用者可以根據(jù)實(shí)際需求在上位機(jī)監(jiān)測(cè)軟件的相應(yīng)程序中對(duì)液位與溫度參數(shù)進(jìn)行修改,當(dāng)用戶(hù)對(duì)系統(tǒng)運(yùn)行參數(shù)進(jìn)行設(shè)置時(shí)寫(xiě)串口操作被看做激發(fā)事件產(chǎn)生,讀取控制端存儲(chǔ)芯片數(shù)據(jù)操作則由點(diǎn)擊歷史信息按鈕時(shí)激發(fā)。
本文采用強(qiáng)大的VCL圖表組件TeeChart進(jìn)行數(shù)據(jù)圖形化顯示,當(dāng)上位機(jī)軟件通過(guò)串口通信程序接收下位機(jī)終端部分傳送過(guò)來(lái)的參數(shù)信息時(shí),程序接收到的信息將被TeeChart控件所讀取,讀取到的溫度和液位參數(shù)信息將在上位機(jī)監(jiān)測(cè)軟件上以實(shí)時(shí)曲線(xiàn)的形式繪制出來(lái),上位機(jī)監(jiān)測(cè)軟件在某段時(shí)間內(nèi)的運(yùn)行界面如圖5所示。
該樓宇熱水供應(yīng)監(jiān)測(cè)系統(tǒng)可以對(duì)溫度、壓力以及液位等參數(shù)信息進(jìn)行實(shí)時(shí)采集、傳輸和處理,能保存并顯示歷史數(shù)據(jù)信息,能快速準(zhǔn)確、可靠的提供樓宇供水的動(dòng)態(tài)變化信息,具有一定的應(yīng)用前景。
陳致宇 周志偉
湖南機(jī)電職業(yè)技術(shù)學(xué)院
陳致宇(1987-)男,湖南機(jī)電職業(yè)技術(shù)學(xué)院教師,主要研究方向:智能監(jiān)測(cè)與控制; 周志偉(1989-)男,湖南機(jī)電職業(yè)技術(shù)學(xué)院教師,主要研究方向:智能檢測(cè)與信息融合。
10.3969/j.issn.1001-8972.2016.10.021