李容容
(陜西機電職業技術學院,陜西寶雞,721001)
我國是一個水資源短缺的國家,人均水資源占有量只有2500 立方米,約為世界人均水資源占有量的四分之一。推行節約用水政策,加強水資源的管理和合理利用,是緩解水資源危機、促進經濟和社會持續發展的重要措施。現如今,建設資源節約型社會的理念已深入人心,然而在淋浴過程中,水資源浪費的情況卻很少能夠得到大家的關注,因此浪費了大量的水資源。而自動感應式淋浴控制系統的應用,可將淋浴過程中水資源浪費情況顯著減少,實現水資源能耗節省。本文設計了一款自動淋浴水位控制報警系統,可以自動感應人體來去出水,同時能夠顯示和控制淋浴裝置中的水位。
(1)當淋浴裝置中水量高于上水位限定值時,上水功能關閉,淋浴裝置自動感應人體出水。
(2)當容器中水量低于下水位限定值時,自動關閉淋浴功能,發出警報同時開啟上水功能。
(3)利用超聲波檢測水位并用LED 數碼管顯示水位。
該設計以AT89S52 單片機為主控芯片,它與紅外傳感器檢測模塊、LED 數碼管顯示模塊、超聲波測距模塊以及報警模塊協同工作,實現系統自動感應人體出水、顯示淋浴裝置水位并報警的功能。該系統的硬件設計主要由單片機最小系統、紅外傳感器檢測模塊、LED 數碼管顯示模塊、超聲波測距模塊以及報警模塊等構成。AT89S52 單片機首先對超聲波發射器電路進行控制,超聲波接收器會把傳感器檢測來的超聲信號自動輸入到單片機內存中,然后通過芯片內部的程序將傳輸到的超聲波數據自動進行分析、計算和處理,最終在LED 數碼顯示模塊上顯示水位。該系統整體硬件設計方案框圖如圖1 所示。

圖1 系統整體方案框圖

圖2 單片機最小系統電路圖
(1)51 單片機最小系統中的復位電路中包含了極性電容C1,它的大小直接影響到單片機的復位時間,系統中一般采用10μF 大小的電容。
(2)51 單片機最小系統中晶振的振蕩頻率直接影響到單片機對于輸入數據的運算和處理速度。為了加快單片機處理數據的速度,一般情況下,晶振的振蕩頻率要較大才能滿足要求。在系統正常工作的情況下,晶振Y1 一般情況下可以采用22.1184MHz 這樣的頻率。
(3)除了復位電容C1 之外,51 單片機最小系統中還有兩個起振電容C2、C3,它們一般采用15~33pF 這樣的大小。在布局單片機最小電路時,起振電容C2、C3 要盡可能的靠近晶振,這樣起振效果才比較好。
當有人站在淋浴裝置噴頭下時,系統中的紅外傳感器檢測到相應的人體紅外信號,同時將才采集到的紅外信號數據在單片機中進行處理,然后觸發超聲波檢測模塊去檢測淋浴裝置中的水位。本文采用紅外接收發射二極管作為紅外傳感器。紅外感應電路圖如圖3 所示。

圖3 紅外感應電路圖
3.2.1 紅外接收發射二極管工作原理
紅外線感應電路[1]主要由紅外接收二極管和紅外發射二極管構成。這兩種二極管器件都采用了新型的導電材料,可以使接收到的紅外線光信號通過它們之后變成紅外線電信號。和目前市面上的普通半導體紅外二極管相比,這種二極管在材料的使用上和工藝方法的實現上有許多優點。
紅外線接收二極管的設計是為了便于在單位面積內更多的接收到入射的紅外光線[2],所以它里面的PN 結電極的面積也就盡量地做的比較大,而且通常PN 結電極的結深要做的很淺,一般要小于1μm,這樣才有利于接收到更多的紅外光線。
此外還應注意的是,紅外線接收二極管只能在反向電壓的作用下工作。當外界沒有紅外光照時,反向暗感應電流的值較小(一般小于0.1μA)。當外界環境有強烈的紅外線光照時,紅外線接收二極管中的兩種載流子(電子和空穴)能在光反向電壓的作用下參加電荷漂移運動,使其反向的電流強度明顯增大。紅外接收發射二極管結構圖如圖4 所示。

圖4 紅外接收發射二極管結構圖
3.2.2 CD4093 簡介
因為有的時候紅外線感應電路采集到的紅外信號太小,會影響淋浴系統自動感應出水的功能,所以紅外感應電路增加了CD4093 芯片來放大接收到的紅外信號[3]。
CD4093 的應用范圍:
(1)波形和脈沖整形;(2)單穩態多頻振蕩器;(3)高環境噪聲系統;(4)非穩態多諧振蕩器。
CD4093 是CD 系列數字集成電路中的一個型號,采用CMOS 工藝制造。CD4093 內部有四個施密特觸發器,每個觸發器有一個2 輸入與非門,當正極性或負極性信號輸入時,觸發器在不同的點翻。正極性(VP)和負極性(VN)電壓的不同之處由遲滯電壓(VH)確定。在輸出電流<1mA 時,一般在5 至15VDC 電源時,輸出電壓接近電源電壓;若輸出電流增大時,輸出電壓會降低,特別是電源電壓較低時影響更大。CD4093 結構圖如圖5 所示。在本設計中,CD4093 芯片可以用74 系列芯片74LS32 同等替換。

