馬弗爐是高性能機電一體化的新一代智能產(chǎn)品,適用于煤炭、電力、化工、冶金等行業(yè)和部門進行工業(yè)分析。馬弗爐溫度控制器設(shè)計以單片機 STC12C5A60S2作為控制中心,采用PID控制算法和自適應(yīng)控制技術(shù),自動調(diào)整預加熱溫度,并可以存儲記憶,確保試驗順利完成,自動化程度高。 總體設(shè)計方案 1.馬弗爐主要技術(shù)指標 測溫范圍:0~1000℃ 測溫精度:±3℃ 控溫精度:±10℃(在 250~1000℃范圍內(nèi)) 升溫時間:(室溫~920℃)≤30min 電源:AC220V±22V@50Hz±1Hz 功率:3.5kW 具有快速灰化和緩慢灰化、揮發(fā)分、羅加指數(shù)、黏結(jié)指數(shù)等四個專用加熱程序;另外,溫度控制器有一個自選程序,通過按鍵可選擇所需設(shè)定的溫度和保溫時間。 2.設(shè)計思路 馬弗爐溫度控制器設(shè)計采用PID算法來控制PWM的占空比,由PWM信號控制IGBT的通斷,使用時鐘專用芯片 DS1302進行定時控制,從而實現(xiàn)在不同時段對爐溫的控制。 3.系統(tǒng)結(jié)構(gòu) 馬弗爐溫度控制器由單片機STC12C5A60S2,熱電偶放大器與數(shù)字轉(zhuǎn)換器MAX6675,時鐘芯片 DS1302,I級精度K形熱電偶,鍵盤及顯示系統(tǒng)組成,系統(tǒng)結(jié)構(gòu)如圖1所示。 圖1 系統(tǒng)結(jié)構(gòu)框圖 PID簡介 1.基本概念 ①基本偏差e(t):表示當前測量值與設(shè)定目標之間的偏差。設(shè)定目標是被減數(shù),結(jié)果可以是正或負,正數(shù)表示還沒有達到,負數(shù)表示已經(jīng)超過了設(shè)定值,這是面向比例項用的一個變動數(shù)據(jù)。 ②累計偏差∑e(t)=e(t)+e(t-1) +…+e(t-n):這是我們每一次測量得到偏差值的總和,是代數(shù)和,要考慮正負號運算的。這是面向積分項用的一個變動數(shù)據(jù)。 ③基本偏差的相對量e(t)-e(t-1):用本次的基本偏差減去上一次的基本偏差,用于考察當前控制對象的趨勢,作為快速反應(yīng)的重要依據(jù),這是面向微分項用的一個變動數(shù)據(jù)。 ④三個基本參數(shù)Kp、Ki、Kd:這是做好一個控制器的關(guān)鍵常數(shù),分別稱為比例常數(shù)、積分常數(shù)和微分常數(shù)。不同的控制對象需要選取不同的值,經(jīng)過現(xiàn)場調(diào)試才能獲得較好的效果。 2.三個基本參數(shù)Kp、Ki、Kd實際控制中的作用 ①比例環(huán)節(jié):即時成比例地反應(yīng)控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用以減小偏差。比例作用大,可以加快調(diào)節(jié),減少誤差,但過大比例會使系統(tǒng)穩(wěn)定性下降。 ②積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強弱取決于積分時間常數(shù)Ti。Ti越大,積分作用越弱,反之則越強。 ③微分環(huán)節(jié):能反應(yīng)偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得過大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減小調(diào)節(jié)時間。 3.參數(shù)的設(shè)置與調(diào)整 ①加溫迅速達到目標值,但溫度過沖很大。 比例系數(shù)太大,致使在未達到設(shè)定溫度前加熱比例過高;微分系數(shù)過小,對對象反應(yīng)不敏感。 ②加溫經(jīng)常達不到目標值,小于目標值時間多。 比例系數(shù)過小,加溫比例不夠;積分系數(shù)過小,對靜差補償不足。 ③基本在控制溫度內(nèi),但上下偏差大,經(jīng)常波動。 微分系數(shù)小,對及時變化反應(yīng)慢;積分系數(shù)過大,使微分反應(yīng)被鈍化。 ④受環(huán)境影響較大 微分系數(shù)小,對及時變化反應(yīng)慢;設(shè)定的基本定時周期過長,不能得到及時修正。 下面給出PID控制程序: #ifndef _PID_H__ #define _PID_H__ #include #include #include struct PID { unsigned int SetPoint; // 設(shè)定目標 Desired Value unsigned int Proportion; // 比例常數(shù) Proportional Const unsigned int Integral; // 積分常數(shù) Integral Const unsigned int Derivative; // 微分常數(shù) Derivative Const unsigned int LastError; // Error[-1] unsigned int PrevError; // Error[-2] unsigned int SumError; // Sums of Errors } struct PID spid; // PID Control Structure unsigned int rout; // PID Response (Output) unsigned int rin; // PID Feedback (Input) sbit output=P1^4; unsigned char high_time,low_time,count=0;//占空比調(diào)節(jié)參數(shù) unsigned char set_temper=920; void PIDInit (struct PID *pp) { memset ( pp,0,sizeof(struct PID)); } unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) { unsigned int dError,Error; Error = pp->SetPoint - NextPoint; // 偏差 pp->SumError += Error; // 積分 dError = pp->LastError - pp->PrevError; // 當前微分 pp->PrevError = pp->LastError; pp->LastError = Error; return (pp->Proportion * Error//比例 + pp->Integral * pp->SumError //積分項 + pp->Derivative * dError); // 微分項 } 4. 溫度采集電路 熱電偶作為一種主要的測溫元件,具有結(jié)構(gòu)簡單、制造容易、使用方便、測溫范圍寬、測溫精度高等特點。但是,熱電偶的應(yīng)用卻存在著非線性、冷端補償、數(shù)字化輸出等幾方面的問題。設(shè)計中采用的MAX6675是一個集成了熱電偶放大器、冷端補償、A/D轉(zhuǎn)換器及SPI串口的熱電偶放大器與數(shù)字轉(zhuǎn)換器,其電路如圖2所示。 圖2 溫度采集電路圖 MAX6675從SPI串行接口輸出數(shù)據(jù)的過程如下:MCU使CS變低并提供時鐘信號給SCK,由SO讀取測量結(jié)果。CS變低將停止任何轉(zhuǎn)換過程;CS變高將啟動一個新的轉(zhuǎn)換過程。一個完整串行接口讀操作需16個時鐘周期,在時鐘的下降沿讀16個輸出位,第1位和第15位是一偽標志位且總為 0;第14位到第3位為以MSB到LSB順序排列的轉(zhuǎn)換溫度值;第2位平時為低,當熱電偶輸入開放時為高;開放熱電偶檢測電路完全由MAX6675實現(xiàn),為開放熱電偶檢測器操作,T-必須接地,并使接地點盡可能接近GND腳;第1位為低電平以提供MAX6675器件身份碼,第0位為三態(tài)。 圖3 SO端輸出溫度數(shù)據(jù)的格式 圖4 MAX6675的SPI接口時序 下面給出相應(yīng)的溫度值讀取程序及數(shù)據(jù)轉(zhuǎn)換程序: void max6675() { uchar m; uint temp; temp=0; max_sck=0; max_cs=1; delay(180ms); max_cs=0 ; max_sck=1; _nop_(); max_sck=0; _nop_(); if(max_so==1) {temp |=0x0001;} for(m=0;m<15;m++) { temp<<=1; max_sck=1; _nop_(); max_sck=0; if(max_so==1) {temp |=0x0001;} } temp=(temp&0x7fe0)>>5; t[0]=temp/1000+0x30; t[1]=temp%1000/100+0x30; t[2]=temp%100/10+0x30; t[3]=temp%10+0x30; print(1,0,t); } 圖5 定時電路圖 圖6 單片機系統(tǒng)電路圖 圖7 主程序流程圖 5.定時電路 使用時鐘專用芯片DS1302進行定時控制,通過外加很少的電路就可以實現(xiàn)高精度的時鐘信號。外圍電路簡單可靠,時間精度高,通過外接鋰電池后可以實現(xiàn)時間信息存儲。 6.單片機系統(tǒng) 采用STC12C5A60S2組成單片機最小系統(tǒng),有2路PWM,選用一路作為IGBT的控制信號。另外,STC12C5A60S2內(nèi)部還有1K的EEPROM,用于設(shè)置自選程序,通過按鍵選擇所需設(shè)定的溫度和保溫時間。顯示模塊采用128×64液晶顯示。 7.軟件設(shè)計 圖8 子程序流程圖 程序流程圖如圖8所示。 作者:鶴壁職業(yè)技術(shù)學院電子信息工程系 于軍 李坤 |