郝國勇 趙麗芝



【摘? 要】 在生活中,人們經常發現這種現象:早上上班前晾曬的衣物,下午下班后回家仍然沒有干爽。尤其是在城市高樓中,由于樓房朝向和樓間距的設置,導致一天中陽臺能夠照射到太陽的位置不一樣,傳統的晾衣竿只能固定在一個地方,這就使衣服獲得晾曬的時間大幅地縮短。為解決這一問題,該設計使用傳統的STC89C52單片機作為整個系統的控制核心,采用太陽跟蹤技術,利用光強比較法,通過光照強度的變化,來控制上下兩軸步進電機轉動,帶動晾衣架進行上下左右移動,一直到光照強度一致時停止,實現晾衣架追光的目的,從而保證衣物有充足的晾曬時間。
【關鍵詞】 單片機;智能追光;晾衣架
一、智能追光晾衣架的整體設計方案
智能追光晾衣架采用STC89C52為控制核心,由雨滴采集電路、光照采集電路、人機界面電路、電機驅動電路等部分組成。通過采集雨滴信息和晾衣架前后左右四個方向光照值,通過單片機控制電機每隔0.5小時驅動電機將晾衣架進行前后左右移動,使晾衣架實現智能追光晾衣服的效果,同時通過操作人機界面,還可以實現手動、自動的調節,以及對電機的轉速進行調節。
二、智能追光晾衣架的硬件電路設計
系統硬件電路主要包含單片機、光照采集及信號處理電路、人機界面電路、電機驅動電路,藍牙模塊控制電路等,如圖1所示。
(二)智能追光晾衣架各單元電路設計
1. 光照數據采集及信號處理電路
光照數據采集及信號處理電路采用4路光敏電阻采集光強數據,工程安裝時裝在智能追光晾衣架外側的四個邊,用于采集晾衣架四周的光照強度,采集的信號經PCF8591的AIN0-AIN3四路模擬輸入口送給PCF8591,PCF8591內部采用逐次逼近的方法分別對四路模擬的光照數據進行A/D轉換,并將A/D轉換以后的數據分別以ADC0_F、ADC1_B、ADC2_L、ADC3_R四組數據從PCF8591的SDL和SDA引腳送給89C52單片機的P1口的P1.0和P1.1。
2. 電機驅動電路
電機驅動電路采用ULN2803控制兩臺步進電機MOTO1和MOTO2,ULN2803的輸入引腳1B-8B(PIN1-PIN8)按順序分別接89C52單片機P2口的P2.0至P2.7,MOTO1和MOTO2選用4相步進電機。MOTO1用于控制智能追光晾衣架進行前后移動,按照順時針方向分別和ULN2803的輸出引腳1C-4C(PIN18-PIN15)連接,MOTO2用于控制智能追光晾衣架進行左右移動,按照順時針方向分別和ULN2803的輸出引腳5C-8C(PIN14-PIN11)連接。通過對比光照數據,89C52單片機從P2口輸出高低電平,控制MOTO1和MOTO2按要求進行正轉和反轉,從而帶動晾衣架進行前后左右移動,以實現追光效果。
3. 人機界面電路
人機界面電路主要由6個操作按鍵組成,按鍵功能如表1所示。
4. 雨滴檢測電路
雨滴檢測電路采用FC-37傳感器,FC-37雨滴傳感器包含收集雨滴的電路板和以LM393比較器為核心的雨滴信號處理電路板,有兩個信號輸出引腳DO和AO,分別接89C52單片機P3口的P3.0和P3.1,DO用于檢測是否有雨,AO用于檢測雨量大小。當未檢測到雨滴時,FC-37雨滴傳感器信號處理電路板DO輸出高電平,LED指示燈D4不亮;當檢測到有雨滴時,FC-37雨滴傳感器信號處理電路板DO輸出低電平,LED指示燈D4亮,RV2用于調節FC-37雨滴傳感器的靈敏度。
三、智能追光晾衣架的軟件設計
(一)主程序軟件設計
智能追光晾衣架的軟件設計流程圖如圖2所示,主程序中先對單片機進行上電復位操作,使單片機初始化,然后開始檢測和控制工作,過程如下:
1. 上電復位:單片機將所有的I/O口以及電機復原到初始狀態。
2. 天氣監測,如果有雨,FC-37雨滴傳感器信號處理電路板DO輸出低電平,89C52單片機P3口的P3.0引腳接收到低電平,控制電機進行行程歸零復位,同時89C52單片機P3口的P3.1引腳根據接收到的AO的值判斷雨量的大小,控制電機的轉速,進而控制智能追光晾衣架的回收速度,以避免衣服被淋濕,如果沒雨,繼續下一步驟。
3. 檢測白天還是晚上,如果是白天繼續執行下面的動作,如果是晚上控制電機進行行程歸零復位,不執行后續動作。
4. 檢測控制方式,如是手動控制方式,按照手動控制模式繼續執行后續動作,如果是自動控制模式,按照自動控制模式繼續執行后續動作,系統默認為自動控制模式。
(二)手動控制方式軟件設計
89C52單片機P3口的P3.3引腳偵測到S2按一下,程序轉入手動控制模式,89C52單片機點亮LED燈D1,并繼續通過P3口的P3.3、P3.4、P3.5、P3.6引腳繼續檢測S3、S4、S5、S6的觸發情況。當偵測到S3被按下時控制MOTO1正轉,帶動智能追光晾衣架向前移動,當偵測到S4被按下時控制MOTO1反轉,帶動智能追光晾衣架向后移動,當偵測到S5被按下時控制MOTO2正轉,帶動智能追光晾衣架向左移動,當偵測到S6被按下時控制MOTO2反轉,帶動智能追光晾衣架向右移動。
(三)自動控制方式的軟件設計
89C52單片機P3口的P3.3引腳偵測到S2按兩下,程序轉入自動控制模式,89C52單片機每隔0.5小時采集和檢測當前晾衣架四邊的光照值,單片機將接收到光照值數據包ADC0_F、ADC1_B、ADC2_L、ADC3_R進行比較,根據比較結果來控制執行電動機做出相應的響應,例如,ADC2_L
(四)電動機轉速
當需要對當前的電動機轉速進行調節時,單片機首先檢測速度調節按鈕S1是否按下,如果檢測到按下,則再進一步檢測S3、S4、S5、S6的觸發情況,然后根據觸發情況來調節MOTO1或MOTO2的轉速。例如,當偵測到S3按下時,89C52單片機繼續偵測當前MOTO1的轉速是否為最高速,如果是則返回,如果不是,將通過增大輸出信號的占空比來提高MOTO1的轉速。
四、智能追光晾衣架的仿真測試
仿真測試采用PROTEUS軟件,如圖3所示,在自動模式下,89C52單片機根據采集光照參數,在PCF8591和ULN2803的共同作用下控制MOTO1和MOTO2實現正反轉。
五、結語
文章講述的是采用89C52單片機、PCF8591和UL? N2803制作的一個智能追光晾衣架,實現了基本功能,是有一定的實用價值。同時還將繼續探究擴展其他功能,比如增加壓力傳感器實現超重報警;增加藍牙、紅外等無線控制方式,實現手機無線控制;以及設置Zigbee節點,加入已有的智能家居網絡,實現聯網控制等等。
參考文獻:
[1] 張瑋偉. 一種智能晾衣架的設計與實現[J]. 電子技術,2022,51(05):210-211.
[2] 趙雪章,曾紹穩,喬海曄. 單片機及接口技術[M]. 北京:電子工業出版社,2020.
[3] 劉雪楓,朱兆優,周程. 基于15單片機的步進電機驅動平臺通用系統設計[J]. 科技廣場,2014(03):65-68.