《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于RS-485通信的溫度水位遠(yuǎn)程測控系統(tǒng)
基于RS-485通信的溫度水位遠(yuǎn)程測控系統(tǒng)
王公堂 山東師范大學(xué)
摘要: 為滿足太陽能熱水工程遠(yuǎn)距離測控的需要,設(shè)計了一個基于單片機(jī)控制的溫度和水位遠(yuǎn)程測控系統(tǒng)。系統(tǒng)的主機(jī)和從機(jī)均以ATmega16為控制器,二者通過RS-485通信,距離可以超過1 km。用NTC熱敏電阻作測溫元件,使用單片機(jī)內(nèi)置的10位A/D轉(zhuǎn)換模塊實現(xiàn)多路溫度的測量。通過非對稱式多諧振蕩器電路把水位轉(zhuǎn)換為振蕩頻率,再用計數(shù)器測量頻率來實現(xiàn)水位的測量。給出了主機(jī)和從機(jī)的完整電路及功能,較詳細(xì)地介紹了水位和溫度的測量電路以及傳感器參數(shù)。
Abstract:
Key words :

    目前,與太陽能集熱熱水工程配套的控制器基本上都是單機(jī)工作,需要安裝在離太陽能熱水工程現(xiàn)場較近的位置,而太陽能熱水工程一般是安裝在工廠、賓館和居民樓的樓頂上,因此管理人員必須爬上樓頂才能完成信息查看和功能操作,管理和操作十分便。為滿足太陽能熱水工程遠(yuǎn)距離測控的需求,本設(shè)計采用ATmega16單片機(jī),利用RS-485通信技術(shù)、NTC熱敏傳感器和多諧振蕩器測量水位方法,研制開發(fā)了溫度水位遠(yuǎn)距離測控系統(tǒng),解決了太陽能熱水工程需要遠(yuǎn)距離測控的問題。

1 系統(tǒng)結(jié)構(gòu)和工作原理
    遠(yuǎn)距離溫度和水位測控系統(tǒng)用于選擇功能,設(shè)置參數(shù),測量和顯示太陽能熱水工程儲水箱中的水溫和水位、集熱器的溫度、溫差循環(huán)管道溫度和出水溫度,控制上水、溫差循環(huán)換能、輔助電加熱、管道防凍等。系統(tǒng)主要由主機(jī)、從機(jī)、溫度和水位傳感器及電氣控制部分組成,遠(yuǎn)程溫度和水位測控系統(tǒng)的總體結(jié)構(gòu)如圖1所示。主機(jī)以ATmega16單片機(jī)為控制芯片,通過RS-485與從機(jī)通信,完成基本功能設(shè)置,用LCD顯示工作狀態(tài)、水位、多路溫度等數(shù)據(jù),并把設(shè)置的參數(shù)和控制信息傳送給從機(jī)。從機(jī)也是以ATmega16為控制芯片,主要負(fù)責(zé)完成水位、溫度等現(xiàn)場數(shù)據(jù)的采集和電氣控制。

a.JPG



2 系統(tǒng)硬件設(shè)計
    ATmega16單片機(jī)內(nèi)置10位A/D模塊,可直接實現(xiàn)多達(dá)8個通道模擬信號的A/D轉(zhuǎn)換輸入,有兩個8位和一個16位的計數(shù)器,帶有512的E2PROM,可以實現(xiàn)數(shù)據(jù)掉電保護(hù),ATmega16還帶有串行接口,可以接485轉(zhuǎn)換芯片實現(xiàn)RS-485通信。
2.1 主機(jī)電路
    主機(jī)的主要功能是接收從機(jī)采集的儲水箱水位、4路溫度數(shù)據(jù)、在128x64的液晶上顯示水位、溫度和工作狀態(tài)。主機(jī)的另外一個功能是完成參數(shù)的設(shè)置,然后把設(shè)置的參數(shù)發(fā)送給從機(jī)。圖2是主機(jī)的電路圖,其主要由RS-485通信、鍵盤輸入和LCD顯示等幾個部分組成。

a.JPG


