張望輝
(中國(guó)船舶集團(tuán)有限公司 第七一三研究所,河南鄭州,450015)
本課題的主要設(shè)計(jì)思路:采樣部分是傳感器采集溫度信號(hào)之后,然后通過處理再送入放大電路,通過A/D 轉(zhuǎn)送至單片機(jī);控制部分則是利用光電耦合,輸出信號(hào)觸發(fā)可控硅,從而實(shí)現(xiàn)對(duì)溫度的調(diào)節(jié),如圖1 所示。
圖1 系統(tǒng)總體框架
由于本課題主要是對(duì)加熱爐、熱處理爐、反應(yīng)爐和鍋爐等的溫度進(jìn)行測(cè)控,溫度大約在1000℃,因此可以選用熱電偶傳感器。
熱電偶測(cè)溫主要特點(diǎn)。①它屬于自發(fā)電型傳感器:測(cè)量時(shí)無(wú)需外接任何電源,能夠直接進(jìn)行啟動(dòng)。②測(cè)量的范圍廣闊:最低可到-270℃,最高可到1800℃。③精度高:0.1℃~0.2℃,因?yàn)闊犭娕嫉姆€(wěn)定性和復(fù)現(xiàn)性好,所以國(guó)際上運(yùn)用溫標(biāo)中規(guī)定熱電偶,它作為復(fù)現(xiàn)630.74℃~1064.43℃范圍的標(biāo)準(zhǔn)儀表。④由于具有響應(yīng)好的特點(diǎn),所以我們可以將熱電偶的測(cè)量端做成理想小的接點(diǎn),響應(yīng)速度快,其時(shí)間常數(shù)可以達(dá)到毫秒級(jí)甚至微秒級(jí)。⑤構(gòu)造很簡(jiǎn)單,生產(chǎn)非常方便。⑥用途很普遍,人們不僅用它去檢測(cè)流動(dòng)體的溫度,還常常用作檢測(cè)固體表面的溫度。
熱電偶輸出的電動(dòng)勢(shì)是兩結(jié)點(diǎn)溫差的函數(shù)。T 作為被測(cè)溫度端,T0作為參考溫端,通常要求T0保持為0℃,但在現(xiàn)實(shí)中很難做到這一點(diǎn)。然而現(xiàn)實(shí)是參考溫度端很難保持穩(wěn)定的數(shù)值。工業(yè)生產(chǎn)中,熱電偶冷端補(bǔ)償?shù)姆椒ㄓ泻芏啵容^常見的方法是電位補(bǔ)償法。如圖2 所示。
圖2 電位補(bǔ)償法原理
為了獲得較好的電路特性,我們可以在放大器的輸入端之前設(shè)計(jì)一個(gè)低通濾波器。原因如下:熱電偶的長(zhǎng)引線常常會(huì)產(chǎn)生天線的作用,接收各類干擾信號(hào),這就會(huì)導(dǎo)致我們的信號(hào)里摻和了“雜質(zhì)”,如果任其被放大,將會(huì)導(dǎo)致我們的電路出現(xiàn)大的誤差,導(dǎo)致我們測(cè)量的溫度發(fā)生較大的波動(dòng),這些都是不利于人們的,也是我們不想看到的結(jié)果。此濾波電路的主要作用是消除射頻信號(hào)。
熱電偶測(cè)量溫度中,重點(diǎn)在于:熱電偶產(chǎn)生的溫度信號(hào)很弱,而要將如此弱的信號(hào)進(jìn)行放大等一系列操作,這就需要我們的放大電路必須具有低漂移和高精度的特點(diǎn),而且整個(gè)檢測(cè)設(shè)備都需要實(shí)施大量防干擾的手段。鑒于此,這里可以使用斬波穩(wěn)零放大器ICL7650。
ICL7650 利用調(diào)制、穩(wěn)零的方式,良好的解決了溫漂和信號(hào)放大之間的關(guān)系,打破了傳統(tǒng)常規(guī)斬波穩(wěn)零設(shè)計(jì)思想的限制。ICL7650 的主要特點(diǎn)如下:(1)輸入失調(diào)電壓很低:在工作溫度范圍(約100℃)內(nèi)只有±1μV;(2)極低的失調(diào)電壓的溫漂和長(zhǎng)時(shí)間漂移:分別為0.01μV/℃和100nV/Month ;(3)很低的輸入偏置電流:10 pA ;(4)極高的開環(huán)增益CMRR;(5)較高的轉(zhuǎn)換速度:SR=2.5V/μs;(6)單位增益帶寬可達(dá)2 MHz;(7)單位增益被內(nèi)部補(bǔ)償;(8) 可以用內(nèi)調(diào)來(lái)補(bǔ)充,相位裕度≥80°;(9)在輸入和輸出只有一個(gè)小的斬波發(fā)出。
轉(zhuǎn)換芯片的選擇主要在于要滿足整個(gè)控制系統(tǒng)對(duì)分辨率的需求,在這次課題中要求滿足檢測(cè)溫度的范圍是0 ℃~1300 ℃,檢測(cè)的精度是1 ℃,則分辨率為:1300/1=1300。要滿足這個(gè)數(shù)值的最小分辨率為:2x≥ 1300,解得x≥11,因此可選用12 位的A/D 轉(zhuǎn)換器。
本課題選用的是具有快速,高精度,低成本的逐次逼近式A/D 轉(zhuǎn)換器—AD574A。它是一種12 位逐次比較型A/D 轉(zhuǎn)換器,其原理是利用逐次比較法,也叫二等分搜索法,最顯著的特點(diǎn)是轉(zhuǎn)換速度較快,轉(zhuǎn)換精度也較高,電路結(jié)構(gòu)也相對(duì)簡(jiǎn)單,只需要15μs 來(lái)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換精度<=0.05%。由于它含有三態(tài)輸出緩沖電路,因此能夠直接和大多數(shù)典型的8 位或者16 位的單片機(jī)連接,而不需要添加任何的邏輯接口電路,還能和CMOS 以及TTL 兼容。AD574A 片內(nèi)已經(jīng)成為高精度參考電壓和時(shí)鐘電路,使芯片無(wú)需額外的電路和時(shí)鐘信號(hào)條件即可完成A/ D 轉(zhuǎn)換,使用方便,因此已被廣泛應(yīng)用,特別是在控制系統(tǒng)中最多。
AT89C51 的特點(diǎn):(1)性價(jià)比高。(2)形狀小,信賴度高;(3)控制功能強(qiáng);(4)低電壓、低能耗。
AT89C51 它由CPU、存儲(chǔ)器(ROM、RAM)、I/O 接口、定時(shí)/計(jì)數(shù)器、中斷控制功能等促成,它們和內(nèi)部相連接,其中功能如表1[1]所示。
表1 I/O口引腳功能
在溫度控制過程中,分為加熱部分和降溫部分。該部分的設(shè)計(jì),主要解決2 個(gè)問題:弱電(單片機(jī))和強(qiáng)電(AC220V)的隔離,還有對(duì)強(qiáng)電的控制。由于負(fù)載通常是一個(gè)線圈,相當(dāng)于一個(gè)電感,在斷路時(shí)會(huì)產(chǎn)生3~5 倍的大感應(yīng)電壓,如果不是隔離,那么千伏的電壓將使單芯片擊穿損壞。并且微控制器不僅連接到控制電機(jī),還可以連接到傳感器等,這將使整個(gè)系統(tǒng)陷入癱瘓。光耦中間是用光來(lái)傳遞信號(hào)的,在兩邊沒有電的聯(lián)系時(shí),用光耦進(jìn)行隔離。因此,可選用MOC3062 光電耦合器和雙向可控硅實(shí)現(xiàn)對(duì)被控對(duì)象的控制。圖3 中元件7406 的作用是加強(qiáng)驅(qū)動(dòng)能力,因?yàn)閱纹瑱C(jī)的口線不能直接驅(qū)動(dòng)光電耦合器(當(dāng)然加強(qiáng)驅(qū)動(dòng)也可以采用其他方法,用7406 不是唯一的選擇)。圖中R1 為限流電阻,使輸入的LED 電流為:10mA (MOC3062),R1 可按式計(jì)算:
圖3 控制電路圖
式中:VF 是紅外發(fā)光二極管的正向電壓,一般取1.2~1.4V;IFT 是紅外發(fā)光二極管的觸發(fā)電流,可以查表選取,如表2,如果工作溫度在25℃以下時(shí),IFT 應(yīng)該進(jìn)行適當(dāng)?shù)脑黾印?/p>
表2 紅外發(fā)光二極管極限參數(shù)
R2 為雙向可控硅的門極電阻,當(dāng)可控硅靈敏度較高的時(shí)候,門極電阻也比較高,并上電阻R2 可以提高抗干擾的能力[2]。
R3 為觸發(fā)功率雙向可控硅的限流電阻,該電阻的值由交流電網(wǎng)電壓峰值和觸發(fā)器輸出端允許重復(fù)沖擊電流峰值決定,可按下式的到:
式中:VP:交流電路中的峰值電壓;ITSM :峰值重復(fù)浪涌電流(一般取1A),此外39Ω 的電阻和0.01μF 的電容組成浪涌吸收電路,防止浪涌電壓損害雙向可控硅。圖中的電阻R2 和R3 的阻值可以選擇300Ω。
電路如圖3 所示。
①系統(tǒng)中鍵盤的功能主要用于工作人員輸入和更改設(shè)定的溫度值,本課題設(shè)計(jì)16 個(gè)常規(guī)按鍵和1 個(gè)復(fù)位按鍵,其中0~9 數(shù)字鍵用于輸入和修改溫度,功能鍵F1 號(hào)鍵,設(shè)置溫度值,用于進(jìn)入設(shè)定溫度狀態(tài),F(xiàn)2 號(hào)鍵為確認(rèn)設(shè)置溫度,F(xiàn)3 鍵為清除鍵,便于用戶設(shè)定錯(cuò)誤溫度或錯(cuò)按其他鍵使用,其他鍵尚未定義,需要用時(shí)再根據(jù)需求設(shè)置,鍵盤采用行列式計(jì)算,16 個(gè)按鍵排成4×4 矩陣,設(shè)計(jì)中用單片機(jī)的P2 口的P2.0~P2.3 接鍵盤的4 根行線,P2.4~P2.7 接4 根列線。如圖4 所示。
表3 段碼與字節(jié)中各位對(duì)應(yīng)關(guān)系
表4 8段LED段碼
圖4 鍵盤接口電路
②通常的LED 顯示器為8 段(8 段比7 段多了一個(gè)小數(shù)點(diǎn)“dp”段),每段對(duì)應(yīng)著一個(gè)發(fā)光二極管,這種顯示器分為共陽(yáng)極和共陰極2 種,如圖5 所示。共陰極LED 顯示器的發(fā)光二極管的陰極連接在一起,一般此公共陰極接地,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平的時(shí)候,此時(shí)發(fā)光二極管點(diǎn)亮,顯示相應(yīng)的段,同樣的,共陽(yáng)極LED 顯示器的發(fā)光二極管的陰極連接在一起,一般此公共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平的時(shí)候,此時(shí)點(diǎn)亮發(fā)光二極管,顯示相應(yīng)的段。
圖5 8 段LED 結(jié)構(gòu)及外形
由于本課題所需顯示位數(shù)相對(duì)較多,同時(shí)也為了節(jié)約單片機(jī)的端口資源占用量,因此可采用串口動(dòng)態(tài)掃描的LED顯示電路,圖中利用串行口擴(kuò)展74HC595A 移位寄存器顯示時(shí),在移位脈沖的控制下,首先通過P3.0 將位碼送移位寄存器U2,再將段碼送入U(xiǎn)2,而原來(lái)U2 中的位碼逐位移入到U3 里,最后在鎖存脈沖的控制下,將位碼和段碼并行送到LED 接口,經(jīng)過延時(shí)后,再相應(yīng)移入下一個(gè)位碼和段碼,以此類推。這樣在任何一個(gè)時(shí)刻都只有一位LED 在亮,即動(dòng)態(tài)掃描顯示如圖6 所示。
③當(dāng)被控對(duì)象的溫度高于我們所設(shè)定的溫度上限值或低于我們所設(shè)定的溫度下限值的時(shí)候,則報(bào)警指示燈會(huì)亮,喇叭就會(huì)響起[3],如圖7 所示。
在主程序中首先輸入按鍵值,接著通過循環(huán)顯示當(dāng)前溫度值,等待中斷命令,而且讓鍵盤外部中斷作為高優(yōu)先級(jí),為了讓主程序可以實(shí)現(xiàn)實(shí)時(shí)響應(yīng)鍵盤。當(dāng)軟件設(shè)置定時(shí)器T0為5s 定時(shí)的時(shí)候,在沒有按鍵按下的時(shí)候,應(yīng)該每隔5s 就要響應(yīng)一次,目的是采集溫度傳感器并經(jīng)A/D 轉(zhuǎn)換的溫度信號(hào)。設(shè)置定時(shí)器T1 作為放置在T0 中的定時(shí)中斷,初值通過PID 來(lái)給出,用于對(duì)溫度的控制。主要流程如圖8 所示。
圖8 主程序流程圖
PID 控制算法。PID 控制的應(yīng)用非常普遍,主要有控制理論簡(jiǎn)單、便捷,實(shí)用性很強(qiáng),它的控制品質(zhì)因數(shù)對(duì)被控對(duì)象的變化來(lái)說(shuō)不太敏感等特點(diǎn),當(dāng)我們不需要很高的控制精度和控制速度的時(shí)候,它具有相對(duì)較高的性價(jià)比。
算法主要有2 種,分別是位置式PID 控制算法和增量式PID 控制算法。其中位置式PID算法的缺點(diǎn)在于:①當(dāng)前采樣值與過去的各個(gè)狀態(tài)都有關(guān)系,在計(jì)算的時(shí)候要對(duì)e(k)進(jìn)行累加處理,導(dǎo)致運(yùn)算量很大;②控制器的輸出u(k)對(duì)應(yīng)的是執(zhí)行機(jī)構(gòu)的位置,如果我們的計(jì)算機(jī)發(fā)生任何問題的時(shí)候,u(k)的變動(dòng)都會(huì)導(dǎo)致執(zhí)行機(jī)構(gòu)位置發(fā)生巨大變化。綜合考慮,本課題采用增量式算法[4],其框圖如圖9 所示。
圖9 PID 控制算法框圖
PID 控制給出設(shè)定值與當(dāng)前實(shí)際值的偏差e(t),按照比例、積分與微分的方式組合,得輸出量u(t)作用在被控對(duì)象上,如圖10 所示。
圖10 PID 控制模式方框圖
所以連續(xù)系統(tǒng)中PID 控制器的傳遞函數(shù)如下:
PID 控制規(guī)律為:
其中,KP為比例系數(shù),Ti為積分時(shí)間常數(shù),為Td微分時(shí)間常數(shù),e(t) 為PID 控制器的輸入量,u(t) 為輸出量。
單片機(jī)是利用程序設(shè)計(jì)的方式實(shí)現(xiàn)控制算法,因此需要我們對(duì)它進(jìn)行離散化處理,轉(zhuǎn)變成數(shù)字式PID 控制器。當(dāng)采樣周期遠(yuǎn)遠(yuǎn)小于信號(hào)變化周期的時(shí)候,該算法可以通過式(2)近似得出:
式中T 是采樣周期,k 是采樣序號(hào),將式(3)帶入式(2)中,有:
為了方便單片機(jī)進(jìn)行程序編寫將式(4)變?yōu)椋?/p>
式中,e(k)為數(shù)字PID 控制器的輸入;u(k)為第k 個(gè)采樣值的時(shí)候數(shù)字PID 控制器輸出。數(shù)字PID 由數(shù)字PID控制器的增量值遞增。該算法是增量數(shù)字PID 控制算法,如式(6)所示。
其具體流程如圖11 所示。
圖11 PID 算法程序流程圖
在實(shí)際中,傳感器的輸出特性是非線性的,這將會(huì)影響我們的檢測(cè)精度。因此,我們可以進(jìn)行非線性補(bǔ)償,主要有軟件方法和硬件方法,二者相比較下,軟件方法顯得很靈活,無(wú)須額外搭建硬件電路,從而可以節(jié)約成本,故生活中我們都常常選擇使用軟件補(bǔ)償。本課題選擇使用計(jì)算方法中的代數(shù)插值法,該方法需要根據(jù)傳感器的標(biāo)定數(shù)據(jù)建立插值多項(xiàng)式。
設(shè)傳感器的輸入信號(hào)為y,輸出信號(hào)為x,兩者的關(guān)系是y=f(x)。利用標(biāo)定可以獲取對(duì)應(yīng)于n+1個(gè)不同輸出值的傳感器輸入值yi=f(xi)。想辦法用一個(gè)多項(xiàng)式Pn(x)去逼近f(x),并且使Pn(xi)=f(xi),那么Pn(x)就叫做f(x) 的插值多項(xiàng)式,xi叫做插值節(jié)點(diǎn)。在實(shí)際運(yùn)用的時(shí)候,Pn(x)的階數(shù)n要依據(jù)精度來(lái)確定。但是,精度太高,n值愈大,計(jì)算起來(lái)也就越復(fù)雜。如果f(x) 幾乎為線性,那我們就可以用一次多項(xiàng)式逼近,即n=1,此時(shí)多項(xiàng)式變?yōu)镻1(x)=a1x+a0;如果f(x) 類似于拋物線,那我們就可以用二次多項(xiàng)式逼近,即n=2,此時(shí)多項(xiàng)式變?yōu)镻2(x)=a2x2+a1x+a0。
使用多項(xiàng)式插值法,就好比在傳感器的2 個(gè)相鄰點(diǎn)(xi,yi)和 (xi+1,yi+1)間用直線P1(x)連接,在區(qū)間 [xi,xi+1]內(nèi)用P1(x) 替代f(x) 來(lái)計(jì)算y。如果我們有n+1 標(biāo)定點(diǎn),那么可以劃定n+1 個(gè)區(qū)間,各個(gè)區(qū)間上插值多項(xiàng)式為:
在用線性插值法補(bǔ)償?shù)臅r(shí)候,要先按照式(8)算出系數(shù)a1i,a0i,再做成表格,寫入程序。程序運(yùn)行時(shí),首先確定該間隔的采樣值,然后根據(jù)間隔刪除相應(yīng)的系數(shù)式(7)便可以得到對(duì)應(yīng)于x的被測(cè)量y。
(1)T1 中斷子程序。這一終端是5s 定時(shí)中斷,是低優(yōu)先級(jí),但是它的重要性很高,在中斷響應(yīng)過程中,SCM完成的工作有:數(shù)據(jù)采集及A/D 轉(zhuǎn)換、要確定線,非,顯示當(dāng)前溫度值,和默認(rèn)設(shè)置值比較、調(diào)用PID 算法子程序并且給出控制信號(hào)。
(2)T0 中斷子程序。T0 定時(shí)中斷嵌套在T1 中斷內(nèi),作為高優(yōu)先級(jí)中斷,T0 的定時(shí)初值由PID 控制算法子程序給出,T0 的中斷響應(yīng)時(shí)間用來(lái)輸出對(duì)溫度控制的信號(hào)。流程如圖12 所示。
圖12 中斷程序流程圖
本文所用的是行列式鍵盤接口,使用的是線反轉(zhuǎn)法,依次給列線置低電平,再檢查線的狀態(tài),如果不全為高電平,則所按下的鍵一定在此列,即與低電平相交的行線上交點(diǎn)的那個(gè)鍵,因此,對(duì)按鍵位置的判斷顯而易見,無(wú)需進(jìn)行掃描,響應(yīng)速度大幅度提高,而鍵盤中斷程序作為高優(yōu)先級(jí)的功能控制鍵,系統(tǒng)應(yīng)定時(shí)準(zhǔn)備響應(yīng)該中斷,在該中斷響應(yīng)的過程中,系統(tǒng)需要顯示前一次的溫度設(shè)定值。流程如圖13 所示。
圖13 鍵盤程序流程圖
在89C51 內(nèi)部RAM 中設(shè)置4 個(gè)顯示緩沖單元79H~7CH,如表5 所示,分別存放顯示器將要顯示的4 位數(shù)據(jù),設(shè)初值為01H,左移得到。逐位交替點(diǎn)亮各個(gè)LED,每位保持1ms,在10~20ms 之內(nèi)再點(diǎn)亮一次。利用人的視覺效果,似乎4 位LED 同時(shí)都被點(diǎn)亮一樣,具體流程如圖14 所示。
表5
圖14 顯示子程序流程圖
本文所介紹的核心件單片機(jī)AT89C51,通用性好集成度高消耗低,在我國(guó)目前的8 位單片機(jī)應(yīng)用中占有很大的市場(chǎng)比重,應(yīng)用十分廣泛。而考慮到本設(shè)計(jì)應(yīng)用的工作環(huán)境,所選擇的溫度測(cè)量元件則是熱電偶傳感器,在高溫測(cè)量中最常用的。
在未來(lái)的工業(yè)生產(chǎn)領(lǐng)域里,利用單片機(jī)實(shí)現(xiàn)對(duì)溫度的測(cè)控是一種發(fā)展趨勢(shì),它能很好地服務(wù)于我們的產(chǎn)品生產(chǎn),實(shí)時(shí)對(duì)溫度進(jìn)行檢測(cè),優(yōu)化我們的生活,是一種不錯(cuò)的測(cè)控系統(tǒng),很值得在工業(yè)生產(chǎn)的各個(gè)領(lǐng)域大力推廣。