《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的智能家居之熱水器控制系統(tǒng)
基于STM32的智能家居之熱水器控制系統(tǒng)
2014年微型機(jī)與應(yīng)用第19期
夏 超,凌衛(wèi)青
同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 200092
摘要: 針對(duì)熱水器在智能家居中的實(shí)際應(yīng)用,,設(shè)計(jì)了一種基于STM32的熱水器控制系統(tǒng),,用戶可以遠(yuǎn)程實(shí)現(xiàn)熱水器的水溫控制。本設(shè)計(jì)以STM32F130處理器作為控制器件,,在減少外圍器件的同時(shí)實(shí)現(xiàn)了恒溫和水位的自動(dòng)調(diào)節(jié)控制,,還可實(shí)施遠(yuǎn)程監(jiān)控,根據(jù)不同的需要實(shí)現(xiàn)遠(yuǎn)程開(kāi)啟和控制熱水器的功能,,從而更加方便地使用熱水,,也可以遠(yuǎn)程設(shè)定時(shí)間監(jiān)控,,設(shè)定后不需要人工干預(yù),同時(shí)可實(shí)現(xiàn)錯(cuò)峰加熱,,節(jié)約電能,。
關(guān)鍵詞: STM32 智能家居 GPRS 熱水器 嵌入式
Abstract:
Key words :

  摘 要: 針對(duì)熱水器智能家居中的實(shí)際應(yīng)用,設(shè)計(jì)了一種基于STM32的熱水器控制系統(tǒng),,用戶可以遠(yuǎn)程實(shí)現(xiàn)熱水器的水溫控制,。本設(shè)計(jì)以STM32F130處理器作為控制器件,在減少外圍器件的同時(shí)實(shí)現(xiàn)了恒溫和水位的自動(dòng)調(diào)節(jié)控制,,還可實(shí)施遠(yuǎn)程監(jiān)控,,根據(jù)不同的需要實(shí)現(xiàn)遠(yuǎn)程開(kāi)啟和控制熱水器的功能,從而更加方便地使用熱水,,也可以遠(yuǎn)程設(shè)定時(shí)間監(jiān)控,,設(shè)定后不需要人工干預(yù),同時(shí)可實(shí)現(xiàn)錯(cuò)峰加熱,,節(jié)約電能,。

  關(guān)鍵詞: STM32;智能家居,;GPRS,;熱水器;嵌入式

0 引言

  市場(chǎng)上的電熱水器有儲(chǔ)水式電熱水器和即熱式電熱水器兩種,。即熱式熱水器的優(yōu)點(diǎn)是方便快捷,,不占空間,安全,,最大限度地減少了熱量散失,,出水溫度恒定,缺點(diǎn)是功率較大,,對(duì)電表,、電線的要求較高。儲(chǔ)水式電熱水器的優(yōu)點(diǎn)是功率要求低,,因可實(shí)現(xiàn)上水停電,,使用更安全,可實(shí)現(xiàn)定時(shí)加熱,,缺點(diǎn)是加熱慢,,所帶保溫儲(chǔ)水罐占較大空間,不適合長(zhǎng)時(shí)間連續(xù)用水,,使用過(guò)程中大多需經(jīng)常調(diào)節(jié)水溫,。為提高電熱水器的節(jié)能性、多功能化,、智能化,,本文基于Cortex-M3內(nèi)核,,結(jié)合溫度采集模塊、無(wú)線傳輸模塊,,設(shè)計(jì)了一個(gè)可以遠(yuǎn)程控制溫度的控制系統(tǒng),,最終實(shí)現(xiàn)智能家居的熱水器控制。

1 總體設(shè)計(jì)和系統(tǒng)功能

  本控制系統(tǒng)針對(duì)熱水器進(jìn)行控制,,遠(yuǎn)程操作部分與主控制器以串口連接,,智能家居中溫度控制節(jié)點(diǎn)與主控制器形成一個(gè)GPRS網(wǎng)絡(luò)相互通信,所以通過(guò)外部移動(dòng)終端就可以實(shí)現(xiàn)與主控制器的通信從而實(shí)現(xiàn)對(duì)智能家居中熱水器的溫度節(jié)點(diǎn)的控制,。當(dāng)然也可以由主控制器來(lái)直接控制溫度節(jié)點(diǎn)的運(yùn)行,這樣更快捷,。主控制器發(fā)送控制命令給溫度節(jié)點(diǎn),,溫度節(jié)點(diǎn)收到命令后進(jìn)行相應(yīng)分析并做出相應(yīng)動(dòng)作,然后返回最終的狀態(tài)給主控制器,,主控制器通過(guò)串口將各節(jié)點(diǎn)的信息發(fā)送到遠(yuǎn)程操作系統(tǒng)或直接顯示到自帶的顯示液晶上,。系統(tǒng)結(jié)構(gòu)圖如圖1所示[1]。

