何永晟
(重慶人文科技學院 重慶 401524)
當前一些企業所生產的智能晾衣架大多數是裝置于陽臺里面,然后整個系統依據當時外界環境中天氣狀況的變化,促使主控芯片對其周邊輔助電路的控制來驅動晾衣架完成垂直方向上的升降,從而實現晾衣架的智能化。但該設計主要是利用DHT11 溫濕傳感器來采集外界環境天氣中的雨水、溫度變化情況,以及利用5477 光敏電阻來感應光線的變化情況,繼而用DHT11、5477光敏電阻、AT89S51單片機來驅使電機的轉動實現晾衣架的伸出與收回功能,以此達到晾衣架能夠智能化晾曬衣服和其他物件的目的。晾曬桿根據伸縮性可分伸縮桿和定桿,根據晾曬桿的數量又可分為單桿和雙桿[1]。
該設計的晾衣架可固定于陽臺外,其一大大節省了空間,其二可避免衣物上的滴水落入房中。該晾衣架在系統功能實現上設有自動和手動兩種模式[2]。第一,自動模式下,系統通過溫濕傳感器電路、光敏傳感器電路等檢測電路來感應外界環境天氣中的空氣濕度、光線強弱,再根據所設定的溫度限定值和光線限定值系統,自動判定是否超過限定值以此來實現衣架的伸張和縮回。具體過程為當天空中下雨或者將要下雨時,空氣中的濕度值會急劇增長,此時系統自動判定濕度值超過限定值而報警收回衣架,反之則伸張,但當在下雨時無論光線如何變化衣架都不會伸張。第二,手動模式下,需要人為地控制遙控器,可以自主地調節晾衣架的升降。遙控器通過射頻發射電路與晾衣架的射頻接收電路互通信號,從而實現晾衣架的收回與伸出。總體設計框圖如圖1所示。

圖1 總體設計框圖
該系統采用AT89S51 單片機作為控制核心,它通過DS18B20 溫度傳感器采集環境中的溫度,并通過其內部的AD實現模數轉換,通過其輸出管腳將帶有溫度數據的數字信號傳送給AT89S51 單片機,單片機得到數據后對數據進行解碼,然后將得到的溫度數值通過LCD1602液晶顯示出來。與此同時,在AT89S51內部,單片機將采集溫度與設定溫度進行比較,當溫度值低于設定溫度值時,就要關閉蜂鳴器模塊,并且打開加熱模塊的開關;否則將進行超溫報警并且關閉加熱系統開關。
選用AT89S51 單片機作為主控制電路。AT89S51是一個低功耗、高性能CMOS 8 位高速單片機,片內硬件包括4 kB的Flash的直接高速只讀應用程序存儲器、8位高速微處理器、4個8位可編程只讀I/O口以及1個目前國際上廣泛通用的全雙工的異步收發串行口、2個可編程的16 位定時器和計數器、5 個中斷向量等。AT89S51采用的是ATMEL公司高密度、非易失性存儲的技術制造,兼容標準MCS51 指令系統和80C51 引腳結構,在很多嵌入式控制應用系統中得到大范圍的應用,而此單片機的結構正好滿足該系統的需求。
系統軟件結構的設計主要采用的是模塊化和結構化的設計,便于對系統程序的編譯、調試,依據整個系統所要實現功能的要求應用的主要模塊有初始化模塊、中斷處理模塊、溫濕度檢測模塊、光線檢測模塊、報警模塊以及數碼管顯示模塊、射頻接收模塊和射頻發射模塊等,具體如圖2所示。