圖5 CD4093 結構圖
液位開關是測量液位最常見的測量工具之一,它結構簡單、易于安裝維護、工作壽命長。本系統用液位開關來測量水位的最高值和最低值。淋浴裝置中的浮球處有兩個限位開關,一個表示上水位、一個表示下水位,上水位處于常閉狀態,下水位處于常開狀態。工作原理是當淋浴水位上升到上限值時,浮球將限位開關打開,繼電器斷電,水泵停止運行;當淋浴水位下降到下限值時,浮球又將限位開關關閉,繼電器吸合,水泵開始上水。液位開關如圖6 所示。

圖6 液位開關實物圖
本系統采用超聲波模塊來進行水位高度檢測。開始時,兩個端口TRIG 端口和ECHO 端口都被設置為低電平,然后TRIG 端口將接收至少10μs 的高電平脈沖(模塊自動向外發送8 個40kHz 的方波),同時開始等待,等待捕捉ECHO 端輸出的上升沿,當捕捉到ECHO 端輸出上升沿的同時,打開定時器并重新開始測試計時,然后再次等待捕捉ECHO 端輸出的下降沿,當捕捉到ECHO 端輸出下降沿時,讀出計時器的運行時間,這一步的目的是為了測量超聲波發生器在周圍的空氣介質環境中的實際運行的時間。按照測試距離=(高電平時間?聲速(340m/s))/2 這個公式,就可以算出超聲波到障礙物的距離。應注意的是,在實際檢測時,超聲波周期應為60ms 以上,這樣可以避免回響信號受到發射信號的影響,造成檢測誤差[4]。HC-SR04 超聲波檢測時序圖如圖7 所示。

圖7 HC-SR04 檢測時序圖
本系統采用紅外線蜂鳴器[5]作為自動報警裝置。當有人站在淋浴裝置噴頭下淋浴時,系統芯片中內置的紅外傳感器能檢測到一個相應頻率的人體紅外信號,此時系統報警模塊便被單片機觸發,將報警信號送給單片機控制系統進行信號判斷,信號輸入后單片機進行自動感應控制出水;同時系統可以實時顯示當前淋浴供水裝置的水位。當最低水位已達到安全警戒的水位線時,能夠實現自動報警。單片機通過對IO 口的P1.2 接口進行控制,當水位到達安全警戒線時,單片機即給P1.2 接口輸出一個低電平,蜂鳴器得到報警信號立即發出報警聲。蜂鳴器電路與單片機的接口電路圖如圖8 所示。

圖8 蜂鳴器與單片機的接口電路圖
本系統采用LED 數碼管來顯示淋浴水位。LED數碼管顯示模塊具有功耗比較低、壽命長、無輻射、不易引起視覺疲勞等一系列優點,正在被廣泛應用于儀器儀表、家用電器、計算機、醫療儀器設備及電子交通和計算機通信等領域。根據LED 的工作原理,單片機與LED 的接口電路如圖9 所示。

圖9 單片機與LED 接口電路
本設計采用Keil C51 系統軟件進行編程實現。Keil C51是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與其他軟件相比,它在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。
檢測淋浴水位時,需要用到超聲波模塊中的定時器來計算超聲波發射與返回之間的時間間隔,所以HC-SR04 超聲波模塊需要先配置在定時器模式下。配置完成后,超聲波模塊輸出口Trig 引腳被拉至高電平,并使用_nop_()函數連續等待20 個機器周期,即延時20μs,然后重新拉低輸出口Trig 引腳;當輸入引腳Echo 變為高電平時,定時器開始計時;當輸入引腳Echo 變為低電平時,定時器結束計時,定時器根據所記錄的時間,計算出時間間隔;因為固定聲速為340m/s,最終計算出淋浴水位。具體超聲波檢測程序流程圖如圖10 所示。

圖10 超聲波檢測程序流程圖
本設計數碼管采用共陽數碼管,驅動電路采用S8550三極管搭建完成。所以數碼管采用動態顯示的方式,即第一位短暫顯示后關閉第一位的顯示,馬上進入第二位的顯示,短暫顯示后關閉第二位的顯示,馬上進入第三位的顯示。因為人眼有視覺保留功能,所以看起來是一次全部顯示出來的效果。每一位顯示延時時間不能過長,過長會超過人眼“余輝效應”的時間,就會看起來斷斷續續的,不能達到連續顯示的效果。LED 數碼管顯示程序流程圖如圖11 所示。

圖11 LED 顯示程序流程圖
本文設計了一款能自動感應人體來去的淋浴水位控制報警系統,它由AT89S52 單片機模塊、紅外傳感器檢測模塊、LED數碼管顯示模塊、超聲波測距模塊以及報警模塊等組成。可以實現自動感應人體出水、顯示淋浴裝置水位并自動報警的功能。該系統具有噪聲低、線性度好、功耗低、反應速度快等特點,且這款架構已經經過實物制作驗證,完全可以達到應用要求。