<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 電路老化試驗箱恒溫控制系統(tǒng)的設(shè)計

          電路老化試驗箱恒溫控制系統(tǒng)的設(shè)計

          作者: 時間:2009-12-04 來源:網(wǎng)絡(luò) 收藏

          2.2 基于自整定PID算法的軟件
          系統(tǒng)的軟件流程圖如圖4所示。系統(tǒng)首先進行初始化,通過鍵盤設(shè)定控制器的參數(shù),通過PID自整定鍵啟動PID自整定功能。然后通過鍵盤設(shè)定所需的溫度值,接著調(diào)用測量顯示子程序顯示當(dāng)前溫度。當(dāng)測量溫度等于設(shè)定溫度時,程序返回溫度設(shè)定模塊,當(dāng)測量溫度不等于設(shè)定溫度時,啟動PID控制模塊,然后返回測量顯示模塊,如此循環(huán)下去,直到測量溫度等于設(shè)定溫度為止。由于箱溫度具有大時滯和非線性特性,常規(guī)PID控制參數(shù)難以整定。在此了自整定PID算法,解決了PID整定困難的問題。下面介紹自整定PID算法的設(shè)計過程。

          本文引用地址:http://www.ex-cimer.com/article/163443.htm

          離散PID控制算法表達式為:

          根據(jù)Ziegler-Nichle條件,PID三個參數(shù)可由以下公式整定:


          式中:TC為臨界振蕩周期。
          將式(2)代入式(1),則離散PID算法只存在一個整定參數(shù)
          KP選取具有快速平穩(wěn)特性的偏差絕對值乘時間的積分(ITAE)最優(yōu)準(zhǔn)則:

          作為目標(biāo)函數(shù)。當(dāng)其為最小值時,為最佳狀態(tài)。它具有對單位階躍響應(yīng)的起始誤差考慮少,而著重權(quán)衡瞬態(tài)響應(yīng)后期出現(xiàn)誤差的功能。應(yīng)用這種準(zhǔn)則設(shè)計的系統(tǒng)特點是其瞬態(tài)響應(yīng)的超調(diào)量很小,即抗干擾能力強,且振蕩有足夠的阻尼,具有良好的選擇性和靈敏度。
          離散化式(3)得:

          參數(shù)自整定方法:每次計算QITAEn后與上次計算的QITAEn-1比較,根據(jù)QITAE的變化趨勢對PID算法中的KP進行修正,修正周期一般取(5~10)T。具體修正算法如下:


          當(dāng)QITAE趨于恒定時,PID自整定算法結(jié)束。

          3 結(jié)束語
          根據(jù)的溫度控制要求設(shè)計出的基于固態(tài)繼電器的自整定PID,具有設(shè)計方法簡單可靠、使用方便、控制精度高的特點。此設(shè)計可應(yīng)用于企業(yè)的新產(chǎn)品開發(fā)設(shè)計中,能取得了良好的控制效果,滿足用戶的產(chǎn)品需求,值得向廣大企業(yè)推廣應(yīng)用。

          DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();