001.jpg

  本系統(tǒng)的終端設(shè)備采用模塊化的結(jié)構(gòu)設(shè)計(jì)思想,,將終端設(shè)備分為主控模塊和各個(gè)功能模塊,。主控模塊和各功能模塊之間有統(tǒng)一的或者特定形式的接口,可根據(jù)實(shí)際情況選用不同的功能模塊,。各功能模塊又包含多個(gè)節(jié)點(diǎn),,每個(gè)節(jié)點(diǎn)即為通信的一個(gè)終端,各節(jié)點(diǎn)之間相互獨(dú)立,,某一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí)不會(huì)影響到其他節(jié)點(diǎn)的運(yùn)行,。

  熱水器控制系統(tǒng)的幾個(gè)主要模塊功能如下:

  (1)按預(yù)設(shè)的溫度對(duì)水膽進(jìn)行加熱控制:在水膽溫度到達(dá)預(yù)設(shè)溫度后自動(dòng)停止加熱,,低于預(yù)設(shè)溫度時(shí)自動(dòng)恢復(fù)加熱,。用戶可根據(jù)實(shí)際情況自行設(shè)定水膽溫度,例如熱水需求量大時(shí)可調(diào)高水膽溫度以滿足用水需要,,而熱水需求量少時(shí)則可將水膽溫度調(diào)低以減少熱量散失,。

  (2)可控恒溫和定時(shí)加熱:用戶可在實(shí)際范圍內(nèi)任意設(shè)定出水溫度,,由嵌入式設(shè)備控制按照用戶設(shè)定的溫度恒溫出水,;同時(shí)可設(shè)定開(kāi)機(jī)時(shí)間和關(guān)機(jī)時(shí)間,使熱水器按設(shè)定的時(shí)段定時(shí)加熱,。

 ?。?)溫度與時(shí)間的LCD顯示:顯示溫度及時(shí)間。

 ?。?)自動(dòng)報(bào)警:在系統(tǒng)檢測(cè)到有故障現(xiàn)象時(shí),,發(fā)出報(bào)警信息,,該信息通過(guò)GPRS網(wǎng)絡(luò)及時(shí)傳回遠(yuǎn)端的終端,并進(jìn)行漏電保護(hù)和干燒防護(hù),。

 ?。?)遠(yuǎn)程控制:在控制端界面顯示各個(gè)終端的運(yùn)行情況、當(dāng)前的實(shí)時(shí)溫度信息,,用戶指令通過(guò)控制端下發(fā)到采集端,,最后通過(guò)采集端回傳終端所需要的信息。用戶可以通過(guò)移動(dòng)終端控制熱水器的開(kāi)關(guān)和溫度設(shè)定等,,并可查詢熱水器的工作狀態(tài),。

