《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于ATmegal 28的調(diào)光控制器方案設(shè)計(jì)
基于ATmegal 28的調(diào)光控制器方案設(shè)計(jì)
田 佩 王 磊 陸 敏
摘要: 現(xiàn)有的模擬調(diào)光控制器大多采用拉桿,、旋鈕,、開關(guān)等對(duì)模擬信號(hào)進(jìn)行變換,,控制精度不高,,體積較大,且只能實(shí)現(xiàn)對(duì)燈具的通斷控制,。本文結(jié)合PC上住機(jī),、ATmegal28單片機(jī)及AD7226芯片實(shí)現(xiàn)一種高精度的模擬調(diào)光控制器,通過上位機(jī)的調(diào)光控制軟件可以對(duì)燈具實(shí)現(xiàn)多種燈光效果的變換,。
Abstract:
Key words :

引言
    節(jié)能是照明燈光控制中的一項(xiàng)重要指標(biāo)。目前,,存在模擬調(diào)光控制系統(tǒng)和數(shù)字調(diào)光控制系統(tǒng),。模擬調(diào)光控制系統(tǒng)包括模擬調(diào)光控制臺(tái)(調(diào)光控制器)和模擬調(diào)光器,。其中,模擬調(diào)光控制臺(tái)輸出O~10 V控制電壓,,通過模擬調(diào)光器的0~10 V接口調(diào)節(jié)其所帶燈具的光強(qiáng)弱,。數(shù)字調(diào)光控制系統(tǒng)包括數(shù)字調(diào)光控制臺(tái)(調(diào)光控制器)和數(shù)字調(diào)光器。其采用的協(xié)議為DMX512控制協(xié)議,,該協(xié)議的物理接口為RS485,。
    雖然數(shù)字調(diào)光控制系統(tǒng)有其優(yōu)點(diǎn),但由于成本在短時(shí)間內(nèi)無法全部替代模擬控制系統(tǒng),,模擬調(diào)光控制仍占很大比率?,F(xiàn)有的模擬調(diào)光控制臺(tái)大多采用拉桿、旋鈕,、開關(guān)等對(duì)模擬信號(hào)進(jìn)行變換,,其控制精度不高,體積較大且只實(shí)現(xiàn)燈具通斷控制,,所以很有必要開發(fā)一種控制精度高,、體積適中且可實(shí)現(xiàn)多種燈光效果變換的調(diào)光控制器。近幾年來,,PC機(jī)由于其圖形化界面易操作性,,在工業(yè)簡單控制中常被使用,單片機(jī)的成本也逐漸下降,。本文結(jié)合PC機(jī)和單片機(jī)設(shè)計(jì)了一種模擬調(diào)光控制器,,通過上位機(jī)的調(diào)光軟件可以實(shí)現(xiàn)多種燈光效果的控制。

1 總體設(shè)計(jì)
   
模擬調(diào)光控制系統(tǒng)總體設(shè)計(jì)如圖1所示,。PC上位機(jī)上運(yùn)行的控制軟件通過RS232串口發(fā)送控制命令,,調(diào)光控制器根據(jù)給定的指令產(chǎn)生相應(yīng)的0~10 V控制信號(hào)(256級(jí))。通過可調(diào)光電子鎮(zhèn)流器以及LED可調(diào)光驅(qū)動(dòng)的0~10 V接口,,根據(jù)相應(yīng)的控制電壓進(jìn)一步控制相應(yīng)燈具的亮度達(dá)到調(diào)光目的,。此外,光強(qiáng)傳感器采集現(xiàn)場的實(shí)時(shí)光強(qiáng)送入調(diào)光控制器,,上位機(jī)通過指令讀取光強(qiáng)并將其顯示在控制界面上,,再根據(jù)給定值對(duì)控制電壓進(jìn)行調(diào)節(jié)來實(shí)現(xiàn)燈光的閉環(huán)控制。本文重點(diǎn)研究調(diào)光控制器的設(shè)計(jì)方法,。



2 硬件實(shí)現(xiàn)
2.1 單片機(jī)

    單片機(jī)采用Atmel公司基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器ATmegal28,。它具有128 KBFlash、53個(gè)通用I/O口,、4個(gè)靈活的具有比較模式和PWM功能的定時(shí)器/計(jì)數(shù)器,、2個(gè)USART、8通道10位ADC(具有可選的可編程增益),、JTAG片上調(diào)試接口,,以及6種可以通過軟件選擇的省電模式,。通過將8位CPU與系統(tǒng)內(nèi)可編程的Flash集成在一個(gè)芯片內(nèi),ATmegal28為許多嵌入式控制應(yīng)用提供了靈活而低成本的方案,。
    ATmegal28可提供兩個(gè)串口功能:一個(gè)串口用來與上位機(jī)通信,;另一個(gè)串口則預(yù)留給DMX512數(shù)字控制方式,以便該控制器在日后既可以作為模擬調(diào)光控制輸出O~10 V模擬控制信號(hào),,又可以作為數(shù)字調(diào)光控制器輸出符合DMX512控制協(xié)議的數(shù)字控制信號(hào),。
2.2 電源模塊
   
ATmegal28需要5 V供電,AD7226需要15 V供電以及10 V電壓作為參考電壓,。外部電源采用15 V開關(guān)電源,,對(duì)單片機(jī)的5 V供電及AD7226的10 V參考電壓分別使用穩(wěn)壓芯片LM2940T-5及LM2940T-10實(shí)現(xiàn)。
2.3 按鍵模塊
   
