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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 溫控程序部分報(bào)告——基于msp430g2553

          溫控程序部分報(bào)告——基于msp430g2553

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          Createdon:2012-9-14

          Author:zhangbin

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

          學(xué)習(xí)筆記

          formsp430g2553

          redesignedbyzhangbin

          2012-09-14

          versions:12_09_01

          AllRightsReserved

          程序是整個(gè)系統(tǒng)中很重要的一個(gè)組成部分,它在硬件的基礎(chǔ)上協(xié)調(diào)著整個(gè)系統(tǒng)各個(gè)硬件部分的一同工作,控制著整個(gè)溫控系統(tǒng)的一舉一動(dòng)。軟件的主要功能包括有:

          (1)傳感器信號(hào)的采集、處理

          (2)加熱絲的PWM輸出

          (3)加熱的溫度和速度控制

          (4)溫控系統(tǒng)運(yùn)行流程控制:程序初始化、溫控的啟動(dòng)與結(jié)束、液晶顯示模塊控制

          (5)溫控信息顯示與參數(shù)設(shè)定:狀態(tài)顯示、控制算法參數(shù)設(shè)定等

          上面的幾個(gè)能中,除了程序的初始化在主函數(shù)中執(zhí)行,其他的各個(gè)部分都是在中斷函數(shù)中執(zhí)行的,其中鍵盤檢測和數(shù)據(jù)輸入是在鍵盤中斷中執(zhí)行,其他的數(shù)據(jù)采集、處理、控制等都是在定時(shí)器5ms中斷中執(zhí)行的。單片機(jī)平時(shí)處于低功耗模式,降低功耗

          程序的流程圖如下:

          本文主要采用兩種算法實(shí)現(xiàn)題目要求:

          第一個(gè)是PID算法的改進(jìn),由于溫度控制是一個(gè)只能加熱不能制冷的控制,所以我們只用了PI。首先通過P讓溫度加到一個(gè)離設(shè)定溫度較近的溫度,然后利用I逼近設(shè)定溫度。

          程序如下:

          voidpid()

          {

          if(set_t-now_t>13)

          e2=0;

          e1=set_t-now_t;//設(shè)定值和實(shí)際值之間的誤差

          uk=kp*e1+ki*e2+kd*e3;

          //wr_float(0,1,e2);

          e2=e1+e2;

          e3=e1-e4;

          e4=e1;

          if(uk>speed)//防止升溫過快

          uk=speed;

          if(uk<0)

          uk=0;

          control_value=1-uk;//pid輸出的控制量即PWM的占空比

          }

          第二個(gè)是時(shí)間控制的線性算法

          在時(shí)間控制中要求溫度從40°均勻加熱到60°,并且時(shí)間任意可設(shè)。

          本程序?qū)崿F(xiàn)的方法是:設(shè)定時(shí)間set_time是以s為單位,把40°到60°的這20°溫差平均分成set_time份。然后在控制周期中,每一個(gè)周期讓時(shí)間段time_m自加1,然后根據(jù)平均的公式算出該時(shí)間段應(yīng)該達(dá)到的溫度,公式如下:

          因?yàn)榭刂茣r(shí)間輸入set_time是以s為單位,而控制周期是100ms,所以上面要除以10。

          具體的實(shí)現(xiàn)代碼如下:

          control_m_value=(float)time_m/set_time;

          control_m_value=control_m_value/10;//時(shí)間的控制以100ms為單位,時(shí)間的設(shè)定是以1s為單位

          control_m_value=40+20*control_m_value;

          set_t=control_m_value;

          pid();

          CCR1=control_value*12000;//調(diào)節(jié)PWM的占空比12000為PWM周期



          關(guān)鍵詞: 溫控程序msp430g255

          評(píng)論


          技術(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); })();