《基于STM32的溫度控制實驗電氣工程及其自動化專業(yè)》由會員分享,可在線閱讀,更多相關《基于STM32的溫度控制實驗電氣工程及其自動化專業(yè)(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、目錄
基于STM32的溫度控制實驗 2
裴順利,電子系 2
Based on STM32 temperature control experiment 2
Peishunli,Department of electronics 2
1 系統(tǒng)的整體設計 2
圖1 3
1.1 人機交互模塊的設計 3
1.2 溫度檢測模塊的設計 3
2 系統(tǒng)各模塊的設計 3
2.1主控制模塊的設計 3
2.2 溫度測量模塊的設計 4
2.3 人機交互的模塊設計 5
2.4 加熱模塊的設計 6
3 溫度控制器的設計 6
4 實驗的結(jié)果和分析 7
5 結(jié) 論 8
參考文獻 8
2、基于STM32的溫度控制實驗
摘 要: 請設計一個基于STM32的單片機的具有高精度溫度控制的實驗,溫度范圍為10~140℃,實驗模塊包含控制,測溫,加熱器和人機交互等,并使用DB18B20溫度傳感器測量溫度的大小,選用搭載ARM Cortex-M內(nèi)核的STM32F429的單片機作為控制的核心部分,人機交互部分采用TFT顯示屏顯示溫度,使用PWM的脈沖寬度調(diào)制波驅(qū)動加熱器。該實驗能夠?qū)崿F(xiàn)溫度的測量,數(shù)據(jù)存儲,控制和分析功能 。為實現(xiàn)三個控制參數(shù)的在線修正,使用自適應性強的模糊PID算法。不用建立被控對象的精確模型就能保證加熱器功率的實時控制,實現(xiàn)較穩(wěn)和較快的性能。實驗結(jié)果表明了該方
3、法的有效性和實用性。
關鍵字:溫度實時顯示,控制;模糊PID算法;脈沖寬度調(diào)制
Based on STM32 temperature control experiment
Abstract:Please design a based on the STM32 MCU has a high precision temperature control experiment, the temperature range of 10 ~ 140 ℃, the experiment module contains control, temperature, heater and hum
4、an-computer interaction, etc., and the size of the DB18B20 temperature sensor is used to measure the temperature, the use of carrying the ARM architecture (M STM32F429 single chip microcomputer as control core part of the kernel, the human-computer interaction part adopts TFT display shows the tempe
5、rature, using PWM pulse width modulation wave to drive the heater. The experiment can realize temperature measurement, data storage, control and analysis function. In order to realize the online correction of three control parameters, a self-adaptive fuzzy PID algorithm is used. The accurate model o
6、f the controlled object can guarantee the real-time control of the power of the heater and achieve the stable and fast performance. Experimental results show the effectiveness and practicability of this method.
Keywords: temperature real-time display; control; Fuzzy PID algorithm; Pulse width modul
7、ation
1 系統(tǒng)的整體設計
在本次實驗中電路總體上可以分為幾個模塊:人機交互的模塊,溫度采集的模塊,STM32的系統(tǒng)模塊,驅(qū)動加熱的模塊。實驗中我們以STM32作為主控制器控制電路,傳感器采集溫度作為STM32的輸入,驅(qū)動模塊,顯示屏,以及按鍵作為STM32的輸出。溫度采集方面由DS18B20溫度傳感器,可與單片機直接連接。經(jīng)過單片機的處理將溫度的數(shù)據(jù)傳給顯示屏進行顯示,利用按鍵進行設置溫度闕值。如果溫度超過設定的界限,則通過STM32單片機發(fā)出的指令來控制驅(qū)動的模塊,調(diào)節(jié)溫度值。
實驗中系統(tǒng)的整體圖如下圖1所示:
圖1
1.1 人機交互模塊的設計
溫度控
8、制系統(tǒng)經(jīng)常是用來保證溫度的變化穩(wěn)點或按照某種規(guī)律進行變化。但是通常溫度具有慣性大,滯后性嚴重的特點,所以很難建立很好的數(shù)學模型。所以在本次實驗中我們采用了性能高又經(jīng)濟的搭載ARM Cortex-M內(nèi)核的STM32F429的單片機作為它的微控制處理器。人機交互模塊主要是有普通的按鍵和一塊彩色液晶屏幕所組成。該實驗中采用的是模糊的PID算法,完成對系統(tǒng)的設計。
1.2 溫度檢測模塊的設計
傳統(tǒng)的測溫元件有熱電偶,熱敏電阻還有一些輸出模擬信號的溫度傳感器。但這些元件都需要較多的外部元件的支持。電路復雜,制作成本高。因此在本次實驗中我們采用了美國DALLAS半島公司推出的一款改進型的智能溫度傳
9、感器DS18B20。此溫度傳感器讀數(shù)方便,測溫范圍廣,測溫準確,輸出溫度采用數(shù)字顯示更加智能化。溫度檢測模塊是以DS18B20溫度傳感器作為核心,將測量的溫度信號傳遞給STM32單片機芯片進行溫度的實時檢測,并通過數(shù)碼管顯示。
2 系統(tǒng)各模塊的設計
2.1主控制模塊的設計
在本次實驗中我們選取STM32芯片作為微控制處理器。在STM32型號的單片機中,STM32F429單片機是一種基于ARM Cortex-M內(nèi)核的具有很多優(yōu)良的性能的單片機,其中高速度,低功耗的性能和對彩色顯示屏有更加有效的處理機制。STM32型號單片機都會配備常見的一些外設,通用的定時器,多通道的ADC,SPI總
10、線接口,I2C的總線接口,CAN總線接口,USB控制器,實時時鐘RTC等。STM32還包括多個DMA通道,可以進行設備與內(nèi)存之間的數(shù)據(jù)傳輸。SPI接口具有一個CRC計算單元,可支持8位字節(jié)和16位半字數(shù)據(jù)的計算且支持96b唯一的標識碼。供電電壓只要在2~3.6范圍內(nèi)便可支持正常的工作。如果在運行程序時以72兆次/s的速度讀取命令,驅(qū)動電流只需要27mA。此外STM32單片機還具有四種低耗電量的模式,可以快速啟動。
2.2 溫度測量模塊的設計
DS18B20溫度傳感器集成了A/D轉(zhuǎn)換的功能,所以連接單片機時不需要再進行A/D轉(zhuǎn)換電路的連接。其是一種單總線智能型的溫度傳感器,具有三個接口:
11、地線(GND),數(shù)據(jù)線(DQ),電源線(VCC)。測溫范圍在-55~125℃,電壓范圍在+3.0~5.5V,固有的測溫分辨率為0.5℃,最高精度可以達到0.0625℃,最大的轉(zhuǎn)換時間為200ms。一條總線上可以實現(xiàn)多點測溫。
DS18B20型號的溫度傳感器的溫度測量原理如下圖2:
DS18B20只需要使用一個I/O口,既可以傳輸時鐘,又能夠傳輸數(shù)據(jù),并且數(shù)據(jù)的傳輸是雙向的。并且在溫度發(fā)生變化時,它對靈敏度較小的晶體振蕩器的震蕩頻率比較穩(wěn)定,幾乎沒什么影響,它給計數(shù)器1提供震動周期穩(wěn)定的驅(qū)動時鐘信號。當晶體振蕩器的靈敏度較大時,則溫度發(fā)生變化時震蕩頻率波動很大,它被用來作為一個溫度接收器
12、,接收計數(shù)器2的驅(qū)動信號。高速暫存器RAM是由9個字節(jié)的存儲器所構(gòu)成的。顯示位是0~1字節(jié);復制TH和TL是用2~3字節(jié),并且數(shù)字可以更新;配置寄存器是第4個字節(jié),也可更新。5,6,7字節(jié)是用作保留的。溫度傳感器的電路如圖3:
在單片機控制器的B10端口是連接中間數(shù)據(jù)的端口,并以串行的方式將12b的溫度信號輸入給單片機。這是數(shù)字進行轉(zhuǎn)換后的數(shù)據(jù),溫度數(shù)據(jù)存儲在高速RAM的第0和第1字節(jié),也就是存在兩個8b的RAM當中,一共有16位。一般我們使用DS18B20中默認的配置為12位,一個高位符號位和11位溫度值。數(shù)據(jù)傳入單片機后,一次會讀取其中的兩個字節(jié),也就是16位。前5位為符號位,如果測
13、量的溫度值在0以上,那么這5位為0則為正值,再將低11位的二進制轉(zhuǎn)化為十進制數(shù)后乘以0.0625便可得到實際的溫度值;如果這個溫度值在0以下,則這5位為1則為負值,只需要將測得的數(shù)值取反加1再乘以0.0625便可得到實際的溫度值。
DS18B20芯片的溫度數(shù)據(jù)如表1:
2.3 人機交互的模塊設計
在人機交互的模塊中,我們選用的是TFT型號的顯示屏來實時的顯示各個溫度的數(shù)值,并通過按鍵的形式實現(xiàn)對溫度的設置等相關功能。TFT顯示屏本身亮度好,對比度高,層次感強,顏色鮮艷,使用時可以由其內(nèi)部的運算器實現(xiàn)對數(shù)據(jù)的獲取和傳送,而不需要再添加其它的工具就能實現(xiàn)。TFT液晶顯示屏為每一個像素
14、都設有一個半導體開關,因而每個節(jié)點都是相對獨立的,并且可以連續(xù)控制,不僅提高了顯示屏的反應速度,而且精確控制了色階。在使用時,我們一般設定一個點為X,Y,一般先通過18位的數(shù)據(jù)接口實現(xiàn)對x和y坐標的發(fā)送,并且通過LCD執(zhí)行相應的元件,最后發(fā)送數(shù)據(jù)的顏色代碼給LCD。最后就會在相應的位置顯示顏色。
2.4 加熱模塊的設計
在該模塊中我們使用的是STM32單片機內(nèi)部的PWM脈沖驅(qū)動實現(xiàn)對溫度變化的控制。STM32的PWM輸出引腳是使用IO口的復用功能,T2~T4這4個通用定時器都可以輸出4路PWM--CH1~CH4。PWM輸出的直流電壓與占空比有關,當占空比為100%時,直流電壓為12V,
15、當占空比為50%時,直流電壓為6V。在本次實驗中由于電阻絲的發(fā)熱難以控制,因此我們選用了陶瓷加熱片作為被控對象放在OUT1和OUT2之間,加熱片的額定電壓為8V,最大電壓為40V,額定的功率為4W,電阻為25Ω。在實驗中我們選用全橋直流驅(qū)動器對PWM的脈沖信號進行整流,當ENABLE=1,1N1接收到PWM的信號,再將信號反向傳給1N2,這樣就可以調(diào)整加熱頻率。
PWM的驅(qū)動模塊原理如圖4:
3 溫度控制器的設計
對于溫度控制器這樣一個具有較大的滯后性,非線性的時變系統(tǒng),單純的采用傳統(tǒng)的PID控制不會得到較好的控制效果,因此在本次實驗中我們將模糊控制原理與傳統(tǒng)的PID控制方式相
16、結(jié)合的自適應的PID控制算法來對實驗進行控制。這樣的方式不僅具有不依賴系統(tǒng)精確數(shù)學模型的特點,同時又具有PID控制器的動態(tài)跟蹤品質(zhì)好和穩(wěn)態(tài)精度高的特點。PID算法比較簡單,功能也比較完善,效果也很好,一般形式為u(n)=?Kpe(n)+KI?∑e(n)+KD△e(n)???????? ?
式中?n?采樣序號
??u(n)?第?n?次采樣時刻的控制器輸出;
??e(n)?第?n?次采樣時刻輸入的偏差?;
??△e(n)?第?n?次采樣時刻輸入的偏差與第?n-1次采樣時刻輸入的偏差之差;
??KP?比例增益??
??KI??積分系數(shù)(?KI=?Kp?T/TI)??
??KD?微分系數(shù)
17、?(KD=?KP?TD?/T)??
??T?—采樣周期TI、?TD分別為積分時間常數(shù)和微分時間數(shù)。???
實驗中我們主要以三個控制參數(shù)Kp,K1,Kd來控制信號的輸出量。比例系數(shù)決定著靜態(tài)誤差的大小,Kp越大誤差就越小。作為輸入變量的模糊邏輯的誤差變化和使用誤差能夠確保被控對象的良好功能。
在實現(xiàn)中自使用模糊的控制過程如圖5:
4 實驗的結(jié)果和分析
在實驗的控制模塊中,我們只需要適當?shù)母淖兛刂茀?shù)或者上位機的設置,就能使系統(tǒng)發(fā)揮出很好的控制效果。
實驗實物圖的調(diào)試如圖6:
TFT顯示屏提供了溫度的數(shù)值和PWM占空比的顯示,給實驗中提供了方便。并且在模糊子集的隸屬度函數(shù)
18、值Ke也都有顯示,使調(diào)試過程更加簡便。
界面顯示如圖7:
系統(tǒng)的溫度變化曲線如圖8:
實驗中我們選擇Matlab對實驗數(shù)據(jù)進行相應的分析處理,更加明了。被控的對象如果它的數(shù)學模型發(fā)生變化,我們可以把把它的參數(shù)提高1/5。
5 結(jié) 論
在本次實驗中,我們采用了傳統(tǒng)的PID控制算法與模糊推理相結(jié)合的方式,設計出了一個基于STM32的模糊PID溫度控制系統(tǒng)。實驗結(jié)果顯示了實驗能夠達到各項指標和功能的要求,表明實驗是成功的。該方案具有廣泛的實用性和靈活性;與傳統(tǒng)的模擬調(diào)節(jié)系統(tǒng)相比,具有先進性和可靠性;與計算機控制系統(tǒng)相比,具有成本低,實用性強的優(yōu)點。具有一定的價值。
參考
19、文獻
[1]劉增環(huán),王利珍,何廣祥,加熱爐爐溫PLC模糊控制系統(tǒng)的設計[J].自動化與儀表,2011,26(10):27-30.
[2]祁鯤,厲虹.基于PLC的溫度控制仿真實驗平臺設計[J].電氣技術,2013,14(9):30-33.
[3]盧秀和,李建波.基于STM32的四旋翼姿態(tài)控制系統(tǒng)[J].計算機測量與控制,2014,22(3):761-763.
[4]余新栓.基于Matlab的STM32軟件快速開發(fā)方法[J].單片機與嵌入式系統(tǒng)應用,2011,11(10):46-48.
[5]趙莉華,張亞超,金陽等.基于LabVIEW和Matalab虛擬實驗室的實現(xiàn)[J].實驗室研究與探索,2014,33(4):62-64.
[6]陳小敏,朱秋明,徐大專等.基于Matlab的模擬通信系統(tǒng)實驗設計與仿真[J].實驗科學與技術,2014,12(6):1-3.
[7]劉華.基于ARM-Linux的嵌入式開發(fā)關鍵技術的研究與應用[D].北京:北京工業(yè)大學,2007.
[8]夏宇,王軍政,徐山峰.基于ARM9的嵌入式控制系統(tǒng)設計與實現(xiàn)[J].微計算機信息,2008,24(22):1-3.