陳 慧
CHEN Hui
(華東交通大學(xué) 機(jī)電工程學(xué)院,南昌 330013)
電阻爐廣泛應(yīng)用于工礦企業(yè)、科研院所等場合,用作元素分析測定和鋼件淬火、退火、回火熱處理的加熱設(shè)備。單片機(jī)以其體積小、價(jià)格低、功耗低、控制能力強(qiáng)的優(yōu)點(diǎn),已經(jīng)成為了電阻爐溫度控制領(lǐng)域的核心器件[1,2]。
然而,當(dāng)前大多數(shù)電阻爐溫度控制系統(tǒng)采用一個(gè)單片機(jī)核心器件[3,4],當(dāng)CPU處理能力不夠就會(huì)造成“瓶頸”現(xiàn)象:例如當(dāng)使用A/D轉(zhuǎn)換器或計(jì)算處理時(shí)間長時(shí),人機(jī)接口和監(jiān)控程序就難以使用。為解決上述“瓶頸”問題,同時(shí)又兼顧到經(jīng)濟(jì)性原則,本文設(shè)計(jì)了基于低端雙單片機(jī)結(jié)構(gòu)的電阻爐溫度控制系統(tǒng),該系統(tǒng)在并行處理信息、實(shí)時(shí)采集數(shù)據(jù)及可靠性等方面具有優(yōu)勢。
本設(shè)計(jì)采用兩個(gè)ATMEL公司生產(chǎn)的51系列單片機(jī)AT89S52:其中單片機(jī)U1用作實(shí)時(shí)控制;單片機(jī)U2用作監(jiān)控機(jī),主要完成人機(jī)對話和輔助計(jì)算功能。
有關(guān)雙機(jī)數(shù)據(jù)交換[5~7],可考慮3種方式:1)采用串行總線,這種方法硬件簡單但傳輸速度比較慢;2)采用并行總線,其速度較高但考慮到兩個(gè)CPU 時(shí)鐘同步問題因而硬件比較復(fù)雜;3)采用存儲(chǔ)器方式,其傳輸速度比較快且對時(shí)鐘同步性要求也不很嚴(yán)格。在此,本著提高性能與降低成本相結(jié)合的設(shè)計(jì)原則,采用第3種方式即由雙端口RAM承擔(dān)雙機(jī)信息的互換。系統(tǒng)原理框圖如圖1。
圖1 系統(tǒng)原理框圖
系統(tǒng)硬件電路由3部分組成:1)實(shí)時(shí)控制模塊;2)人機(jī)交互模塊;3)雙機(jī)通訊模塊。
該模塊以單片機(jī)U1為控制核心,可以分為溫度檢測電路和輸出控制電路兩部分,如圖2、圖3所示。
圖2為溫度檢測電路。熱電偶將溫度轉(zhuǎn)換為0-41.32mv電壓輸出,經(jīng)毫伏變送器轉(zhuǎn)換成4-20mA電流,再經(jīng)過電流/電壓轉(zhuǎn)換成0-5V電壓信號(hào),由ADC0809轉(zhuǎn)換為8位的數(shù)字量送到單片機(jī)U1的P0口。圖3為輸出控制電路。單片機(jī)U1的P1.0引腳輸出控制信號(hào),經(jīng)過零觸發(fā)電路去控制雙向晶閘管,通過改變雙向晶閘管的導(dǎo)通時(shí)間來改變加熱功率,達(dá)到調(diào)節(jié)溫度的目的。當(dāng)P1.0=1時(shí),雙向晶閘管導(dǎo)通,P1.0=0時(shí)則截止;可控硅在給定周期的100%時(shí)間內(nèi)接通時(shí)的功率最大,這時(shí)加熱溫度最高。圖中同步過零脈沖信號(hào)接U1的T0、T1腳,用來記數(shù)定時(shí)周期和控制輸出波頭數(shù)。
圖2 溫度檢測電路
圖3 輸出控制電路
人機(jī)交互模塊由圖4,由四個(gè)獨(dú)立的發(fā)光二極管(作為電源指示燈、PID正常運(yùn)行指示燈、上限報(bào)警指示燈和下限報(bào)警指示燈)顯示電路和兩個(gè)4位7段數(shù)碼管動(dòng)態(tài)顯示電路以及四個(gè)獨(dú)立按鍵電路和一個(gè)復(fù)位按鍵電路共同組成。
圖4 人機(jī)交互模塊
以雙端口靜態(tài)存儲(chǔ)器芯片DS1609作為兩單片機(jī)的數(shù)據(jù)交換器,基本原理為:需要送出數(shù)據(jù)的一方先把數(shù)據(jù)送入DS1609中,然后接收數(shù)據(jù)的一方對DS1609中的同一地址進(jìn)行讀取,完成數(shù)據(jù)交換。
圖5 雙機(jī)通訊模塊
單片機(jī)U1的軟件包括主程序(負(fù)責(zé)初始化及通過DS1609與單片機(jī)U2進(jìn)行聯(lián)系)、T0及T1中斷服務(wù)程序(T0中斷服務(wù)程序進(jìn)行采樣、濾波、標(biāo)度轉(zhuǎn)換、越限處理、控制顯示溫度;T1中斷服務(wù)程序主要控制雙向可控硅的通斷)、采樣子程序(ADC0809以查詢方式對IN0通道采樣4次)、數(shù)字濾波子程序(采用防脈沖干擾平均值法濾波對4次采樣值處理得平均值,以備PID運(yùn)算和溫度標(biāo)度轉(zhuǎn)換使用)、標(biāo)度轉(zhuǎn)換子程序(參數(shù)經(jīng)A/D轉(zhuǎn)換后得到的數(shù)碼值僅對應(yīng)于參數(shù)的大小并不等于原來帶有量綱的參數(shù)值,故必須把它轉(zhuǎn)換成帶有量綱的數(shù)值以便顯示)、PID運(yùn)算子程序(控制原理是先求出實(shí)測溫度對所需溫度的偏差值,對偏差值處理而獲得控制信號(hào)去調(diào)節(jié)電阻爐的加熱功率)及其它子程序(如為進(jìn)行采樣值數(shù)碼顯示而加入二至十進(jìn)制轉(zhuǎn)換子程序和壓縮BCD碼變成單字節(jié)BCD碼子程序;為求取PID運(yùn)算而加入將鍵盤設(shè)定值進(jìn)行十至二進(jìn)制轉(zhuǎn)換的子程序等)。
單片機(jī)U2的軟件主要包括鍵盤監(jiān)控程序和顯示輸出程序。1)鍵盤監(jiān)控程序設(shè)計(jì)。本系統(tǒng)功能較為復(fù)雜,考慮到如果采用一鍵一義監(jiān)控會(huì)由于按鈕過多,致使成本增加且面板難以布置用戶操作也不方便,因而本設(shè)計(jì)采用一鍵多義的鍵盤監(jiān)控程序。具體是:采用狀態(tài)順序編碼設(shè)計(jì)狀態(tài)圖,構(gòu)造兩張表(即狀態(tài)表和索引表),監(jiān)控程序根據(jù)現(xiàn)態(tài)碼和鍵碼查表一方面可找到任務(wù)模塊WORK0~WORK15中相應(yīng)的某一項(xiàng)予以執(zhí)行發(fā)出運(yùn)行命令,另一方面可用于下次判斷處理所需的次態(tài)NEXT項(xiàng)。2)顯示輸出程序設(shè)計(jì)。顯示輸出程序包括初始化、通過DS1609獲取單片機(jī)U1數(shù)據(jù)、控制設(shè)定溫度值顯示和當(dāng)前溫度值顯示。
本系統(tǒng)程序眾多,由于篇幅所限具體程序流程圖及源代碼從略。
采用Keil軟件進(jìn)行程序仿真調(diào)試。程序首先通過匯編及語法錯(cuò)誤檢查,然后在仿真CPU中進(jìn)行調(diào)試直至正確,則可保存其生成的目標(biāo)文件(HEX文件)供單片機(jī)使用。圖6、圖7為某程序仿真調(diào)試過程圖。
圖6 程序通過匯編
圖7 程序進(jìn)行調(diào)試
硬件仿真調(diào)試?yán)胮roteus軟件[11],上述keil軟件生成的HEX文件將在proteus環(huán)境中的中導(dǎo)入單片機(jī)進(jìn)行仿真。圖8為對PID閉環(huán)控制的仿真,其中比例系數(shù)Kp=1.4、積分時(shí)間常數(shù)Ti=1、微分時(shí)間常數(shù)Td=6。從圖9可以看出,該P(yáng)ID閉環(huán)系統(tǒng)可以很快(穩(wěn)定時(shí)間為32.7s)達(dá)到溫度設(shè)定值,故系統(tǒng)達(dá)到了預(yù)先快、準(zhǔn)、穩(wěn)的要求。
本次設(shè)計(jì)的雙單片機(jī)電阻爐溫度控制系統(tǒng)能有效解決原有單一單片機(jī)系統(tǒng)面臨的當(dāng)使用速度相對較慢的A/D轉(zhuǎn)換器或當(dāng)計(jì)算處理時(shí)間長時(shí),人機(jī)接口和監(jiān)控程序難以使用的問題。該系統(tǒng)響應(yīng)速度快,存儲(chǔ)容量大,CPU使用率小,因此在并行處理和實(shí)時(shí)采集數(shù)據(jù)等方面具有優(yōu)勢,且穩(wěn)定性和可靠性也更好。
圖8 PID閉環(huán)控制的模擬
圖9 仿真結(jié)果圖像
[1]余永權(quán).單片機(jī)在控制系統(tǒng)中的應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[2]杜靜,王振民.電阻爐的溫度控制系統(tǒng)[J].機(jī)械管理開發(fā),2005,82(1):3-4.
[3]沈協(xié)和.用單片微機(jī)構(gòu)成的爐溫控制器[J].儀表儀器,1998,15(6):25-36.
[4]肖恩忠.基于AT89C52的電阻爐智能溫度控制系統(tǒng)[J].農(nóng)機(jī)化研究,2005(3):238-239.
[5]李平均,張江,等.雙單片機(jī)的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī),2004,21(4):78-80.
[6]羅馮濤,王渝.雙單片機(jī)系統(tǒng)中一種簡單的并行數(shù)據(jù)傳輸模式[J].現(xiàn)代電子技術(shù),2002,134(3):11-13.
[7]林祝亮,武林,等.基于雙單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2006,27(6):132-134.
[8]王幸之.AT89系列單片機(jī)原理及接口技術(shù) [M].北京:北京航空航天大學(xué)出版社,2004.
[9]宗光華,李大寨.多單片機(jī)系統(tǒng)應(yīng)用技術(shù)[M].北京:國防工業(yè)出版社,2003.
[10]鄧胡濱.電子電路Protel 98實(shí)用教程 [M].北京:中國水利水電出版社,2000.
[11]周潤竟,張麗娜.基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:北京航空航天大學(xué)出版社,2006.