新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于msp430的溫控系統

        基于msp430的溫控系統

        作者: 時間:2016-11-28 來源:網絡 收藏
        3、算法數學描述:(含算法的數學表達式、符號說明等)
        本文主要采用兩種算法實現題目要求:

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

        本文引用地址:http://www.104case.com/article/201611/322848.htm

        程序如下:

        voidpid()

        {

        if(set_t-now_t>13)

        e2=0;

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

        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的占空比

        }

        第二個是時間控制的線性算法

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

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


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

        具體的實現代碼如下:

        control_m_value=(float)time_m/set_time;

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

        control_m_value=40+20*control_m_value;

        set_t=control_m_value;

        pid();

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

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

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

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

        (2)加熱絲的PWM輸出

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

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

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

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

        程序的流程圖如下:


        圖5程序流程圖

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

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

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

        測試數據表格如下表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-都可以通過電路參數計算來衍生是否正確,ΔV的值可以通過V+和V-的差值來驗證,儀放的增益
        也可以通過電路參數來驗證
        (2)結論分析
        測得的數據和用電路上各參數計算所得的理論值之間有一定的誤差,但誤差在可以接受的范圍內。由于電阻
        等的實際值與標稱值之間是存在誤差的,故最終我們是以測得的數據為標準來換算溫度的值的,但我們會多測幾組數據綜合一下以盡量減小誤差。

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

        關鍵詞: msp430溫控系

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 富阳市| 天台县| 六枝特区| 铜陵市| 安康市| 建德市| 琼中| 张家港市| 蒙自县| 英超| 芜湖市| 瑞安市| 右玉县| 徐汇区| 香港| 安顺市| 东源县| 保康县| 聊城市| 富裕县| 阳城县| 沙雅县| 德庆县| 睢宁县| 呼图壁县| 电白县| 松江区| 天全县| 宜黄县| 武威市| 鄱阳县| 重庆市| 黑龙江省| 饶平县| 萨迦县| 碌曲县| 天气| 德惠市| 漳州市| 渭南市| 盈江县|