<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è) > 嵌入式系統 > 設計應用 > 基于msp430的溫控系統

基于msp430的溫控系統

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏
3、算法數學(xué)描述:(含算法的數學(xué)表達式、符號說(shuō)明等)
本文主要采用兩種算法實(shí)現題目要求:

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

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

程序如下:

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周期

4、軟件流程圖:(貼入各程序流程圖)

程序是整個(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í)處于低功耗模式,降低功耗。

程序的流程圖如下:


圖5程序流程圖

5、測試方法描述:(含模塊與系統測試方法)

(1)電源模塊:輸入8V直流電壓,通過(guò)測試各點(diǎn)電壓輸出,保證5V的供電電源和4.2V的參考電壓的正確輸出。
(2)測量模塊:測量pt100兩端的電阻,然后計算橋臂的理論電壓值,測量?jì)蓚€(gè)橋臂的電壓,與理論值進(jìn)行對
比。測量?jì)x表放大器的輸入,對比理論計算經(jīng)過(guò)儀表放大器的電壓和實(shí)際儀表放大輸出。通過(guò)在這些對比檢查測量電路是否正常工作。
(3)輸出控制模塊:焊接完后,在控制口上加5V和0V電壓,看電路是否正常通斷。
(4)燈選模塊:通過(guò)人為的給選擇端加高低電平,看燈是否正常亮阻值為135歐姆的固定電阻接在pt100處,然后測橋電路輸出,運放輸入及輸出

6、測試數據:(列表說(shuō)明)

測試數據表格如下表1

V(參)

4.2V

4V

3.8V

V+

117.20mv

86.09mv

81.45mv

V-

90.12mv

111.84mv

106.23mv

ΔV

26.98mv

25.62mv

24.9mv

Vo

3.872v

3.682v

3.573v

其中V+表示含有pt100的橋臂輸出。V-表示另一路橋臂輸出。ΔV表示儀表放大輸出。Vo表示儀表放大器的輸出。V(參)表示AD和橋電路的參考電壓。

7、數據分析與結論:(含測試數據分析、結論等)

(1)計算公式如下:

測得的V+和V-都可以通過(guò)電路參數計算來(lái)衍生是否正確,ΔV的值可以通過(guò)V+和V-的差值來(lái)驗證,儀放的增益
也可以通過(guò)電路參數來(lái)驗證
(2)結論分析
測得的數據和用電路上各參數計算所得的理論值之間有一定的誤差,但誤差在可以接受的范圍內。由于電阻
等的實(shí)際值與標稱(chēng)值之間是存在誤差的,故最終我們是以測得的數據為標準來(lái)?yè)Q算溫度的值的,但我們會(huì )多測幾組數據綜合一下以盡量減小誤差。

8、總結
這次的電信實(shí)訓我們選做的還是上次參加電設的題目——溫度的測量與控制,只是這次相較于之前做了些該進(jìn)。為減小誤差,Pt100采用3線(xiàn)式的、運放也改成了精密性及穩定性更高的儀放;加熱裝置也從空心瓷電阻改成了易于控制的加熱絲;大噪聲、反應慢的繼電器也改成了MOS管;軟件上也做了一定的優(yōu)化。經(jīng)過(guò)這10天的努力我們成功的完成了實(shí)訓要求的所有指標,對減少硬件電路設計誤差有了更深的認識,同時(shí)也對MSP430單片機的優(yōu)勢和局限性有了一定的認識。
上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: msp430溫控系

評論


技術(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>