于天成
(中國人民解放軍91550部隊 42分隊,遼寧 大連 116023)
隨著現(xiàn)代科技的飛速發(fā)展,溫度測量控制技術(shù)的重要性得到凸顯。電阻爐在高度自動化時代得到了廣泛應(yīng)用,其溫度控制效果可直接決定產(chǎn)品的生產(chǎn)效率與質(zhì)量。為實現(xiàn)電阻爐工作效率的提高,在使用電阻爐過程中,需要精準測量和控制溫度。傳統(tǒng)電阻爐溫度控制主要采用模擬調(diào)節(jié)器進行實現(xiàn),但該方法存在延時大、系統(tǒng)振蕩等問題,無法保證溫度的控制精度。為解決該問題,本研究采用單片機作為核心設(shè)備,設(shè)計出電阻爐溫度控制系統(tǒng),有利于提高電阻爐的智能化和自動化程度,最大限度地消除安全隱患。
電阻爐控制系統(tǒng)的設(shè)計原理為:首先,利用溫度傳感器K型熱電偶對電阻爐內(nèi)部溫度數(shù)據(jù)進行采集;其次,將采集成功的溫度模擬信號傳輸至MAX6675芯片中,利用該芯片將信號轉(zhuǎn)換成數(shù)字溫度信號;最后將信號數(shù)據(jù)傳輸至AT89C52單片機中,數(shù)據(jù)結(jié)果在LCD顯示屏上顯示。電阻爐控制系統(tǒng)工作原理如圖1所示。

圖1 電阻爐控制系統(tǒng)工作原理圖
電阻爐控制系統(tǒng)在運行過程中,可利用鍵盤對電阻爐的溫度數(shù)據(jù)進行設(shè)置,單片機可采用對比運算的方式比較電阻爐實際溫度和預(yù)設(shè)溫度,再通過數(shù)字PID控制算法對PWM方波的輸出寬度進行控制。為實現(xiàn)電熱絲加熱功率的有效調(diào)節(jié),可精準控制雙向晶閘管的導(dǎo)通與關(guān)斷,有利于快速提高電阻爐的溫度,使電阻爐溫度處于恒定不變的狀態(tài)。當電阻爐溫度超過系統(tǒng)設(shè)定的溫度數(shù)值時,系統(tǒng)可自動采取報警模式,提供工作人員對電阻爐的運行狀態(tài)進行查看[1]。
本研究對電阻爐控制系統(tǒng)的硬件部分進行設(shè)計時,將其劃分為溫度采集(傳感器)模塊、溫度顯示和鍵盤模塊以及溫度控制模塊三部分。溫度顯示模塊和鍵盤模塊包含了溫度報警功能,當電阻爐溫度超過系統(tǒng)設(shè)定數(shù)值時,可立即采取報警模式。
該模塊的核心設(shè)備為K型熱電偶溫度傳感器和K型熱電偶串行模數(shù)轉(zhuǎn)換器MAX6675,通過溫度傳感器和串行模數(shù)轉(zhuǎn)換器MAX6675對電阻爐內(nèi)部溫度數(shù)據(jù)進行采集。MAX6675在該模塊中主要負責信號轉(zhuǎn)換,將熱電偶的毫伏級模擬信號轉(zhuǎn)換成12bit的數(shù)字信號,并對電阻爐進行冷端補償。MAX6675轉(zhuǎn)換后的數(shù)據(jù)可上傳至AT89C52單片機,由AT89C52單片機的P1.0接口負責接收數(shù)據(jù),該單片機的P1.1和P1.2口可為MAX6675提供串行時鐘與片選信號[2]。
溫度顯示模塊由顯示和設(shè)定兩部分共同組成,顯示部分的核心設(shè)備為LM016L液晶顯示器,該顯示器可顯示字符與數(shù)字,數(shù)據(jù)在顯示器中排列為2行,每行包含16個字符。設(shè)定部分主要由PLAS(加)、SUBS(減)、START(開始)三個按鍵共同組成,可通過鍵盤完成數(shù)據(jù)的輸入,當電阻爐控制系統(tǒng)處于運行狀態(tài)時,可將系統(tǒng)默認溫度設(shè)定為30 ℃,按下PLAS按鍵時,可升高電阻爐溫度,按下SUBS按鍵時,可降低電阻爐溫度,按下START按鍵時,電阻爐開始加熱。
AT89C52單片機的P0.0~P0.7口可將輸出信號傳輸至LM016L液晶顯示器的D0~D7數(shù)據(jù)總線中,當P0口作為系統(tǒng)的通用I/O接口時,需要在系統(tǒng)中增加上拉電阻,并將P3.2和P3.3分別接在鍵盤的兩端,便于系統(tǒng)使用P3口的第二功能。
電阻爐控制系統(tǒng)將溫度的上限值設(shè)定為100 ℃,當電阻爐內(nèi)部溫度超過100 ℃時,應(yīng)立即停止加熱,并向操作人員發(fā)送提示信息。溫度報警裝置的核心設(shè)備為蜂鳴器,該設(shè)備可有效控制電阻爐的溫度,在溫度超過上限值時,可通過報警的方式控制溫度。將蜂鳴器的兩端分別與電源和PNP三極管的發(fā)射極建立連接,三極管的基極可通過電阻與單片機的P1.3端口連接在一起,當P1.3端口處于低電平狀態(tài)時,PNP三極管處于導(dǎo)通狀態(tài),此時蜂鳴器采取鳴音模式;當P1.3端口處于高電平狀態(tài)時,PNP三極管處于關(guān)斷狀態(tài),此時蜂鳴器關(guān)閉鳴音模式[3]。
該模塊為電阻爐控制系統(tǒng)的執(zhí)行機構(gòu),為實現(xiàn)電熱絲功率的精準控制,可通過光電耦合器將單片機端口輸出的PWM方波轉(zhuǎn)換成晶閘管的開端。當P1.7端口輸出低電平時,雙向晶閘管處于導(dǎo)通狀態(tài),此時電熱絲通電,并開始加熱;當P1.7端口輸出高電平時,雙向晶閘管處于截止狀態(tài),此時電熱絲斷電,并停止加熱。
電阻爐具有非線性特點,將電阻爐作為控制對象時,可增大系統(tǒng)控制難度以及復(fù)雜性,但電阻爐自身具有自平衡能力,理想的電阻爐數(shù)學(xué)模型為
(1)
式中:K為比例增益,表示電阻爐自平衡能力的大小;T為時間常量,可代表電阻爐的慣性;τ為純滯后常量[4]。
電阻爐在正常運行時,其內(nèi)部工件的熱導(dǎo)率、裝入量以及加熱溫度之間存在較大差異性,易造成電阻爐模型參數(shù)的變化。因此,理想的電阻爐數(shù)學(xué)模型建立的難度較大。
PID控制是當前應(yīng)用范圍最廣且適用性最強的控制算法,該算法可充分利用比例、積分以及微分等運算方式,將系統(tǒng)的期望值與實際輸出數(shù)值之間存在偏差構(gòu)建成控制量。PID控制算法在應(yīng)用過程中存在精準的可調(diào)節(jié)參數(shù),但理想電阻爐數(shù)學(xué)模型的建立難度較大,并且該模型的控制參數(shù)需要在一定范圍內(nèi)緩慢調(diào)節(jié),當模型的控制參數(shù)超過該范圍時,應(yīng)立即加速調(diào)節(jié)。本研究為實現(xiàn)電阻爐溫度的精準控制,將模糊控制與PID控制算法結(jié)合在一起,形成模糊PID控制算法,通過該算法實現(xiàn)電阻爐溫度控制。
模糊PID控制算法的核心設(shè)備為模糊控制器,在應(yīng)用該算法時,將輸入信號偏差e的大小、方向以及變化趨勢等特征作為主要依據(jù),同時結(jié)合模糊化、模糊推理以及模糊決策等方式,以此實現(xiàn)PID比例、積分、微分參數(shù)的在線整定。模糊PID控制器是一種智能的控制系統(tǒng),該控制器的結(jié)構(gòu)如圖2所示[5]。

