《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于PID算法的智能溫控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于PID算法的智能溫控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2014年微型機(jī)與應(yīng)用第12期
王恩義, 羅先喜, 王甲甲
東華理工大學(xué) 機(jī)械與電子工程學(xué)院, 江西 南昌
摘要: 溫度是工業(yè)生產(chǎn)中最普遍而又最關(guān)鍵的參數(shù)之一,其測量精度對產(chǎn)品的質(zhì)量有直接的影響[1]。傳統(tǒng)溫控系統(tǒng)雖然溫度控制精度較高(誤差不超過±0.5 ℃,溫度不均勻性不大于1 ℃),但其電路復(fù)雜,發(fā)生溫控故障時維修困難且溫度顯示不直觀。而將智能控制和常規(guī)PID控制方法融合在一起從而形成的實(shí)時顯示智能PID控制器能很好地解決此類問題[2]。
Abstract:
Key words :

  摘  要: 為改善溫控系統(tǒng)性能并簡化結(jié)構(gòu),以PID控制算法為基礎(chǔ),通過SoC高性能、C8051F系列單片機(jī)設(shè)計(jì)并實(shí)現(xiàn)具有溫度實(shí)時測量、閉環(huán)控制實(shí)時顯示等功能的智能溫控系統(tǒng)。不僅簡化了硬件結(jié)構(gòu),各電路模塊之間相互獨(dú)立使設(shè)計(jì)的復(fù)用及擴(kuò)展成為可能,同時提高了系統(tǒng)的抗干擾性和可靠性。實(shí)測結(jié)果表明,本系統(tǒng)溫度響應(yīng)時間為3 s~5 s,溫度控制的誤差為1%,在需要恒溫控制的場合有一定的推廣價值。

  關(guān)鍵詞: 單片機(jī); 溫度控制; 閉環(huán)控制; PID; 實(shí)時顯示

  溫度是工業(yè)生產(chǎn)中最普遍而又最關(guān)鍵的參數(shù)之一,其測量精度對產(chǎn)品的質(zhì)量有直接的影響[1]。傳統(tǒng)溫控系統(tǒng)雖然溫度控制精度較高(誤差不超過±0.5 ℃,溫度不均勻性不大于1 ℃),但其電路復(fù)雜,發(fā)生溫控故障時維修困難且溫度顯示不直觀。而將智能控制和常規(guī)PID控制方法融合在一起從而形成的實(shí)時顯示智能PID控制器能很好地解決此類問題[2]。

  1 溫度控制系統(tǒng)框圖


001.jpg


  溫度控制系統(tǒng)框圖如圖1所示。此系統(tǒng)是一個典型的閉環(huán)控制系統(tǒng),用于控制燈箱內(nèi)的溫度使其保持在恒定的溫度設(shè)定值。系統(tǒng)通過PT100鉑熱電阻采集實(shí)時溫度,通過變送器及輸入電路反饋實(shí)時溫度信號,再與設(shè)定值對比確定偏差值;偏差值經(jīng)過PID算法運(yùn)算輸出,通過驅(qū)動電路和SSR控制發(fā)熱裝置控制溫箱溫度,以克服偏差,促使偏差趨近于零,實(shí)現(xiàn)恒溫控制[3]。

  2系統(tǒng)硬件設(shè)計(jì)


003.jpg


  系統(tǒng)硬件原理圖如圖2所示,由電源模塊、輸入、輸出模塊、主芯片、顯示模塊等組成。

  2.1 電源模塊電路

  電源模塊由整流、濾波等電路以及穩(wěn)壓芯片組成。其中穩(wěn)壓芯片采用National Semiconductor的兩款芯片,分別是輸出電壓為5 V的三端穩(wěn)壓器LM7805CT和500 mA低壓差穩(wěn)壓器LM2937。

  2.2 主芯片及周邊電路

  主芯片選用Silicon Laboratories公司出品的C8051Fxxx單片機(jī),它是完全集成的混合信號系統(tǒng)級低功耗芯片(SoC),具有與8051指令集完全兼容的CIP-51內(nèi)核[4]。大多數(shù)C8051F單片機(jī)具備控制系統(tǒng)設(shè)計(jì)所需的模擬及數(shù)字外設(shè),包括Watch Dog、ADC、DAC、電壓比較器、電壓基準(zhǔn)輸出定時器、PWM、定時器捕捉等;并具備多種總線接口,包括UART、SPI、SMBUS(與C兼容I2C)總等。周邊電路包括晶振電路、ADC外部參考電壓電路以及復(fù)位電路等。

  2.3 控制器電流輸出分析

  電路采用負(fù)載共地方式,由MAXIM公司的低失調(diào)、低漂移的精密運(yùn)算放大器OP07,精密電阻R9、R8、R11、R10、R12、R13、R14以及Q1、Q2組成。設(shè)Vi為輸入電壓,即Vi=DAC1;Iout為輸出電流;R13為采樣反饋電阻;R11、R12為限流電阻;R14為負(fù)載電阻,用電位器可以實(shí)現(xiàn)阻值的變化。流過R13的采樣電流信號以電壓的形式加到運(yùn)算放大器的輸入端,而且極性與輸入電壓信號反相,形成一個電流并聯(lián)負(fù)反饋電路。由于運(yùn)算放大器的輸入阻抗很高,流入運(yùn)算放大器輸入端的電流可以忽略。在R11>>R13且R10>>R13條件下,流經(jīng)R11、R10的電流與流經(jīng)Q2射極的電流相比可以忽略,此時Iout=IE。運(yùn)算放大器正負(fù)輸入端電位近似相等,設(shè)R9=R8=R11=R10,可得:

 

