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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C8O51F04O單片機(jī)的溫度遙測(cè)遙控系統(tǒng)

          基于C8O51F04O單片機(jī)的溫度遙測(cè)遙控系統(tǒng)

          作者: 時(shí)間:2010-06-24 來(lái)源:網(wǎng)絡(luò) 收藏


          3.3 控制PID實(shí)現(xiàn)
          PID控制是控制工程中技術(shù)成熟、應(yīng)用廣泛的一種控制策略,經(jīng)過(guò)長(zhǎng)期的工程實(shí)踐,已形成了一套完整的控制方法和典型的結(jié)構(gòu)。PID的工作基理是:由于來(lái)自外界的各種擾動(dòng)不斷產(chǎn)生,要想達(dá)到現(xiàn)場(chǎng)控制對(duì)象值保持恒定的目的,控制作用就必須不斷地進(jìn)行。若擾動(dòng)出現(xiàn)使得現(xiàn)場(chǎng)控制對(duì)象值發(fā)生變化,現(xiàn)場(chǎng)檢測(cè)元件就會(huì)將這種變化采集后經(jīng)變送器送至PID控制器的輸入端,并與其給定值進(jìn)行比較得到偏差值,調(diào)節(jié)器按此偏差并以我們預(yù)先設(shè)定的整定參數(shù)控制規(guī)律發(fā)出控制信號(hào),去改變調(diào)節(jié)器的開度,使之增加或減少,從而使現(xiàn)場(chǎng)控制對(duì)象值發(fā)生改變,并趨向于給定值,從而達(dá)到控制目的。其實(shí)PID的實(shí)質(zhì)就是對(duì)偏差進(jìn)行比例、積分、微分運(yùn)算,根據(jù)運(yùn)算結(jié)果控制執(zhí)行部件的過(guò)程??刂品桨溉鐖D4所示。


          PID控制器的控制規(guī)律可以描述為:

          本設(shè)計(jì)利用了上面所介紹的位置式PID算法,將傳感器采樣輸入作為當(dāng)前輸入,然后與設(shè)定值進(jìn)行相減得偏差,再對(duì)偏差值進(jìn)行PID運(yùn)算產(chǎn)生輸出結(jié)果,最后控制定時(shí)器的時(shí)間進(jìn)而控制加熱器。

          4 結(jié)束語(yǔ)
          遙測(cè)是工業(yè)上使用比較多的一種控制技術(shù),本文就是針對(duì)溫度遙測(cè)所進(jìn)行的探討與實(shí)踐。設(shè)計(jì)采用PID控制算法大大減少超調(diào)量,提高控制精度。由于傳感器和其它器件本身并非理想線性,程序中對(duì)實(shí)測(cè)數(shù)據(jù)進(jìn)行了線性補(bǔ)償。經(jīng)過(guò)大量的實(shí)驗(yàn),觀測(cè)數(shù)據(jù),優(yōu)化,最終得到的實(shí)驗(yàn)結(jié)果精度較高。水溫控制準(zhǔn)確,雙向通信良好,上位機(jī)界面完整、優(yōu)美。希望本文提出的方案能對(duì)大家在溫度遙測(cè)的設(shè)計(jì)與應(yīng)用方面有所幫助和啟示。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(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); })();