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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用STM32的遠(yuǎn)程溫控系統(tǒng)設(shè)計(jì)

          采用STM32的遠(yuǎn)程溫控系統(tǒng)設(shè)計(jì)

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

          溫度控制是工業(yè)控制的主要對(duì)象之一,常用的數(shù)學(xué)模型是一階慣性加上純滯后環(huán)節(jié),但其隨著加熱對(duì)象和環(huán)境條件的不同,會(huì)存在著較大的差異。因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/溫控">溫控對(duì)象這種較為普遍的含有純滯后環(huán)節(jié)的特點(diǎn),容易引起超調(diào)和持續(xù)的振蕩,溫度控制對(duì)象的參數(shù)會(huì)發(fā)生幅度較大的變化。因此無(wú)法傳統(tǒng)的控制方法(如常規(guī)的PID控制)對(duì)溫度進(jìn)行有效的控制,而智能控制不需要對(duì)象的精確數(shù)學(xué)模型就可以對(duì)實(shí)施控制[1]。溫度控制多由單片機(jī)來(lái)實(shí)現(xiàn)溫度控制,其缺點(diǎn)是控制系統(tǒng)復(fù)雜,可靠性差,特別是當(dāng)控制點(diǎn)較多、距離較遠(yuǎn)時(shí),采取總線(xiàn)方式的通訊出錯(cuò)概率較高,影響到溫度的控制精度[2]。

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

            目前,多家廠(chǎng)商(如日本導(dǎo)電、島通)均推出精度可達(dá)0.1級(jí)的基于PID算法的智能型儀表,然而這些公司對(duì)其核心技術(shù)并不公開(kāi),同時(shí)也不開(kāi)放用于系統(tǒng)改進(jìn)的接口或者代碼。本文的基于硬件單元,一種溫控單元與計(jì)算機(jī)相結(jié)合的主從式溫度控制模式。利用工控機(jī)進(jìn)行PID參數(shù)整定后通過(guò)網(wǎng)絡(luò)控制溫控單元的輸出,溫控單元輸出控制信號(hào)調(diào)整可控硅的開(kāi)角,從而達(dá)到改變加熱功率的目的。本文采用儀表與計(jì)算機(jī)相結(jié)合的主從控制模式,軟、硬件部分分別獨(dú)立工作,便于系統(tǒng)的升級(jí)改造,可以有效地提高控制策略的靈活性。

            本文所研究的基于組態(tài)軟件實(shí)現(xiàn)的模糊PID算法智能溫度監(jiān)控系統(tǒng),能較好地解決溫度的遠(yuǎn)程控制問(wèn)題,且系統(tǒng)結(jié)構(gòu)非常簡(jiǎn)單,溫度控制精度高。

            系統(tǒng)總體方案

            溫度控制系統(tǒng)用于控制電加熱爐內(nèi)的溫度,熱源為高溫電阻絲,采用可控硅電壓調(diào)整器來(lái)進(jìn)行電加熱爐的溫度調(diào)整,此調(diào)整器是通過(guò)控制可控硅的導(dǎo)通角而調(diào)整輸出電壓、改變加熱體的發(fā)熱功率、從而達(dá)到控制電加熱爐溫度的目的。

            如圖1所示,加熱爐實(shí)時(shí)的溫度由溫控單元采集熱電偶轉(zhuǎn)變?yōu)殡妷盒盘?hào),經(jīng)溫控單元整理后,通過(guò)TCP/IP協(xié)議將打包后的溫度數(shù)據(jù)傳送至工控機(jī)端,將此溫度的采樣值與設(shè)定值比較,采取相應(yīng)的控制算法計(jì)算出實(shí)時(shí)的PID參數(shù),通過(guò)網(wǎng)絡(luò)控制溫控單元,溫控單元輸出4~20mA電流信號(hào)至可控硅調(diào)壓器,對(duì)可控硅的導(dǎo)通角的開(kāi)度進(jìn)行控制,調(diào)整加熱爐的溫度。采用本方案的系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn)的特點(diǎn)。

            溫控單元設(shè)計(jì)方案

            溫控單元實(shí)現(xiàn)的功能包括溫度信號(hào)的模擬量數(shù)據(jù)采集、控制調(diào)壓器可控硅開(kāi)角的模擬信號(hào)輸出、控制信號(hào)的I/O輸出,以及溫控單元與工控機(jī)之間的數(shù)據(jù)傳輸?shù)取?/span>

            系列32位閃存微控制器使用ARM公司的Cortex-M3內(nèi)核,處理器的核心是基于哈佛架構(gòu)的3級(jí)流水線(xiàn)內(nèi)核,該內(nèi)核集成了分支預(yù)測(cè),單周期乘法,硬件除法等眾多功能強(qiáng)大的特性[3],目前已經(jīng)獲得了廣泛的應(yīng)用。

            溫控單元選用的處理器是的增強(qiáng)型系列處理器—STM32F103。該處理器頻率為72MHz,帶有片內(nèi)RAM和USB 2.0接口、16通道的12位A/D轉(zhuǎn)換器、2通道的12位D/A轉(zhuǎn)換器、以及I/O通道等豐富的外設(shè)。其中系統(tǒng)集成的雙ADC結(jié)構(gòu)允許雙通道采樣/保持,以實(shí)現(xiàn)12位精度、1μs的轉(zhuǎn)化。處理器的雙ADC結(jié)構(gòu)為2個(gè)工作在非連續(xù)模式的獨(dú)立的時(shí)序控制,具有多個(gè)觸發(fā)源,每個(gè)通道的采樣時(shí)間均可編程。

            本文設(shè)計(jì)的系統(tǒng)采用獨(dú)立于微控制器(MCU)的專(zhuān)用網(wǎng)絡(luò)接口芯片來(lái)實(shí)現(xiàn)TCP/IP協(xié)議,網(wǎng)絡(luò)芯片選擇W5100,微處理器與網(wǎng)絡(luò)芯片通過(guò)SPI接口進(jìn)行連接。溫控單元硬件組成如圖2所示。

            控制策略的選擇

            電加熱爐是一個(gè)復(fù)雜的受控對(duì)象,具有多參數(shù)、非線(xiàn)性、時(shí)變性、純滯后、多干擾等特點(diǎn),對(duì)其進(jìn)行精確的數(shù)學(xué)建模非常困難。模糊控制系統(tǒng)是一種自動(dòng)控制系統(tǒng),它是以模糊數(shù)學(xué)、模糊語(yǔ)言形式以及模糊邏輯理論為基礎(chǔ),采用計(jì)算機(jī)控制技術(shù)構(gòu)成的一種具有閉環(huán)結(jié)構(gòu)的數(shù)字控制系統(tǒng)。模糊控制不需要被控對(duì)象的精確數(shù)學(xué)模型,并且可以引入專(zhuān)家經(jīng)驗(yàn),可以較好地解決此類(lèi)溫度控制問(wèn)題。但由于單獨(dú)使用模糊控制不易消除穩(wěn)態(tài)誤差,且對(duì)控制器運(yùn)算性能要求較高,而PID算法簡(jiǎn)單又可以較好地消除穩(wěn)態(tài)誤差,實(shí)際運(yùn)行效果和理論分析表明,這種控制規(guī)律在相當(dāng)多的工業(yè)生產(chǎn)過(guò)程中能得到比較滿(mǎn)意的結(jié)果[4]。

          PID控制器是通過(guò)對(duì)誤差信號(hào)()et進(jìn)行比例、積分和微分運(yùn)算,其結(jié)果的加權(quán),得到控制器的輸出()ut,該值就是控制對(duì)象的控制值。PID控制器的數(shù)學(xué)描述為:

          pid控制器相關(guān)文章:pid控制器原理



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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();