新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MSP430的溫度控制系統的設計與實現

        基于MSP430的溫度控制系統的設計與實現

        作者: 時間:2012-02-03 來源:網絡 收藏

        如冰箱、冰柜、空調已廣泛地走進大眾家庭,這些設備帶給了人們更多的舒適,人們也越來越依賴它們。為此,我們小組搭建了一個,模擬在日常生活中的運作,深入探討其工作原理及可優化潛力。

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

        1 系統組成

        本系統以系統板為控制核心,包括溫度采集、PID算法功率控制、調溫、人機交互等模塊。其采用數字式溫度傳感器DS18B20作為溫度采樣元件,在通用定時器B周期中斷的控制下,低功耗單片機F449通過其通用I/O口從DS18B20讀取采樣值,再通過PID控制算法計算出控制量去控制主電路的電流方向和PWM波的輸出。電流方向決定對控溫對象進行加熱或制冷,輸出的PWM波驅動功率MOSFET IRF540,從而達到控制熱電模塊加熱或制冷的功率的目的,系統組成框圖如圖1所示。


        2 F449簡介

        MSP430F449是TI公司推出的16位超低功耗混合信號處理器,同時集成數字和模擬電路。其具有特點:16位CPU通過總線連接到存儲器和外圍模塊;直接嵌入仿真處理,具有JTAG接口;多時鐘能夠降低功耗,多總線能夠降低噪聲;16位數據寬度,數據處理更有效。它的集成調試環境Embedded Workbench提供了良好的C語言開發平臺。

        MSP430F449的定時器A和定時器B都可以實現PWM:當定時器工作在PWM波產生模式,就可以利用寄存器CCR0控制PWM波形的周期,用另外寄存器控制占空比,生成PWM波方便。并且片內集成段式液晶驅動模塊,便于顯示溫度值。

        3 PID控制算法原理

        3.1 PID控制系統筒介

        PID控制系統如圖2所示,D(s)完成PID控制規律,稱為PID控制器。PID控制器是一種線性控制器,用輸出量y(t)和給定量r(t)之間的誤差的時間函數e(t)=r(t)-y(t)的比例、積分和微分的線性組合構成控制量u(t),稱為比例(Proportional)、積分(Integrating)、微分(Differ-entiation)控制,簡稱PID控制。

        PID控制組合了比例控制、積分控制和微分控制這3種基本控制規律,通過改變調節器參數來實現控制,其基本輸入輸出關系為:

        實際應用中,可以根據受控對象的特性和控制的性能要求,靈活采用比例(P)控制器、比例+積分(PI)控制器、比例+積分+微分(PID)控制器3種不同控制組合。

        3.2 PID參數控制效果分析

        PID控制的3基本參數為KP、KI、KD,這3項參數的實際控制作用為:

        比例碉節參數(KP) 按比例反映系統的偏差。增大KP,系統的反應變靈敏、速度加快、穩態誤差減小,但振蕩次數也會加多、調節時間加長。在該反饋環中,該值主要影響速度。

        積分調節參數(KI) 消除系統靜態(穩態)誤差,提高系統的控制精度。積分調節會使系統的穩定性下降,動態響應變慢,超調加大。積分控制一般不單獨作用,而是與P或者PD結合作用。

        微分調節參數(KD) 反映系統偏差信號的變化率,可以預見偏差的變化趨勢,產生超前控制作用。因此,微分控制可以提高系統的動態跟蹤性能,減小超調量,但對噪聲干擾有放大作用。過強的微分調節會使系統劇烈震蕩,對抗干擾不利。

        常規的PID控制系統中,減少超調和提高控制精度難以兩全其美。主要是積分作用有缺陷造成的。如果減少積分作用,靜差不易消除,有擾動時,消除誤差速度變慢;而加強積分作用時又難以避免超調,這也是常規PID控制中經常遇到的難題。所以在該系統中,對積分參數做了分段處理,已達到理想的效果。

        4 溫控裝置及原理

        DS18B20支持“一線總線”接口,測量溫度范圍為-55~+125℃,測量范圍廣。DS18B20可以程序設定9~12位的分辨宰,精度為0.0625 ℃,分辨率高。支持3~5.5 V的電壓范圍。現場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統的抗干擾性。并且只需占用一根微控制器的I/O口,節省I/O口。本系統選用PR-35封裝。

        控制電路選擇VDD供電方式,即VDD接+5 V,GND接地,I/O接單片機I/O。

        DS18B20的主要部件:64位激光ROM,溫度傳感器,非易失性溫度報警觸發器TH和TL,高度暫存器。

        4.1 單線總線訪問DS18B20的協議

        DS18B20需要嚴格的協議以確保數據的完整性。協議包括幾種單線信號類型:復位脈沖、存在脈沖、寫0、寫1、讀0和讀1。所有這些信號,除存在脈沖外,都由總線控制器發出。

        4.1.1 初始化

        通過單線總線的所有執行都從一個初始化序列(一個由總線控制器發出的復位脈沖和跟在其后由從機發出的存在脈沖)開始。之后存在脈沖讓總線控制器知道DS18B20在總線上且已做準備好操作。

        4.1.2 ROM操作命令

        一旦總線控制器檢測到一個存在脈沖,它就可以發出5個ROM命令中的任一個:Read ROM,Match ROM,Skip ROM,Search ROM,Alarm Search。

        由于只用到一個DS18B20,所以選擇Skip ROM跳過指令,無需進行地址序列號的檢查,可以加大軟件運行速度。

        4.1.3 存儲器操作命令

        4.1. 4 RAM操作指令如表1所示

        一般先執行溫度轉換指令,然后用讀暫存器指令將16位溫度值讀入主控制器。

        4. 1.5 執行/數據

        執行數據前,一定確保先指令已經輸入,并嚴格按照時間時序。執行、數據時,要注意:只有數據時間隙把握準確,讀寫數據才能正確。

        4.2 讀寫時間隙

        DS18B20的數據讀寫是通過時間隙處理位和命令字來確認信息交換。必須在時間隙開始的確切時間讀取或寫入需要的數據。所以,對DS 18B20的時序控制要嚴格把握時間分段。當主機把數據線從邏輯高電平拉到邏輯低電平時,寫時間隙開始;當從DS18B20讀取數據時,主機生成讀時間隙。

        5 TEC1-12708驅動電路

        制冷片TEC1-12708:依據帕爾帖效應制作的溫差電制冷組件重量輕、體積小并具有相對高的制冷量,特別適用于有限空間的制冷,由于制冷組件是一種固態熱泵,因而它無需維護,無嗓音,能在任何位置工作,抗沖擊和抗震動能力強。另外,改變組件工作電流機型時,又可以制熱,改變電流強度可調整制冷功率。

        由于TEC要求的驅動電流是雙向的,所以選擇功率管MOSFET,結合雙向可控硅光電耦合器組成H橋式電路控制TEC方向。功率MOSFET管IRF 540的導通電阻很小,能有效提高供給負載的最大功率。光電耦合器是一種電-光-電轉換器件,把發光源和受光器用透明絕緣體隔離,不會對電路造成任何損害,比繼電器性能好。

        圖3為雙向可控硅光電耦合器構成4個由高電平控制的開關電路。用該4個開關電路連接成H橋電路,以實現對制冷片加熱與降溫。當開關1.3關閉時,電流正向流經制冷器件,制冷器開始加熱;當開關2,4關閉時候,電流反向流經制冷器件,制冷器件降溫。

        經過對控制原理進行透析,繪制該制冷片的總控制原理圖如圖4所示。通過控制PWM波的占空比來控制功率管IRF540的導通時間,從而控制電路提供給制冷片的有效電流及方向。控制效果良好。


        6 系統軟件設計

        該系統軟件完成制冷制熱、設置溫度值、自動調溫等功能。重要算法實現包括PID算法和數字溫度傳感器DS18B20的控制。整體過程為:系統初始化,等待按健中斷。選擇制冷或制熱后,設定指定溫度值;將溫度采集的數據接收進來,與設定溫度值比較,將差值經過PID算法后計算出進行功率控制的占空比,從而調節溫度。其中,PWM波由MSP430F449的定時器B產生,在該模式下,寄存器CCR0用于控制PWM波頻率,其他任意一個寄存器控制占空比,控制靈活,相當方便。控制積分調節參數對,對其采取分段積分PID算法,控制系統超調量。軟件流程如圖5所示。

        該系統軟件完成制冷制熱、設置溫度值、自動調溫等功能。重要算法實現包括PID算法和數字溫度傳感器DS18B20的控制。整體過程為:系統初始化,等待按鍵中斷。選擇制冷或制熱后,設定指定溫度值;將溫度采集的數據接收進來,與設定溫度值比較,將差值經過PID算法后計算出進行功率控制的占空比,從而調節溫度。其中,PWM波由MSP430F449的定時器B產生,在該模式下,寄存器CCR0用于控制PWM波頻率,其他任意一個寄存器控制占空比,控制靈活。

        7 測試結果

        7. 1 測試過程

        為防止室溫變化對測試造成影響,選擇有空調室溫恒定的地方進行測試。在室溫16℃下,測試數據如表2所示。


        7.2 測試結果分析

        由上實驗數據可以看出,溫度讀數可以達到0.1℃,設定的溫度值與最終溫度值讀數相差最大為0.8℃,完全滿足實驗要求±2℃范圍的要求。從實驗數據第2組可以看出溫差大于15℃時,達到指定度所需時間為2分43秒。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石河子市| 莫力| 平遥县| 武清区| 汾阳市| 元阳县| 开阳县| 江西省| 灵丘县| 浮梁县| 平远县| 天峻县| 故城县| 吉安市| 德兴市| 河东区| 丰宁| 宜川县| 秦安县| 图们市| 枞阳县| 金寨县| 白城市| 安平县| 聂荣县| 彝良县| 醴陵市| 连江县| 赤峰市| 旬邑县| 大埔县| 长阳| 上饶县| 清水河县| 潮安县| 江都市| 织金县| 云林县| 巢湖市| 烟台市| 邹平县|