新聞中心

EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計應(yīng)用 > 基于ATmgea8型單片機的加熱控制系統(tǒng)

基于ATmgea8型單片機的加熱控制系統(tǒng)

作者: 時間:2008-02-20 來源: 收藏

  l 引言

本文引用地址:http://m.butianyuan.cn/article/79030.htm

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

  2 系統(tǒng)結(jié)構(gòu)及控制算法

  2.1 系統(tǒng)總體結(jié)構(gòu)

  溫度測量及加熱控制系統(tǒng)的總體結(jié)構(gòu)如圖1所示。系統(tǒng)主要包括現(xiàn)場溫度采集、實時溫度顯示、加熱控制參數(shù)設(shè)置、加熱電路控制輸出、與上位機串行通信和系統(tǒng)核心ATmega8型單片機等。

  

溫度測量及加熱控制系統(tǒng)的總體結(jié)構(gòu)

 

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

  2.2 系統(tǒng)控制算法

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

  

公式

 

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

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

  3 硬件設(shè)計

  3.1 ATmega8單片機

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

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

  3.2 現(xiàn)場溫度采集

  現(xiàn)場溫度由溫度傳感器獲得。在本系統(tǒng)中,溫度傳感器選用Ptl00鉑電阻器,利用鉑金屬自身阻值隨溫度變化的特性測溫。鉑電阻經(jīng)變送器放大及線性化處理,輸出4 mA~20 mA的標(biāo)準(zhǔn)直流信號,對應(yīng)于現(xiàn)場溫度0℃~400℃,通過150 Ω高精度金屬膜電阻轉(zhuǎn)化為O.6 V~3 V直流電壓信號。此模擬電壓信號符合ATmega8自帶A/D轉(zhuǎn)換器輸入要求,連接至ATmega8的PC0即可進(jìn)行A/D轉(zhuǎn)換。

  ATmega8內(nèi)部集成有8通道10位高速A/D轉(zhuǎn)換器。本系統(tǒng)只選用單通道PCO作為A/D轉(zhuǎn)換的模擬電壓輸入。A/D轉(zhuǎn)換的參考電壓使用系統(tǒng)自帶的Vcc。基于前述,輸入10位A/D轉(zhuǎn)換器的模擬電壓0.6V~3 V代表0℃~400℃,則現(xiàn)場溫度T可以表示為:

  

公式

 

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

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

  3.3 數(shù)碼管顯示電路

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

  

數(shù)碼管顯示電路的原理

 

  此顯示電路采用“單片機→串入并出芯片→數(shù)碼管”的動態(tài)顯示技術(shù)。單片機與74HCl64型串入并出電路使用同步串口SPI方式連接,單片機工作在主機模式,時鐘輸出端SCK接至74HCl64的CLK引腳,數(shù)據(jù)輸出端MOSI接至74HCl64的數(shù)據(jù)輸入引腳AB。

  單片機將需要顯示的8位字段碼通過SPI傳至74HCl64,由74HCl64輸出8位并行邏輯電平驅(qū)動示。通過使用同步串口SPI與74HCl64型串入并出芯片驅(qū)動數(shù)碼管的8位字段碼,比傳統(tǒng)并行驅(qū)動方式節(jié)約6個單片機I/O口,并且利用ATmega8自帶的硬件SPI單元,無需軟件模擬SPI通信。

  由于采用動態(tài)顯示技術(shù),編程時必須注意每次更新顯示數(shù)值應(yīng)先將待顯示字段送到74HCl64,再通過PC1——PC4使能數(shù)碼管中某一位點亮,否則就會發(fā)生錯位顯示現(xiàn)象。

  3.4 加熱驅(qū)動電路

  ATmega8的I/0口輸出負(fù)載能力最大為40mA,無法直接驅(qū)動工業(yè)環(huán)境中使用的電爐、電機等大功率設(shè)備,必須通過中間驅(qū)動電路實現(xiàn)單片機對功率設(shè)備工作狀態(tài)的控制。實際應(yīng)用中,通常采用繼電器或交流接觸器間接驅(qū)動。由于繼電器或交流接觸器具有機械接觸特點,因而在很大程度上降低了控制系統(tǒng)整體的穩(wěn)定性和可靠性。

  為了避免機械接觸開關(guān)的缺點,本系統(tǒng)選用以可控硅為主體的完全光電隔離的中間驅(qū)動電路。可控硅是大功率開關(guān)型半導(dǎo)體器件,能在高電壓、大電流條件下工作,具有無機械接觸、體積小、便于安裝等優(yōu)點,廣泛應(yīng)用于電力電子設(shè)備中。加熱驅(qū)動電路示意圖如圖3所示。

  

