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