圖2 模糊PID控制結(jié)構(gòu)
模糊PID控制器結(jié)構(gòu)中E和Ec為模糊輸入,kp、ki、kd均為控制器的模糊輸出,分別代表的含義為比例系數(shù)、積分時間常數(shù)、微分時間常數(shù),模糊比例系數(shù)可采用Ge、Gc表示。本研究設(shè)計模糊推理系統(tǒng)時,將其設(shè)置為2輸入、3輸出,輸入指的是偏差e和偏差變化率ec,輸出指的是ΔKp、ΔKi、ΔKd,3個輸出分別對kp、ki、kd的數(shù)值進行調(diào)節(jié)。
本研究在對電阻爐控制系統(tǒng)的軟件部分進行設(shè)計時,將K型熱電偶作為核心設(shè)備,通過該設(shè)備檢測電阻爐內(nèi)部溫度,結(jié)合加熱控制軟件對電阻爐的溫度進行恒定控制,最終控制結(jié)果顯示在LCD顯示屏上,操作人員可通過鍵盤對電阻爐溫度的增加或減少進行設(shè)定。
該程序由系統(tǒng)初始化、采樣溫度值、掃描鍵盤以及顯示模塊等部分共同組成,電阻爐控制系統(tǒng)主程序流程如圖3所示。

