【導讀】本文通過遙控技術和單片機的相互結合設計在智能家居應用的燈光控制系統,該系統是基于單片機的控制系統,用遙控的方式對系統燈光進行控制。本方案主要解決信號的發射和接收,在信號的處理接收之后對不同信號的程序處理,通過軟件編程實現對燈泡的開關和亮度調節。
引言
智能家居是指利用先進的計算機技術、網絡通信技術、綜合布線技術 ,將與家居生活有關的各種子系統有機地結合在一起 ,通過統籌管理 ,讓家居生活更加舒適、安全、有效。
隨著人們生活水平的提高和電子技術的發展,家居智能化已經開始走進了我們日常的生活。人們已經不滿足于按鍵式的手動開關來控制燈具,從而開發出了智能化水平更高的專業照明控制的遙控系統,其成本低,質量高,應用靈活方便。而由于具有體積小、功耗低、功能強、成本低的特點,紅外線遙控已經是目前應用最廣泛的一種通信和遙控手段。
1 紅外線遙控基本原理
紅外線遙控就是利用紅外線(又稱紅外光)來傳遞控制信號,實現對控制對象的遠距離控制。具體來講,就是由發射器發出紅外線指令信號,由接收器接收下來并對信號進行處理并識別,再通過相應的控制芯片,最后根據接收到的不同信號實現對控制對象的各種功能的遠距離控制。
紅外線發射器由指令按鍵、信號產生電路、頻率調制電路、驅動電路及紅外線發射器件組成,如圖1 所示。當指令鍵按下時,指令信號產生電路便產生所需要的控制指令信號。
這里的控制指令信號是以某些不同的特征來區分的。常用的區分指令信號的特征是頻率特征和碼組特征,即用不同的頻率或不同的編碼的電信代號代表不同的指令。這些不同的指令信號經過頻率調制,最后由驅動電路驅動紅外線發射器件,發出紅外線遙控指令信號。
圖1 紅外線發射的組成
紅外接收器由紅外線接收器件、前置放大電路、信號解調電路、指令檢測電路組成,如圖2。當紅外線接收器件接收到發射器的紅外線指令信號時,它將紅外光信號變為電信號并送入前置放大器進行放大,再經解調器解調后由指令信號檢出電路將指令信號檢出,實現各種操作。
圖2紅外線接收器的組成
要實現系統的遙控功能,就必須先選擇信號指令傳送的方式。根據遙控的方式和使用者場合不同,可以把這些控制信號特征進行各種組合編碼。如電壓極性的組合方式,電信號相位的組合方式,電信號幅值的組合方式,頻率的組合方式,脈沖的寬度、相位、幅度等參數的組合方式及脈沖編碼組合方式等。脈沖編碼組合方式具有指令容量大,抗干擾能力強,保密性好及便于用邏輯電路來實現等優點,得到了廣泛的應用。
2 系統硬件電路設計方案
紅外遙控電路由發射電路和接收電路組成,發射部分由按鍵開關電路、控制芯片和紅外發射電路三部分組成。當按下遙控按鈕時,單片機產生相應的控制信號,經紅外發射二極管發射出去。接收部分由紅外接收頭、控制芯片、調光電路組成,當紅外接收器接收到控制脈沖后,經單片機處理,判斷是否對電燈進行調光或開關,根據需要執行相應的操作,接收系統采用的是5 伏單電源電壓供電。如下圖所示:
圖3 系統設計框圖
2.1 遙控系統主控芯片
在本系統中選擇的是51 系列的AT89C51($3.7500)芯片,AT89C51是一種帶4k字節閃爍可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8 位微處理器,俗稱單片機。該器件采用ATMEL 高密度非易失存儲器制造技術制造,與工業標準的MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的AT89C51 是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。AT89C51 是一個低功耗高性能單片機,40 個引腳,32 個外部雙向輸入/輸出(I/O)端口,同時內含2 個外中斷口,2 個16 位可編程定時計數器,2 個全雙工串行通信口,AT89C51 可以按照常規方法進行編程,也可以在線編程。
其將通用的微處理器和Flash 存儲器結合在一起,特別是可反復擦寫的Flash 存儲器可有效地降低開發成本。
2.2 紅外發射電路模塊
在本系統設計中,單片機發出的信號如何被紅外發射管識別,發射管能否正常發射紅外信號是發射電路要解決的關鍵問題。
要發射紅外信號,必須要有紅外發射器件。紅外發光二極管是一種能產生紅外光的發光二極管,目前大量使用的紅外發光二極管發出的紅外線波長為940nm 左右,外形與普通發光二極管相同,只是顏色不同。常見的紅外發射二極管有黑色,透明色,它與普通發光二極管的最大區別在于所發出的光為不可見光,而普通發光二極管發出的是各種顏色的可見光[5],通常,紅外發光二極管分為兩種結構形式:一種是遙控發射型紅外發光二極管(即最常用的手持遙控器所用的紅外發射二極管);一種是近距離發射型紅外發光二極管,這種二極管把紅外光的發射與接收共集為一體。由于本設計實現的是家居遙控,因此采用第一種即可。
如圖4 所示為系統遙控發射原理圖,P1.0 口為按鍵輸入口;P2.0 口為紅外發射端口,用于輸出38kHz 載波編碼,脈沖經9013(NPN)放大然后由紅外發射管輸出;第9 腳為單片機的復位腳,采用RC 手動復位電路;18、19 腳接晶振。
圖4紅外發射電路圖
2.3 紅外接收電路模塊
1). 紅外接收器件介紹。
一般的紅外接收頭主要由集成電路外加阻容元件,紅外線接收管及濾波光片等組成,電路設計相對繁瑣,在實際應用中不方便。而紅外遙控接收頭SM0038 集紅外接收管,前置放大解調等于一體,無外部電路,體積小,密封性好,靈敏度高,應用簡單,用小功率紅外發射管發射信號接收距離達35 米,并且價格低廉。它僅有三條管腳,分別是電源正極、電源負極以及信號輸出端,其工作電壓在5V 左右,接收頻率為38kHz,它的主要功能包括放大,選頻,解調幾大部分,要求輸入信號需是已經被調制的信號。從而使電路達到最簡化,靈敏度和抗干擾性都非常好,是一個接收紅外信號的理想裝置。如圖5 所示:
圖 5 SM0038
2). 接收電路及調光電路設計。
接收電路和調光電路的實現均是通過繼電器實現的,給每一個繼電器串聯一個電阻,構成一個回路,本電路將四個繼電器回路并聯,連接在P0 口上,當四個繼電器均閉合時,燈最亮,當三個繼電器工作時,燈較亮,當兩個繼電器工作時燈次亮,當一個繼電器工作時,燈最暗,當四個繼電器都不工作時,燈泡處于關閉狀態。接收電路圖如圖6 所示:
圖 6 接收電路圖
3 系統軟件設計
本系統所用的紅外線接收器SM0038 的解調中心頻率為38KHz,故發射頻率也采用38kHz,本電路采用一路按鍵,一種編碼方式實現對家居燈的控制,接收端根據接收到的不同編碼個數實現燈的不同亮度的調節控制。每一次P1.0 口為低電平時,則確定鍵被按下,由P2.0 口發射一個編碼。接收端接收編碼時進行判斷,首個低電平是否大于2ms,如果是,再判斷是否是正確的編碼,如果是,num加1,亮度調暗一檔。
3.1、遙控發射程序控制流程圖
圖 7 發射程序流程圖
初始化程序后,開定時器產生38kHz 脈沖,再判斷有無按鍵按下,當有按鍵按下時,根據定時器設定的時間發一幀脈沖,首先發3ms 高電平,再發1ms 低電平,1ms 高電平,接著停發10ms。
3.2. 遙控接收程序控制流程圖
圖8 接收部分調光程序流程圖
接收端采用查詢方式接收,當查詢到P1.0 口為低電平時,累加器工作,通過累加器中變量個數判斷控制燈的亮度及開關。當num為0 時,燈最亮,加1則調暗一個檔次,當num等于4 時,繼電器全部斷開,燈滅。
4 結論
為了減少電路的繁瑣,我使用單片機來實現軟件編碼解碼,大大提高了電路的靈活性,降低了成本,僅僅使用一個鍵就能實現對一個燈具的開關和亮度調節,若是把一個按鍵開關改設成一個矩陣鍵盤,就可以實現對整個家里的燈具的開關和亮度控制,實用性很強。
【推薦閱讀】