新聞中心

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

        基于單片機的電加熱爐溫度控制系統設計

        作者: 時間:2010-07-28 來源:網絡 收藏
        引 言

          隨著科學技術的發展和工業生產水平的提高,已經在冶金、化工、機械等各類工業控制中得到了廣泛應用,并且在國民經濟中占有舉足輕重的地位。對于這樣一個具有非線性、大滯后、大慣性、時變性、升溫單向性等特點的控制對象,很難用數學方法建立精確的數學模型,因此用傳統的控制理論和方法很難達到好的控制效果。

          單片機以其高可靠性、高性能價格比、控制方便簡單和靈活性大等優點,在工業控制系統、智能化儀器儀表等諸多領域得到廣泛應用。采用單片機進行爐溫控制,可以提高控制質量和自動化水平。

        1 單片機爐溫控制系統結構

          本系統的單片機爐溫控制系統結構主要由單片機控制器、可控硅輸出部分、熱電偶傳感器、溫度變送器以及被控對象組成。如圖1所示。
        基于單片機的電加熱爐溫度控制系統設計

        爐溫信號T通過溫度檢測及變送,變成電信號,與溫度設定值進行比較,計算溫度偏差e和溫度的變化率de/dt,再由智能控制算法進行推理,并得控制量u,可控硅輸出部分根據調節的輸出功率,即改變可控硅管的接通時間,使輸出溫度達到
        理想的設定值。

        2 系統硬件設計

        2.1 系統硬件結構

          以AT89C51單片機為該控制系統的核心,實現對溫度的采集、檢測和控制。該系統的工作流程如圖2所示。系統由變送器經A/D轉換器構成輸入通道,用于采集爐內的溫度信號。
        基于單片機的電加熱爐溫度控制系統設計

        變送器可以選用DBW,型號,它將熱電偶信號(溫度信號)變為0~5 V電壓信號,以供A/D轉換用。轉換后的數字量與爐溫數字化后的給定值進行比較,即可得到實際爐溫和給定爐溫的偏差及溫度的變化率。爐溫的設定值由BCD 撥碼盤輸入。由AT89C51構成的核心控制器按智能控制算法進行推算,得出所需要的控制量。由單片機的輸出通過調節可控硅管的接通時間,改變電爐的輸出功率,起到調溫的作用。

        2.2 系統硬件的選擇

          a)微型計算機的選擇:選擇AT89C51單片機構成爐溫控制系統。它具有8位CPU,3 2根I/O線,4 kB片內ROM存儲器,128 kB的RAM存儲器。AT89C51對溫度是通過可控硅調功器實現的。在系統開發過程中修改程序容易,可以大大縮短開發周期。同時,系統工作過程中能有效地保存一些數據信息,不受系統掉電或斷電等突發情況的影響。AT89C51單片機內部有128 B的RAM存儲器,不夠本系統使用,因此,采用6264(8 kB)的RAM作為外部數據存儲器。

          b)熱電偶的選擇:本設計采用 DBW型熱電偶--鎳絡-鎳硅(線性度較好,熱電勢較大,靈敏度較高,穩定性和復現性較好,抗氧化性強,價格便宜)對溫度進行檢測。由于溫度是非線性輸出的,而與輸入的mV信號成線性關系,所以在軟件上將此非線性關系加以修正,以便正確反映輸入mV信號與溫度之間的關系。ADC0809把檢測到的連續變化的溫度模擬量轉換成離散的數字量,輸人到單片機中進行處理。

          c)鍵盤輸入的選擇:采用4片BCD撥碼盤作為溫度設定的輸入單元,輸入范圍為0~9999,可滿足本系統的要求。每位BCD碼盤占4條線,通過上拉電阻接入8255可編程并行I/O擴展口。4片BCD碼盤占8255的 A、B兩口,8255工作方式設為"0 模式",A、B兩口均為輸入方式。開機后,CPU讀8255口操作,即可將BCD碼盤的設定溫度讀入并存人相應的存儲單元。

          d) 顯示器的選擇:采用字符型LCD(液晶顯示器)模塊TC1602A,并且它把LCD控制器、ROM和LCD顯示器用PCB(印制板)連接到一起,只要向 LCD送人相應的命令和數據便可實現所需要的顯示,使用特別方便靈活。第1行顯示設定溫度,第2行顯示實際溫度,這樣,溫差一目了然,方便控制。

        3 系統軟件設計

          本系統的應用程序主要由主程序、中斷服務程序和子程序組成。主程序的任務是對系統進行初始化,實現參數輸入,并控制電加熱爐的正常運行。主程序主要由系統初始化、數據采集及處理、智能推理等部分組成。系統初始化包括設置棧底、工作寄存器組、控制量的初始值、采樣周期、中斷方式和狀態、定時器的工作方式以及8255的初始化、TC1602A的初始化等。數據采集及處理主要包括實時采集電加熱爐的爐溫信號,計算出實際爐溫與理想值的差值以及溫差的變化率,并對爐溫信號進行濾波和限幅處理。主程序如圖3所示。

          中斷服務程序實現定時采樣和輸出控制。AT89C51共有6個中斷源:2個外部中斷、2個定時器溢出中斷及2個串行中斷。

          子程序主要有采樣子程序、數字濾波子程序、控制算法子程序、數字轉換子程序、顯示子程序等。在采樣程序中包括對A/D啟動、讀結果及把A/D結果轉換成為實際溫度值。由于熱電偶本身的非線性及模擬輸人通道存在的非線性,需要將A/D值與溫度值之間對應關系以表格形式存于EPROM中。數字濾波子程序是將 A/D轉換成的數字量提取有用的量,一方面通過TC1602ALCD模塊顯示出來;另一方面將該溫度值與被度值進行比較,根據其偏差值的大小及溫度的變化率,通過智能控制器來改變可控硅管的接通時間,從而達到改變電加熱爐的輸出功率,即控制算法子程序是控制器中最重要的一部分,它的原理將在第4節介紹。

        4 智能控制算法

          考慮到電加熱爐是一個非線性、時變和分布參數系統,所以本文采用一種新型的智能控制算法。它充分吸取數學和自動控制理論成果,與定性知識相結合,做到取長補短,在實時控制中取得較好的成果。

          本系統的智能控制器由數據庫、知識庫、推理機、學習環節、修正環節和黑板組成。數據庫中存放各個時刻的采樣值y(k)、偏差e(k)、控制量u(k)和生成控制量u(k),所用的控制規則序號、每條控制規則的加權系數a都是以數組的形式存放。

          知識庫中知識由產生式規則生成,其規則集都是按順序排列的。當求得偏差e(k)和被調整量y(k)后,借助黑板進行正向推理,從上到下順序地搜索知識庫中的匹配模式,一旦找到匹配規則,即可求出控制量u(k)。

          學習過程是通過修正規則加權系數a,使各種控制規則產生的控制量隨環境和控制量效果變化進行修正,從而實現自學習的功能。由于被控制對象具有d步時延,因此,y(k)是由(k-d)時刻及其以前所有控制量作用的結果,則應修正控制量u(k-d)的控制規則所對應的控制規則加權系數a[num(k- d)]。

          系統爐溫控制過程是一個慢過程,一般采樣間隔長,在此間隔時間內,被控對象可能受內部參數變化或隨機干擾影響,因而町能導致(k+1)時刻發出的控制量使控制效果變差,影響系統的控制性能。為補充這一不足,這里引入動態修正環節為:


          式中:0 r 1。

          最后由修正量和黑板給出的u(k)疊加,得到總輸出控制量為:

        式中:β取0.8~0.9。

        5 結束語

          本系統以單片機AT89C51為核心,它具有高可靠性、高性能價格比、控制方便簡單和靈活性大等優點??刂破鞑捎眯滦偷闹悄芸刂扑惴?,岡而系統升溫快,精度高,穩態誤差可達±5℃以內,滿足系統要求。整個系統操作簡便,抗干擾能力強、運行可靠。

        溫濕度控制器相關文章:溫濕度控制器原理
        熱電偶相關文章:熱電偶原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五河县| 巴彦淖尔市| 孝义市| 贵港市| 新田县| 桦川县| 浦县| 凤翔县| 界首市| 宜都市| 黄平县| 凤庆县| 曲靖市| 都江堰市| 闻喜县| 大石桥市| 成安县| 洛浦县| 高清| 江油市| 嘉鱼县| 壶关县| 江安县| 丰都县| 应城市| 维西| 洪雅县| 富阳市| 清镇市| 怀柔区| 松滋市| 伊通| 苏尼特左旗| 广安市| 江华| 望都县| 肇东市| 蚌埠市| 彭泽县| 寿宁县| 蓬莱市|