摘 要: 針對熱水器在智能家居中的實際應(yīng)用,設(shè)計了一種基于STM32的熱水器控制系統(tǒng),,用戶可以遠(yuǎn)程實現(xiàn)熱水器的水溫控制,。本設(shè)計以STM32F130處理器作為控制器件,在減少外圍器件的同時實現(xiàn)了恒溫和水位的自動調(diào)節(jié)控制,,還可實施遠(yuǎn)程監(jiān)控,,根據(jù)不同的需要實現(xiàn)遠(yuǎn)程開啟和控制熱水器的功能,從而更加方便地使用熱水,,也可以遠(yuǎn)程設(shè)定時間監(jiān)控,,設(shè)定后不需要人工干預(yù),同時可實現(xiàn)錯峰加熱,,節(jié)約電能,。
關(guān)鍵詞: STM32;智能家居,;GPRS,;熱水器;嵌入式
0 引言
市場上的電熱水器有儲水式電熱水器和即熱式電熱水器兩種,。即熱式熱水器的優(yōu)點是方便快捷,,不占空間,安全,,最大限度地減少了熱量散失,,出水溫度恒定,缺點是功率較大,,對電表,、電線的要求較高。儲水式電熱水器的優(yōu)點是功率要求低,,因可實現(xiàn)上水停電,,使用更安全,可實現(xiàn)定時加熱,缺點是加熱慢,,所帶保溫儲水罐占較大空間,,不適合長時間連續(xù)用水,使用過程中大多需經(jīng)常調(diào)節(jié)水溫,。為提高電熱水器的節(jié)能性,、多功能化,、智能化,,本文基于Cortex-M3內(nèi)核,結(jié)合溫度采集模塊,、無線傳輸模塊,,設(shè)計了一個可以遠(yuǎn)程控制溫度的控制系統(tǒng),最終實現(xiàn)智能家居的熱水器控制,。
1 總體設(shè)計和系統(tǒng)功能
本控制系統(tǒng)針對熱水器進(jìn)行控制,,遠(yuǎn)程操作部分與主控制器以串口連接,智能家居中溫度控制節(jié)點與主控制器形成一個GPRS網(wǎng)絡(luò)相互通信,,所以通過外部移動終端就可以實現(xiàn)與主控制器的通信從而實現(xiàn)對智能家居中熱水器的溫度節(jié)點的控制,。當(dāng)然也可以由主控制器來直接控制溫度節(jié)點的運行,這樣更快捷,。主控制器發(fā)送控制命令給溫度節(jié)點,,溫度節(jié)點收到命令后進(jìn)行相應(yīng)分析并做出相應(yīng)動作,然后返回最終的狀態(tài)給主控制器,,主控制器通過串口將各節(jié)點的信息發(fā)送到遠(yuǎn)程操作系統(tǒng)或直接顯示到自帶的顯示液晶上,。系統(tǒng)結(jié)構(gòu)圖如圖1所示[1]。
本系統(tǒng)的終端設(shè)備采用模塊化的結(jié)構(gòu)設(shè)計思想,,將終端設(shè)備分為主控模塊和各個功能模塊,。主控模塊和各功能模塊之間有統(tǒng)一的或者特定形式的接口,可根據(jù)實際情況選用不同的功能模塊,。各功能模塊又包含多個節(jié)點,,每個節(jié)點即為通信的一個終端,各節(jié)點之間相互獨立,,某一個節(jié)點出現(xiàn)故障時不會影響到其他節(jié)點的運行,。
熱水器控制系統(tǒng)的幾個主要模塊功能如下:
(1)按預(yù)設(shè)的溫度對水膽進(jìn)行加熱控制:在水膽溫度到達(dá)預(yù)設(shè)溫度后自動停止加熱,,低于預(yù)設(shè)溫度時自動恢復(fù)加熱,。用戶可根據(jù)實際情況自行設(shè)定水膽溫度,例如熱水需求量大時可調(diào)高水膽溫度以滿足用水需要,,而熱水需求量少時則可將水膽溫度調(diào)低以減少熱量散失,。
(2)可控恒溫和定時加熱:用戶可在實際范圍內(nèi)任意設(shè)定出水溫度,由嵌入式設(shè)備控制按照用戶設(shè)定的溫度恒溫出水,;同時可設(shè)定開機(jī)時間和關(guān)機(jī)時間,,使熱水器按設(shè)定的時段定時加熱。
?。?)溫度與時間的LCD顯示:顯示溫度及時間,。
(4)自動報警:在系統(tǒng)檢測到有故障現(xiàn)象時,,發(fā)出報警信息,,該信息通過GPRS網(wǎng)絡(luò)及時傳回遠(yuǎn)端的終端,并進(jìn)行漏電保護(hù)和干燒防護(hù),。
?。?)遠(yuǎn)程控制:在控制端界面顯示各個終端的運行情況、當(dāng)前的實時溫度信息,,用戶指令通過控制端下發(fā)到采集端,,最后通過采集端回傳終端所需要的信息。用戶可以通過移動終端控制熱水器的開關(guān)和溫度設(shè)定等,,并可查詢熱水器的工作狀態(tài),。
2 系統(tǒng)硬件設(shè)計
熱水器硬件電路主要由溫度采集模塊、主控制器模塊,、電加熱功率驅(qū)動模塊,、電源管理模塊、無線傳輸通信模塊和顯示模塊等組成,。
2.1 溫度采集硬件設(shè)計
2.1.1 檢測原理
為對水膽水溫,、出水溫度進(jìn)行控制及顯示,需對水膽水溫與出水溫度進(jìn)行檢測,。本設(shè)計采用的溫度傳感器是負(fù)溫度系數(shù)(NTC)熱敏電阻,,利用其阻值隨溫度變化而改變的特性進(jìn)行溫度檢測[2]。此熱敏電阻的阻值與水溫的特性表達(dá)式為:
其中,,RT0為水溫在T0時的電阻值,,T0為室溫值,即25℃,,β是材料的系數(shù),。
NTC熱敏電阻分別安裝在水膽和混水管內(nèi)以達(dá)到測溫目的。由溫度轉(zhuǎn)換電路將溫度值轉(zhuǎn)換為電量,,輸入到嵌入式系統(tǒng)的電壓采樣電路并進(jìn)行模數(shù)轉(zhuǎn)換,,從而測量到水膽和混水管內(nèi)的水溫度值。
2.1.2 溫度轉(zhuǎn)換電路
圖2所示為溫度轉(zhuǎn)換電路,,其中RT1,、RT2分別為安裝于水膽和混水管內(nèi)的NTC熱敏電阻,。當(dāng)水膽內(nèi)的溫度和混水管內(nèi)的溫度發(fā)生變化時,RT1,、RT2的電阻值也隨之改變,,STM32處理器的PA0、PA1端口上的電壓也相應(yīng)地發(fā)生變化,。PA0,、PA1是STM32的模擬量輸入端,分別用于檢測電阻R01,、R02上的電壓,,然后由STM32的A/D轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換,從而測出其對應(yīng)的溫度,。
2.2 無線傳輸通信模塊設(shè)計[3]
無線傳輸通信模塊分為兩大部分:主控模塊和無線收發(fā)模塊,。主控模塊由微處理器,、Flash ROM,、SDRAM、復(fù)位電路,、電源電路等組成,。
2.2.1 電源模塊
GPRS的供電范圍為3.3 V~4.8 V,STM32處理器供電電壓為3.3 V,。為了滿足系統(tǒng)各個部分供電的需求,,采用DC5V作為電路板的供電電源,電路部分如圖3所示,。為簡化電路, 其中,,采用串聯(lián)一個二極管IN4007的方法,使GPRS模塊的實際電壓約為4.3 V左右,滿足供電需求,。另一部分,,通過三端線性穩(wěn)壓芯片LM1117輸出3.3 V電壓,同時,,在LM1117芯片的兩端加0.1 μF和100 μF電容進(jìn)行濾波處理,,對STM32芯片部分供電。
2.2.2 傳輸通信模塊
無線傳輸通信模塊選用西門子的MC55模塊,,其內(nèi)嵌有TCP/IP協(xié)議,,不僅降低了設(shè)計的難度,也提高了整個系統(tǒng)的性能,,便于實現(xiàn)采集數(shù)據(jù)的遠(yuǎn)程傳輸[4],。傳輸通信模塊使用標(biāo)準(zhǔn)的串口直接與STM32相連,如圖4所示,。由于此模塊的接口邏輯電壓為2.65 V,,不能直接與STM32的端口(工作電壓3.3 V)相連,必須使用轉(zhuǎn)換電路實現(xiàn)邏輯電平匹配,因此在兩器件間的各管腳之間都連接一個100 Ω的電阻,。傳輸通信模塊的RINGO與STM32的RTS1相接, 以中斷方式將數(shù)據(jù)輸送到STM32控制器,。
2.3 功率驅(qū)動模塊設(shè)計
對水箱內(nèi)的水加熱的控制采用調(diào)功型調(diào)溫系統(tǒng)。所謂調(diào)功型調(diào)溫就是在固定周期內(nèi),,調(diào)節(jié)導(dǎo)通和關(guān)斷之比(占空比),,并采用過零觸發(fā)雙向可控硅電路,實現(xiàn)對水溫的控制,。在占空比為1時,,輸出連續(xù)的正弦波;占空比為0時,,不輸出正弦波,。
由于用STM32F103控制器來控制水溫加熱模塊,因此調(diào)功型調(diào)溫的PWM信號由STM32F103的PB6輸出,,具體的原理圖如圖5所示,。
直接利用STM32F103的TIM4_CH1(PB6)輸出PWM信號,連接到帶過零檢測功能的光電耦合雙向可控硅驅(qū)動器MOC3041上,,實現(xiàn)控制信號與強(qiáng)電的隔離,。MOC3041的輸出觸發(fā)信號控制雙向晶閘管T1(BTA20),實現(xiàn)了對水膽水溫的控制,。
3 系統(tǒng)軟件設(shè)計
3.1 水溫測量程序設(shè)計
圖6所示為水溫測量流程圖,。水膽和混水管內(nèi)水溫測量得到的溫度值均采用相同的數(shù)值處理方式,將模數(shù)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行處理,,并作為水溫值,。將處理過程設(shè)計成子程序,以便調(diào)用,,實現(xiàn)數(shù)據(jù)處理,。不用水時,不必對混水管內(nèi)的水溫進(jìn)行測量,。其中在初始化轉(zhuǎn)換通道及啟動轉(zhuǎn)換開始后的采樣階段要滿足最小采樣時間t [5],。
3.2 GPRS無線數(shù)據(jù)傳輸模塊
首先通過SPI總線將溫度采集處理模塊采集到的數(shù)據(jù)傳送到處理器,然后經(jīng)由串口AT指令傳輸?shù)紾PRS模塊,,最后發(fā)送到GPRS網(wǎng)絡(luò),,這就需要在STM32平臺上構(gòu)建操作系統(tǒng)。本文在移植Bootloader內(nèi)核源碼包的基礎(chǔ)上,首先通過對內(nèi)核作適當(dāng)?shù)呐渲煤筒眉?,然后使用交叉編譯工具將文件編譯成內(nèi)核鏡像文件, 最后通過Bootloader下載到設(shè)備上運行,。同時,為了便于使用和進(jìn)行應(yīng)用程序的開發(fā),還要組建文件系統(tǒng),。
GPRS模塊包括具有登錄GPRS網(wǎng)絡(luò)功能的芯片及相應(yīng)的協(xié)助處理數(shù)字電路,,通過通信協(xié)議與STM32控制器實現(xiàn)串行通信,。傳輸過程中,把數(shù)據(jù)壓縮為數(shù)據(jù)包,,通過Internet網(wǎng)絡(luò)接入的指定服務(wù)器,,送到控制中心的控制主機(jī)。其中數(shù)據(jù)的發(fā)送和接收均按照自定義的點到點傳輸通信協(xié)議,,確保所傳數(shù)據(jù)的安全以及發(fā)送和接收的可靠,。
4 結(jié)論
隨著電子技術(shù)的飛速發(fā)展,社會發(fā)展步入了信息時代,,隨著人們生活水平的提高,,對生活質(zhì)量的要求也不斷提高,這對電子領(lǐng)域提出了更高的要求,。采用STM32F103作為控制核心,,設(shè)計遠(yuǎn)程控制的智能家用電熱水器,可以滿足低價格,、高性能,、尤其是智能化的要求。本系統(tǒng)實現(xiàn)了恒溫和水位的自動調(diào)節(jié)控制功能,,通過遠(yuǎn)程開啟和控制熱水器實施遠(yuǎn)程監(jiān)控功能,,從而更加方便地使用熱水,也可以遠(yuǎn)程設(shè)定時間監(jiān)控,,設(shè)定后不需要人工干預(yù),同時實現(xiàn)了錯峰加熱,,節(jié)約電能,。在現(xiàn)有眾多的控制手段中,采用典型的嵌入式控制系統(tǒng),,相比現(xiàn)在市場上先進(jìn)的電熱水器,,更能夠滿足人們對現(xiàn)代化智能家居的使用要求。
參考文獻(xiàn)
[1] 明五一,沈娣麗,劉武發(fā). 基于ARM7 無線傳輸?shù)臒犭娕歼h(yuǎn)程監(jiān)控系統(tǒng)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(3):61-64.
[2] 胡潤峰.NTC熱敏電阻溫度傳感器[J].傳感器世界,,2001,,7(7):26-29.
[3] 崔光照,陳富強(qiáng),,張海霞,,等. 基于ARM9的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)節(jié)點設(shè)計[J].電子技術(shù)應(yīng)用,2008,34(11):115-118.
[4] SIEMENS.MC55/56 hardware interface description[Z]. 2006.
[5] 郁玉龍,趙寧,盧洪武.用AT89C51單片機(jī)設(shè)計智能家用電熱水器[J].電子制作,2007(10):33-35.