摘 要: 為了節(jié)能和智能控制燈光,構(gòu)建了一個(gè)以STC12C5410AD單片機(jī)為核心的LED照明閉環(huán)控制系統(tǒng),實(shí)現(xiàn)了對(duì)白光LED照明的閉環(huán)控制功能。該系統(tǒng)利用光敏電阻實(shí)時(shí)采集環(huán)境光線強(qiáng)度,自動(dòng)調(diào)節(jié)白光LED亮度;采用A/D轉(zhuǎn)換將光線強(qiáng)度的模擬量轉(zhuǎn)化為數(shù)字量;采用I/O口實(shí)現(xiàn)對(duì)LED的PWM功率控制;采用電流驅(qū)動(dòng),電流步距可調(diào)的方式來(lái)調(diào)節(jié)白光LED。通過(guò)測(cè)試表明,該系統(tǒng)提高了照明環(huán)境的品質(zhì),具有電路簡(jiǎn)單、可靠性強(qiáng)的優(yōu)點(diǎn)。
關(guān)鍵詞: STC12C5410AD;白光LED;A/D轉(zhuǎn)換;PWM;電流驅(qū)動(dòng)
0 引言
白光LED由于其獨(dú)特的發(fā)光原理使其具有節(jié)約能源、環(huán)保、壽命長(zhǎng)、發(fā)光效率高、成本低、減少維護(hù)費(fèi)用、提供更好的燈光品質(zhì)等優(yōu)點(diǎn)[1],而成為人們關(guān)注的焦點(diǎn)。近年來(lái)在各行業(yè)的應(yīng)用得以快速發(fā)展,包括在景觀、沿途公路、隧道等場(chǎng)所都有一定的應(yīng)用。目前國(guó)內(nèi)外己經(jīng)開始實(shí)行對(duì)燈光的智能控制,但國(guó)內(nèi)對(duì)樓宇燈光的智能控制還很簡(jiǎn)單且不完善,大多依然是傳統(tǒng)式的人工管理,造成了電能浪費(fèi)和經(jīng)濟(jì)損失,而且過(guò)強(qiáng)或過(guò)弱的光照條件會(huì)帶給人不適感覺。因此本文設(shè)計(jì)了LED照明閉環(huán)控制系統(tǒng),采用PWM調(diào)光技術(shù),采集環(huán)境光線強(qiáng)度,自動(dòng)調(diào)節(jié)3 mm LED亮度,達(dá)到經(jīng)濟(jì)、節(jié)能的目的。
LED照明閉環(huán)控制系統(tǒng)由12個(gè)3 mm白光LED組成,采取軟硬件設(shè)計(jì)相結(jié)合的方式,以STC12C5410AD單片機(jī)[2]為核心來(lái)實(shí)現(xiàn)總體方案的設(shè)計(jì),從而完成該閉環(huán)控制系統(tǒng)的功能。
1 總體思路的設(shè)計(jì)
系統(tǒng)的硬件電路框架如圖1所示,主要由STC12C5410AD主控制模塊、數(shù)據(jù)采集模塊、脈沖電流驅(qū)動(dòng)模塊、通信模塊、人機(jī)界面模塊5個(gè)模塊組成。其中,主控制模塊以STC12C5410AD為核心由電源模塊、時(shí)鐘模塊、復(fù)位模塊構(gòu)成。數(shù)據(jù)采集模塊利用感光元件光敏電阻采集環(huán)境光線強(qiáng)度,再利用STC12C5410AD的ADC轉(zhuǎn)換器把光線強(qiáng)度值的模擬量轉(zhuǎn)化為數(shù)字量。脈沖電流驅(qū)動(dòng)模塊主要由S8050和白光LED構(gòu)成,通過(guò)脈寬調(diào)制PWM產(chǎn)生的脈沖電流來(lái)驅(qū)動(dòng)LED,改變脈沖電流的占空比來(lái)調(diào)節(jié)LED的亮度。人機(jī)界面模塊包括鍵盤處理模塊、LED顯示模塊和數(shù)碼管顯示模塊。鍵盤處理模塊用來(lái)調(diào)節(jié)LED亮度變化的步長(zhǎng),而且當(dāng)前步長(zhǎng)通過(guò)數(shù)碼管顯示模塊的七段數(shù)碼管來(lái)顯示。串口通信模塊用于硬件電路與PC的通信,傳輸數(shù)據(jù)。
該系統(tǒng)的軟件設(shè)計(jì)采用功能模塊化編程思想實(shí)現(xiàn),不同的模塊完成相應(yīng)的功能,并有程序上的中斷、循環(huán)等。
2 硬件電路的設(shè)計(jì)
2.1 系統(tǒng)主控制模塊
系統(tǒng)主控制模塊是由STC12C5410AD單片機(jī)、電源模塊、時(shí)鐘模塊、復(fù)位模塊等構(gòu)成,是整個(gè)硬件電路的核心,處理各種輸入信號(hào),發(fā)出指令控制各個(gè)器件工作,主控制電路如圖2所示。
電源模塊為單片機(jī)及其他元器件提供5 V及3.3 V直流電壓。時(shí)鐘模塊為單片機(jī)提供標(biāo)準(zhǔn)時(shí)鐘和運(yùn)算速度。復(fù)位模塊用于硬件電路的穩(wěn)定性和可靠性。
2.2 數(shù)據(jù)采集模塊
STC12C5410AD單片機(jī)帶有8路10位的高速A/D轉(zhuǎn)換器,速度可達(dá)到100 kHz。隨著光照的變化,感光元件光敏電阻從亮阻到暗阻的變化值在1 k級(jí)別到幾百k之間。設(shè)計(jì)中采用光敏電阻與一個(gè)100 k電阻串聯(lián)分壓的辦法來(lái)將光敏電阻阻值的變化轉(zhuǎn)化為可以采集的電壓變化。
數(shù)據(jù)采集模塊主要由光敏電阻[3]及100 k電阻構(gòu)成。該閉環(huán)控制系統(tǒng)采用P1.7作為A/D轉(zhuǎn)換口。采集環(huán)境中,根據(jù)光線強(qiáng)度的變化,光敏電阻的阻值隨著改變,通過(guò)轉(zhuǎn)化為電壓的變化,將電壓的模擬量轉(zhuǎn)化為其數(shù)字量,然后根據(jù)電壓的大小來(lái)調(diào)節(jié)單片機(jī)輸出的脈沖電流占空比,從而調(diào)節(jié)脈沖電流的大小,進(jìn)而自動(dòng)調(diào)節(jié)LED亮度的大小。
2.3 脈沖電流驅(qū)動(dòng)模塊
該系統(tǒng)中運(yùn)用脈寬調(diào)制PWM技術(shù)[4]來(lái)驅(qū)動(dòng)12個(gè)白光LED。脈沖電流驅(qū)動(dòng)模塊用脈寬調(diào)制PWM技術(shù)產(chǎn)生的脈沖電流驅(qū)動(dòng)LED,具有亮度高、散熱性能好、驅(qū)動(dòng)效率高等優(yōu)點(diǎn)。通過(guò)STC12C5410AD,PWM信號(hào)頻率通常會(huì)超過(guò)100 Hz,以確保這個(gè)脈沖電流不會(huì)被肉眼察覺。
脈沖電流驅(qū)動(dòng)模塊由S8050和白光LED組成,硬件電路如3圖所示。其中S8050是最大集存器電流為0.5 A的NPN型晶體三極管,用在各種放大電路中。用三極管S8050驅(qū)動(dòng)12個(gè)并聯(lián)排列白光LED,單片機(jī)通過(guò)PWM控制工作在飽和區(qū)的S8050,使其飽和導(dǎo)通或者截止,從而實(shí)現(xiàn)對(duì)LED燈亮度的控制。S8050飽和導(dǎo)通時(shí),其集電極電流可以達(dá)到500 mA,可以提供12個(gè)LED所需的工作電流。
2.4 人機(jī)界面模塊
該人機(jī)界面模塊包括LED顯示模塊、數(shù)碼顯示模塊和鍵盤處理模塊。LED顯示模塊用來(lái)顯示12個(gè)LED。鍵盤處理模塊用來(lái)調(diào)節(jié)LED亮度變化的步長(zhǎng)。調(diào)節(jié)LED亮度變化的步長(zhǎng)時(shí),數(shù)碼管顯示模塊用來(lái)顯示當(dāng)前步長(zhǎng)的值。當(dāng)LED亮度小時(shí),增加步長(zhǎng),使LED的亮度增強(qiáng);當(dāng)LED亮度大時(shí),減少步長(zhǎng),使LED的亮度減弱。
2.5 通信模塊
由于上位機(jī)帶有RS232接口,利用上位機(jī)的串行口與下位機(jī)進(jìn)行RS232通信,傳輸數(shù)據(jù)。通信模塊電路采用了PC的RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換驅(qū)動(dòng)芯片MAX232,進(jìn)行串行通信。利用STC12C5410AD的串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片,整個(gè)接口電路簡(jiǎn)單,可靠性高。
3 軟件框架的設(shè)計(jì)
軟件設(shè)計(jì)框架以STC12C5410AD單片機(jī)為核心,以Keil uVision3為編程平臺(tái),采用C51編程,實(shí)現(xiàn)系統(tǒng)的功能。采用功能模塊化編程,不同的模塊完成相應(yīng)的功能,并有程序上的中斷、循環(huán)等。該系統(tǒng)的軟件設(shè)計(jì)框架包括主程序、中斷服務(wù)程序和子程序構(gòu)成,如圖4所示。其中,子程序包含A/D轉(zhuǎn)換、PWM[5]驅(qū)動(dòng)、串口通信、鍵盤處理、LED顯示、數(shù)碼管顯示等程序。
3.1 主程序設(shè)計(jì)
主程序由初始化程序和功能程序設(shè)計(jì)構(gòu)成。初始化程序包括串口初始化、A/D轉(zhuǎn)換初始化、脈沖調(diào)制PWM初始化、外部中斷初始化,功能程序設(shè)計(jì)用來(lái)完成系統(tǒng)的整個(gè)運(yùn)行程序。主程序設(shè)計(jì)的工作流程圖如圖5所示。
3.2 中斷服務(wù)程序設(shè)計(jì)
中斷服務(wù)程序包括外部中斷0和外部中斷1服務(wù)程序,用于控制PWM脈沖電流的占空比的大小調(diào)節(jié)。其中,外部中斷0服務(wù)程序用于按鍵Key1處理,當(dāng)按鍵Key1按下時(shí),增加電流步距,電流占空比減少;外部中斷1服務(wù)程序用于按鍵Key2處理,當(dāng)按鍵Key2按下時(shí),減少電流步距,電流占空比增加。
3.3 子程序設(shè)計(jì)
3.3.1 延時(shí)程序設(shè)計(jì)
延時(shí)程序設(shè)計(jì)采用for循環(huán)的方法來(lái)延時(shí),主要用于按鍵消抖。
3.3.2 A/D轉(zhuǎn)換程序設(shè)計(jì)
利用感光元件光敏電阻來(lái)采集光照強(qiáng)度,然后將采樣值通過(guò)I/O口送給A/D轉(zhuǎn)換器。A/D[6]轉(zhuǎn)換程序的設(shè)計(jì)將采樣值模擬量轉(zhuǎn)化為數(shù)字量,以查詢方式來(lái)讀取A/D轉(zhuǎn)換的結(jié)果。設(shè)計(jì)中采取A/D轉(zhuǎn)換的10位結(jié)果,并將取特殊功能寄存器ADCDATA的前5位和ADCLOW2的前2位作為A/D轉(zhuǎn)換的結(jié)果。A/D轉(zhuǎn)換流程圖如圖6所示。
3.3.3 PWM驅(qū)動(dòng)程序設(shè)計(jì)
PWM驅(qū)動(dòng)程序利用單片機(jī)內(nèi)部PCA模塊工作在8位PWM模式。采用矩形波電流脈沖來(lái)驅(qū)動(dòng)LED。LED的平均電流是最大峰值電流與占空比的乘積。當(dāng)最大峰值電流一定時(shí),輸出的亮度取決于驅(qū)動(dòng)脈沖電流的占空比。向PCA捕捉寄存器/比較寄存器CCAP0L和CCAP0H賦值,控制輸出信號(hào)的占空比。通過(guò)寄存器CCAP0H值,裝載到CCAP0L值。
3.3.4 串口通信程序設(shè)計(jì)
串口通信程序用于通過(guò)PC把程序下載到單片機(jī)中。其設(shè)計(jì)采用定時(shí)器1的8 bit自動(dòng)重裝模式設(shè)計(jì)波特率,使用中斷的方式來(lái)發(fā)送數(shù)據(jù)。
4 測(cè)試與調(diào)試
在測(cè)試過(guò)程中,采用模塊化思想測(cè)試各個(gè)功能。首先,串口通信程序是否能夠發(fā)送數(shù)據(jù),通過(guò)串口調(diào)試助手進(jìn)行檢驗(yàn)。在串口調(diào)試助手的窗口觀察是否有數(shù)據(jù)顯示,若出現(xiàn)“1”,則程序正確,否則錯(cuò)誤。其次,測(cè)試中斷程序,主要是檢測(cè)按鍵的消抖。最后,測(cè)試A/D轉(zhuǎn)換程序,主要是查看A/D轉(zhuǎn)換的結(jié)果及其變化。
根據(jù)測(cè)試的程序,調(diào)試好各個(gè)功能模塊的程序,然后綜合調(diào)試系統(tǒng)的整個(gè)功能。通過(guò)在不同的環(huán)境下光線的強(qiáng)弱來(lái)控制光敏電阻的阻值,從而控制12個(gè)白光LED的亮度。當(dāng)光線較強(qiáng)時(shí),光敏電阻的阻值變小,A/D采樣的結(jié)果變大,PWM脈沖電流的占空比減小,LED的亮度變??;當(dāng)光線較弱時(shí),光敏電阻的阻值變大,A/D采樣的結(jié)果變小,PWM脈沖電流的占空比增大,LED的亮度變大,從而實(shí)現(xiàn)了系統(tǒng)功能。
5 結(jié)論
本文設(shè)計(jì)的LED閉環(huán)控制系統(tǒng)可以節(jié)約電能,減少經(jīng)濟(jì)損失,克服了人工管理的缺點(diǎn),能實(shí)時(shí)采集環(huán)境光線強(qiáng)度,自動(dòng)調(diào)節(jié)LED亮度,實(shí)現(xiàn)了對(duì)LED照明的閉環(huán)控制功能,提高了照明環(huán)境的品質(zhì),給人一種舒適的生活工作環(huán)境,具有電路簡(jiǎn)單、可靠性強(qiáng)等優(yōu)點(diǎn)。
參考文獻(xiàn)
[1] 樊岳標(biāo),劉麗蘭,韓鎏.LED照明控制與仿真一體化系統(tǒng)設(shè)計(jì)[J].機(jī)械制造,2013,51(592):24-27.
[2] 胡禮廣,王剛.基于STC12C5410AD單片機(jī)的鑲嵌控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2011,30(8):73-75.
[3] 徐梅.基于AT89C51的室內(nèi)照明控制系統(tǒng)的設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2011(5):43-44,47.
[4] 張興,秦會(huì)斌,郭石磊.基于UCC3818A的600W APFC電源設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(6):23-25,28.
[5] 郭鳳儀,赫廣杰,劉丹,等.基于單片機(jī)的光伏路燈照明系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(6):1615-1617,1627.
[6] 戴明,王琪,吳萬(wàn)慶,等.一種便攜式多體征參數(shù)監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(2):78-81.