2.1.1 RS-485通信
    RS-485總線通信模式由于具有結(jié)構(gòu)簡單、價格低、通信距離和數(shù)據(jù)傳輸速率適當(dāng)?shù)膬?yōu)點而被廣泛應(yīng)用于樓宇控制、監(jiān)控報警等領(lǐng)域。但RS-485總線存在自適應(yīng)、自保護(hù)功能差等缺點,如一些細(xì)節(jié)處理不好,常會出現(xiàn)通信失敗等故障,因此提高RS-485總線的可靠性十分重要。在該電路中使用的接口芯片MAX485是Maxim公司的一種RS-485芯片,采用單+5 V電源工作,額定電流為300 μA,采用半雙工通訊方式,它的結(jié)構(gòu)和引腳簡單,內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別是接收器的輸出和驅(qū)動器的輸入端,與單片機(jī)連接時只需分別與單片機(jī)的RXD和TXD相連即可。RE和DE端分別是接收和發(fā)送的使能端,當(dāng)RE為邏輯0時,器件處于接收狀態(tài),當(dāng)DE為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個管腳PD2控制這兩個引腳即可。A端和B端分別是接收和發(fā)送的差分信號端,當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1,當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。同時將A和B端之間加匹配電阻R9,一般可選120 Ω的電阻。在圖2中使用四位一體的光電耦合器TLP521讓單片機(jī)與MAX485之間實現(xiàn)了完全的電隔離,消除了相互干擾,提高了電路的可靠性。
2.1.2 鍵盤輸入和輸出顯示電路
    液晶顯示選用的OCM128x64是128x64點陣型液晶顯示模塊,可顯示各種字符及圖形,可顯示四行漢字,滿足本設(shè)計的要求,可與單片機(jī)直接接口,具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、6條控制線及電源線。鍵盤輸入和顯示輸出電路如圖2中所示,LCD與單片機(jī)的連接使用數(shù)據(jù)串行輸入方法,數(shù)據(jù)通過PA7和LCD串行輸入端輸入,PA4、PA5為片選信號,PA6為讀寫使能信號。輸入按鍵為8個,用2x4鍵盤接PC0~PC5實現(xiàn)。
2.2 從機(jī)電路
    從機(jī)的主要功能是完成一路水位和四路溫度的測量,并通過RS-485通信將這些數(shù)據(jù)傳送給主機(jī),接收主機(jī)發(fā)送來的參數(shù)和控制信息,通過繼電器組控制上水、溫差循環(huán)、輔助電加熱、管道防凍和恒溫供水等。從機(jī)電路如圖3所示。

c.JPG


2.2.1 水位測量
    先用非對稱式多諧振蕩器電路把水位傳感器的阻值大小轉(zhuǎn)換為振蕩信號的頻率,再用單片機(jī)內(nèi)部的計數(shù)器測量信號的頻率來測量水位。如圖4所示,非對稱式多諧振蕩器電路由74HC04、C1、R5~R7和水位傳感器的電阻Rw組成。該振蕩器的振蕩頻率為f=1/[2.2(R5+R6+Rw)C1]。可選用四個電阻相串聯(lián),在電阻引線處引出5個水位探測電極,作為4水位測量傳感器。由于水有導(dǎo)電性,水位的變化引起水位探測電極間的短路,改變水位傳感器的電阻Rw的阻值,使振蕩頻率f發(fā)生變化。該振蕩信號經(jīng)非門隔離后接單片機(jī)的引腳PB1,由Tmega16片內(nèi)16位計數(shù)器T1對振蕩信號的頻率f計數(shù)來測量水位高低。通過大量實驗,對上述多諧振蕩器電路和參數(shù),當(dāng)選用阻值分別為30、10、10、10 kΩ的4個電阻串聯(lián)組成測量水位傳感器時,振蕩信號的頻率f的值在60~415 Hz之間,用于水位測量,效果很好。

d.JPG


