中心議題:
- 智能燈光控制器研究
- 智能燈光控制器原理
解決方案:
- 無線數(shù)傳模塊設(shè)計(jì)
- LPC2104采用16位/32位RISC結(jié)構(gòu)
- 無線模塊軟件設(shè)計(jì)
1 引言
隨著人們生活質(zhì)量的提高,,燈具已不單純是室內(nèi)的基本照明工具,而且是建筑裝飾的一種實(shí)用藝術(shù)品,,當(dāng)家里有各式各樣的燈具之后,,將它們精心地搭配在一起,達(dá)到最適合的氣氛效果是高品質(zhì)生活的需要,,目前燈光的控制主要還是手動形式,,逐個(gè)控制所有的燈具,這樣不僅麻煩而且效率低下,,也不符合現(xiàn)代舒適生活的標(biāo)準(zhǔn),。
因此,設(shè)計(jì)一個(gè)可以便捷地控制燈光,、同時(shí)還提供場景組合等功能的智能化燈光系統(tǒng)不僅具有實(shí)用價(jià)值,,而且還具有廣闊的市場前景,。
2 設(shè)計(jì)目標(biāo)
設(shè)計(jì)一個(gè)智能化燈光控制器,安裝在家中的各個(gè)房間,,提供無線遙控,、輕觸式燈光控制、場景組合,、預(yù)設(shè)存儲等豐富功能,。通過手持遙控器來控制住宅內(nèi)所有的燈光;通過遙控器上的場景設(shè)置按鍵,,方便地設(shè)定燈光場景和迅速切換,,可以通過面板上的輕觸按鈕控制燈光的開關(guān)和亮度,或者是多盞燈進(jìn)入某種預(yù)設(shè)的場景,,各燈光控制器通過RS485的總線與家庭以太網(wǎng)網(wǎng)絡(luò)終端通信實(shí)現(xiàn)對燈光亮度的遠(yuǎn)程控制和查詢,。
該智能化燈光控制系統(tǒng)分為接收外來控制信號和執(zhí)行控制操作兩部分,為了接收控制信號,,系統(tǒng)需具備無線接收功能和按鍵輸入面板,,為了對燈具執(zhí)行控制,需要設(shè)計(jì)220V調(diào)光控制電路,。
LPC2104具有豐富的外圍接口資源,,并有很高的可靠性和運(yùn)算速度,非常適于該系統(tǒng)的設(shè)計(jì),,智能燈光控制器原理如圖1所示,。
3 LPC2104功能簡介
LPC2104是PHILIPS公司專為嵌入式應(yīng)用提供的高性價(jià)比微控制器解決方案。它采用ARM公司的16位/32位RISC結(jié)構(gòu),,內(nèi)核是ARM7TDMI-S,,CPU操作頻率可達(dá)60MHz,片上集成:具有ISP和IAP功能的128KB Flash程序存儲器,、16KB靜態(tài)RAM,、2個(gè)UART、1個(gè)I2C串行接口,、1個(gè)SPI串行接口,,多達(dá)6路輸出的PWM、2個(gè)定時(shí)器,,分別具有4路捕獲/比較通道,、實(shí)時(shí)時(shí)鐘及看門狗定時(shí)器等,能夠與常用的外圍設(shè)備實(shí)現(xiàn)無縫連接,,功能強(qiáng)大,,本文以LPC2104為核心,設(shè)計(jì)結(jié)構(gòu)簡單、性能穩(wěn)定的智能燈光控制器,。
4 無線數(shù)傳模塊設(shè)計(jì)
4.1 nRF401簡介
無線通信的實(shí)現(xiàn)有三種方案:藍(lán)牙通信,、紅外無線遙控、使用短距離無線數(shù)傳器件,。對于藍(lán)牙方案,,傳輸距離和器件成本是值得考慮的問題,藍(lán)牙主要用于短距離傳輸(最多10m),,且成本一直偏高,。紅外傳輸雖不用考慮成本問題,但從手持設(shè)備所能提供的功耗來看,,它能傳輸?shù)木嚯x實(shí)在太近,,只有幾米,,且對紅外發(fā)射角度有一定要求,,存在"必須保證傳輸信息的兩個(gè)設(shè)備正對,且中間不能有障礙物"等致命的缺陷,,與前兩種方案相比,,采用短距離低功耗的無線射頻器件nRF401是最佳選擇。
nRF401無線通信收發(fā)器集成了高頻發(fā)射/接收,、PLL合成,、FSK調(diào)制/解調(diào)和多頻道切換等功能,在低成本數(shù)字通信應(yīng)用中具有突出的技術(shù)優(yōu)勢,,其主要技術(shù)特點(diǎn)有:(1)工作在國際通用的兩個(gè)頻道:433.92MHz和434.32MHz,,無需進(jìn)行頻道申請即可使用;(2)采用DSS+PLL頻率合成技術(shù),,外接元件僅有1個(gè)晶體振蕩器和幾個(gè)電阻電容和電感,,基本無需調(diào)試就可工作,且穩(wěn)定性好,;(3)數(shù)字通信采用具有較高的抗干擾能力的FSK調(diào)制方式,,支持直接數(shù)據(jù)輸入輸出操作,可直接與MPU的UART串行口連接,;(4)有2個(gè)可選擇的工作頻道,,采用半雙工工作模式,最高數(shù)據(jù)傳輸速率可達(dá)20bk/s,;(5)工作電壓為2.7V-5V,,待機(jī)狀態(tài)耗電僅為8μA,能滿足低功耗設(shè)備的要求,。
采用nRF401器件無需進(jìn)行初始化和配置,,不需要對數(shù)據(jù)進(jìn)行曼徹斯特編碼,并可以使用廉價(jià)的PCB天線,無需進(jìn)行復(fù)雜的射頻電路設(shè)計(jì)和調(diào)試,,使產(chǎn)品的開發(fā)應(yīng)用更為便捷,。
4.2 nRF401與LPC2104的連接
nRF401與LPC2104的連接方式有多種選擇,如GPIO,、I2C,、UART等,從硬件連接及通信協(xié)議最簡化的角度來看,,選擇串口與無線模塊相連是最佳方案,,UART1的TXD1、RXD1分別與nRF401的DIN,、DOUT連接,。nRF401與LPC2104接口電路如圖2所示。
由圖2可見,,嵌入式CPU對無線模塊的控制接口主要由5根信號線組成,,分別是DIN、DOUT,、TXEN,、PWR_UP、CS,。其中,,TXEN是發(fā)送使能端,通過對TXEN置位和復(fù)位實(shí)現(xiàn)發(fā)送狀態(tài)和接收狀態(tài)的切換,,并通過GPIO口進(jìn)行控制,,PWR_UP是節(jié)能控制端,利用LPC2104的一個(gè)GPIO口對其進(jìn)行編程,,實(shí)現(xiàn)無線模塊的工作模式和休眠狀態(tài)的切換,;CS可進(jìn)行頻道選擇,通過GPIO設(shè)置,,可以利用LPC2104的UART1串口控制DIN,、DOUT信號。
為了節(jié)能,,nRF401大多數(shù)情況下應(yīng)處于關(guān)閉狀態(tài),,無線部分硬件上是不具備自動喚醒功能的,必須通過軟件方式采用合理的通信協(xié)議以保證節(jié)能同時(shí)數(shù)據(jù)不丟失,。
5 調(diào)光控制電路設(shè)計(jì)
采用單片機(jī)I/O口灌電流的方法控制晶閘管實(shí)現(xiàn)開關(guān)和調(diào)光控制,。用內(nèi)部帶有過零檢測電路的光電耦合器MOC3041作為晶閘管的驅(qū)動器,同時(shí)能實(shí)現(xiàn)強(qiáng),、弱電的隔離,。
傳統(tǒng)的調(diào)光方法都采用移相觸發(fā)晶閘管,,控制晶閘管的導(dǎo)通角來控制輸出功率,不僅同步檢測電路復(fù)雜,,而且在晶閘管導(dǎo)通瞬間會產(chǎn)生高次諧波干擾,,造成電網(wǎng)電壓波形畸變,影響其他用電設(shè)備和通訊系統(tǒng)的正常工作,,本系統(tǒng)中采用過零觸發(fā)晶閘管導(dǎo)通與關(guān)斷的時(shí)間比值來調(diào)節(jié)燈具的功率,,由于過零觸發(fā)不改變電壓的波形而只改變電壓全波通過的次數(shù),不會對電網(wǎng)造成污染,,因此,,本系統(tǒng)采用過零觸發(fā)方式。
MOC3041內(nèi)部含有過零檢測電路,,當(dāng)輸入引腳1輸入15mA的電流,,輸出端6引腳、4引腳之間的電壓稍過零時(shí),,內(nèi)部雙向晶閘管導(dǎo)通,,觸發(fā)外部晶閘管導(dǎo)通,當(dāng)MOC3041輸入引腳輸入電流為0時(shí),,內(nèi)部雙向晶閘管關(guān)斷,,從而外部晶閘管也關(guān)斷,其調(diào)光控制電路如圖3所示,。
6 無線模塊軟件設(shè)計(jì)
無線模塊通過UART串口與系統(tǒng)相連,所以必須對UART進(jìn)行初始化,,LPC2104的UART串口符合RS232標(biāo)準(zhǔn),,也支持550工業(yè)標(biāo)準(zhǔn)。
LPC2104有兩個(gè)通用的異步串行接口(UART),,啟動時(shí)UART默認(rèn)狀態(tài)是無法使用的,,必須通過編程GPIO寄存器來使能它們。
本系統(tǒng)使用UART1與nRF401進(jìn)行連接,,UART1帶有調(diào)制解調(diào)器接口,,16字節(jié)接收和發(fā)送FIFO。內(nèi)置波特率發(fā)生器以及包含標(biāo)準(zhǔn)的調(diào)制解調(diào)器接口信號
在使用UART1時(shí),,先要設(shè)置TXD1,、RXD1引腳連接方式,然后設(shè)置串口的波特率及工作模式,,即可進(jìn)行數(shù)據(jù)的發(fā)送和接收,,本系統(tǒng)使用11.0592MHz晶體振蕩器,不適用PLL,,VPB為4分頻,,設(shè)置UART1波特率為9600bit/s,,則除數(shù)值N=18,即12H,,UART1的初始化程序如下:
在操作系統(tǒng)環(huán)境下,,系統(tǒng)啟動時(shí)會自動初始化串行口,所以應(yīng)用程序調(diào)用串行口資源將變得更容易,,值得注意的是,,應(yīng)用程序往往是多任意系統(tǒng),為了實(shí)時(shí)監(jiān)測串行口消息,,在操作環(huán)境中一般單開一個(gè)串行口掃描任務(wù),,保證信息不丟失,在一個(gè)已有的工程文件的主函數(shù)中添加串行口的寄存器初始化代碼,,并添加串口掃描任務(wù),,由于對無線模塊的控制還有系統(tǒng)的GPIO,所以掃描程序中還要包括對I/O的操作,,當(dāng)系統(tǒng)收到串口信息時(shí),,將會主動向主任務(wù)發(fā)送一個(gè)串行口信息,主任務(wù)接收到該信息將會調(diào)用響應(yīng)函數(shù),,響應(yīng)該消息,。
7 結(jié)束語
無線通信模塊nRF401集發(fā)射、接收于一體,,大大簡化了燈光控制器設(shè)計(jì)的復(fù)雜程度,,智能燈光控制器通過RS485接口很容易組網(wǎng),為實(shí)現(xiàn)智能家居網(wǎng)絡(luò)化提供了方便,。