• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ATmgea8單片機設計的加熱控制系統

    基于ATmgea8單片機設計的加熱控制系統

    作者: 時間:2012-06-09 來源:網絡 收藏

    1 引言

    溫度是工業生產中主要的被控參數之一,與之相關的各種溫度控制系統廣泛應用于冶金、化工、機械、食品等領域。文中介紹的文化測量及以 ATmega8型AVR系列為核心部件,通過對系統軟件和硬件設計的合理規劃,發揮自身集成眾多系統級功能單元的優勢,在不減少功能的前提下有效降低了硬件成本,系統操控簡便。實驗證明該溫控系統具有很高的可靠性和穩定性。

    2 系統結構及控制算法

    2.1系統總體結構

    溫度測量及加熱系統控制的總體結構如圖1所示。系統主要包括現場溫度采集、實時溫度顯示、加熱控制參數設置、加熱電路控制輸出、與上位機串行通信和系統核心ATmega8型等。

    溫度采集電路以模擬電壓形式將現場溫度傳至單片機。單片機通過自身集成的 A/D轉換器將模擬電壓轉化為控制系統可用的數字量。單片機結合現場溫度與用戶設定的目標溫度,按照已經編程固化的增量式PID控制算法計算出實時控制量。以此控制量使能光電隔離驅動電路,決定加熱電路的工作狀態,使爐溫逐步穩定于用戶設定的目標值。系統運行過程中的各種狀態參量均由數碼管實時顯示,并通過RS232串口與上位計算機進行全雙工通信。用戶直接在上位機完成溫度測量和加熱控制的全部操作。

    點擊在新窗口中瀏覽產品

    2.2系統控制算法

    系統采用基于增量式 PID算法的脈寬調制(PWM)控制方法,即PWM方波的占空比由增量式PID算法求得。增量式PID算法的輸出量為

    Δ Un=Kp[(en-en-1)+(T/Ti)en+(Td/T)(en-2 en-1+en-2)] (1)

    式中, en、en-1、en-2分別為第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分別為比例系數、積分系數和微分系數,T為采樣周期。

    單片機每隔固定時間 T將現場溫度與用戶設定目標溫度的差值帶入增量式PID算法公式,由公式輸出量決定PWM方波的占空比,后續加熱電路根據此PWM方波的占空比決定加熱功率。現場溫度與目標溫度的偏差大則占空比大,加熱電路的加熱功率大,使溫度的實測值與設定值的偏差迅速減少;反之,二者的偏差小則占空比減小,加熱電路加熱功率減少,直至目標值與實測值相等,達到自動控制的目的。

    3 硬件設計

    3.1 ATmega8單片機[1]

    ATmega8型單片機是ATMEL公司推出的基于AVR RISC結構的高檔Flash型單片機。其核心將32個工作寄存器和指令集連接在一起,所有工作寄存器都與ALU(算術邏輯單元)直接相連,實現了1個時鐘周期執行1條指令同時訪問(讀寫)二個獨立寄存器的操作。這種結構提高了代碼效率,使得大部分指令的執行時間僅為一個時鐘周期。因此,ATmega8具有接近1 MI /s/MHz的性能,運行速度比普通CISC單片機高10倍。

    ATmega8型單片機內集成了執行速度為二個時鐘周期的硬件乘法器、8KB的Flash程序存儲器、512字節的E2PROM、2個具有比較模式的8位定時器、1個具有比較和捕獲模式的16位定時器、3路最大精度為16位的PWM輸出、8通道10位A/D轉換器,SPI/TWI同步串口及USART異步串口。ATmega8片內集成的眾多系統級功能單元為控制系統的開發提供了很大的便利。設計的過程中,盡量通過軟件編程簡化硬件電路,有效縮短了開發周期。

    3.2 現場溫度采集

    現場溫度由溫度傳感器獲得。在本系統中,溫度傳感器選用 Pt100鉑電阻器,利用鉑金屬自身阻值隨溫度變化的特性測溫。鉑電阻經變送器放大及線性化處理,輸出4mA—20mA的標準直流信號,對應用于現場溫度0℃— 400℃ ,通過 150Ω高精度金屬膜電阻轉化為0.6V—3V直流電壓信號。此模擬電壓信號符合ATmega8自帶A/D轉換器輸入要求,連接至ATmega8的PC0即可進行A/D轉換。

    ATmega8內部集成有8通道10位高速A/D轉換器。本系統只選用通道PC0作為A/D轉換的模擬電壓輸入。A/D轉換的參考電壓使用系統自帶的Vcc。基于前述,輸入10位A/D轉換器的模擬電壓0.6V—3V代表 0℃ — 400℃ ,則現場溫度 T可以表示為:

    T=400[(3.0-Vcc)(AD_Data/AD_Max)]/(3.0-0.6)] (2)

    式中,A/D_Data是A/D轉換后得到的10位數字量,AD_Max是10位A/D轉換器參考電壓對應的數字量,此處為0x03ff。溫度測量絕對誤差為400/210℃,相對誤差小于0.1%,符合系統精度要求。

    至此,溫度值由非電模擬量轉換為數字量,可以直接用于單片機內部加熱控制算法的運算。實際編程時,為了降低采樣過程瞬態誤差的干擾,運用了算術均值濾波的方法,即最終參與控制運算的溫度值 T通過10次采樣的溫度值求算術平均取得。

    3.3 數碼管顯示電路

    加熱過程中,被控對象的實際溫度,用戶設定的目標爐溫等參量通過數碼管顯示電路實時顯示。數碼管顯示電路的原理如圖2所示。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 萍乡市| 台中市| 道孚县| 营口市| 石泉县| 井陉县| 枣庄市| 桃江县| 盐津县| 右玉县| 长寿区| 彭泽县| 永年县| 呼图壁县| 蓬莱市| 巢湖市| 连山| 厦门市| 正安县| 龙江县| 大关县| 钟祥市| 和政县| 正镶白旗| 虞城县| 田阳县| 自贡市| 新丰县| 四平市| 东光县| 修文县| 名山县| 大港区| 浙江省| 巫山县| 体育| 盖州市| 枣强县| 金华市| 沭阳县| 广平县|