關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于ATmegal 28的調光控制器方案設計

        基于ATmegal 28的調光控制器方案設計

        作者: 時間:2010-12-08 來源:網絡 收藏


        3 軟件設計
        3.1 變量定義

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

        本文引用地址:http://www.104case.com/article/162595.htm


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

        4 實驗結果
        當上位機調節通道1控制電壓為2.5 V,通道1的實際測得電壓如圖4所示。從圖中可知,實際電壓為2.46 V,其中O.04 V的壓降是由AD7226芯片引腳的100 Ω電阻引起的。


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



        5 總結
        利用8位的ATmegal28單片機可以精確地實現多級可調的0~10 V控制電壓,分辨率為40 mV。在調光控制器上可以通過4個按鍵快速地調節各個通道的燈光強弱。此外,通過上位機實現單個通道的獨立調光、所有通道的快速調光以及燈光的閉環控制。

        電子鎮流器相關文章:電子鎮流器工作原理


        電子鎮流器相關文章:


        光控開關相關文章:
        光控開關原理

        聲光控開關相關文章:聲光控開關原理

        上一頁 1 2 下一頁

        關鍵詞: 收發器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 双辽市| 罗山县| 宜君县| 敦化市| 绩溪县| 加查县| 兖州市| 抚宁县| 洪洞县| 济南市| 黄石市| 金寨县| 大田县| 富宁县| 宁明县| 习水县| 美姑县| 宣威市| 阜南县| 宜丰县| 珲春市| 屯门区| 道孚县| 明光市| 彰化县| 安义县| 肥乡县| 临湘市| 平谷区| 宝丰县| 日喀则市| 平阳县| 古丈县| 伊宁县| 广灵县| 奉化市| 凤城市| 垦利县| 闽侯县| 青冈县| 松溪县|