2 系統(tǒng)硬件設(shè)計(jì)

  熱水器硬件電路主要由溫度采集模塊、主控制器模塊,、電加熱功率驅(qū)動(dòng)模塊,、電源管理模塊、無(wú)線傳輸通信模塊和顯示模塊等組成,。

  2.1 溫度采集硬件設(shè)計(jì)

  2.1.1 檢測(cè)原理

  為對(duì)水膽水溫,、出水溫度進(jìn)行控制及顯示,需對(duì)水膽水溫與出水溫度進(jìn)行檢測(cè),。本設(shè)計(jì)采用的溫度傳感器是負(fù)溫度系數(shù)(NTC)熱敏電阻,,利用其阻值隨溫度變化而改變的特性進(jìn)行溫度檢測(cè)[2]。此熱敏電阻的阻值與水溫的特性表達(dá)式為:

  WZREV9VL7(0ACBSJE4F7$3J.png

  其中,,RT0為水溫在T0時(shí)的電阻值,,T0為室溫值,即25℃,,β是材料的系數(shù),。

  NTC熱敏電阻分別安裝在水膽和混水管內(nèi)以達(dá)到測(cè)溫目的。由溫度轉(zhuǎn)換電路將溫度值轉(zhuǎn)換為電量,,輸入到嵌入式系統(tǒng)的電壓采樣電路并進(jìn)行模數(shù)轉(zhuǎn)換,,從而測(cè)量到水膽和混水管內(nèi)的水溫度值。

  2.1.2 溫度轉(zhuǎn)換電路


002.jpg

  圖2所示為溫度轉(zhuǎn)換電路,,其中RT1,、RT2分別為安裝于水膽和混水管內(nèi)的NTC熱敏電阻。當(dāng)水膽內(nèi)的溫度和混水管內(nèi)的溫度發(fā)生變化時(shí),,RT1,、RT2的電阻值也隨之改變,STM32處理器的PA0,、PA1端口上的電壓也相應(yīng)地發(fā)生變化,。PA0、PA1是STM32的模擬量輸入端,分別用于檢測(cè)電阻R01,、R02上的電壓,,然后由STM32的A/D轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換,從而測(cè)出其對(duì)應(yīng)的溫度,。

  2.2 無(wú)線傳輸通信模塊設(shè)計(jì)[3]

  無(wú)線傳輸通信模塊分為兩大部分:主控模塊和無(wú)線收發(fā)模塊,。主控模塊由微處理器、Flash ROM,、SDRAM,、復(fù)位電路、電源電路等組成,。

  2.2.1 電源模塊


003.jpg

  GPRS的供電范圍為3.3 V~4.8 V,,STM32處理器供電電壓為3.3 V。為了滿足系統(tǒng)各個(gè)部分供電的需求,,采用DC5V作為電路板的供電電源,,電路部分如圖3所示。為簡(jiǎn)化電路, 其中,,采用串聯(lián)一個(gè)二極管IN4007的方法,使GPRS模塊的實(shí)際電壓約為4.3 V左右,滿足供電需求,。另一部分,,通過(guò)三端線性穩(wěn)壓芯片LM1117輸出3.3 V電壓,同時(shí),,在LM1117芯片的兩端加0.1 μF和100 μF電容進(jìn)行濾波處理,,對(duì)STM32芯片部分供電。

  2.2.2 傳輸通信模塊


004.jpg

  無(wú)線傳輸通信模塊選用西門(mén)子的MC55模塊,,其內(nèi)嵌有TCP/IP協(xié)議,,不僅降低了設(shè)計(jì)的難度,也提高了整個(gè)系統(tǒng)的性能,,便于實(shí)現(xiàn)采集數(shù)據(jù)的遠(yuǎn)程傳輸[4],。傳輸通信模塊使用標(biāo)準(zhǔn)的串口直接與STM32相連,如圖4所示,。由于此模塊的接口邏輯電壓為2.65 V,,不能直接與STM32的端口(工作電壓3.3 V)相連,必須使用轉(zhuǎn)換電路實(shí)現(xiàn)邏輯電平匹配,,因此在兩器件間的各管腳之間都連接一個(gè)100 Ω的電阻,。傳輸通信模塊的RINGO與STM32的RTS1相接, 以中斷方式將數(shù)據(jù)輸送到STM32控制器。

  2.3 功率驅(qū)動(dòng)模塊設(shè)計(jì)

  對(duì)水箱內(nèi)的水加熱的控制采用調(diào)功型調(diào)溫系統(tǒng),。所謂調(diào)功型調(diào)溫就是在固定周期內(nèi),,調(diào)節(jié)導(dǎo)通和關(guān)斷之比(占空比),并采用過(guò)零觸發(fā)雙向可控硅電路,實(shí)現(xiàn)對(duì)水溫的控制,。在占空比為1時(shí),,輸出連續(xù)的正弦波;占空比為0時(shí),,不輸出正弦波,。

  由于用STM32F103控制器來(lái)控制水溫加熱模塊,因此調(diào)功型調(diào)溫的PWM信號(hào)由STM32F103的PB6輸出,,具體的原理圖如圖5所示,。

005.jpg

  直接利用STM32F103的TIM4_CH1(PB6)輸出PWM信號(hào),連接到帶過(guò)零檢測(cè)功能的光電耦合雙向可控硅驅(qū)動(dòng)器MOC3041上,,實(shí)現(xiàn)控制信號(hào)與強(qiáng)電的隔離,。MOC3041的輸出觸發(fā)信號(hào)控制雙向晶閘管T1(BTA20),實(shí)現(xiàn)了對(duì)水膽水溫的控制,。

3 系統(tǒng)軟件設(shè)計(jì)

  3.1 水溫測(cè)量程序設(shè)計(jì)


006.jpg

  圖6所示為水溫測(cè)量流程圖,。水膽和混水管內(nèi)水溫測(cè)量得到的溫度值均采用相同的數(shù)值處理方式,將模數(shù)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行處理,,并作為水溫值,。將處理過(guò)程設(shè)計(jì)成子程序,以便調(diào)用,,實(shí)現(xiàn)數(shù)據(jù)處理,。不用水時(shí),不必對(duì)混水管內(nèi)的水溫進(jìn)行測(cè)量,。其中在初始化轉(zhuǎn)換通道及啟動(dòng)轉(zhuǎn)換開(kāi)始后的采樣階段要滿足最小采樣時(shí)間t [5],。

  3.2 GPRS無(wú)線數(shù)據(jù)傳輸模塊

  首先通過(guò)SPI總線將溫度采集處理模塊采集到的數(shù)據(jù)傳送到處理器,然后經(jīng)由串口AT指令傳輸?shù)紾PRS模塊,,最后發(fā)送到GPRS網(wǎng)絡(luò),,這就需要在STM32平臺(tái)上構(gòu)建操作系統(tǒng)。本文在移植Bootloader內(nèi)核源碼包的基礎(chǔ)上,首先通過(guò)對(duì)內(nèi)核作適當(dāng)?shù)呐渲煤筒眉?,然后使用交叉編譯工具將文件編譯成內(nèi)核鏡像文件, 最后通過(guò)Bootloader下載到設(shè)備上運(yùn)行,。同時(shí),為了便于使用和進(jìn)行應(yīng)用程序的開(kāi)發(fā),還要組建文件系統(tǒng),。

  GPRS模塊包括具有登錄GPRS網(wǎng)絡(luò)功能的芯片及相應(yīng)的協(xié)助處理數(shù)字電路,,通過(guò)通信協(xié)議與STM32控制器實(shí)現(xiàn)串行通信。傳輸過(guò)程中,,把數(shù)據(jù)壓縮為數(shù)據(jù)包,,通過(guò)Internet網(wǎng)絡(luò)接入的指定服務(wù)器,送到控制中心的控制主機(jī),。其中數(shù)據(jù)的發(fā)送和接收均按照自定義的點(diǎn)到點(diǎn)傳輸通信協(xié)議,,確保所傳數(shù)據(jù)的安全以及發(fā)送和接收的可靠,。