按鍵模塊提供調(diào)光控制器上的調(diào)光快捷操作,。4個(gè)按鍵分別為25%,、50%、75%,、100%調(diào)光,,分別接到PE4、PE5,、PE6,、PE7外部中斷引腳上。當(dāng)按鍵被按下時(shí),,外部中斷被觸發(fā),。
2.4 串口模塊
   
單片機(jī)的串口模塊用來與上位機(jī)PC進(jìn)行通信。由于PC機(jī)RS232串口的電平與單片機(jī)UART串口電平定義不一致,,在此通過MAX232芯片進(jìn)行電平轉(zhuǎn)換,。
2.5 A/D模塊
   
光強(qiáng)傳感器采用北京易盛泰和科技公司的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)換模塊實(shí)際上是調(diào)光控制器的輸出模塊。采用ADI公司的AD7226產(chǎn)生0~10 V的電壓,。AD7226具有8位精度的4通道D/A轉(zhuǎn)換器,,最小分辨率為4 mV,可以滿足設(shè)計(jì)精度的要求,。每一個(gè)通道都有一個(gè)輸入鎖存器,,可以對(duì)輸入的數(shù)字量進(jìn)行鎖存,,輸出端帶有輸出緩沖放大器。D/A轉(zhuǎn)換模塊硬件電路如圖2所示,。


    其中,/WR為控制線,,A0,、A1為兩條地址線,通過地址線可以選擇不同的D/A通道,。該控制器設(shè)計(jì)為具有12通道的輸出,,所以采用了3個(gè)AD7226芯片。數(shù)據(jù)線,、地址線與單片機(jī)的接法相同,,只是控制線/WR作為芯片鎖存引腳與不同的單片機(jī)引腳連接,3個(gè)芯片的控制線分別連接PA4,、PA5,、PA6。

3 軟件設(shè)計(jì)
3.1 變量定義

    該控制器包含12個(gè)獨(dú)立的通道且要將現(xiàn)場采集的光強(qiáng)送給上位機(jī)顯示,,所以定義數(shù)組channelData[13],。其中,channelData[O]~chan-nelData[11]存儲(chǔ)相應(yīng)1~12通道的實(shí)際控制電壓(0~255),,channelData[12]存儲(chǔ)傳感器采樣的現(xiàn)場光強(qiáng),。變量write_end表示channelData[O]~channelData[11]的值是否被修改,write_end=1表示修改完成,。
3.2 主程序
   
上位機(jī)對(duì)調(diào)光控制器的控制通過串口中斷實(shí)現(xiàn),,調(diào)光控制器上的快捷按鍵通過I/O外部中斷實(shí)現(xiàn),傳感器的采樣間隔通過定時(shí)器中斷實(shí)現(xiàn),。3個(gè)中斷的優(yōu)先級(jí)為,;定時(shí)器中斷>I/O外部中斷>串口中斷。主程序流程如圖3所示,。


     當(dāng)串口中斷被響應(yīng)時(shí),,首先判斷上位機(jī)的指令是讀操作還是寫操作。如果是寫操作,,返回同樣的指令作為響應(yīng)指令,,根據(jù)指令改變cha-nnelData[]中相應(yīng)通道的值,并將write_end置1,。如果為讀指令,,根據(jù)地址將channelData[]中相應(yīng)通道的數(shù)據(jù)或者現(xiàn)場光強(qiáng)返回作為響應(yīng)。
    當(dāng)定時(shí)器中斷被響應(yīng)時(shí),,通過傳感器采樣現(xiàn)場光強(qiáng),。為了保證數(shù)據(jù)的準(zhǔn)確,,在算法中采用求16次采樣的平均值作為有效值存入channel-Data[12]。
    當(dāng)I/O外部中斷被響應(yīng)時(shí),,首先需要判斷是否為按鍵抖動(dòng)所致,。如果為抖動(dòng),返回,;反之,,將channelData[O]~channelData[11]的值改為該快捷鍵代表的電壓值,并將write_end置1,。
    最后判斷變量write_end是否為1,。若write_end=1,則執(zhí)行函數(shù)DAOperation(channelData,,12),,將channelData[O]~channelData[11]中對(duì)應(yīng)的各通道值(O~255)以0~10 V電壓輸出,然后將write_end清0,。

4 實(shí)驗(yàn)結(jié)果
   
當(dāng)上位機(jī)調(diào)節(jié)通道1控制電壓為2.5 V,,通道1的實(shí)際測得電壓如圖4所示。從圖中可知,,實(shí)際電壓為2.46 V,,其中O.04 V的壓降是由AD7226芯片引腳的100 Ω電阻引起的。


    在實(shí)際的測量中發(fā)現(xiàn),,未接電源時(shí)在該控制器中存在峰峰值為40 mV,、頻率為50 Hz的干擾電壓,如圖5所示,。為了減小這種低頻干擾,,在D/A輸出引腳接了一個(gè)47 μF的電容(見圖2),并取得很好的效果,。



5 總結(jié)
   
利用8位的ATmegal28單片機(jī)可以精確地實(shí)現(xiàn)多級(jí)可調(diào)的0~10 V控制電壓,,分辨率為40 mV。在調(diào)光控制器上可以通過4個(gè)按鍵快速地調(diào)節(jié)各個(gè)通道的燈光強(qiáng)弱,。此外,,通過上位機(jī)實(shí)現(xiàn)單個(gè)通道的獨(dú)立調(diào)光、所有通道的快速調(diào)光以及燈光的閉環(huán)控制,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。