圖2 軟件控制框圖
對系統總體設計之后,需要依據該設計在功能實現上的要求對其硬件電路進行分步的設計,因此該章主要是介紹硬件電路的具體設計,主要包括了主控芯片、溫濕度檢測電路、光線檢測電路、驅動電路、遙控電路以及外圍電路的設計。
該系統采用AT89S51為主控芯片。
單片機系統基礎電路主要包括晶振電路、電源電路和復位電路這3 個部分[3]。然后在外圍加上適宜的擴展部分所組成的工作系統稱為最小系統。最小系統包括了時鐘電路和復位電路。時鐘電路中一般是在AT89S51 的18 腳和19 腳中間連接一個石英晶體和連接兩個C30 的電容從而組成自激振蕩的工作電路;復位電路主要是依靠上電自動復位和手動按鍵復位兩種方式來完成系統的復位功能,其中在主控芯片工作的過程中,上電復位與手動復位的區別主要在于上電復位是自動完成復位功能,而手動復位是需要依靠按鍵的按動來控制系統的復位。圖3是單片機最小系統工作電路圖。

圖3 單片機最小系統工作電路圖
DHT11 作為智能晾衣架的主要數據采集處理模塊[3],它是一個利用較為簡單的單總線進行收發的傳感器,也就是利用模塊的2 號引腳端口來完成數據的輸入與輸出的一個雙向數據傳輸。由于DHT11 的引腳比較簡單,因而有DHT11 傳感器與AT89S51 單片機的連接也比較簡單。其中AT89S51 的21 引腳連接傳感器的2 引腳即它的串行數據接口,則21 腳主要作用是發和收串行數據也就是數據端口。通常會在其2腳與1腳(電源端)之間串接上一個5 K的上拉電阻,這是因為DHT11的數據收集范圍電路小于20 m。它的1腳和4腳分別是電源端和接地端則直接接上電源和地便可,而DHT11傳感器的3腳一般是處于懸空狀態即可。
因為該設計是利用電機的正轉與反轉來模擬晾衣架的伸出與收回,所以驅動部分采用兩個5 V 繼電器的吸合狀態變化來操縱電機的正轉與反轉方向,以此來間接呈現實現晾衣架伸出與收回功能的過程,其中兩個5 V 的繼電器都是通過三極管9012 型[3]三個極的導通與截止狀態的變化來驅動繼電器的吸與合,以此達到電機的正轉或是反轉。驅動電路的電路圖如圖4所示。

圖4 驅動電路原理圖
當該系統在自動模式下,依據此設計對其功能上的要求,則光線檢測電路需要實現的功能具體有:當外界環境光線強度超過系統的設定值時,晾衣架也就是實物中電機將正轉來模擬說明此時晾衣架為伸出狀態;當外界環境光線強度低于設定值時,晾衣架即實物中的電機將反轉以此模擬說明此時晾衣架為收回狀態,最為關鍵的設計是當天氣情況處于下雨時,那么無論光線是否強晾衣架都不會伸出。而系統對于光線強弱的判定是依據光敏電阻的特性來完成的,具體工作過程為:如果此時當地光線較為暗時,那么5477 光敏電阻的電阻值增大,三極管(9013 型)的基極電壓降低,這時三極管工作于截止區,發射極電平被上拉電阻拉低,故輸出信號為低電平;反之,如果外界環境天氣光線較亮時,故而輸出信號為高電平。光線檢測電路的原理圖如圖5所示。

