遠(yuǎn)距離圖傳廠家基于無(wú)線模塊設(shè)計(jì)的聯(lián)網(wǎng)LED照明燈方案,智能家居是指通過(guò)物聯(lián)網(wǎng)技術(shù)將各種設(shè)備連接到一起,物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展促進(jìn)了智能家居的發(fā)展;設(shè)計(jì)了一種基于Android的可組網(wǎng)的LED照明燈,該LED照明燈以基于Android的智能電子設(shè)備為控制終端,通過(guò)socket通信的方法實(shí)現(xiàn)與LED照明燈之間的通信,達(dá)到對(duì)照明燈的開(kāi)關(guān)以及亮度調(diào)節(jié)的目的;LED照明燈采用S微處理器作為控制芯片,選用高效率、高性能的T作為大功率LED的驅(qū)動(dòng),并采用遠(yuǎn)距離圖傳廠家CV5200作為WIFI通信模塊;LED照明燈的亮度通過(guò)微處理器輸出的PWM信號(hào)進(jìn)行調(diào)節(jié),不僅可以實(shí)現(xiàn)亮度從0-1的線性調(diào)節(jié),而且解決了普通照明燈在開(kāi)燈和關(guān)燈時(shí),瞬間點(diǎn)亮和瞬間熄滅,對(duì)人眼的沖擊問(wèn)題;采用該方法設(shè)計(jì)的照明燈實(shí)用性強(qiáng),具有較好的推廣價(jià)值。
智能家居是指通過(guò)物聯(lián)網(wǎng)技術(shù)將家庭中的音視頻設(shè)備、照明系統(tǒng)、數(shù)字影院系統(tǒng)、網(wǎng)絡(luò)家電等各種設(shè)備通過(guò)無(wú)線的方式連接到一起,提供家用電器的遠(yuǎn)程智能控制。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,還兼?zhèn)渚W(wǎng)絡(luò)通信、信息家電、設(shè)備自動(dòng)化,提供全方位的信息交互功能。當(dāng)前,高效、節(jié)能、環(huán)保和使用壽命長(zhǎng)的LED照明燈已大范圍替代效率低、對(duì)環(huán)境污染大以及使用壽命短的白熾燈和熒光燈。LED照明燈主要采用大功率LED燈珠作為發(fā)光光源,大功率LED燈珠屬于電流型半導(dǎo)體器件,具有二極管的特性,通過(guò)調(diào)節(jié)其流經(jīng)的電流即可調(diào)節(jié)其發(fā)光亮度,因此,通過(guò)微控制器和帶亮度調(diào)節(jié)功能的專(zhuān)用的LED驅(qū)動(dòng)芯片,即可方便的調(diào)節(jié)燈光的亮度。另外,基于An-droid系統(tǒng)的智能電子設(shè)備,如智能手機(jī)、PAD等隨處可見(jiàn),成為人們生活中必不可少的一部分。因此,將基于An-droid系統(tǒng)的智能電子設(shè)備和帶無(wú)線通信功能的可調(diào)光LED照明燈結(jié)合,將會(huì)打開(kāi)產(chǎn)生一個(gè)新的應(yīng)用空間。
本文闡述了一種帶微處理器和遠(yuǎn)距離圖傳廠家
LED WIFI通信功能的可調(diào)光、可組網(wǎng)的LED照明燈,并提出了將多個(gè)該LED照明燈組成一個(gè)分布式的可調(diào)光的智能照明控制的方案。
由Android終端以及分布在家居空間的LED照明燈組成。AP為無(wú)線接入點(diǎn),是網(wǎng)絡(luò)的中心節(jié)點(diǎn),在智能家居中,可以采用家庭或辦公室常用的無(wú)線路由器作為AP。Android終端和其他LED照明燈為STA站點(diǎn),所有的STA都以AP作為無(wú)線網(wǎng)絡(luò)的中心,STA之間的相互通信都通過(guò)AP轉(zhuǎn)發(fā)完成。AP通過(guò)WLAN與外網(wǎng)連接,外網(wǎng)的服務(wù)終端可以通過(guò)AP訪問(wèn)到內(nèi)部各個(gè)STA站點(diǎn)。Android終端作為TCPServer,其余的LED照明燈作為TCPClient,作為TCPClient的LED照明燈上電后,其內(nèi)部的無(wú)線模塊WIFI模塊會(huì)主動(dòng)連接指定IP地址和端口的An-droid終端,連接成功后,Android終端和LED照明燈之間就可以進(jìn)行通信了。LED照明燈內(nèi)部的處理器就會(huì)定時(shí)發(fā)送LED照明燈的狀態(tài)信息,如開(kāi)、關(guān)狀態(tài)以及亮度比例等。安裝在Android終端的APP運(yùn)行后,會(huì)通過(guò)WIFI網(wǎng)絡(luò)接收到各個(gè)LED燈上傳的數(shù)據(jù),并顯示各個(gè)照明燈的狀態(tài)。同時(shí)用戶(hù)通過(guò)APP的操作,通過(guò)socket通信的方式,按照自定的通信協(xié)議來(lái)控制各個(gè)燈的開(kāi)、關(guān)以及調(diào)節(jié)各個(gè)照明燈的亮度。在LED照明燈的電路組成中,遠(yuǎn)距離圖傳廠家WIFI電路構(gòu)成MCU與Android終端的通信橋梁,MCU是單個(gè)LED照明的控制中心,負(fù)責(zé)解析并執(zhí)行Android終端發(fā)出的控制指令,MCU選用帶有PWM控制器的微處理器,這樣很方便與帶PWM調(diào)光功能接口的LED驅(qū)動(dòng)芯片無(wú)縫對(duì)接。
LED驅(qū)動(dòng)電路T系列器件是內(nèi)部集成了290mΩ低電阻N溝道金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管(MOSFET)的緊湊型單片開(kāi)關(guān)穩(wěn)壓器,該系列開(kāi)關(guān)穩(wěn)壓器利用恒定關(guān)斷時(shí)間和峰值電流控制功能來(lái)運(yùn)行,工作原理簡(jiǎn)單可靠。該系列器件輸出高達(dá)2A的恒定平均電流,具有多種調(diào)光方法,適用于注重高效率、高帶寬、PWM模擬調(diào)光以及小尺寸的高亮度LED照明應(yīng)用場(chǎng)景,例如汽車(chē)照明、工業(yè)照明、農(nóng)業(yè)、航海和重工業(yè)照明等領(lǐng)域。TPS92515系列器件具有很寬的輸入電壓范圍,其中TPS92515x的輸入電壓范圍為5.5V至42V,TPS92515HVx的輸入電壓范圍為5.5V至65V。
在LED照明燈中,采用T作為大功率LED的驅(qū)動(dòng)電路。EN信號(hào)用于控制P型MOS管U1(IRF6216)的導(dǎo)通與截止,從而控制T的電源輸入,達(dá)到通過(guò)EN信號(hào)控制LED照明燈的開(kāi)和關(guān)的目的。T的第9引腳為PWM調(diào)光信號(hào)輸入引腳,標(biāo)準(zhǔn)的PWM信號(hào)的頻率范圍為100Hz至2kHz,該引腳與微處理器可輸出PWM信號(hào)的特殊引腳連接,通過(guò)固件程序改變輸出PWM信號(hào)的占空比,來(lái)調(diào)節(jié)LED照明燈的亮度。WIFI電路WIFI電路作為LED照明燈與Android終端通信的橋梁,WIFI電路采用遠(yuǎn)距離圖傳廠家云望聯(lián)網(wǎng)技術(shù)有限公司的WIFI模塊CV5200,模組是一款一體化的802.11b/g/n模組,通過(guò)該模組,傳統(tǒng)的串口設(shè)備或MCU控制的設(shè)備可以很方便的接入WIFI無(wú)線網(wǎng)絡(luò),從而實(shí)現(xiàn)物聯(lián)網(wǎng)絡(luò)控制與管理。由于模塊內(nèi)部完成協(xié)議轉(zhuǎn)換,因此,對(duì)于用戶(hù)來(lái)說(shuō),無(wú)需關(guān)心內(nèi)部具體細(xì)節(jié),通過(guò)簡(jiǎn)單設(shè)置即可實(shí)現(xiàn)串口與無(wú)線模塊WIFI之間數(shù)據(jù)的雙向透?jìng)鳌?br />
微處理器智能家居調(diào)光系統(tǒng)的LED照明燈的微處理器采用S,S是S32F系列微控制器中,成本很低的一種32位ARM處理器,主頻48MHz,其內(nèi)核是Cortex-M0,傳承了STM32系列的重要特性,特別適合成本敏感型應(yīng)用,該芯片集成定時(shí)器Timer,UART等多種外設(shè)功能,這些外設(shè)功能的存在,非常有利于簡(jiǎn)化電路的設(shè)計(jì)工作和降低產(chǎn)品的成本。S處理器內(nèi)部有1個(gè)定時(shí)器TIM1,通用定時(shí)器TIM3、TIM14、TIM15、TIM16、TIM17和基本定時(shí)器TIM6、TIM7,一共8?jìng)€(gè)定時(shí)器,除了TIM6和TIM7以外,其他的定時(shí)器都可以用來(lái)配置產(chǎn)生PWM信號(hào),其中定時(shí)器TIM1可以同時(shí)產(chǎn)生6通道的PWM輸出,而通用時(shí)器也能同時(shí)產(chǎn)生多達(dá)4路的PWM輸出。PWM(脈沖寬度調(diào)制)是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。在本設(shè)計(jì)中,我們將S的第18引腳PA10與LED驅(qū)動(dòng)電路的PWM控制引腳相連接,通過(guò)底層軟件配置,將TIM1的CH3產(chǎn)生一路1kHz的PWM輸出,用于調(diào)節(jié)LED的亮度。STM32F030F4P6的第17引腳PA9與LED驅(qū)動(dòng)電路的EN信號(hào)相連接,用于控制驅(qū)動(dòng)電路的供電。STM32F030F4P6的第8引腳PA2(USART1_TX)和第9引腳PA3(USART1_RX)分別與USR-WIFI232-B2的第4和第3引腳連接,用于與WIFI模塊進(jìn)行串行通信。
在本設(shè)計(jì)中,我們將STM32F030F4P6的第18引腳PA10與LED驅(qū)動(dòng)電路的PWM控制引腳相連接,通過(guò)底層軟件配置,將TIM1的CH3產(chǎn)生一路1kHz的PWM輸出,用于調(diào)節(jié)LED的亮度。STM32F030F4P6的第17引腳PA9與LED驅(qū)動(dòng)電路的EN信號(hào)相連接,用于控制驅(qū)動(dòng)電路的供電。STM32F030F4P6的第8引腳PA2(USART1_TX)和第9引腳PA3(USART1_RX)分別與USR-WIFI的第4和第3引腳連接,用于與無(wú)線WIFI模塊進(jìn)行串行通信。
Android軟件設(shè)計(jì)ToggleButton是Android中一個(gè)具有選中和未選中兩種狀態(tài)的按鈕,并可為不同的狀態(tài)設(shè)置不同的顯示文本,常用于表示開(kāi)、關(guān)場(chǎng)景中。在Android終端的APP軟件設(shè)計(jì)中,LED照明燈的開(kāi)和關(guān)用ToggleButton來(lái)實(shí)現(xiàn)。在xml布局文件中設(shè)置ToggleButton,然后在Activity文件中初始化用于控制照明燈開(kāi)關(guān)的ToggleBuuton控件,并設(shè)置控件的OnCheckedChangeListener監(jiān)聽(tīng)器和重寫(xiě)監(jiān)聽(tīng)器的onCheckedChanged()方法,通過(guò)該方法的傳入?yún)?shù)isCh-ecked,判斷控件的狀態(tài)。如果控件壓下,則發(fā)送開(kāi)燈指令,如果控件彈起,則發(fā)送關(guān)燈指令。具體實(shí)現(xiàn)代碼如下。LED_Lightting.setOnCheckedChangeListener(newOnChecked-ChangeListener(){@OverridepublicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){if(?。猓酰簦簦铮睿郑椋澹鳎椋螅校颍澹螅螅澹洌ǎ颍澹簦酰颍睿唬澹欤螅澹椋妫ǎ椋螅茫瑁澹悖耄澹洌l(fā)送開(kāi)燈指令printWriter.print("$$o##");printWriter.flush();}else{printWriter.print("$$p##");printWriter.flush();}}}});在Android系統(tǒng)中,SeekBar繼承于ProgressBar,是增加了滑動(dòng)塊的擴(kuò)展ProgressBar。SeekBar的目的是讓用戶(hù)可以自主拖動(dòng),用來(lái)調(diào)節(jié)進(jìn)度,比如通過(guò)拖動(dòng)進(jìn)度條來(lái)改變音樂(lè)和視頻的播放進(jìn)度,這里我們也用SeekBar來(lái)調(diào)節(jié)LED照明燈的亮度。其具體實(shí)現(xiàn)代碼如下。privateSeekBarmseekBarBrightness;mseekBarBrightness.setOnSeekBarChangeListener(newOn-SeekBarChangeListener(){@OverridepublicvoidonStopTrackingTouch(SeekBarseekBar){//移動(dòng)后放開(kāi)事件}@OverridepublicvoidonStartTrackingTouch(SeekBarseekBar){//TODOAuto-generatedmethodstub}@OverridepublicvoidonProgressChanged(SeekBarseekBar,intprogress,booleanfromUser){//TODOAuto-generatedmethodstub//取得當(dāng)前亮度intBrightness=seekBar.getProgress();//當(dāng)進(jìn)度小于5時(shí),設(shè)置成0,關(guān)閉LED照明燈if(Brightness<5){Brightness=0;}//根據(jù)當(dāng)前進(jìn)度改變亮度StringorderStr="";orderStr=String.valueOf(Brightness);try{printWriter.print(orderStr);printWriter.flush();}catch(Exceptionex){ex.printStackTrace();}}});Android終端的APP中,通過(guò)ToggleButton來(lái)打開(kāi)和關(guān)閉LED照明燈,通過(guò)SeekBar來(lái)調(diào)節(jié)LED照明燈的亮度是外在的,處于應(yīng)用層,而內(nèi)在的通信,即Android終端與LED照明燈之間通信指令的傳輸則是通過(guò)Socket來(lái)實(shí)現(xiàn)的。Socket即為套接字,用于描述IP地址和端口,是支持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元,也是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,表現(xiàn)為一個(gè)封裝了TCP/IP協(xié)議族的編程接口(API),主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸。對(duì)我們用戶(hù)來(lái)說(shuō),在Andorid平臺(tái)上進(jìn)行TCP/IP協(xié)議開(kāi)發(fā),只需調(diào)用Socket按照指定的協(xié)議,向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求,即可實(shí)現(xiàn)通信,內(nèi)部具體實(shí)現(xiàn)則無(wú)需關(guān)心。在本設(shè)計(jì)中,采用基于TCP的Socket實(shí)現(xiàn)客戶(hù)端與服務(wù)器間的雙向可靠連接的實(shí)時(shí)通信,是一種C/S模型的通信方式。Android終端為服務(wù)端,LED照明燈為客戶(hù)端,由于LED照明燈采用的是具有透明傳輸功能的遠(yuǎn)距離圖傳廠家無(wú)線模塊WIFI模塊,內(nèi)部集成了Socket通信功能,在使用時(shí),只要對(duì)模塊進(jìn)行配置成客戶(hù)端,并綁定服務(wù)器的IP地址和端口號(hào)即可,而服務(wù)器端的程序則要另行開(kāi)發(fā)。服務(wù)器與客戶(hù)端通信前,需要?jiǎng)?chuàng)建服務(wù)器端的Socket,綁定端口號(hào)并開(kāi)始監(jiān)聽(tīng)端口,等待建立基于TCP面向連接的端對(duì)端的傳輸。具體實(shí)現(xiàn)代碼如下。publicclassLightServer{publicstaticArrayList<Socket>socketList=newArrayList<Socket>();publicstaticvoidmain(String[]args)throwsIOException{//創(chuàng)建8899端口的服務(wù)端ServerSocketsocket=newServerSocket(8899);while(true){//等待連接Socketnew_socket=socket.accept();socketList.add(new_socket);//為新加入的連接創(chuàng)建線程newThread(newServerThread(new_socket)).start();}}}服務(wù)器與客戶(hù)端一旦創(chuàng)建連接后,就可以通過(guò)getIn-putStream和getOutputStream來(lái)接收和發(fā)送數(shù)據(jù)。getIn-putStream用于獲得讀Socket的輸入流,getOutputStream用于獲得寫(xiě)Socket的輸出流。通過(guò)getInputStream和getOutputStream,實(shí)現(xiàn)LED照明燈亮度調(diào)節(jié)指令的發(fā)送和LED照明燈狀態(tài)的收集,特別是APP軟件中途退出重新啟動(dòng)時(shí),APP根據(jù)收集LED照明燈狀態(tài)調(diào)整顯示信息,確保APP顯示的狀態(tài)與實(shí)際的狀態(tài)一致。
固件程序設(shè)計(jì)固件程序運(yùn)行于S,主要有兩個(gè)功能,一是用于從串口1接收Android終端通過(guò)遠(yuǎn)距離圖傳廠家WIFI模塊發(fā)送的控制指令,打開(kāi)和關(guān)閉LED照明燈和調(diào)節(jié)亮度,二是將照明燈的狀態(tài)信息,例如當(dāng)時(shí)的實(shí)際亮度比和開(kāi)、關(guān)狀態(tài)等信息,通過(guò)WIFI模塊定時(shí)上傳到Android終端,使An-droid終端的顯示狀態(tài)與實(shí)際的一致。固件程序中,S的USART1的收發(fā)數(shù)據(jù)均采用DMA的方式來(lái)完成,其中數(shù)據(jù)發(fā)送采用DMA1的通道4,數(shù)據(jù)接收采用DMA1的通道5,并通過(guò)空閑中斷的方式來(lái)響應(yīng)接收到的指令,這樣可以大大提高CPU對(duì)外設(shè)的響應(yīng)速度。通用定時(shí)器TIM3用來(lái)設(shè)置上傳信息的2秒時(shí)間間隔,每隔2秒,LED照明燈上傳當(dāng)前的狀態(tài)信息,APP如果超時(shí)未收到照明燈發(fā)送的信息,則認(rèn)為LED照明燈故障或者失聯(lián),并給出提示信息。用于調(diào)光的PWM信號(hào)是通過(guò)配置S的TIM1來(lái)產(chǎn)生1kHz的PWM信號(hào),并通過(guò)庫(kù)函數(shù)TIM_SetCompare3(TIM1,Duty)或者通過(guò)修改寄存器的值TIM1->CCR3=Duty來(lái)修改PWM信號(hào)的占空比,達(dá)到調(diào)節(jié)亮度的目的。Duty為占空比,取值范圍為0~100。為了解決普通照明燈開(kāi)燈和關(guān)燈時(shí),照明燈瞬間點(diǎn)亮和瞬間熄滅,對(duì)人眼的沖擊,固件程序在接收到開(kāi)燈指令時(shí),并不會(huì)將亮度直接調(diào)節(jié)到指定值,而是先將LED驅(qū)動(dòng)電路的電源關(guān)閉,將輸出的PWM信號(hào)的占空比調(diào)節(jié)到小,然后打開(kāi)LED驅(qū)動(dòng)電路的電源,再將輸出PWM信號(hào)的占空比逐步增大,使亮度慢慢增加。在接收到關(guān)燈的指令時(shí),先將PWM信號(hào)的占空比逐步減小,使亮度慢慢降低,達(dá)到小值后再關(guān)閉LED驅(qū)動(dòng)電路的電源。
根據(jù)設(shè)計(jì),制作了原理樣機(jī),并在功能和指標(biāo)上做了測(cè)試。在功能上,各個(gè)LED照明燈上電后,默認(rèn)均處于關(guān)燈狀態(tài),并每隔2秒發(fā)送狀態(tài)信息,用于連接Android終端。打開(kāi)運(yùn)行在Android手機(jī)上的APP后,LED照明燈與An-droid終端能很快建立連接。建立連接前,APP上LED照明燈的狀態(tài)是灰色,建立連接后,狀態(tài)變?yōu)榫G色,表示連接成功。連接成功后,通過(guò)APP上的控件可以對(duì)LED照明燈進(jìn)行開(kāi)燈和關(guān)燈操作,通過(guò)拖動(dòng)進(jìn)度條可以很靈敏地調(diào)節(jié)對(duì)應(yīng)照明燈的亮度,并且在開(kāi)、關(guān)燈的時(shí)候,亮度有明顯的變化,對(duì)人眼沒(méi)有明顯的刺激。另外,對(duì)樣機(jī)進(jìn)行了高溫環(huán)境下的老化測(cè)試,樣機(jī)能連續(xù)較長(zhǎng)時(shí)間穩(wěn)定工作。在指標(biāo)上,主要測(cè)試了實(shí)際輸出電流與PWM信號(hào)占空比的關(guān)系。通過(guò)對(duì)PWM信號(hào)的占空比與輸出電流的監(jiān)測(cè),得出LED驅(qū)動(dòng)電路的輸出電流與PWM信號(hào)占空比。從實(shí)驗(yàn)結(jié)果來(lái)看,在功能上,樣機(jī)能很好地滿(mǎn)足設(shè)計(jì)的要求,達(dá)到了預(yù)期的目的,另外,由于采用市面成熟的遠(yuǎn)距離圖傳廠家WIFI模塊、性?xún)r(jià)比非常高的微處理器和專(zhuān)用LED驅(qū)動(dòng)電路,簡(jiǎn)化了電路和軟件的設(shè)計(jì),提高了照明燈的可靠性。在指標(biāo)上,專(zhuān)用LED驅(qū)動(dòng)芯片的引入,輸出電流能很好地線性跟隨PWM信號(hào)的占空,達(dá)到良好的調(diào)光效果。另外還測(cè)試了樣機(jī)LED驅(qū)動(dòng)的效率,其高效率高達(dá)92%。效率高的原因是由于T?xún)?nèi)部開(kāi)關(guān)管的內(nèi)阻很低,僅為290mΩ,而外部電路則采用了高品質(zhì)的電感和低ESR的濾波電容,而這些因素恰恰是影響BUCK電路效率的因素。
遠(yuǎn)距離圖傳廠家基于無(wú)線模塊Android系統(tǒng)的可聯(lián)網(wǎng)LED照明燈的設(shè)計(jì),給出了關(guān)鍵部分的硬件電路和軟件實(shí)現(xiàn)方法,并對(duì)樣機(jī)進(jìn)行了測(cè)試,測(cè)試的結(jié)果表明樣機(jī)很好地滿(mǎn)足設(shè)計(jì)的要求,達(dá)到了預(yù)計(jì)的目的。由于照明燈的控制是采用無(wú)線控制,通過(guò)組網(wǎng),可以形成一個(gè)物聯(lián)網(wǎng)照明系統(tǒng),不僅在局域網(wǎng)范圍內(nèi),還可以通過(guò)廣域網(wǎng),對(duì)部署的照明燈進(jìn)行控制。該系統(tǒng)具有部署簡(jiǎn)單、實(shí)用性強(qiáng)的特點(diǎn),具有較好的推廣價(jià)值和市場(chǎng)前景。