4 結(jié)論

  隨著電子技術(shù)的飛速發(fā)展,社會(huì)發(fā)展步入了信息時(shí)代,,隨著人們生活水平的提高,,對(duì)生活質(zhì)量的要求也不斷提高,這對(duì)電子領(lǐng)域提出了更高的要求,。采用STM32F103作為控制核心,,設(shè)計(jì)遠(yuǎn)程控制的智能家用電熱水器,可以滿足低價(jià)格,、高性能,、尤其是智能化的要求。本系統(tǒng)實(shí)現(xiàn)了恒溫和水位的自動(dòng)調(diào)節(jié)控制功能,,通過(guò)遠(yuǎn)程開(kāi)啟和控制熱水器實(shí)施遠(yuǎn)程監(jiān)控功能,,從而更加方便地使用熱水,也可以遠(yuǎn)程設(shè)定時(shí)間監(jiān)控,,設(shè)定后不需要人工干預(yù),,同時(shí)實(shí)現(xiàn)了錯(cuò)峰加熱,節(jié)約電能,。在現(xiàn)有眾多的控制手段中,,采用典型的嵌入式控制系統(tǒng),相比現(xiàn)在市場(chǎng)上先進(jìn)的電熱水器,,更能夠滿足人們對(duì)現(xiàn)代化智能家居的使用要求,。

參考文獻(xiàn)

  [1] 明五一,沈娣麗,劉武發(fā). 基于ARM7 無(wú)線傳輸?shù)臒犭娕歼h(yuǎn)程監(jiān)控系統(tǒng)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(3):61-64.

  [2] 胡潤(rùn)峰.NTC熱敏電阻溫度傳感器[J].傳感器世界,2001,,7(7):26-29.

  [3] 崔光照,陳富強(qiáng),,張海霞,,等. 基于ARM9的無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)節(jié)點(diǎn)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2008,34(11):115-118.

  [4] SIEMENS.MC55/56 hardware interface description[Z]. 2006.

  [5] 郁玉龍,趙寧,盧洪武.用AT89C51單片機(jī)設(shè)計(jì)智能家用電熱水器[J].電子制作,2007(10):33-35.


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