摘要 本文描述了溫控箱的工作原理,本恒溫箱控制器控制模式的特殊性。恒溫箱所用到的PID 算法與普通的PID 算法有很大的區(qū)別。改進(jìn)后的PID 算法可適應(yīng)恒溫箱熱慣性大和反饋信號與控制輸出滯后大的特點(diǎn)。以及將AVR mega128 的A/D 采集通道采集的數(shù)據(jù)處理成18 位分辨率的原理。描述了如何通過過采樣和數(shù)字濾波來提高反饋數(shù)據(jù)的分辨率。 關(guān)鍵詞 PID 調(diào)節(jié) 高精度 數(shù)字濾波
1 引言 在某化工廠里使用一種恒溫控制箱,用于在某一特定設(shè)置的高溫下加熱某種化學(xué)產(chǎn)品,存儲(chǔ)加熱到一定時(shí)間后,對本產(chǎn)品的化學(xué)成分進(jìn)行分析,可得出該產(chǎn)品的使用儲(chǔ)存期限,或本產(chǎn)品當(dāng)時(shí)的使用效能。 2 功能 恒溫箱的功能 1) 可對產(chǎn)品或?qū)嶒?yàn)品加熱到設(shè)定溫度,并在設(shè)定時(shí)間內(nèi)保持恒溫。 2) 恒溫箱有按鍵和液晶顯示器?捎糜谠O(shè)定參數(shù)、顯示數(shù)據(jù)。 3) 數(shù)據(jù)通訊功能,恒溫箱有串口,可與PC 機(jī)通訊。 4) 數(shù)據(jù)打印。 3 工作原理 恒溫箱用于加熱化學(xué)產(chǎn)品,恒溫箱可設(shè)定的溫度范圍是70℃~150℃,加溫時(shí)間是0~72 小時(shí)。恒溫箱的結(jié)構(gòu)由第三方設(shè)計(jì),恒溫箱的大致結(jié)構(gòu)如圖1 所示。恒溫箱的產(chǎn)品安置槽用于放置待加熱的產(chǎn)品或試驗(yàn)品。試驗(yàn)品放在小金屬桶內(nèi),然后再安置在產(chǎn)品安置槽內(nèi)。 另 外恒溫箱有測溫?zé)崦綦娮琛㈦娂訜崞、保溫材料、及硅油等。在恒溫箱工作時(shí),電加熱器加熱恒溫箱加熱體內(nèi)的硅油,硅油在加熱體內(nèi)傳導(dǎo)熱量,硅油在熱能的作用 下循環(huán)流動(dòng),將熱量均勻的傳播到產(chǎn)品安裝槽周圍。使恒溫箱內(nèi)所有的產(chǎn)品都能被均勻加熱,并使溫度波動(dòng)控制在0.1℃范圍以內(nèi)。 恒溫箱的硅油腔內(nèi)的硅油的作用有三個(gè)方面,1)硅油起熱傳導(dǎo)的作用。2)硅油可以使恒溫箱內(nèi)所有產(chǎn)品安置槽周圍的溫度均勻相等。3)硅油有一定的儲(chǔ)熱作用,可使產(chǎn)品安置槽周圍的溫度不易受試驗(yàn)品在放置和取出過程的影響。
4 恒溫箱控制單元的硬件設(shè)計(jì) 恒溫箱控制器是由以AVR mega128 為核心的cpu 構(gòu)成的。其電器原理圖如圖2 所示。 恒 溫箱控制單元包含測溫電阻、熱電組信號調(diào)理、電加熱器、按鍵顯示器、微型打印機(jī)、CPU 模塊。測溫電阻采用pt100,測溫電阻的安裝如圖1 所示。測溫電阻信號經(jīng)過調(diào)理單元調(diào)理轉(zhuǎn)換成0~5V 的信號。由mega128 采集并轉(zhuǎn)換成數(shù)字信號。為了降低恒溫箱控制單元的成本,充分利用mega128 的資源,控制單元不再另加A/D 芯片。
溫控箱設(shè)兩個(gè)測溫電阻,測溫電阻a 和測溫電阻b。測溫電阻a 用于測量被控點(diǎn)的溫度。產(chǎn)品安置槽周圍的溫度是被控溫度。之所以要設(shè)熱測溫阻b 是因?yàn)楸豢貙ο蟮臒釕T性太大。 為 了保證被控點(diǎn)溫度波動(dòng)能小于0.1℃,所以緊挨著加熱器設(shè)一測溫電阻b,作為控制溫度參考點(diǎn)。當(dāng)測溫電阻b 測到電加熱器的溫度過高時(shí),mega128 便控制電加熱器的工作電流,使其工作電流減少,這時(shí)控制算法不再對其工作電流的調(diào)整起作用。通過這一溫度參考點(diǎn)可限制加熱器的溫度波動(dòng)范圍,同時(shí)能提前預(yù) 測被控溫度點(diǎn)的溫度趨勢。在溫控箱中加熱器和產(chǎn)品有很厚的硅油層,由于有了硅油,使所有的產(chǎn)品安置槽周圍的溫度很均勻。由于硅油能儲(chǔ)熱使產(chǎn)品安置槽周圍的 溫度不易被擾動(dòng)。有利于試驗(yàn)的準(zhǔn)確性。但同時(shí)帶來的問題是由于 被控對象的熱容大,使溫度反饋大大滯后于電加熱器的工作狀態(tài),被控點(diǎn)的溫度很難控 制。溫控箱增設(shè)一個(gè)測溫電阻b,可用于預(yù)測測溫電阻a 的溫度變化趨勢,在控制策略中簡化考慮硅油流動(dòng)的熱力學(xué)模型,進(jìn)而可以簡化控制模型,同時(shí)保證溫控精度。另外恒溫箱設(shè)有控制鍵盤、顯示器和微型打印機(jī)。這 些外設(shè)的接口是通過CPLD 實(shí)現(xiàn)的。恒溫箱的硬件原理框圖如圖2 所示。 5 恒溫箱控制單元的軟件設(shè)計(jì) 5.1 恒溫箱溫度控制策略 恒 溫箱的軟件設(shè)計(jì)是整個(gè)設(shè)備的很重要的一部分。恒溫箱的設(shè)計(jì)要求是溫度范圍是70℃~150℃,恒溫穩(wěn)定度是0.1℃。恒溫箱加熱器是個(gè)溫度慣性很大的被控 對象。Mega128的A/D 分辨率是10 位。為了能使控制單元的性能達(dá)到控制要求,在軟件上要對A/D 采集的數(shù)據(jù)作數(shù)字處理,使A/D 的10 位分辨率提高到18 位分辨率。首先考慮的是對于mega128 的A/D 轉(zhuǎn)換數(shù)據(jù)能否分辨率提升,應(yīng)該說是可行的。因?yàn)闇y溫電阻的信號在經(jīng)測溫電阻信號調(diào)理單元調(diào)理時(shí)加載了噪聲。這就為提高A/D 輸出數(shù)據(jù)的分辨率提供了可能。對mega128的A/D 輸出的數(shù)據(jù)進(jìn)行積分和數(shù)字濾波就可達(dá)到提高A/D 分辨率的目的,同時(shí)也可剔除信號中的噪聲。數(shù)據(jù)處理的原理是用mega128 的A/D 進(jìn)行過采樣,然后對采樣數(shù)據(jù)進(jìn)行積分和濾波,得到相當(dāng)于18 位分辨率的A/D 轉(zhuǎn)換數(shù)據(jù)。
恒溫箱熱傳導(dǎo)的示意圖如圖3 所示。恒溫箱的熱傳導(dǎo)有硅油的對流循環(huán)傳導(dǎo)和恒溫箱體金屬壁的熱傳導(dǎo),另外還有與電加熱器貼在一起的箱體底部熱輻射。在這里硅油的對流循環(huán)傳導(dǎo)速度最慢, 但它是主要的熱傳導(dǎo)途徑。電加熱器釋放的熱量有99﹪通過硅油的對流循環(huán)傳導(dǎo)。輻射和金屬壁傳導(dǎo)要快些,但它的量很小。對于分辨率很低的A/D 采集器很難采到。只有分辨率很高的數(shù)據(jù)采集器能感覺到這一信號的存在。對于這種大滯后的被控對象捕捉這一信號是很有用的。對提高控制精度,減弱超調(diào)有一定 的作用。因此很有必要對mega128采到的數(shù)據(jù)作降噪和提高分辨率的處理。
5.1 .1 控制算法 恒溫箱是個(gè)滯后系數(shù)很大的被控對象。當(dāng)電加熱器的加熱量有所變化時(shí),熱敏電阻a要在很長時(shí)間后才能測到電加熱器的溫度變化所帶來的影響。因此對恒溫箱進(jìn)行溫度控制不能用普通的PID 算法。通常的PID 算法如公式1 所示。
以上公式1 和公式2 的算法對于普通的溫控對象是可以適應(yīng)的,但對于本文研究的恒溫箱而言就不大適應(yīng)。這個(gè)恒溫箱有三個(gè)特點(diǎn)。 1)閉環(huán)反饋的滯后很大,這是由它的結(jié)構(gòu)所決定的。 2)恒溫箱是個(gè)帶保溫層的箱體,升溫容易降溫很難是恒溫箱的溫控不對稱性。 3)加熱片的余熱容易引起恒溫箱的超調(diào),這一特性與2)描述的特性有關(guān)。普通的PID 算法用于恒溫箱的控制很容易超調(diào),且溫度超過設(shè)定值后很難降下來。這就很難保證恒溫箱的控制溫度的波動(dòng)范圍在0.1℃范圍內(nèi)。為了能保證很好的控制恒溫箱產(chǎn)品安置槽周圍的溫度,要
行限幅。防止恒溫箱超調(diào)。以便恒溫箱在盡可能短的時(shí)間內(nèi)穩(wěn)定在設(shè)定溫度。由于恒溫箱這一被控對象從控制理論的角度看,它是個(gè)柔性被控制對象,同時(shí)是一個(gè)不對稱的被控對象。 因此公式2 的KD[e(k)-e(k-1)]項(xiàng)的KD 也不能是一個(gè)一直不變的常數(shù)。在加熱初期KD 可以設(shè)得很小,在臨近溫度設(shè)定點(diǎn)時(shí)要將KD 調(diào)整的比較大。當(dāng)恒溫箱的溫度超過設(shè)定點(diǎn)時(shí)KD 要適當(dāng)減小。應(yīng)為被控對象降溫比升溫要難。但太小會(huì)引起長周期震蕩。 5.1 .2 A/D 數(shù)值處理 為了能滿足控制要求,需要將mega128 的10 位采集數(shù)據(jù)變成18 位采集數(shù)據(jù),提高溫度信號的分辨率。提高分辨率的方法是,用A/D 采集通道對數(shù)據(jù)進(jìn)行過采樣,然后進(jìn)行數(shù)字濾波,得到相當(dāng)于18 位的熱電阻a 測得的溫度信號。 過 采樣、噪聲成形、數(shù)字濾波和抽取是增量累加轉(zhuǎn)換器用來降低噪聲并產(chǎn)生高分辨率輸出數(shù)據(jù)的4 種重要方法。假定以頻率fS 對一個(gè)數(shù)據(jù)轉(zhuǎn)換器的輸入信號采樣,根據(jù)數(shù)據(jù)的奈奎斯特定理 (Nyquist theorem),fS 必須至少是輸入頻率的2 倍(fIN=fS/2)。過采樣是以高于輸入信號頻率兩倍的頻率對輸入信號采樣。我們都知道A/D 數(shù)值的最后一位是噪聲位,對某一電平進(jìn)行大量多次采集,A/D 數(shù)值的最后一位是“1”或“0”變化的。假若對某一電平進(jìn)行20 次過采樣,分析統(tǒng)計(jì)這20 個(gè)采樣值最后一位“1”或“0”所占的比例,可得出一個(gè)更真實(shí)的數(shù)值。將這大量的采集數(shù)據(jù)作積分后得到一個(gè)更接近真實(shí)的而且分辨率比原A/D 數(shù)值更高的反映原模擬量電平的數(shù)據(jù)。過采樣量越多可得到更高位和更接近真實(shí)值的A/D 值。 5.2 恒溫箱控制器的軟件 恒溫箱控制器的 CPU 是AVR mega128,mega128 是一款新能很好的CPU。ICCAVR 是mega128 的C 語言編程工。對于控制器來說軟件要實(shí)現(xiàn)的功能是溫度控制功能、人機(jī)交互功能、數(shù)據(jù)通訊功能、打印功能、時(shí)鐘管理功能?刂乒δ馨珹/D 采集、數(shù)據(jù)處理、PID 計(jì)算、輸出控制量。A/D 采集用的是mega128 A/D 采集通道。若直接用mega128 的A/D采樣值做控制是得不良好的控制品質(zhì)的。數(shù)據(jù)處理模塊用于處理A/D 通道采集的數(shù)據(jù),使 其分辨率提升?刂颇K的工作周期是50ms。也就是每50ms 對熱電阻信號做一次模擬量采集,進(jìn)行數(shù)據(jù)處理,PID 計(jì)算,并輸出控制量控制電加熱器的熱能輸出。 人 機(jī)交互功能包括,按鍵響應(yīng)、液晶屏信息顯示。人機(jī)交互功能模塊要完成的任務(wù)是,參數(shù)設(shè)定。要設(shè)定的參數(shù)有恒溫箱的恒定控制溫度、恒溫箱的恒溫維持時(shí)間。液 晶屏顯示的信息有設(shè)定溫度、恒溫箱當(dāng)前溫度、工作起始時(shí)間、當(dāng)前累計(jì)工作時(shí)間。熱電阻b 的監(jiān)測溫度的顯示。打印功能,每間隔5 分鐘打印一組數(shù)據(jù),數(shù)據(jù)包含恒溫箱溫度,當(dāng)時(shí)的時(shí)間。時(shí)間是年月日時(shí)分秒。數(shù)據(jù)通訊功能是將數(shù)據(jù)傳送給計(jì)算機(jī)。恒溫箱有一個(gè)RS232 口,計(jì)算機(jī)可以向它發(fā)出傳輸請求,恒溫箱受到請求后便向計(jì)算機(jī)發(fā)送數(shù)據(jù)。時(shí)鐘管理功能恒溫箱的任務(wù)管理功能。Mega128 要完成的功能有,溫度控制功能、人機(jī)交互功能、數(shù)據(jù)通訊功能。 在這些功能里溫度控制功能是主要功能。PID 算法功能模塊要求有嚴(yán)格的工作周期,以保證控制品質(zhì)。時(shí)鐘管理功能是根據(jù)個(gè)任務(wù)對實(shí)時(shí)性的要求給個(gè)任務(wù)分配所需的執(zhí)行任務(wù)的時(shí)間段。PID 算法控制功能每50ms 必須執(zhí)行一次,哪怕其它任務(wù)正在執(zhí)行過程中,該任務(wù)也要被打斷,執(zhí)行PID 控制功能。 6 系統(tǒng)性能 對于基于 AVRmega128 設(shè)計(jì)的恒溫箱進(jìn)行了測試,其溫度控制指標(biāo)達(dá)到了設(shè)計(jì)要求。恒溫箱從內(nèi)部溫度接近于常溫的溫度開始工作到溫度達(dá)到設(shè)定點(diǎn)溫度,并保持穩(wěn)定,所需時(shí)間是四十分 鐘。滿足使用要求。另外其它功能,如人機(jī)交互功能、通訊功能、打印功能都可靠工作。溫度控制不受其它任務(wù)的影響,溫控精度能有效保證。 7 結(jié)束語 設(shè) 計(jì)一種基于AVR mega128 的溫度控制器,控制恒溫箱,實(shí)現(xiàn)了控制器的小型化,低成本。并且滿足控制精度。這一應(yīng)用模式對于類似的控制對象的應(yīng)用有一定的借鑒價(jià)值。此項(xiàng)目是給某化工 廠做的8 臺(tái)恒溫箱,這種恒溫箱市場上沒有現(xiàn)成產(chǎn)品,用上述設(shè)計(jì)所作的恒溫箱給用戶減少設(shè)備投資費(fèi)近10 萬元。 本文創(chuàng)新點(diǎn):用AVRmeg128 的低分辨率a/d 轉(zhuǎn)換器,通過過采樣和數(shù)字積分與數(shù)字濾波得到18 位分辨率的模數(shù)轉(zhuǎn)換值,同時(shí)用自動(dòng)參數(shù)調(diào)整的PID 控制一個(gè)大滯后和不對稱的被控對象。 參考文獻(xiàn): [1]符林軍,王孟效.調(diào)整系統(tǒng)控制量的模糊PID 控制器的計(jì)算機(jī)設(shè)計(jì)與仿真[J]. 微計(jì)算機(jī)信息,2004,9:16-18 [2],李英春,王孟效. 基于BP神經(jīng)網(wǎng)絡(luò)PID的漂白溫度控制算法的研究[J] 微計(jì)算機(jī)信息 2006Vol.22 No.34 P.41-42,83 [3]韓志剛,王德進(jìn).無模型控制器[J].黑龍江大學(xué)自然科學(xué)學(xué)報(bào),1994,11(4):29-35. 作者簡介:舒勝宇:男,1961 年4 月生,漢族,大本,無線電專業(yè), 在北京康拓公司做計(jì)算機(jī)工業(yè)自動(dòng)化控制的工作 |