聲控開關給人們的生活和工作帶來了極大的方便,但是在住宅居室中使用聲控開關卻很不現實,比如在臥室裡裝一個聲控開關,若有的人晚上睡覺打鼾時或有點什麼動靜就有可能把燈震亮,影響人們的睡眠,有時甚至能嚇到人,如何能設計出一個適用於家庭中使用的方便控制燈的裝置呢?我發現人們在睡覺時床頭常會放著個紅外遙控器,怎麼用它來控制頭頂上的燈呢?這種裝置必須用指定的幾個鍵去進行控制,否則會干擾用電設備,因此它必須具有設定功能也就是學習功能,綜合考慮筆者決定選用單片機來製作。
單片機的選型
筆者決定選用STC的11F02E,理由如下。
(1)因為做這種電路用的I/O口不多,有紅外信號輸入,控制輸出,按鍵控制,指示燈等,STC11F02E有16個引腳的,而且價格比較便宜,僅為每片2.8元左右。因此在電路板的體積和整體成本上比較合適。
(2)STC11F02E的I/O口可以設置多種輸出模式,比如設置成推輓輸出每個I/O口可提供20mA的電流,在驅動晶閘管時又省去了三極體驅動電路,可以節省一項開支。
(3)STC11F02E最主要的一個特點是其內帶2KB的EEPROM數據存儲器,單片機學習的紅外編碼可以存儲到裡面,掉電後不至於丟失,又省去了存儲器,真是再好不過了。
(4)STC的單片機號稱是單時鐘/機器周期的單片機,高速/低功耗/超強抗幹擾,這對系統的穩定性也有了保障。
(5)STC11F02E是寬電壓單片機,電壓範圍4.1~5.5V,對電源的要求不是很高。
(6)它還有2KB的程序存儲器和眾所周知的ISP在線編程,無法解密等特點。
圖2.1所示是STC11F02E引腳圖。
電路原理
1.電路要實現的功能
(1)不要買遙控器,用家裡的電視機、DVD、空調的遙控器都可以。
(2)可以設置學習鍵,按下按鍵後就開始學習,學習遙控器上的兩個鍵,第一個是電源打開鍵,學習成功後LED指示燈會變亮,再按下一個鍵就是電源關閉鍵,學習成功後LED指示燈會變滅,鬆開學習鍵學習結束,學習到的碼會存儲到單片機的EEPROM內,即使掉電重啟後也不會丟失。這對家庭很方便,因為電視機總有一些鍵不經常用,我們可以把它們設置為燈的開關鍵。以後在睡覺前用遙控器把電視機關掉的同時,順便就把電燈關閉了。
(3)為了避免找不到遙控器,電路設計為重啟後電燈為亮的狀態,因此還可同時用牆壁開關控制。
(4)電源是由降壓電路直接供給,因此除了支持白熾燈還可以支持節能燈,挺完美的。
2.硬體主電路原理
硬體電路原理如圖2.2所示,這個電路非常簡單,IC1是主晶片STC11F02E單片機。這款單片機有內部晶體,但是紅外接收要求頻率準確性很高,所以採用外部晶體,B、C5、C6組成單片機的外部晶振電路。C7和R3是簡單的上電復位電路。VD4是發光二極體,用來在學習和點亮時做指示,R8是它的限流電阻,採用灌電流點亮方式。用單片機的P1.1口作為推輓輸出直接控制雙向晶閘管MAC97A6從而來控制燈的亮滅,R7是它的限流電阻。S1按鍵是用來學習時用的,R4是防幹擾的。IC2、C8、R6是紅外接收電路,接收紅外遙控信號,紅外接收頭型號為HS0038、C8和R6也是為了防幹擾。
當電路接通電源後LED指示燈會閃一下,然後按住學習鍵S1不要鬆開,同時拿家庭遙控器把想要設為打開燈的按鍵按一下,如果指示燈亮說明此按鍵學習成功,然後把遙控器上想要設為關燈的按鍵按一下,此時指示燈滅說明學習成功,鬆開學習鍵就學習成功,安上燈泡就可以用家庭遙控器控制燈了。它的實物見圖2.3。
所用元器件也非常之少,可以把它做成板子然後放入燈座內,圖2.4所示是我用遠古的辦法腐蝕的板子,放入燈座內正好,圖2.5、圖2.6所示是成品使用的情況。
3.電源電路原理
經過測試發現此電路運行時最大電流不過15mA,而在待機狀態下只有6mA,非常省電。為了縮小成本和體積我選擇了電容降壓電源電路,此電路可提供5V/25mA電源,供這個小電路是綽綽有餘呀!
電容降壓式簡易電源的基本電路見圖2.7。C1為降壓電容器,宜採用無極性的金屬膜電容,VD1為半波整流二極體,VD2在市電的負半周時給C1提供放電迴路,R1為關斷電源後C1的電荷洩放電阻。整流後未經穩壓的直流電壓一般會高於30V,並且會隨負載電流的變化發生很大的波動,VD3將電壓穩到12V,然後由C2濾波,為了確保電源質量在後級加入78L05穩壓器,它體積雖小但能提供300mA的電流,再加入電容C4,電源就基本為5V穩定電源了。
程序原理
程序流程見圖2.8,編程注意事項如下。
(1)STC11F02E單片機編程時與51單片機有所不同,因為它內部多了一些特殊功能寄器,在編譯時必須聲明地址。
sfr P1M1=0X91;
sfr P1M0=0X92;//聲明P1口的軟體配置工作類型寄存器地址
sfr AUXR=0X8E;//聲明AUXR寄存器地址
sfr IAP_DATA=0XC2;
sfr IAP_ADDRH=0XC3;
sfr IAP_ADDRL=0XC4;
sfr IAP_CMD=0XC5;
sfr IAP_TRIG=0XC6;
sfr IAP_CONTR=0XC7;//聲明 EEPROM 存儲器所用寄存器地址
(2)由於此單片機可以設置輸出埠為推輓輸出,此時輸出電流每個I/O口可提供設置輸出口電流20mA用以驅動雙向晶閘管,P1口的I/O口輸出模式需要設置P1M1、P1M0寄存器,設置方法見表2.1。
圖2.2所示的P1.1控制雙向晶閘管,需設為推輓輸出,其他口設為準雙向口所以P1M1=00000000 P1M0=00000010。C 語言程序寫為P1M1=0X00; P1M0=0X02;
擴展應用
這種原理實現後發現它不僅僅只是用以遙控控制燈,還可以改變輸出控制部分來控制電機、設備、電視等,或用於危險防爆場所,或改變輸出埠控制多路等。
此電路做成功後試驗兩個星期工作正常,大家可以做著玩玩,元器件清單見表2.2。