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

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

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

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

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


001.jpg


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

  2系統(tǒng)硬件設計


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

  2.3 控制器電流輸出分析

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

 

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

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

  3 溫控系統(tǒng)軟件設計

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

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

004.jpg

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

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

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

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

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

005.jpg

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

  3.3 PID調節(jié)

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

  (1) PID調節(jié)前階段

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

  (2) PID調節(jié)階段

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

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

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

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

 

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

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

  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)進一步整理,,可得:

  ?駐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個時刻采樣值,,調整加權值即可獲得不同的控制品質和精度[9]。

  4 系統(tǒng)調試

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

006.jpg

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

  參考文獻

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

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

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

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

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

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

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

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

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

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


此內容為AET網(wǎng)站原創(chuàng),,未經授權禁止轉載。