創(chuàng)新者:馬 榮 榮藝博 宋文根 汪嘉文 朱顯鋒
基于51單片機的智能窗簾控制器設(shè)計
創(chuàng)新者:馬 榮 榮藝博 宋文根 汪嘉文 朱顯鋒
本文介紹了一款基于STC90C51單片機設(shè)計的智能窗簾控制系統(tǒng)。該系統(tǒng)包括電機驅(qū)動模塊、紅外接收與發(fā)射模塊、溫度檢測及液晶顯示模塊等,并主要實現(xiàn)紅外遙控電機正反轉(zhuǎn)、光傳感器自動控制窗簾開合及溫度檢測與顯示等功能。
隨著科技的不斷更新,時代的不斷進步,人們的生活水平逐漸有了很大的提高,住房條件也得到了很大的改善。作為物聯(lián)網(wǎng)智能家居的一環(huán),智能窗簾控制已然成為自動控制領(lǐng)域的一個重要的研究熱點。相對于傳統(tǒng)的鋼絲繩手拉式或軌道式窗簾,51單片機控制的自動窗簾控制系統(tǒng),不僅能解決每天用手開合窗簾的不便,又能提高生活的檔次,同時通過感應(yīng)室內(nèi)光線的強弱來自動控制室內(nèi)的明暗,以形成一個舒適的居住環(huán)境,更進一步地滿足了人們享受生活的要求。因此,智能窗簾的出現(xiàn)不僅順應(yīng)潮流與時俱進,而且發(fā)展迅速前景廣闊。在這種高度信息化和智能化的時代背景下,本文設(shè)計了一款基于51單片機的窗簾控制器。
本文設(shè)計的窗簾控制器,硬件部分以STC90C51單片機為控制核心,以遙控器的紅外信號和光敏電阻的光敏信號分別作為手動和自動信號輸入,經(jīng)單片機處理后控制直流電機正反轉(zhuǎn),從而控制窗簾開合。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
紅外遙控模塊
本系統(tǒng)采用SC2262作為發(fā)射芯片,發(fā)射三種信號:前進、后退和停止,因此僅需三個單發(fā)碼鍵KEY1、KEY2和KEY3。當單片機收到KEY1或KEY2的高電平信號時通過判斷鍵碼值來執(zhí)行相應(yīng)的子程序,從而驅(qū)動電機正轉(zhuǎn)或反轉(zhuǎn)以控制窗簾的開與合,若想窗簾運動到某個位置停止時則按下KEY3鍵即可。
圖1 結(jié)構(gòu)框圖
接收芯片則采用SC2272芯片。SC2272 與SC2262 配對使用,是一款通用的遙控解碼集成電路。芯片內(nèi)置的數(shù)據(jù)接收管將發(fā)射芯片發(fā)射的紅外信號轉(zhuǎn)化為微弱的電信號,經(jīng)放大后發(fā)送給單片機I/O口。程序中則通過sbit IR=P3^2程序句使得51單片機能接受該芯片傳輸?shù)臄?shù)據(jù),實現(xiàn)紅外接收。SC2272與SC2262配對使用完成對信號的發(fā)射、接收、濾波和解碼等任務(wù)。
光線感應(yīng)模塊
圖2 光線感應(yīng)
本系統(tǒng)采用光敏電阻作為光電轉(zhuǎn)換電路的核心器件。光敏電阻是利用半導(dǎo)體的光電導(dǎo)效應(yīng)制成的一種電阻器,其電阻值根據(jù)光線強弱而時時變化,照射光線強,電阻減小,照射光線弱,電阻增大。因此搭建如圖2電路,當光線強時,光敏電阻Rs減小,晶體管基極電壓減小,晶體管截至,發(fā)射極被12K電阻拉低,低電平輸出至P0.0;當光線弱時,Rs增大,基極電壓增大,晶體管導(dǎo)通,發(fā)射極被VCC拉高,高電平輸出至P1.1。單片機檢測到不同的電平信號時,即控制電機做出不同的運動,如圖2所示。
同時,由于家庭中常用的白熾燈,led燈等有可能會對光敏電阻的正常工作造成干擾,可采取措施減小干擾光對光線檢測的干擾。因為太陽光中紫光部分較強,所以可在光面電阻外圍包裹一層紫色濾光紙,使得光敏電阻以接受紫光為主,這樣可大大削弱干擾光的影響。
圖3 18b20原理圖
電機驅(qū)動模塊
本設(shè)計中采用28BYJ48五線四相的5V步進電機和1.298N驅(qū)動芯片。步進電機將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰疲旘?qū)動芯片接收到一個電脈沖,電機就轉(zhuǎn)動一個電角度。當電脈沖信號走過一個周期時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。改變電脈沖信號的頻率可以改變電機的轉(zhuǎn)速。通過程序循環(huán)控制某項通電其他項斷電,以此達到電機正轉(zhuǎn)反轉(zhuǎn)的目的,帶動窗簾開合。四相步進電機可以在不同的通電方式下運行。在此選用2相勵磁法,即AB-BC-CDDA-AB-循環(huán)方式。
溫度檢測及液晶顯示模塊
溫度檢測模塊我們選用DS18b20溫度傳感器。該傳感器具有體積小,硬件成本低,抗干擾能力強,精度高的特點,面對扁平的那一面,左負右正。圖中高、低溫度系數(shù)晶振產(chǎn)生固定頻率的脈沖信號,計數(shù)器1接收來自低溫度系數(shù)晶振的信號并作減法計數(shù),減為零時溫度寄存器加1,如此循環(huán)直至計數(shù)器2減為零。此時溫度寄存器中的數(shù)值即為所測溫度。在主程序中設(shè)置采樣標志位ReadTempFlag=0,若檢測到采樣標志位則執(zhí)行采樣和溫度處理工作,標志位防止采樣速度過快,采樣的溫度需要if-else語句判讀正負數(shù),然后分別處理。
液晶顯示模塊選用1602液晶塊,通過給每個點高低不同的電平來控制那個點的亮滅,從而組合顯示圖形或文字。對于18b20檢測到的溫度值,則在主程序中調(diào)用1602顯示子程序去循環(huán)檢測溫度值并顯示。同時亦可在液晶屏上自定義其他信息。
系統(tǒng)編程采用c語言模塊化設(shè)計。在主循環(huán)中先去執(zhí)行紅外處理程序,若有收到紅外信號則優(yōu)先去處理,若無則去執(zhí)行光線感應(yīng)處理程序。即紅外感應(yīng)優(yōu)先級高于光線感應(yīng)。任何一種模式若檢測到驅(qū)動電機的信號,就去控制電機運動。之后就是18b20的溫度檢測子程序和1602液晶顯示的子程序。主循環(huán)外是所有子程序、中斷和延遲的初始化部分。所有的大子程序都是以模塊化的形式編寫,包括電機驅(qū)動程序,18b20溫度檢測程序,1602液晶顯示程序和紅外處理程序,在主程序中以include頭文件形式引用。流程圖如圖4所示。
圖4 程序流程圖
本設(shè)計利用51單片機實現(xiàn)窗簾的智能控制,利用紅外遙控技術(shù)實現(xiàn)窗簾的遠程控制,利用光敏電阻的光敏特性實現(xiàn)窗簾的自動控制,利用溫度傳感器的電阻隨溫度變化特性檢測室內(nèi)溫度,并利用液晶屏實現(xiàn)溫度的個性化顯示。因此,本文設(shè)計的智能窗簾控制器符合智能家具的大發(fā)展方向,符合時代潮流,而且成本低廉控制靈活,可以開發(fā)成品進入市場。并且此設(shè)計還可以按照不同的用戶需求進行外圍擴展,真正的實現(xiàn)人性化和智能化。
馬 榮 榮藝博 宋文根 汪嘉文 朱顯鋒
中國礦業(yè)大學(xué)(北京)電氣工程及其自動化系
馬榮,就讀于中國礦業(yè)大學(xué)(北京)電氣工程與自動化專業(yè)。
10.3969/j.issn.1001-8972.2015.07.001