<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 溫控程序部分報告——基于msp430g2553

溫控程序部分報告——基于msp430g2553

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

Author:zhangbin

本文引用地址:http://dyxdggzs.com/article/201611/322847.htm

學(xué)習筆記

formsp430g2553

redesignedbyzhangbin

2012-09-14

versions:12_09_01

AllRightsReserved

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

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

(2)加熱絲的PWM輸出

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

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

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

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

程序的流程圖如下:

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

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

程序如下:

voidpid()

{

if(set_t-now_t>13)

e2=0;

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

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

//wr_float(0,1,e2);

e2=e1+e2;

e3=e1-e4;

e4=e1;

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

uk=speed;

if(uk<0)

uk=0;

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

}

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

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

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

因為控制時(shí)間輸入set_time是以s為單位,而控制周期是100ms,所以上面要除以10。

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

control_m_value=(float)time_m/set_time;

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

control_m_value=40+20*control_m_value;

set_t=control_m_value;

pid();

CCR1=control_value*12000;//調節PWM的占空比12000為PWM周期



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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>