圖5 光線檢測電路原理圖
由于此設計需實現手動模式和自動模式兩種模式下的功能,因此在硬件電路設計中設有遙控電路,且遙控電路部分主要是由發射電路和接收電路這兩部分電路所組成,在該設計中采用的是SC2262芯片和SC2272芯片來完成發射和接收功能。
遙控電路設計部分采用23 A、12 V 的蓄電池來為整個遙控電路供電,當控制系統為手動模式還是自動模式的切換按鍵按下之后,這時12 V的蓄電池才會開始工作,然后電池開始為SC2262模塊和發射模塊提供電源,與此同時發射模塊將發射出信號,而之所以會選擇如此的設計方式是為了保障電池能夠用得較為長久。
無線解碼電路由SC2272 芯片作為解碼器[4],主要作用是接收紅外無線信號,將光信號解析成電信號,并傳送給單片機。SC2272模塊的連接方式比較簡單,直接與單片機相連接便可以了,并且它對信號的傳輸距離也很理想能夠到達600 m,但是由于AT89S51單片機的電磁干擾比較大,因此工作過程中接收模塊會受到單片機的時鐘干擾,導致信號傳輸的距離下降,范圍會縮到200 m 以內,由于家中距離是完全在這個范圍之內的,所以在接收模塊上選擇了SC2272模塊。
接收模塊SC2272 在處于工作過程時輸出脈沖的通常上均為高電平脈沖,所以在接收電路的設計中于輸出端都接上了NPN(9013)型的三極管,以便把輸出端所輸出的高電平轉換為低電平,如此方便單片機在工作過程中可以最大程度地、更好地去識別電平的變化。
對于硬件方面的設計基本利用的都是模塊,因而在該系統軟件設計方面主要利用的是將系統編程劃分成為若干小模塊的方式和順序、循環、選擇結構的方式來進行設計的,一是便于程序的編寫和編譯,二是方便對系統的測試和檢查。在程序中設定了1 ms的中斷,并且在程序中設置了一個用于各模塊切換的標志位flag,將中斷設置成了1個5 ms的循環[5]。
當線路接通電源后系統自動進入自動模式,則此時DHT11 自動檢測空氣中的濕度與溫度以及光敏自動檢測光線強度,而后通過單片機來驅動晾衣架的伸出與縮回;當遙控電路上自動與手動模式切換按鍵按下后,系統便轉換為手動控制晾衣架伸縮模式下,此時通過遙控電路的伸出與縮回控制按鍵來實現晾衣架伸縮;這兩種模式下當限位開關閉合時,則表明晾衣架已經到達所設定位置,此時晾衣便不再繼續轉動。
適合晾曬衣物的相對濕度為40%~0%,DHT11 濕度傳感器的相對濕度的測量范圍是20%~80%,非常適合對晾曬衣物濕度的測量[6]。該系統采用的是DHT11傳感器,是一款對濕度和溫度極為敏感的傳感器,在設計過程中希望當前空氣濕度超過80%時,晾衣架能自動收回,若未達80%時則伸出,為此它能自動感受當前濕度值進而于數碼管上顯示出與之相對應的濕度值。
當線路接通電源后系統自動進入自動模式,則此時DHT11 自動檢測空氣中的濕度與溫度以及光敏自動檢測光線強度,而后通過單片機來驅動晾衣架的伸出與縮回;當遙控電路上自動與手動模式切換按鍵按下后,系統便轉換為手動控制晾衣架伸縮模式下,此時通過遙控電路的伸出與縮回控制按鍵來實現晾衣架伸縮,這兩種模式下當限位開關閉合時,則表明晾衣架已經到達所設定位置,此時晾衣架便不再繼續轉動。
此次設計所利用的系統能夠成功地實現設計要求,即衣架在手動模式下需要人為地控制衣架的伸縮,在自動模式下,系統中單片機通過溫濕傳感器和光敏傳感器自動采集空氣濕度與光線亮度值,進而輸出相應脈沖,來驅動電機的正反轉來實現對晾衣架的智能伸縮,避免衣物的淋濕并進行及時的晾曬。
隨著研究的深入,筆者發現該設計利用無線遙控方式還存在著一定的不足,需要不斷地完善和改進,這樣可以讓它的功能得到更大的強化。例如:在主控制芯片硬件電路中加入語音控制電路可以實現語音對晾衣架的控制,還可在遙控電路中加入藍牙控制系統等周邊各輔助電路可實現藍牙控制衣架伸縮。而在此次設計中由于筆者知識有限,因此僅僅設計了利用遙控方式來控制衣架,具體實現過程為:在外界環境天氣處于下雨狀態時,居民按下收回晾衣架按鈕,則收回信號發射至接收模塊上,系統將脈沖信號傳至電機從而驅動電機的收回;那么當外界環境天氣處于晴天時,居民按下伸出晾衣架按鈕,則伸出信號發射至接收模塊上,系統將脈沖信號傳至電機從而驅動電機伸出,且縮回或是伸出到達系統所設定的限位處則電機停止轉動,從而達到晾衣架的手動控制功能。