<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > 手機藍牙收發(fā)模塊的無線LED調(diào)光技術(shù)

          手機藍牙收發(fā)模塊的無線LED調(diào)光技術(shù)

          作者: 時間:2016-10-10 來源:網(wǎng)絡(luò) 收藏

          摘要:為適應(yīng)LED照明個性化需求的不斷變化,設(shè)計了基于的無線器。系統(tǒng)采用低成本的8位PIC單片機作為主控制器,以藍牙模塊作為無線收發(fā)模塊,通過串口通信連接模塊和單片機。調(diào)光器中的藍牙模塊與配對后,應(yīng)用手機終端的APP調(diào)光軟件來實時調(diào)節(jié)LED燈具的亮度、顏色或色溫。

          本文引用地址:http://www.ex-cimer.com/article/201610/306151.htm

          引言

          LED光源作為一種新型的固體照明光源,具有發(fā)光效率高、能耗低、堅固耐用、壽命長、安全性好、環(huán)保性綠色光源等優(yōu)點,是當(dāng)前照明行業(yè)的一個研究熱點。而對LED進行調(diào)光控制能進一步有效地節(jié)能,大幅減少能源浪費?;谟芯€的控制系統(tǒng),具有布線麻煩、增減設(shè)備需要重新布線、系統(tǒng)可擴展性差、系統(tǒng)安裝和維護成本高,以及移動性能差等缺點。因此,采用無線通信技術(shù),是實現(xiàn)LED智能調(diào)光的理想選擇。

          近年來,近距離無線通信技術(shù)獲得了迅猛的發(fā)展,主流技術(shù)包括紅外技術(shù)、藍牙(Bluetooth)、Wi—Fi和ZigBee技術(shù)等。其中,Wi-Fi的功耗大且設(shè)備要求高,而ZigBee開發(fā)難度大且成本高。因此,對于普通的LED照明控制來講,低功耗藍牙技術(shù)一方面突破了功耗的瓶頸,另一方面廣泛在iPhone、三星、HTC等智能手機中推廣,更加具有技術(shù)和成本兩方面的優(yōu)勢。本文將著重討論基于手機藍牙的LED無線調(diào)光技術(shù)。

          1 系統(tǒng)簡介及工作原理

          整個調(diào)光系統(tǒng)的原理框圖如圖1所示。一部智能手機可同時與一組或多組LED燈具進行配對,由智能手機通過APP發(fā)送調(diào)光控制信號,嵌入在燈具里的藍牙模塊接收控制信號,經(jīng)單片機譯碼后就可控制LED光源的開關(guān)、明暗度和顏色等。在感受家居燈控方便快捷的同時,更能享受藍牙技術(shù)在LED燈控應(yīng)用上的智能與樂趣。

          a.jpg

          2 硬件電路設(shè)計

          2.1 MCU控制器

          MCU采用STC89C52RC芯片,工作電壓為5 V,具有8 KB Flash、512字節(jié)RAM、32位I/O口線、看門狗定時器、2個數(shù)據(jù)指針、3個16位定時器/計數(shù)器、一個7向量4級中斷結(jié)構(gòu)、全雙工串行口、片內(nèi)晶振及時鐘電路、單片機與藍牙模塊通過串口進行連接,采用Keil軟件進行開發(fā),生產(chǎn)HEX文件,然后通過STC軟件將程序燒錄到芯片當(dāng)中。

          2.2 藍牙模塊

          藍牙模塊選擇HC-06,可以實現(xiàn)藍牙轉(zhuǎn)串口功能,HC—06采用CSR主流藍牙芯片,完全兼容藍牙V2.0協(xié)議標(biāo)準,支持SPP協(xié)議最高還可支持3M調(diào)制模式。模塊供電電壓為3.3 V工作(3.1~4.2 V),配對時在30~40 mA波動,配對完畢后通信電流為8 mA,具有PIO0~PIO11、AIO0、AIO1、USB、PCM、UART及SPI接口,模塊的波特率可以由用戶利用“AT+指令集”進行設(shè)置,工作電流為40 mA,休眠電流1 mA,內(nèi)置2.4 GHz天線,用戶無需調(diào)試天線。

          外置8 Mb Flash,諧波干擾為2.4 MHz,發(fā)射功率為3 dBm,可以與藍牙筆記本電腦、電腦加藍牙適配器、PDA等設(shè)備進行無縫連接,模塊的有效傳輸距離為10 m。藍牙芯片上提供UART接口,通過4個引腳與單片機STC89C52RC相連。其中,1個引腳接3.3 V的工作電壓,1個引腳接地,藍牙模塊上的TXD接到單片機上的P3.0口,RXD接到P3.1口,實現(xiàn)藍牙模塊與單片機之間的串行通信。工作電壓為3.3 V。

          藍牙模塊也可以通過串口與PC機通信,PC機可以通過AT指令對藍牙模塊的一些初始屬性進行設(shè)置,如波特率、模塊名稱、配對密碼等。

          2.3 LED驅(qū)動電路設(shè)計

          驅(qū)動電路采用ONsemi公司生產(chǎn)的NCL30160作為主芯片,NCL30160集成了N溝道功率MOS場效應(yīng)管的脈沖寬度調(diào)制的浮動式降壓轉(zhuǎn)換器,可以為LED光源提供精準的恒定電流輸出,以驅(qū)動高功率發(fā)光二極管。該芯片支持PWM調(diào)光,通過DC—DC電路將脈沖寬度調(diào)制信號轉(zhuǎn)換為不同占空比的電流信號,實現(xiàn)LED的調(diào)光。基于NCL30160的典型LED驅(qū)動電路原理圖如圖2所示。

          b.jpg

          根據(jù)NCL30160的數(shù)據(jù)手冊及輸出要求,計算外圍器件參數(shù)。系統(tǒng)采用5個1 W的LED串聯(lián),恒定電流為350 mA。

          c.jpg

          其中,ILED為LED燈串電流,由式(1)得到R1值,C5采用官方數(shù)據(jù)手冊推薦的取值,電感L1及ROT由式(2)~(4)得到。式中,toff、ton、△I、RDS(on),的取值參考數(shù)據(jù)手冊,VIN在此處取為24 V,DCRL為電感內(nèi)阻,此處取為0。

          d.jpg

          3 軟件設(shè)計

          軟件設(shè)計包括主程序設(shè)計、串口通信程序設(shè)計、PWM調(diào)光程序設(shè)計和手機APP程序設(shè)計。

          3.1 主程序設(shè)計

          圖3為主程序流程圖,通過藍牙模塊與單片機互連,單片機通過串口接收來自手機藍牙模塊的無線數(shù)據(jù),經(jīng)過單片機內(nèi)部譯碼后產(chǎn)生對應(yīng)占空比的PWM波形。主程序的作用就是根據(jù)手機終端的調(diào)光控制信號,實時產(chǎn)生合適的PWM調(diào)光信號去調(diào)節(jié)LED光源的亮度。

          e.jpg

          3.2 PWM調(diào)光算法設(shè)計

          定時器0采用中斷的方式產(chǎn)生PWM波形,定義頻率、占空比,并且將P1.0口設(shè)為輸出端口。根據(jù)串口接收到的數(shù)據(jù)對占空比以及頻率進行調(diào)節(jié)。因為在手機軟件中設(shè)計了4個控制按鍵,分別為“頻率+”、“頻率-”、“調(diào)光+”、“調(diào)光-”,當(dāng)按下其中一個按鍵時,就會根據(jù)收到的相應(yīng)數(shù)據(jù)對PWM波進行調(diào)節(jié)。

          當(dāng)按下“調(diào)光+”或者“調(diào)光-”時,PWM波的占空比就會發(fā)生變化,高電平占的比例越多,則LED照明燈越亮,反之則越暗。

          當(dāng)按下“頻率+”或者“頻率-”時,PWM波一個周期的PWM波長就會發(fā)生變化,在主函數(shù)main.c中定義了初始頻率FREQ=4 000,反映在示波器上的周期是頻率的倒數(shù),因此頻率越大,一個周期的PWM波長就越短。定時器0采用中斷的方式產(chǎn)生PWM波形,為了便于觀察,在程序中設(shè)定了頻率為200~4000的范圍,每次的調(diào)頻幅度為20,這樣就會非常明顯地觀察到PWM波在一個周期內(nèi)的變化。PWM調(diào)光算法程序流程圖如圖4所示。

          f.jpg

          3.3 手機APP界面設(shè)計

          本程序是基于Android2.1系統(tǒng),所用開發(fā)工具為Eclipse集成開發(fā)環(huán)境。Eclipse是跨平臺的自由集成開發(fā)環(huán)境,最初主要用于Java語言開發(fā),但是目前也有通過插件使其作為其他計算機語言(比如C++、Python和Android)的開發(fā)工具,在此開發(fā)環(huán)境下,開發(fā)軟件非常方便。這款軟件是基于RFCOMM藍牙串口服務(wù)的傳輸軟件,通過該軟件實現(xiàn)藍牙串口模塊的通信功能。

          RFCOOM協(xié)議是基于歐洲電信標(biāo)準協(xié)會ETSI07.10規(guī)程的串行線性仿真協(xié)議。此協(xié)議提供了RS-232控制和狀態(tài)信號,作為一個簡單的傳輸協(xié)議,其在兩個不同設(shè)備上的應(yīng)用程序之間保證一條完整的通信路徑,并在它們之間保持一通信段。

          為了驗證手機終端的APP程序功能,沒有對軟件界面做特別美化的設(shè)計,僅包含所用到的幾個按鈕,以實現(xiàn)預(yù)期的功能為最大目標(biāo)。手機設(shè)計界面如圖5所示。

          g.jpg

          首先打開手機中的該軟件,依次選擇“打開藍牙”和“連接設(shè)備”,找到對應(yīng)的藍牙模塊名稱,連接正確后,藍牙模塊就會由閃爍狀態(tài)變?yōu)殪o止?fàn)顟B(tài),此時手機表示與對應(yīng)的藍牙模塊連接成功。接下來,通過操作手機軟件界面的按鍵,P1.0口的輸出PWM波形會隨按鍵的變化而發(fā)生相應(yīng)的變化,從而實現(xiàn)對LED照明燈的無線控制。

          當(dāng)按下“調(diào)光+”或“調(diào)光-”時,示波器上的波形占空比就會發(fā)生相應(yīng)的變化。所謂占空比,是指高電平在一個信號周期內(nèi)所占的比重,比重越大,則占空比就越大,LED燈就越亮。

          當(dāng)按下“頻率+”或“頻率-”時,PWM波的占空比始終不發(fā)生變化,而PWM波頻率會在一個信號周期內(nèi)相應(yīng)地變大或變小。

          4 實驗結(jié)果

          實驗電路如圖6所示,由單片機控制電路、藍牙模塊、LED驅(qū)動電路和LED光源組成。LED光源采用5個1 W的LED串聯(lián),額定電流為350 mA。

          h.jpg

          測試開始前,先將手機終端與藍牙模塊實現(xiàn)配對,配對成功后,藍牙模塊上的燈就會由閃爍狀態(tài)變?yōu)殪o止?fàn)顟B(tài),圖7為配對成功后手機APP的界面圖。

          i.jpg

          接著,就可以觸摸手機上的調(diào)光按鈕進行無線調(diào)光,如不斷按“調(diào)光-”按鈕時,通過示波器觀察單片機輸出的PWM波形,發(fā)現(xiàn)占空比也會隨著觸摸逐漸變小,實際的LED燈的亮度逐漸變暗。用萬用表依次測量了3組數(shù)據(jù),輸出電流的平均值依次為240 mA、160 mA、50 mA,實驗波形如圖8所示。

          j.jpg

          結(jié)語

          由于傳統(tǒng)的照明系統(tǒng)具有布線麻煩、可擴展性差、節(jié)能效率低等缺點,本文采用手機Bluetooth技術(shù),實現(xiàn)了對LED燈的無線調(diào)光控制。經(jīng)過一段時間的測試,系統(tǒng)不僅可以通過手機藍牙控制LED燈具的開關(guān),還可以調(diào)節(jié)LED燈的亮度和顏色,已經(jīng)達到了預(yù)期的結(jié)果。該系統(tǒng)結(jié)構(gòu)簡單、成本低,解決了傳統(tǒng)機械開關(guān)使用不方便和傳統(tǒng)燈具亮度不可調(diào)的問題,具有一定的實用價值。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();