新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機的全功能工業控制器設計

        AVR單片機的全功能工業控制器設計

        作者: 時間:2013-11-12 來源:網絡 收藏

        引言

          在自動控制產品的設計過程中,實現方案的選擇常常是很矛盾的。使用可編程邏輯控制器(PLC)和人機界面(HMI)來實現,開發速度較快,但成本太高,所開發的產品沒有市場競爭力;使用單片機開發,成本低但開發周期長、開發量大且通用性不好。用戶需要的是一種成本低、開發周期較短、通用性較好的控制器,因此全功能工業控制器有很大的應用市場。

          全功能工業控制器的整個電路分為信號隔離輸入部分、控制器輸出部分、實時時鐘與歷史數據存儲部分、彩色液晶顯示和觸摸屏控制部分、通信接口等。

        1 信號隔離輸入電路

          信號隔離輸入電路分為開關量隔離輸入、模擬量隔離輸入、高速電脈沖隔離輸入,電路如圖1所示,開關量的隔離輸入較為簡單,輸入信號采用光耦進行隔離后送入單片的普通I/O,單片機用查詢方式進行采集。

        AVR單片機的全功能工業控制器設計

        圖1 信號隔離輸入電路

          高速電脈沖的采集需要注意的是,所設計的電路必須適應高速信號采集的要求,因此隔離光耦應采用高速光耦(如6N137等)。采用查詢方式采集高速脈沖容易造成采集數據的丟失,高速脈沖應采用中斷方式進行采集。

          模擬量是本控制器的一個重點和難點,筆者之前采用了線性光耦等多種方式進行模擬量的實驗,均未獲滿意的效果。這里采用一種先將模擬量數字化(使用AD7705),然后通過有光耦隔離的數據口送到CPU進行模擬量的方式,效果理想。

        2 控制器輸出電路

          控制器的輸出方式有繼電器輸出、晶體管輸出、模擬電壓輸出,如圖2所示。繼電器輸出和晶體管輸出電路較為簡單,這里不作詳細的介紹。下面著重介紹模擬電壓的產生原理。

        AVR單片機的全功能工業控制器設計

        圖2 控制器輸出電路

          模擬電壓的輸出主要利用的PWM端口來實現,PWM輸出脈沖經光耦隔離后再進行濾波產生所需的直流信號。為了提高驅動能力,加了一級射極跟隨器,如圖2上半部所示。

          PWM電壓調節實現的程序如下:

        #define PWM1_IN(){DDRB.5=1;PORTB.5=0;}//PWM端口控制

        #define PWM1_OUT() DDRB.5=1;

        /**********************

        PWM初始化程序:

        使用TIMER1,預分頻為8,設置10位快速PWM模式,關閉中斷

        **********************/

        void pwm_init(void){

           TIMSK=0xC3; //關閉TIMER1中斷

        ETIMSK=0xFE;

           TCCR1A=0; //關閉定時器

        TCCR1B=0;

        OCR1A=0x0000; //關閉輸出

        OCR1B=0x0000;

        TCCR1A=0xA3; //設置10位快速PWM

        //模式,預分頻為8

           TCCR1B=0x0A;

           PWM1_IN()

        }

        /***************************

        PWM通道控制程序: 功能——可以進行單通道的開關和調整輸出

        入口參數—— b為通道控制(1—改值,2—開端口,3—關端口);


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 商南县| 屏山县| 新余市| 兴文县| 麻江县| 五原县| 东源县| 清原| 安阳市| 越西县| 景东| 历史| 南京市| 勃利县| 红河县| 前郭尔| 迁安市| 峨边| 元朗区| 筠连县| 罗甸县| 夏津县| 上饶市| 新巴尔虎右旗| 循化| 富民县| 江西省| 长宁区| 阿坝| 红安县| 天津市| 井研县| 霸州市| 南江县| 阿拉善盟| 宜宾市| 桓仁| 海林市| 安阳县| 昭觉县| 甘肃省|