創新者:馬 榮 榮藝博 宋文根 汪嘉文 朱顯鋒
基于51單片機的智能窗簾控制器設計
創新者:馬 榮 榮藝博 宋文根 汪嘉文 朱顯鋒
本文介紹了一款基于STC90C51單片機設計的智能窗簾控制系統。該系統包括電機驅動模塊、紅外接收與發射模塊、溫度檢測及液晶顯示模塊等,并主要實現紅外遙控電機正反轉、光傳感器自動控制窗簾開合及溫度檢測與顯示等功能。
隨著科技的不斷更新,時代的不斷進步,人們的生活水平逐漸有了很大的提高,住房條件也得到了很大的改善。作為物聯網智能家居的一環,智能窗簾控制已然成為自動控制領域的一個重要的研究熱點。相對于傳統的鋼絲繩手拉式或軌道式窗簾,51單片機控制的自動窗簾控制系統,不僅能解決每天用手開合窗簾的不便,又能提高生活的檔次,同時通過感應室內光線的強弱來自動控制室內的明暗,以形成一個舒適的居住環境,更進一步地滿足了人們享受生活的要求。因此,智能窗簾的出現不僅順應潮流與時俱進,而且發展迅速前景廣闊。在這種高度信息化和智能化的時代背景下,本文設計了一款基于51單片機的窗簾控制器。
本文設計的窗簾控制器,硬件部分以STC90C51單片機為控制核心,以遙控器的紅外信號和光敏電阻的光敏信號分別作為手動和自動信號輸入,經單片機處理后控制直流電機正反轉,從而控制窗簾開合。系統結構框圖如圖1所示。
紅外遙控模塊
本系統采用SC2262作為發射芯片,發射三種信號:前進、后退和停止,因此僅需三個單發碼鍵KEY1、KEY2和KEY3。當單片機收到KEY1或KEY2的高電平信號時通過判斷鍵碼值來執行相應的子程序,從而驅動電機正轉或反轉以控制窗簾的開與合,若想窗簾運動到某個位置停止時則按下KEY3鍵即可。

圖1 結構框圖
接收芯片則采用SC2272芯片。SC2272 與SC2262 配對使用,是一款通用的遙控解碼集成電路。芯片內置的數據接收管將發射芯片發射的紅外信號轉化為微弱的電信號,經放大后發送給單片機I/O口。程序中則通過sbit IR=P3^2程序句使得51單片機能接受該芯片傳輸的數據,實現紅外接收。SC2272與SC2262配對使用完成對信號的發射、接收、濾波和解碼等任務。
光線感應模塊

圖2 光線感應
本系統采用光敏電阻作為光電轉換電路的核心器件。光敏電阻是利用半導體的光電導效應制成的一種電阻器,其電阻值根據光線強弱而時時變化,照射光線強,電阻減小,照射光線弱,電阻增大。因此搭建如圖2電路,當光線強時,光敏電阻Rs減小,晶體管基極電壓減小,晶體管截至,發射極被12K電阻拉低,低電平輸出至P0.0;當光線弱時,Rs增大,基極電壓增大,晶體管導通,發射極被VCC拉高,高電平輸出至P1.1。單片機檢測到不同的電平信號時,即控制電機做出不同的運動,如圖2所示。
同時,由于家庭中常用的白熾燈,led燈等有可能會對光敏電阻的正常工作造成干擾,可采取措施減小干擾光對光線檢測的干擾。因為太陽光中紫光部分較強,所以可在光面電阻外圍包裹一層紫色濾光紙,使得光敏電阻以接受紫光為主,這樣可大大削弱干擾光的影響。

圖3 18b20原理圖
電機驅動模塊
本設計中采用28BYJ48五線四相的5V步進電機和1.298N驅動芯片。步進電機將電脈沖信號轉變為角位移,當驅動芯片接收到一個電脈沖,電機就轉動一個電角度。當電脈沖信號走過一個周期時,轉子轉過一個齒距。改變電脈沖信號的頻率可以改變電機的轉速。通過程序循環控制某項通電其他項斷電,以此達到電機正轉反轉的目的,帶動窗簾開合。四相步進電機可以在不同的通電方式下運行。在此選用2相勵磁法,即AB-BC-CDDA-AB-循環方式。
溫度檢測及液晶顯示模塊
溫度檢測模塊我們選用DS18b20溫度傳感器。該傳感器具有體積小,硬件成本低,抗干擾能力強,精度高的特點,面對扁平的那一面,左負右正。圖中高、低溫度系數晶振產生固定頻率的脈沖信號,計數器1接收來自低溫度系數晶振的信號并作減法計數,減為零時溫度寄存器加1,如此循環直至計數器2減為零。此時溫度寄存器中的數值即為所測溫度。在主程序中設置采樣標志位ReadTempFlag=0,若檢測到采樣標志位則執行采樣和溫度處理工作,標志位防止采樣速度過快,采樣的溫度需要if-else語句判讀正負數,然后分別處理。
液晶顯示模塊選用1602液晶塊,通過給每個點高低不同的電平來控制那個點的亮滅,從而組合顯示圖形或文字。對于18b20檢測到的溫度值,則在主程序中調用1602顯示子程序去循環檢測溫度值并顯示。同時亦可在液晶屏上自定義其他信息。
系統編程采用c語言模塊化設計。在主循環中先去執行紅外處理程序,若有收到紅外信號則優先去處理,若無則去執行光線感應處理程序。即紅外感應優先級高于光線感應。任何一種模式若檢測到驅動電機的信號,就去控制電機運動。之后就是18b20的溫度檢測子程序和1602液晶顯示的子程序。主循環外是所有子程序、中斷和延遲的初始化部分。所有的大子程序都是以模塊化的形式編寫,包括電機驅動程序,18b20溫度檢測程序,1602液晶顯示程序和紅外處理程序,在主程序中以include頭文件形式引用。流程圖如圖4所示。

圖4 程序流程圖
本設計利用51單片機實現窗簾的智能控制,利用紅外遙控技術實現窗簾的遠程控制,利用光敏電阻的光敏特性實現窗簾的自動控制,利用溫度傳感器的電阻隨溫度變化特性檢測室內溫度,并利用液晶屏實現溫度的個性化顯示。因此,本文設計的智能窗簾控制器符合智能家具的大發展方向,符合時代潮流,而且成本低廉控制靈活,可以開發成品進入市場。并且此設計還可以按照不同的用戶需求進行外圍擴展,真正的實現人性化和智能化。

馬 榮 榮藝博 宋文根 汪嘉文 朱顯鋒
中國礦業大學(北京)電氣工程及其自動化系
馬榮,就讀于中國礦業大學(北京)電氣工程與自動化專業。

10.3969/j.issn.1001-8972.2015.07.001