圖3 電阻爐控制系統(tǒng)主程序流程圖
主程序的工作流程為:首先,對系統(tǒng)內(nèi)部RAM和顯示功能進行初始化,若初始化后存在KEY,則需要對其進行相應(yīng)的處理,若不存在KEY,則返回上一級重新判斷;其次,判斷確認鍵是否按下,若確認鍵被按下,則需要測量電阻爐的溫度,并在LCD顯示屏上顯示溫度數(shù)據(jù);最后,當電阻爐溫度超過系統(tǒng)設(shè)定的上限值時,系統(tǒng)可立即采取報警模式,并結(jié)束程序運行,若電阻爐溫度未超過系統(tǒng)設(shè)定的上限值,需要對系統(tǒng)是否到達控制時刻進行判斷,在到達控溫時刻時,則可對其進行PID控制,在未到達控溫時刻的情況下,應(yīng)重新對電阻爐的溫度進行測量[6]。
本研究在檢測電阻爐的溫度數(shù)據(jù)時,采用K型熱電偶作為核心設(shè)備,并利用MAX6675將溫度模擬信號轉(zhuǎn)換成數(shù)字信號。溫度采集流程如圖4所示。

圖4 電阻爐控制系統(tǒng)溫度采集流程圖
電阻爐溫度采集流程為:①對系統(tǒng)內(nèi)變量進行初始化,并完成電阻爐溫度數(shù)據(jù)的轉(zhuǎn)換;②讀取系統(tǒng)中含有的16位二進制溫度數(shù)值,若CS置高,則需要開始新的溫度轉(zhuǎn)換,將其轉(zhuǎn)換成對應(yīng)的十進制;③讀出電阻爐的溫度數(shù)值。
本研究對該程序進行設(shè)計時,將增量式算法作為該系統(tǒng)的核心算法,該算法的表達式為
(2)
式中:Δui為第i-1次輸出基礎(chǔ)上的增加或減少量。可將式(2)稱作增量式PID控制算式,將系統(tǒng)的采樣周期設(shè)置為T,在時刻t=iT時完成溫度數(shù)據(jù)的采集。為降低計算過程的復(fù)雜程度,對式(2)進行簡化,簡化后的式子可演變?yōu)?/p>
Δui=K(ei-ei-1)+KIei+KD[(ei-ei-1)-(ei-ei-2)]
(3)

由于K、TI、TD、T均為常數(shù),則KP、KI、KD同樣為常數(shù)。為求得系統(tǒng)偏差ei,可采用系統(tǒng)給定值減去經(jīng)中值濾波處理后的檢測值,在初值設(shè)為零的情況下,將得到的偏差結(jié)果與上次偏差ei-1相減,即可得到ei-ei-1。為計算出Δui的數(shù)值,同樣將初值設(shè)為零,由上次偏差ei-1減去前次偏差ei-2,最終得到ei-1-ei-2,Δui加上ui-1即可得到ui[7]。
本研究為驗證電阻爐控制系統(tǒng)的有效性,利用Proteus軟件對系統(tǒng)進行仿真測試。Proteus軟件的仿真能力較強,將其應(yīng)用于電阻爐控制系統(tǒng)的仿真測試中,有利于提高仿真結(jié)果的精準性。但該軟件的仿真條件存在一定限制,為解決該問題,將溫度采集模塊中的MAX6675芯片替換成DS18B20芯片。采用DS18B20芯片實現(xiàn)溫度數(shù)據(jù)的采集時,操作人員可利用該芯片有效完成溫度的更改,LM06L液晶顯示屏上第一行可顯示設(shè)定值,第二行顯示系統(tǒng)當前溫度數(shù)值。為精準控制電阻爐的溫度,將報警上限值設(shè)置為100 ℃,當電阻爐內(nèi)部溫度超過上限值時,蜂鳴器處于報警狀態(tài)。設(shè)置單片機端口為高電平,并觸發(fā)光電耦合器,當P1.7端口輸出高電平時,電阻爐的電熱絲開始加熱,此時按下plus按鍵,電阻爐的溫度設(shè)定值增加1;按下subs按鍵時,電阻爐的溫度設(shè)定值減少1;按下start按鍵時,系統(tǒng)開始加熱。系統(tǒng)的程序均采用Kei14平臺進行編輯,在實際仿真過程中,將電阻爐的溫度設(shè)定為90 ℃[8]。
通過對仿真結(jié)果進行分析可知,電阻爐溫度控制系統(tǒng)可有效減小熱電偶的滯后性,該系統(tǒng)測量的溫度誤差不超過±0.5 ℃,符合工業(yè)領(lǐng)域?qū)﹄娮锠t的控制要求。
本研究為實現(xiàn)電阻爐溫度的精準控制,將AT89C52單片機作為核心設(shè)備,設(shè)計了電阻爐溫度控制系統(tǒng)。為提高系統(tǒng)的控制精度,向系統(tǒng)內(nèi)部引入PID控制算法,在該算法的計算上加入模糊控制算法,將二者充分結(jié)合,構(gòu)成精度更高的模糊PID控制器。該控制器可充分融入PID控制算法與模糊控制的優(yōu)勢,以此實現(xiàn)電阻爐溫度的在線整定。為驗證系統(tǒng)的控制精度,采用Proteus軟件對系統(tǒng)進行仿真測試,測試結(jié)果顯示,系統(tǒng)的測量誤差不超過±0.5 ℃,符合工業(yè)要求。