


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