加熱驅(qū)動電路示意圖

 

  ATmega8根據(jù)現(xiàn)場溫度和用戶設(shè)定的目標(biāo)溫度及相關(guān)控制參數(shù)算出實時控制量。將此控制量寫入單片機定時器l的OClA寄存器,以決定輸出PWM波的占空比。在PWM波的高電平期間,通過限流保護(hù)電阻器R4的雙向光電耦合器上電工作,雙向可控硅TRIACl柵極被經(jīng)由R1、R2和雙向光電耦合器的信號觸發(fā)導(dǎo)通,加熱電路得電工作;PWM波低電平期間,雙向光電耦合器截止,雙向可控硅TRIACl柵極無觸發(fā)信號被關(guān)斷,加熱電路斷電停止工作。

  電路中的R3、C2組成阻容吸收單元,可減小可控硅關(guān)斷時加熱電路中感性元件所產(chǎn)生的自感電動勢對可控硅的過壓沖擊。R1、C1組成低通濾波單元,能降低雙向光電耦合器誤觸發(fā)對后續(xù)電路的影響。同時,雙向光電耦合器的使用徹底隔離了強弱電路,避免了大功率器件對單片機的干擾。

  4 軟件設(shè)計

  系統(tǒng)程序由主程序、溫度采集子程序、加熱控制子程序、鍵盤掃描子程序、串行通信子程序和中斷子程序等部分組成。主程序主要完成加熱控制系統(tǒng)各部件的初始化和自檢,以及實際測量中各個功能模塊的協(xié)調(diào)。鍵盤掃描和控制算法等子程序利用ATmega8豐富的中斷資源,在外部中斷和定時器溢出中斷子程序中完成上述工作。與上位機的串行通信采用ATmega8自帶的UART硬件傳輸中斷,以滿足數(shù)據(jù)雙向傳輸?shù)漠惒叫院蛯崟r性要求。單片機溫度采集子程序和加熱控制子程序流程如圖4所示。

  

單片機溫度采集子程序和加熱控制子程序流程

 

  上位機監(jiān)控程序基于Visual C++6.0環(huán)境開發(fā)。使用微軟公司提供的MsComm控件有效避免了直接調(diào)用Win32API造成的編程繁瑣等弊端,以較少代碼量實現(xiàn)本系統(tǒng)要求的全雙工異步通信。用戶可通過上位機程序完成溫控參數(shù)設(shè)定、溫度數(shù)據(jù)保存和離線分析等操作。

  5 結(jié)束語

  筆者設(shè)計的溫度測量及加熱控制系統(tǒng)充分發(fā)揮了ATmega8型單片機的特點,結(jié)合現(xiàn)有技術(shù),大大降低了硬件電路的設(shè)計復(fù)雜度。該系統(tǒng)已經(jīng)設(shè)計制作完成,并在仿真深海高溫?zé)嵋涵h(huán)境的試驗中取得了良好效果,具有控溫準(zhǔn)確、操控界面友好、穩(wěn)定性高、抗干擾能力強等優(yōu)點。



關(guān)鍵詞: ATmgea8

評論


技術(shù)專區(qū)

關(guān)閉