汪思嘉 汪思翔 李昊育 楊歡



摘 要:現有的淋浴系統智能化程度普遍不高,在節水設計方面的開發也是微乎其微。為了解決這樣的問題,使淋浴系統更加適合快速發展的時代,在此設計開發了具有節水理念的智能淋浴系統。將STM32處理器、DS18B20水溫傳感器、紅外人體感應探頭、紅外人體體溫傳感器、舵機混水閥搭載于現有淋浴之上,可檢測人體體溫,根據季節自動設置最佳水溫,自動感應淋浴下是否有人,通過PID算法精準控溫,OLED顯示屏上實時顯示水溫。選擇全自動感應模式后,5 s后達到預設溫度的熱水流出,可做到人走水斷。淋浴底座裝有廢水回收裝置,處理后的廢水可正常用于馬桶沖洗、拖地等。結果表明該系統應用后節水效果顯著,并且易于推廣。
關鍵詞:智能淋浴;STM32;多傳感器協作;舵機控溫;節水;PID算法
中圖分類號:TP277文獻標識碼:A文章編號:2095-1302(2019)07-00-04
0 引 言
隨著科學技術的快速普及,人們生活向智能化方向發展,但能源的消耗不容小覷。一方面生活要更加便捷,另一方面能源要更加節約,這樣才能真實推動我國可持續發展戰略的深入實施[1]。淋浴作為家家戶戶必不可少的生活設施,不論是在生活還是在能源利用方面都占有相當的分量?,F有的淋浴操作方式普遍較為傳統,且水溫控制十分不便,熱冷水的交融比例不宜把控,給洗浴帶來諸多不便[2]。另外,幾乎所有的洗浴設施都將洗浴所用的廢水直通下水道,很少二次利用,這就使得生活用水的利用程度不高,致使資源浪費。利用微型控制器將多傳感器復合,以用于淋浴系統,并增添廢水回收裝置,可解決上述問題。
1 系統總體設計
為了解決現有淋浴系統面臨的問題,本文設計一種基于STM32微型控制器的智能淋浴系統。系統總體結構如圖1所示,包括裝載于淋浴上的STM32F407VGT6處理器、紅外人體體溫傳感器、DS18B20水溫傳感器、紅外人體感應探頭、混水閥及電源等模塊。淋浴及其裝載的傳感器模塊協同工作。首先,紅外人體體溫傳感器捕捉到人體體溫,結合當前季節自動設定最舒適的洗浴溫度;DS18B20水溫傳感器實時檢測水溫溫度;混水閥的旋轉按鈕由舵機控制,并使用工業控制中常用的PID算法快速精確地控制舵機的轉角以控制混水閥中冷水熱水的混合程度,達到快速調整混水閥使水溫恒定的效果。當水溫達到一定溫度且紅外人體感應探頭感應到淋浴下方有人時,便立刻控制電磁閥出水,洗浴過程中也可手動設置調控水溫。洗浴廢水優先流入淋浴下方的廢水收集容器,流入的洗浴廢水經過簡單處理可用于沖洗馬桶、花卉澆灌、拖地等。
2 系統硬件設計
2.1 STM32F407VGT6處理器
本文設計的系統處理器采用Cortex-M4內核的STM32F407VGT6,最高主頻為168 MHz,集成DSP和FPU指令。其168 MHz的高速性能使得數字信號控制器應用和快速的產品開發達到了新的水平,提升了控制算法的執行速度和代碼效率。同時,提供1 MB 的FLASH,192 KB的SRAM,擁有單精度浮點運算單元,多重AHB總線矩陣和16通道DMA[3],支持程序執行和并行數據傳輸處理,具有非??斓臄祿鬏斔俾剩诙嗄K復用中也能快速應答。
2.2 傳感器模塊
2.2.1 人體體溫傳感器
非接觸紅外線測溫探頭可通過測量目標表面所輻射的紅外能量來確定表面溫度,淋浴過程需要獲得用戶體表溫度數據以對水溫做適當調節,本系統中采用的就是以上技術。Melexis公司推出一款非接觸式紅外傳感測溫儀[4-5],
該產品中集成對紅外敏感的熱電堆檢測芯片和信號處理芯片MLX90325,可將其設計封裝為非接觸式測溫模塊GY-MCU90615。這是一款低成本的紅外測溫模塊,其工作電壓在3~5 V之間,具有功耗小、體積小等特點。通過STM32單片機讀取采集到的紅外溫度數據,以串口通信方式輸出。傳感器模塊串口的波特率可以設置為9 600 b/s或115 200 b/s,具有兩種輸出方式:連續輸出和詢問輸出,能夠適應不同的工作環境,不僅限于和STM32相連,還能與所有的單片機及電腦連接。將此體溫傳感器嵌入到淋浴顯示屏旁邊,保證傳感器位置位于人體中上部,使得體溫測量更合理。MLX90615紅外傳感測溫模塊內部結構如圖2所示。
2.2.2 水溫傳感器
本文采用美國Dallas半導體公司的數字化溫度傳感器DS18B20,其采用導熱性高的密封膠灌封,保證了溫度傳感器的高靈敏性,只有很小的溫度延遲。該溫度傳感器支持“一線總線”接口[6],測量溫度范圍為-55~125 ℃,在測量溫度-10~85 ℃的范圍內,此傳感器的測量精度在0.5 ℃范圍內。所測環境(水體)溫度直接以“一線總線”的數字方式傳輸,提高了系統測溫的抗干擾性,在溫差較大的環境中也能穩定的測溫,滿足了穩定性的要求。將水溫傳感器嵌于淋浴花灑的噴頭處,用于實時監測噴口處的水溫。
DS18B20數字溫度計提供9~12位(可編程設備溫度讀數)數據。由于DS18B20是一條口線通信,所以STM32F407VGT6處理器與DS18B20只有一個一條口線連接。讀寫以及溫度轉換所需能量可以從數據線本身獲得,不需外接電源。其結構如圖3所示。
2.2.3 人體感應模塊
HC-SR501是基于紅外線技術的自動控制模塊,靈敏度高,可靠性強,直流工作電壓為4.5~20 V,輸出電壓為0~
3.3 V,工作溫度[7]范圍為-15~70 ℃。當人體進入其感應范圍則輸出高電平,人離開感應范圍則自動延時,高電平關閉,輸出低電平。其接口有電源VCC、模擬信號輸出OUT、接地GND等。人體感應模塊內部結構如圖4所示。
2.2.4 OLED液晶顯示屏
OLED液晶顯示屏具有自發光、不需背光源、對比度高、厚度薄、反應速度快、使用溫度范圍廣、構造及制程較簡單等優異特性,被認為是下一代的平面顯示器新興的應用技術[8]。LCD都需要背光,而OLED是自發光的,對于同樣的顯示效果,OLED會更好一些。以目前的技術,OLED的尺寸還難以大型化,但是分辨率卻可以做到很高。在智能淋浴設計中,使用0.96寸OLED顯示屏來實時顯示數據信息。
0.96寸OLED顯示屏的接口方式包括:6800,8080兩種并行接口方式,3線或4線的串行SPI接口方式,I2C接口方式等。在本文所設計的淋浴系統中,采用I2C接口方式。
3 系統軟件設計
3.1 人體體溫傳感器
非接觸測溫模塊(GY-MCU90615)具有6個引腳:電源引腳VDD、接地引腳GND、串行數據收發引腳TX和RX、兩個內部使用引腳RST和SIM。在使用時,內部使用引腳RST和SIM不需要連接,設置為懸空狀態;電源VDD與GND之間須加一個100 nF的電容用來去耦濾波;TX,RX引腳用于串行數據的發送和接收及讀取傳感器數據[9]。此傳感器模塊的通信流程如圖5所示。
3.2 水溫傳感器
3.2.1 DS18B20溫度傳感器
在DS18B20溫度傳感器中,低溫度系數晶振用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振所產生的信號作為減法計數器2的脈沖輸入。在設計的智能淋浴系統中,當DS18B20計數門打開時,計數器1對低溫度系數振蕩器產生的時鐘脈沖進行計數,進而完成溫度測量。
在測量水溫前,首先將-55 ℃所對應的基數置入減法計數器1和溫度寄存器中。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時,溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數。如此循環直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。數據傳輸時序如圖7所示。
3.2.2 控制出水溫度
準確控制出水溫度,快速出水。混水閥的旋轉由舵機控制,舵機的轉角可由程序精準控制。當系統設定好出水溫度,使用工業控制中常用的PID算法快速精確地控制舵機的轉角以控制混水閥中冷水熱水的混合程度,達到準確控溫的目的[10]。PID控制原理如圖8所示。
同時,增加補償措施以補償熱水流經淋浴花灑到達人體表面過程中熱量的損失。在洗浴結束后,存留于水管中的水將通過一個固定的通路流到冷水管,因此避免了下次洗澡時最開始一段冷水的浪費。
3.3 人體感應模塊
HC-SR501紅外人體傳感器模塊具有以下引腳:電源引腳VDD、接地引腳GND、信號輸出引腳OUT。VDD與GND之間須加一個100 nF的電容用來去耦濾波。STM32F407VGT6控制核心檢測OUT輸出電平,當洗浴區域無人時,檢測到低電平,電磁閥關閉;當洗浴區域有人時,檢測到高電平,此時打開電磁閥門,可以進行洗浴。當人體離開洗浴區域后,檢測到低電平,電磁閥自動關閉,達到人走水斷的效果。
4 儲水容器設計
在淋浴系統的正下方,設計一個儲水區域,并配備有簡單的廢水處理裝置,對洗浴廢水做簡單的處理。此處采用二層過濾凈化模式對廢水進行進一步處理。第一層過濾由石英砂、陶瓷粒、麥飯石三種濾料構成。石英砂用于過濾懸浮膠體等顆粒雜質;陶瓷粒用于阻截懸浮物、膠體物及微生物等污染物質;麥飯石用于吸附對植物花卉有害的重金屬、大腸桿菌。
第一層過濾從技術上來說是先過濾固體大顆粒與難溶物;第二層過濾由活性炭構成,活性炭用于去除色度、臭味、有機污染物、有毒重金屬,防止廢水中的有機物在廢水二次利用中產生臭味。
經過這樣簡單處理,洗浴用水可用于沖洗馬桶、花卉的澆灌、拖地等。
5 系統測試結果
系統在實驗室模擬洗浴環境中進行測試。根據普通的太陽能熱水器出水水溫大約在70 ℃,將熱水管中的水溫定在70 ℃,冷水管用水采用不做處理的自來水,以此來給系統供水。用人體溫度傳感器采集手掌溫度代替人體溫度,自動設置洗浴水溫。系統測試如圖9所示。
測試過程中,各路傳感器工作正常,各模塊之間通信正常。系統在4 s內達到預定水溫,檢測到人體存在時,即可出水;當人離開洗浴區域時,便立刻停止出水,達到了人走水斷的效果。洗浴所用廢水,優先儲存在下方的儲水容器中,用于二次使用。
6 結 語
本文設計一種基于STM32微處理器的節能型智能淋浴系統。該淋浴系統搭載STM32F407VGT6處理器、GY-MCU90615人體體溫傳感器、DS18B20水溫傳感器、HC-SR501人體感應傳感器,并輔由OLED顯示屏實時顯示水溫,儲水區簡單處理洗浴廢水并儲存,用于二次使用。GY-MCU90615用于檢測人體數據,并自動設置最適宜的洗浴溫度,通過PID算法調節混水閥舵機開度,達到精準控溫;同時增加補償措施以補償熱水流經電子閥門到達人體表過程中熱量的損失。當水溫達到預定的溫度且HC-SR501傳感器檢測到人體存在時,淋浴自動出水;檢測不到人體時,自動停水,可達到人走水斷的效果。測試結果表明,與現有的淋浴系統相比,本文設計的智能淋浴系統更智能、更方便,系統運行更穩定,并且可收集洗浴廢水二次利用,實現了節水的目的。系統的設計達到了預期的效果。
在未來的改進中,本團隊將會實現淋浴的無線通信。用基于Java 的可擴展平臺Eclipse 實現安卓客戶端對淋浴系統的無線調控,使得系統更加智能化。
參 考 文 獻
[1]鞠金達,張婷婷,馬萬云,等.可控溫節水淋浴器的設計[J].科技經濟市場,2014(1):8-9.
[2]佚名.智能調溫沐浴裝置[J].科技資訊,2016,14(2):188.
[3]張英梅,傅仕杰. STM32的智能溫室控制系統[J].軟件,2010,31(12):14-18.
[4]張玲娜,李想.基于MLX90615傳感器的人體非接觸式紅外測溫系統設計[J].電子測試,2014(z1):19-21.
[5]王佳.基于MLX90615和STM32的多點紅外溫度測量系統設計[J].現代電子技術,2013,36(14): 146-148.
[6]余瑾,姚燕.基于DS18B20測溫的單片機溫度控制系統[J].微計算機信息,2009,25(8):105-106.
[7]王東,莫先.基于STM32和HC-SR501智能家居的智能照明系統設計[J]. 重慶理工大學學報(自然科學),2016,30(6):135-142.
[8]焦石,王琛,胡澤原,等.基于STM32的OLED顯示屏驅動設計[J].電子世界,2018(12):127-128.
[9]王桌培.高精度非接觸式體溫測量網絡化系統研究[D].南京:南京郵電大學,2018:44-48.
[10]賈誠安,葉林,葛俊鋒,等.一種基于STM32和ADS1248的數字PID溫度控制系統[J].傳感器與微系統,2015,34(11):103-105.