引言
節(jié)能是照明燈光控制中的一項重要指標(biāo)。目前,存在模擬調(diào)光控制系統(tǒng)和數(shù)字調(diào)光控制系統(tǒng)。模擬調(diào)光控制系統(tǒng)包括模擬調(diào)光控制臺(調(diào)光控制器)和模擬調(diào)光器。其中,模擬調(diào)光控制臺輸出O~10 V控制電壓,通過模擬調(diào)光器的0~10 V接口調(diào)節(jié)其所帶燈具的光強弱。數(shù)字調(diào)光控制系統(tǒng)包括數(shù)字調(diào)光控制臺(調(diào)光控制器)和數(shù)字調(diào)光器。其采用的協(xié)議為DMX512控制協(xié)議,該協(xié)議的物理接口為RS485。
雖然數(shù)字調(diào)光控制系統(tǒng)有其優(yōu)點,但由于成本在短時間內(nèi)無法全部替代模擬控制系統(tǒng),模擬調(diào)光控制仍占很大比率。現(xiàn)有的模擬調(diào)光控制臺大多采用拉桿、旋鈕、開關(guān)等對模擬信號進行變換,其控制精度不高,體積較大且只實現(xiàn)燈具通斷控制,所以很有必要開發(fā)一種控制精度高、體積適中且可實現(xiàn)多種燈光效果變換的調(diào)光控制器。近幾年來,PC機由于其圖形化界面易操作性,在工業(yè)簡單控制中常被使用,單片機的成本也逐漸下降。本文結(jié)合PC機和單片機設(shè)計了一種模擬調(diào)光控制器,通過上位機的調(diào)光軟件可以實現(xiàn)多種燈光效果的控制。
1 總體設(shè)計
模擬調(diào)光控制系統(tǒng)總體設(shè)計如圖1所示。PC上位機上運行的控制軟件通過RS232串口發(fā)送控制命令,調(diào)光控制器根據(jù)給定的指令產(chǎn)生相應(yīng)的0~10 V控制信號(256級)。通過可調(diào)光電子鎮(zhèn)流器以及LED可調(diào)光驅(qū)動的0~10 V接口,根據(jù)相應(yīng)的控制電壓進一步控制相應(yīng)燈具的亮度達到調(diào)光目的。此外,光強傳感器采集現(xiàn)場的實時光強送入調(diào)光控制器,上位機通過指令讀取光強并將其顯示在控制界面上,再根據(jù)給定值對控制電壓進行調(diào)節(jié)來實現(xiàn)燈光的閉環(huán)控制。本文重點研究調(diào)光控制器的設(shè)計方法。
2 硬件實現(xiàn)
2.1 單片機
單片機采用Atmel公司基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器ATmegal28。它具有128 KBFlash、53個通用I/O口、4個靈活的具有比較模式和PWM功能的定時器/計數(shù)器、2個USART、8通道10位ADC(具有可選的可編程增益)、JTAG片上調(diào)試接口,以及6種可以通過軟件選擇的省電模式。通過將8位CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個芯片內(nèi),ATmegal28為許多嵌入式控制應(yīng)用提供了靈活而低成本的方案。
ATmegal28可提供兩個串口功能:一個串口用來與上位機通信;另一個串口則預(yù)留給DMX512數(shù)字控制方式,以便該控制器在日后既可以作為模擬調(diào)光控制輸出O~10 V模擬控制信號,又可以作為數(shù)字調(diào)光控制器輸出符合DMX512控制協(xié)議的數(shù)字控制信號。
2.2 電源模塊
ATmegal28需要5 V供電,AD7226需要15 V供電以及10 V電壓作為參考電壓。外部電源采用15 V開關(guān)電源,對單片機的5 V供電及AD7226的10 V參考電壓分別使用穩(wěn)壓芯片LM2940T-5及LM2940T-10實現(xiàn)。
2.3 按鍵模塊
按鍵模塊提供調(diào)光控制器上的調(diào)光快捷操作。4個按鍵分別為25%、50%、75%、100%調(diào)光,分別接到PE4、PE5、PE6、PE7外部中斷引腳上。當(dāng)按鍵被按下時,外部中斷被觸發(fā)。
2.4 串口模塊
單片機的串口模塊用來與上位機PC進行通信。由于PC機RS232串口的電平與單片機UART串口電平定義不一致,在此通過MAX232芯片進行電平轉(zhuǎn)換。
2.5 A/D模塊
光強傳感器采用北京易盛泰和科技公司的YSCG-X新型光照度傳感器,其量程為0~2000 lux,其輸出為標(biāo)準(zhǔn)的4~20 mA。傳感器的輸出接入引腳PF0,在PF0引腳外通過電阻將電流轉(zhuǎn)換為電壓以便采樣。由于A/D采樣的輸入最高為5 V,則該電阻應(yīng)選249 Ω電阻。此外為了保證采樣的準(zhǔn)確性,在電路中加入電壓跟隨器。
2.6 D/A轉(zhuǎn)換模塊
D/A轉(zhuǎn)換模塊實際上是調(diào)光控制器的輸出模塊。采用ADI公司的AD7226產(chǎn)生0~10 V的電壓。AD7226具有8位精度的4通道D/A轉(zhuǎn)換器,最小分辨率為4 mV,可以滿足設(shè)計精度的要求。每一個通道都有一個輸入鎖存器,可以對輸入的數(shù)字量進行鎖存,輸出端帶有輸出緩沖放大器。D/A轉(zhuǎn)換模塊硬件電路如圖2所示。
其中,/WR為控制線,A0、A1為兩條地址線,通過地址線可以選擇不同的D/A通道。該控制器設(shè)計為具有12通道的輸出,所以采用了3個AD7226芯片。數(shù)據(jù)線、地址線與單片機的接法相同,只是控制線/WR作為芯片鎖存引腳與不同的單片機引腳連接,3個芯片的控制線分別連接PA4、PA5、PA6。
3 軟件設(shè)計
3.1 變量定義
該控制器包含12個獨立的通道且要將現(xiàn)場采集的光強送給上位機顯示,所以定義數(shù)組channelData[13]。其中,channelData[O]~chan-nelData[11]存儲相應(yīng)1~12通道的實際控制電壓(0~255),channelData[12]存儲傳感器采樣的現(xiàn)場光強。變量write_end表示channelData[O]~channelData[11]的值是否被修改,write_end=1表示修改完成。
3.2 主程序
上位機對調(diào)光控制器的控制通過串口中斷實現(xiàn),調(diào)光控制器上的快捷按鍵通過I/O外部中斷實現(xiàn),傳感器的采樣間隔通過定時器中斷實現(xiàn)。3個中斷的優(yōu)先級為;定時器中斷>I/O外部中斷>串口中斷。主程序流程如圖3所示。
當(dāng)串口中斷被響應(yīng)時,首先判斷上位機的指令是讀操作還是寫操作。如果是寫操作,返回同樣的指令作為響應(yīng)指令,根據(jù)指令改變cha-nnelData[]中相應(yīng)通道的值,并將write_end置1。如果為讀指令,根據(jù)地址將channelData[]中相應(yīng)通道的數(shù)據(jù)或者現(xiàn)場光強返回作為響應(yīng)。
當(dāng)定時器中斷被響應(yīng)時,通過傳感器采樣現(xiàn)場光強。為了保證數(shù)據(jù)的準(zhǔn)確,在算法中采用求16次采樣的平均值作為有效值存入channel-Data[12]。
當(dāng)I/O外部中斷被響應(yīng)時,首先需要判斷是否為按鍵抖動所致。如果為抖動,返回;反之,將channelData[O]~channelData[11]的值改為該快捷鍵代表的電壓值,并將write_end置1。
最后判斷變量write_end是否為1。若write_end=1,則執(zhí)行函數(shù)DAOperation(channelData,12),將channelData[O]~channelData[11]中對應(yīng)的各通道值(O~255)以0~10 V電壓輸出,然后將write_end清0。
4 實驗結(jié)果
當(dāng)上位機調(diào)節(jié)通道1控制電壓為2.5 V,通道1的實際測得電壓如圖4所示。從圖中可知,實際電壓為2.46 V,其中O.04 V的壓降是由AD7226芯片引腳的100 Ω電阻引起的。
在實際的測量中發(fā)現(xiàn),未接電源時在該控制器中存在峰峰值為40 mV、頻率為50 Hz的干擾電壓,如圖5所示。為了減小這種低頻干擾,在D/A輸出引腳接了一個47 μF的電容(見圖2),并取得很好的效果。
5 總結(jié)
利用8位的ATmegal28單片機可以精確地實現(xiàn)多級可調(diào)的0~10 V控制電壓,分辨率為40 mV。在調(diào)光控制器上可以通過4個按鍵快速地調(diào)節(jié)各個通道的燈光強弱。此外,通過上位機實現(xiàn)單個通道的獨立調(diào)光、所有通道的快速調(diào)光以及燈光的閉環(huán)控制。