摘要:LED照明產(chǎn)品較其他照明產(chǎn)品具有節(jié)能、環(huán)保、壽命長(zhǎng)的特點(diǎn),正廣泛地應(yīng)用于各個(gè)領(lǐng)域。本文設(shè)計(jì)了一套可由上位機(jī)通過串口發(fā)送調(diào)光命令的LED驅(qū)動(dòng)及調(diào)光系統(tǒng),主要包括STM32單片機(jī)控制板,XL6006驅(qū)動(dòng)板等。STM32單片機(jī)控制板輸出PWM信號(hào)并實(shí)現(xiàn)與上位機(jī)的通信,XL6006驅(qū)動(dòng)板根據(jù)PWM信號(hào)的不同占空比控制LED燈的電流,以達(dá)到控制LED燈的亮度。
關(guān)鍵詞:LED燈;PWM調(diào)光;STM32控制器
一、引言
LED照明較其他照明產(chǎn)品具有發(fā)光效率高、使用壽命長(zhǎng)、耐用、工作安全可靠、節(jié)能省電、環(huán)保、體積小、發(fā)光響應(yīng)速度快等優(yōu)點(diǎn)[1],隨著整體成本的降低,LED照明開始廣泛應(yīng)用與商業(yè)及家庭領(lǐng)域。
由LED的伏安特性可知(見圖1),在LED正向?qū)〞r(shí)電壓的微小變化都會(huì)引起電流劇烈的變化。所以如果通過改變電壓控制LED燈的亮度很容易燒毀燈珠。LED的亮度在一定范圍內(nèi)與電流成正比,因此一般LED驅(qū)動(dòng)都采用恒流驅(qū)動(dòng)方式。
LED調(diào)光一般有兩種,模擬調(diào)光和脈寬調(diào)制(PWM)調(diào)光。模擬調(diào)光方式是通過連續(xù)的方式線性的調(diào)節(jié)流過LED的電流,來改變燈的發(fā)光亮度,可以在較大范圍內(nèi)調(diào)節(jié)LED的亮度。PWM調(diào)光是通過反復(fù)的通斷來改變開關(guān)電流的脈寬而不是改變電流的幅值,從而達(dá)到調(diào)節(jié)LED亮度的目的。流過LED的平均電流與調(diào)節(jié)占空比是線性關(guān)系[2]。模擬調(diào)光的缺點(diǎn)是LED燈的色溫會(huì)隨電流的大小而改變。本設(shè)計(jì)采用PWM方式調(diào)光。
由于項(xiàng)目需要,本文設(shè)計(jì)了一款可以通過串口RS485進(jìn)行PWM調(diào)光、地址查詢、地址設(shè)置的LED燈(最大功率約50W)。由于每個(gè)LED燈可以設(shè)置單獨(dú)的地址,所以在一個(gè)系統(tǒng)內(nèi)可實(shí)現(xiàn)對(duì)每個(gè)LED燈的單獨(dú)調(diào)光。
二、系統(tǒng)的硬件設(shè)計(jì)
由于項(xiàng)目要求LED燈的體積盡量?。p小水下阻力),所以燈珠要選擇封裝比較小,功率比較大的燈珠。經(jīng)過對(duì)比,最終選擇歐司朗3030封裝的3W燈珠,將該燈珠進(jìn)行16串組成LED燈板,最大功率約50W。LED燈驅(qū)動(dòng)主芯片采用上海芯龍XL6006LED驅(qū)動(dòng)芯片,PWM信號(hào)由STM32F103單片機(jī)控制電路產(chǎn)生。LED調(diào)光系統(tǒng)組成框圖如下圖2。本設(shè)計(jì)中上位機(jī)與STM32控制器之間的通信采用串口RS485接口。
(一)LED燈驅(qū)動(dòng)電路
上海芯龍 XL6006芯片是固定頻率的PWM升壓(升壓)LED恒流驅(qū)動(dòng)器,能夠驅(qū)動(dòng)1W/3W/5W系列LED單元,具有良好的線路和負(fù)載調(diào)節(jié)能力。調(diào)節(jié)器使用簡(jiǎn)單,因?yàn)樗▋?nèi)部頻率補(bǔ)償和固定頻率振蕩器,因此它需要少量的外部元件就能工作。XL6006可以在VIN=24伏時(shí)直接驅(qū)動(dòng)16個(gè)系列1W/3W LED單元。PWM控制電路可以線性地將占空比從0%調(diào)整到90%[3]。
驅(qū)動(dòng)電路采用XL6006 升壓驅(qū)動(dòng)電路(圖3)。該方案轉(zhuǎn)換效率高,最高輸出電壓兼容到60V,內(nèi)部集成功率MOSFET,內(nèi)置過溫保護(hù),過流保護(hù),LED開路保護(hù)全套保護(hù)電路,可靠性高,外圍器件少,系統(tǒng)成本低[3]。在該驅(qū)動(dòng)電路中,利用場(chǎng)效應(yīng)管柵極電壓高于源極電壓場(chǎng)效應(yīng)管導(dǎo)通原理,Q1,R26,R27,D7組成防反接電路,防止電源反接燒毀芯片。升壓拓?fù)浣Y(jié)構(gòu)可以在很低的電壓情況下開始工作,所以在帶載大功率的情況下會(huì)出現(xiàn)輸入大電流,從而導(dǎo)致電源出現(xiàn)限流,無法帶載啟動(dòng)。
為了防止啟動(dòng)電流過大,通過穩(wěn)壓管和限流電阻組成延遲電路,保證系統(tǒng)在穩(wěn)壓管反向電壓(18V)以下不啟動(dòng),D5,R22組成延時(shí)電路。此電路同時(shí)也保證電源虧電的情況下在穩(wěn)壓管反向電壓(18V)以下系統(tǒng)關(guān)閉,保護(hù)系統(tǒng)電路。
上電時(shí)如果輸出開路,F(xiàn)B接地,芯片會(huì)以最大占空比工作,輸出電壓會(huì)很高,電解電容很可能被擊穿。為了防止這種情況發(fā)生,增加了D6和R23組成的保護(hù)電路。因此,開路電壓約等于D6的值。在開路后再接入LED時(shí),也可以保護(hù)LED等板以及電阻R21。
XL6006 FB腳為基芯片內(nèi)部基準(zhǔn)誤差放大器輸入端,內(nèi)部基準(zhǔn)電壓VFB穩(wěn)定在0.22V。FB腳通過外部電阻RCS采樣輸出電流,對(duì)輸出電流進(jìn)行調(diào)整,輸出電流計(jì)算公式[4]為:
(1)
根據(jù)XL6006芯片的數(shù)據(jù)手冊(cè),3W, 16串方案輸出電流為1050mA, 為了避免LED燈功率超過50W, 驅(qū)動(dòng)電路最大輸出電流不超過1A,所以RCS取阻值0.24歐姆電阻。
調(diào)光是通過PWM信號(hào)改變占空比來調(diào)節(jié)輸出電流。PWM信號(hào)高電平為3.3V,低電平為0V。由電路圖可知輸出電流與占空比的關(guān)系如下:
(2)
(二)PWM調(diào)光與串口通信電路
本設(shè)計(jì)中由STM32F103ZET6芯片產(chǎn)生調(diào)光PWM控制信號(hào)。STM32F103 ZET6芯片由意法半導(dǎo)體(ST)公司出品,采用Cortex-M3內(nèi)核,CPU最高速度達(dá)72MHZ,具有512KBFLASH,可以控制多種外設(shè),2個(gè)DMA控制器,12個(gè)DMA通道[5]。
本設(shè)計(jì)中使用了該芯片的通用計(jì)時(shí)器TIM3產(chǎn)生PWM方波信號(hào),從PA6端口輸出。STM32單片機(jī)系統(tǒng)中串口USART2通過MAX485芯片將串口轉(zhuǎn)換為RS485接口。上位機(jī)通過RS485接口向STM32系統(tǒng)發(fā)送調(diào)光信號(hào)的占空比命令。
三、系統(tǒng)的軟件設(shè)計(jì)
上位機(jī)發(fā)送給STM32單片機(jī)系統(tǒng)的調(diào)光命令仿照Modbus-RTU協(xié)議,共8個(gè)字節(jié),包含地址,命令碼,寄存器地址,占空比值,CRC效驗(yàn)。STM32單片機(jī)系統(tǒng)與上位機(jī)的通信采用串口DMA中斷方式,其中DAM1CH6通道為STM32單片機(jī)系統(tǒng)接收上位機(jī)串口信號(hào)的通道,DAM1CH7通道為STM32單片機(jī)系統(tǒng)發(fā)送串口信號(hào)到上位機(jī)的通道。DMA通信方式最大的優(yōu)點(diǎn)是在接收或發(fā)送數(shù)據(jù)時(shí)不占用CPU資源。
PWM信號(hào)由STM32單片機(jī)通用計(jì)時(shí)器TIM3CH1產(chǎn)生。軟件里先初始化TIM3CH1外設(shè),設(shè)置TIM3CH1為PWM輸出比較模式。XL6006芯片的調(diào)光頻率為1KHZ-10KHZ,本設(shè)計(jì)中設(shè)定PWM信號(hào)頻率為1KHZ。PWM信號(hào)頻率由自動(dòng)重裝寄存器ARR值決定,占空比由比較寄存器CCR的值決定。軟件里調(diào)光占空比的范圍設(shè)定為0-100。
程序運(yùn)行時(shí)STM32單片機(jī)系統(tǒng)的DAM1CH6通道處于監(jiān)聽狀態(tài),當(dāng)它接收到指令后會(huì)進(jìn)入總線空閑中斷程序。在中斷程序中先判斷接收的命令是不是本設(shè)備的命令,如果是則拷貝命令到另外一個(gè)數(shù)組,同時(shí)置位標(biāo)志位,如果不是則退出中斷,串口將被重置為DMA接收狀態(tài)。
主程序不停檢測(cè)這個(gè)標(biāo)志位是否置位,檢測(cè)到標(biāo)志位置位后,進(jìn)入處理程序。處理程序先判斷該命令是哪一種命令,并進(jìn)行CRC檢測(cè),如果是修改地址命令,則修改STM32內(nèi)部FLASH中的ID值并將新的ID值返回上位機(jī);如果判斷為地址查詢命令,則讀取STM32內(nèi)部FLASH中的ID值并返回給上位機(jī);如果判斷為調(diào)光命令,那么命令中表示占空比的值會(huì)被提取出來,再把它賦值給TIM3 CH1 的CCR1寄存器,從而改變輸出PWM方波的占空比,之后通過DMA1CH7通道返回調(diào)光命令給上位機(jī),表示調(diào)光成功。主程序處理完命令后,在退出之前會(huì)復(fù)位標(biāo)志位。假如主程序里CRC檢測(cè)不通過,則退出該次循環(huán),程序會(huì)將串口重置為DMA接收狀態(tài)。
四、測(cè)試結(jié)果
根據(jù)PCB圖打樣制板,測(cè)試控制板、驅(qū)動(dòng)板與LED燈板。通過上位機(jī)485端口向控制板發(fā)送調(diào)光指令,LED燈的亮度會(huì)隨指令變化,從熄滅到全功率可以自由切換。上位機(jī)通過串口可以修改LED燈的地址,可以查詢LED燈的地址。在調(diào)光命令最大時(shí),測(cè)的24VDC電源的電流為2.08A,即LED燈的最大功率為49.9W。
測(cè)試時(shí)用示波器測(cè)量相關(guān)信號(hào)的波形。示波器第一通道測(cè)量PWM波形,第二通道測(cè)量驅(qū)動(dòng)板輸出到LED燈的電壓波形,同時(shí)萬用表測(cè)量驅(qū)動(dòng)板輸出到LED燈的電流。PWM頻率為1KHz,高電平為3.3V,低電平為0V。由前面章節(jié)的輸出電流與占空比的關(guān)系式(2)可知占空比越高,輸出電流越小。
實(shí)際測(cè)試結(jié)果驗(yàn)證了輸出電流會(huì)隨占空比的增加而減小,輸出電流與占空比基本呈線性關(guān)系,同時(shí)LED的亮度也隨電流的變小而變暗。同時(shí)也實(shí)驗(yàn)了通過串口修改LED燈的地址、查詢LED燈的地址。最終,實(shí)驗(yàn)證明該LED燈的控制系統(tǒng)完全滿足設(shè)計(jì)的要求。
五、結(jié)束語(yǔ)
本文設(shè)計(jì)了一款可串口調(diào)光的LED燈。以STM32F03ZET6芯片為核心組成控制板,實(shí)現(xiàn)與上位機(jī)通信,接收上位機(jī)的命令并返回?cái)?shù)據(jù)給上位機(jī),同時(shí)輸出PWM信號(hào)。采用XL6006芯片為核心組成LED驅(qū)動(dòng)板。驅(qū)動(dòng)板接收到控制板的PWM調(diào)光信號(hào)后,驅(qū)動(dòng)板會(huì)改變輸出到LED燈的電流。經(jīng)過測(cè)試,系統(tǒng)很好地實(shí)現(xiàn)了上位機(jī)通過串口控制LED燈的亮度,并可通過上位機(jī)設(shè)置LED燈的地址,修改LED燈地址。
作者單位:楊濤? ? 上海交大中海龍水下防務(wù)研究中心有限公司
參? 考? 文? 獻(xiàn)
[1] 路秋生.LED照明與應(yīng)用[D].北京信息職業(yè)技術(shù)學(xué)院.燈與照明,2009(12):24.
[2] LED調(diào)光設(shè)計(jì)與研究[D].南京信息職業(yè)技術(shù)學(xué)院,2012.1.
[3] 180KHZ 60V 5A Switching Current Boost LED Constant Current Driver XL6006 Datasheet[使用手冊(cè)].深圳市流明芯半導(dǎo)體照明科技有限公司,2016.1.
[4] XLSEMI恒流LED產(chǎn)品PWM調(diào)光方案簡(jiǎn)介[說明書].深圳市流明芯半導(dǎo)體照明科技有限公司,2016.
[5] STM32F103xCDE數(shù)據(jù)手冊(cè)[數(shù)據(jù)手冊(cè)].意法半導(dǎo)體(中國(guó))投資有限公司,2010.1.