2.2.2 溫度測量
    四路測溫電路完全相同,選用NTC熱敏電阻器測溫傳感器,每一路都是用一個阻值固定的電阻(如R1)與一個熱敏電阻(如RT1)串聯(lián),對5 V電源電壓分壓,利用熱敏電阻上的壓降隨溫度變化而變化實現(xiàn)溫度的測量。在圖4中,四個熱敏電阻RT1~RT4上的電壓分別接到引腳AD0~AD3上。通過ATmega16內(nèi)置的多通道10位A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號后由程序讀取,分別用于測量儲水箱水溫、集熱器溫度、溫差循環(huán)管道溫度和供水溫度。NTC熱敏電阻具有電阻溫度系數(shù)大,靈敏度高,體積小,響應(yīng)速度快,能進(jìn)行精密溫度測量的優(yōu)點,缺點是熱電特性非線性現(xiàn)象嚴(yán)重。如使用TG408503(25℃時,阻值50kΩ,B值4050K,玻璃封裝)NTC熱敏電阻,在0~99℃范圍內(nèi),電阻的靈敏度約為8500~100Ω/℃。因此使用時一般要進(jìn)行線性補(bǔ)償。通過計算和分析,在RT1~RT4選用玻璃封裝。精度為50 kΩ±0.5%,B值為4 050K±1%的NTC熱敏電阻,電阻R1~R4選用精度為20 kΩ±0.5%的金屬膜電阻時,測溫精度可達(dá)±1℃。
2.2.3 控制電路
    從機(jī)通過PB0、PB2~PB4控制4路繼電器,分別用來控制溫差循環(huán)泵、輔助電加熱、防凍電伴熱帶、上水電磁閥等。如在主機(jī)按“上水”鍵,主機(jī)將把信號發(fā)給從機(jī),從機(jī)再將PB4置高,啟動手動上水,再次按“上水”鍵,程序使PB4輸出低電平口,手動關(guān)閉上水。其它功能和“上水”,基本相同。在PB0、PB2~PB4與繼電器之間加入光電耦合器TLP521,用于隔離繼電器的干擾。

3 系統(tǒng)軟件設(shè)計
    測控系統(tǒng)的程序用C語言編寫,程序并不復(fù)雜,主要包含有LCD顯示,RS-485通信,行列鍵盤輸入,A/D數(shù)據(jù)處理,繼電器控制等幾個程序模塊。在該設(shè)計中雖然只是雙機(jī)通信,但是為了將來擴(kuò)展的需要,通信采用輪詢方式。首先主機(jī)發(fā)送指令,從機(jī)接收指令,根據(jù)指令,判斷執(zhí)行相應(yīng)動作。指令總共3種,所以用兩位二值代碼,代碼有:00為查詢,01為設(shè)置參數(shù),02為手動指令傳輸。485通信流程如下:主機(jī)隔
50 ms發(fā)查詢幀一>從機(jī)返回傳感器數(shù)值數(shù)據(jù)幀;設(shè)置參數(shù)、狀態(tài)等:主機(jī)發(fā)設(shè)置參數(shù)幀,啟動定時器定時20 ms一>從機(jī)返回設(shè)置確認(rèn)幀;若在定時時間內(nèi)沒有收到從機(jī)返回數(shù)據(jù),則重新發(fā)送,一直等到從機(jī)返回正確數(shù)據(jù)。

4 結(jié)論
    太陽能集熱熱水工程現(xiàn)已大量安裝于工廠、賓館、居民樓等需要提供大量熱水的場所,與其配套使用的控制系統(tǒng)是不可缺少的部分。本系統(tǒng)以ATmega16為控制芯片,使用RS-485通信,主機(jī)和從機(jī)之間通信距離可達(dá)1 km以上。系統(tǒng)采用NTC熱敏電阻和A/D轉(zhuǎn)換測溫的方案,電路簡單,能滿足太陽能集熱熱水工程中多路測溫的精度要求。用非對稱多諧振蕩器電路測量水位的辦法,水位傳感器制作容易,成本低,可以實現(xiàn)水位的可靠測量。本系統(tǒng)功能實用,人機(jī)對話界面直觀,操作簡便,測控可靠,較好地解決了太陽能熱水工程或其它一些場合對水位、溫度的遠(yuǎn)距離測控的問題。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。