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