6NI3U4@BPRIJ[]E{N{SY(QS.png

  取R9=100 k?贅, R11=20 k?贅,R14為電位器,當(dāng)Vi=2.5 V時,Iout=20 mA。為保證足夠的V/I變換精度,電阻應(yīng)當(dāng)選用精密電阻;輸入電壓Vi>(R13+R14)×Imax,Imax是Iout的最大值[5]。

  3 溫控系統(tǒng)軟件設(shè)計(jì)

  3.1 溫控系統(tǒng)軟件主流程圖

  溫控系統(tǒng)軟件主流程圖如圖3所示。

004.jpg

  系統(tǒng)經(jīng)過初始化,進(jìn)行鍵盤掃描,等待按鍵按下。當(dāng)按鍵按下則進(jìn)行參數(shù)設(shè)置,根據(jù)按鍵次數(shù)的不同設(shè)置相應(yīng)的參數(shù),設(shè)置完參數(shù)后再有按鍵按下時系統(tǒng)運(yùn)行。此時,鍵盤繼續(xù)掃描等待按鍵按下以便修改參數(shù)。

  3.2 溫控系統(tǒng)軟件子流程圖

  3.2.1 系統(tǒng)初始化子程序

  系統(tǒng)時鐘的初始化通過對OSXCN和OSCICN寄存器的設(shè)置,選擇24 MHz的外部振蕩器為SYSCLK源并允許丟失時鐘檢測器。由于顯示模塊采用CH452數(shù)碼管顯示驅(qū)動和鍵盤掃描控制芯片,通過輸出12 bit的操作命令進(jìn)行相應(yīng)的控制。輸出12 bit串行數(shù)據(jù)0x0403使按鍵低電平中斷,低速閃爍,同時啟用按鍵掃描與顯示驅(qū)動。當(dāng)寄存器ADCOCN的最高位ADCEN=1時使能A/D轉(zhuǎn)換,當(dāng)寄存器DAC0CN=0x80(即DAC0EN為1)時使能DAC0[6]。

  3.2.2 系統(tǒng)運(yùn)行子程序

005.jpg

  系統(tǒng)運(yùn)行子程序流程圖如圖4所示。進(jìn)入系統(tǒng)運(yùn)行后,采集PT100鉑電阻值,信號經(jīng)過PT100溫度變送器轉(zhuǎn)換成4~20 mA電流信號通過輸入電路到達(dá)主控芯片,再經(jīng)過標(biāo)度變換及A/D轉(zhuǎn)換。在實(shí)現(xiàn)溫度顯示的同時得到溫度設(shè)定值與實(shí)時溫度值的差值。進(jìn)行PID算法處理得到增量值,如果沒有超邊界值則根據(jù)輸出量控制SSR來發(fā)熱裝置進(jìn)而實(shí)現(xiàn)溫箱溫度的調(diào)節(jié)[7]。

  3.3 PID調(diào)節(jié)

  溫度控制系統(tǒng)是一個慣性較大的系統(tǒng),即當(dāng)給溫箱加熱之后,并不能立刻觀察到溫度的明顯上升,Pt100鉑電阻對溫度的檢測與實(shí)際的溫箱溫度相比較,也存在一定的時滯特性[8]。為了合理地處理系統(tǒng)響應(yīng)速度與系統(tǒng)穩(wěn)定性之間的矛盾,溫度控制可以分為兩個階段:

  (1) PID調(diào)節(jié)前階段

  此時,溫箱溫度距離設(shè)定值很遠(yuǎn),為了加速加熱速度,SSR與發(fā)熱裝置處于滿負(fù)荷輸出狀態(tài),只有當(dāng)溫度上升速度超過控制參數(shù)“加速速率”,SSR才關(guān)閉輸出。

  (2) PID調(diào)節(jié)階段

  在這個階段,PID調(diào)節(jié)器調(diào)節(jié)輸出,根據(jù)偏差值計(jì)算輸出值,保證偏差趨近于零,即使系統(tǒng)受到外部干擾時,也能使系統(tǒng)回到平衡狀態(tài)。

  PID控制的原理是基于下面算式,其中輸出u(t)是比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的函數(shù):

~@43E}[M_M%~Y17(XE[}K7F.png

   為了能讓數(shù)字計(jì)算機(jī)處理這個算式,連續(xù)算式必須離散化為周期采樣偏差式,才能用來計(jì)算輸出值。在工業(yè)應(yīng)用中,習(xí)慣上將式(3)中各項(xiàng)近似離散為:

 

[M[DDZ37O[6R5MJ`4K0B`X6.png

  通常,計(jì)算機(jī)輸出的控制指令u(k)是直接控制執(zhí)行機(jī)構(gòu)。但由于累加誤差,占用內(nèi)存較多,并且安全性較差。一旦計(jì)算機(jī)出現(xiàn)故障,u(k)的大幅度變化引起執(zhí)行機(jī)構(gòu)的突變,可能造成重大事故,此時可采用增量式算法。它是位置算法的一種改進(jìn),如下式:

  u(k)=u(k)-u(k-1)=KP[e(k)-e(k-1)]+KIe(k)+

  KD[e(k)-2e(k-1)+e(k-2)] (5)

  將式(5)進(jìn)一步整理,可得:

  ?駐u(k)=u(k)-u(k-1)=KP[(1+T/TI+TD/T)e(k)-

  (1+2TD/T)e(k-1)+(TD/T)e(k-2)]

  =KP[Ae(k)-Be(k-1)+Ce(k-2)](6)

  式中A=1+T/TI+TD/T, B=1+2TD/T,C=TD/T。由式(6)可見,根據(jù)誤差3個時刻采樣值,調(diào)整加權(quán)值即可獲得不同的控制品質(zhì)和精度[9]。

  4 系統(tǒng)調(diào)試

  由穩(wěn)壓源提供電路所需的±12 V及變送器所需的24 V電壓,SSR則由220 V供電,上電后通過按鍵設(shè)置參考溫度為33℃,之后系統(tǒng)進(jìn)入運(yùn)行狀態(tài)。實(shí)時溫度曲線如圖5所示,可見達(dá)到了預(yù)期控制效果,未來可配合更加優(yōu)化的新型PID控制算法實(shí)現(xiàn)對多變量復(fù)雜對象的控制[10]。

006.jpg

  由于系統(tǒng)選用了功能強(qiáng)大、低功耗的C8051F系列單片機(jī)作為核心器件,加之精心設(shè)計(jì)相互間獨(dú)立的電路,增加信號處理單元,使其性能指標(biāo)達(dá)到了溫度響應(yīng)時間為3 s~5 s,溫度控制的誤差為1%,滿足了設(shè)計(jì)的要求,達(dá)到預(yù)期效果,能在需要恒溫裝置的場合有很好的應(yīng)用前景。

  參考文獻(xiàn)

  [1] 歐漢烈.數(shù)字式溫度測量調(diào)節(jié)儀的研制 [J].廣東工業(yè)大學(xué)學(xué)報(bào),1999,16(3):57-60.

  [2] 徐顯海.一種電阻爐智能溫度控制儀的研制[D].南京:東南大學(xué),2006.

  [3] 安宏, 姚彩虹, 蔣興加.用于電熱爐的智能溫控儀的設(shè)計(jì)[J].自動化儀表,2008,29(10):64-66.

  [4] 黃真合.基于C8051F單片機(jī)的電力系統(tǒng)智能測控裝置的設(shè)計(jì)[J].工業(yè)控制計(jì)2010,23(7):101-103.

  [5] 李孝利.單片機(jī)原理及接口技術(shù)[M].北京:高等教育出版社, 2010.

  [6] 童長飛. C8051F系列單片機(jī)開發(fā)與C語言編程[M]. 北京:北京航空航天大學(xué)出版社, 2005.

  [7] 唐洪富,張興波.基于STC系列單片機(jī)的智能溫度控制器設(shè)計(jì)[J].電子技術(shù)用,2013,39(5):86-88.

  [8] 崔坤林,張翼飛.時滯系統(tǒng)的經(jīng)典控制與智能控制[J].微計(jì)算機(jī)信息,2004,20(6):25-26.

  [9] 姚棟偉,吳峰,楊志家,等.基于增量式數(shù)字PID的汽油怠速控制研究[J]. 浙江大學(xué)學(xué)報(bào), 2010,44(6):1122-1126.

  [10] 王蕾.PID控制[J]. 自動化儀表,2004,25(4):1-5.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。