《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的智能家居之熱水器控制系統(tǒng)
基于STM32的智能家居之熱水器控制系統(tǒng)
2014年微型機(jī)與應(yīng)用第19期
夏 超,凌衛(wèi)青
同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 200092
摘要: 針對熱水器在智能家居中的實(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)程開啟和控制熱水器的功能,從而更加方便地使用熱水,也可以遠(yuǎn)程設(shè)定時(shí)間監(jiān)控,設(shè)定后不需要人工干預(yù),同時(shí)可實(shí)現(xiàn)錯(cuò)峰加熱,節(jié)約電能。
關(guān)鍵詞: STM32 智能家居 GPRS 熱水器 嵌入式
Abstract:
Key words :

  摘 要: 針對熱水器智能家居中的實(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)程開啟和控制熱水器的功能,從而更加方便地使用熱水,也可以遠(yuǎn)程設(shè)定時(shí)間監(jiān)控,設(shè)定后不需要人工干預(yù),同時(shí)可實(shí)現(xiàn)錯(cuò)峰加熱,節(jié)約電能。

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

0 引言

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

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

  本控制系統(tǒng)針對熱水器進(jìn)行控制,遠(yuǎn)程操作部分與主控制器以串口連接,智能家居中溫度控制節(jié)點(diǎn)與主控制器形成一個(gè)GPRS網(wǎng)絡(luò)相互通信,所以通過外部移動(dòng)終端就可以實(shí)現(xiàn)與主控制器的通信從而實(shí)現(xiàn)對智能家居中熱水器的溫度節(jié)點(diǎn)的控制。當(dāng)然也可以由主控制器來直接控制溫度節(jié)點(diǎn)的運(yùn)行,這樣更快捷。主控制器發(fā)送控制命令給溫度節(jié)點(diǎn),溫度節(jié)點(diǎn)收到命令后進(jìn)行相應(yīng)分析并做出相應(yīng)動(dòng)作,然后返回最終的狀態(tài)給主控制器,主控制器通過串口將各節(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è)主要模塊功能如下:

 ?。?)按預(yù)設(shè)的溫度對水膽進(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è)定開機(jī)時(shí)間和關(guān)機(jī)時(shí)間,使熱水器按設(shè)定的時(shí)段定時(shí)加熱。

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

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

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

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

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

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

  2.1.1 檢測原理

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

  WZREV9VL7(0ACBSJE4F7$3J.png

  其中,RT0為水溫在T0時(shí)的電阻值,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)換電路


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的模擬量輸入端,分別用于檢測電阻R01、R02上的電壓,然后由STM32的A/D轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換,從而測出其對應(yīng)的溫度。

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

  無線傳輸通信模塊分為兩大部分:主控模塊和無線收發(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所示。為簡化電路, 其中,采用串聯(lián)一個(gè)二極管IN4007的方法,使GPRS模塊的實(shí)際電壓約為4.3 V左右,滿足供電需求。另一部分,通過三端線性穩(wěn)壓芯片LM1117輸出3.3 V電壓,同時(shí),在LM1117芯片的兩端加0.1 μF和100 μF電容進(jìn)行濾波處理,對STM32芯片部分供電。

  2.2.2 傳輸通信模塊


004.jpg

  無線傳輸通信模塊選用西門子的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ì)

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

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

005.jpg

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

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

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


006.jpg

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

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

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

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

4 結(jié)論

  隨著電子技術(shù)的飛速發(fā)展,社會(huì)發(fā)展步入了信息時(shí)代,隨著人們生活水平的提高,對生活質(zhì)量的要求也不斷提高,這對電子領(lǐng)域提出了更高的要求。采用STM32F103作為控制核心,設(shè)計(jì)遠(yuǎn)程控制的智能家用電熱水器,可以滿足低價(jià)格、高性能、尤其是智能化的要求。本系統(tǒng)實(shí)現(xiàn)了恒溫和水位的自動(dòng)調(diào)節(jié)控制功能,通過遠(yuǎn)程開啟和控制熱水器實(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)在市場上先進(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é)點(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)載。