設計選用STM32單片機作控制器,設計溫度單反饋的控制系統,對電加熱水器內水的溫度進行控制。通過PT100溫度傳感器實現對水溫信號的采集,并利用模擬量前向通道來對水溫信號進行處理。利用STM32單片機進行控制輸出PWM信號,用此信號控制接觸器進而控制電加熱水器的電源通斷,最終實現對水溫的控制。同時用組態軟件設計監控界面來實現對水溫的控制顯示。通過對此課題的設計,能夠使自動化的學生對工業過程控制對象具有更進一步的了解,同時熟練掌握自動化控制系統的設計流程,為以后的工作學習打下堅實基礎。
一、控制系統硬件設計
1、控制系統硬件總體設計
溫度是一個很重要的變量,需要對其進行準確地控制。溫度控制系統常用來保持溫度恒定或者使溫度按照某種規定的規律變化。閉環控制是溫度控制系統中最為常見類型,本設計即為閉環溫度控制系統,閉環溫度控制方框圖如圖1所示。
溫度控制系統由被控對象、測量裝置、調節器和執行機構組成。測量裝置對被控電加熱水器中水溫進行測量,控制器將測量值與給定值進行比較,若存在偏差便由控制器對偏差信號進行處理,輸出控制信號給執行機構來啟動或停止電加熱水器工作,最終將溫度調節到設定值。被控對象是電加熱水器內水的溫度。
基于上述理論設計出本控制系統,本系統硬件主要有:STM32單片機、PT100溫度傳感器、開關電源、模擬量前向通道、繼電器輸出模塊、HH52P型固態繼電器、CJ20-10型接觸器、電加熱水器,控制系統硬件結構圖如圖2所示。
2、STM32單片機介紹
STM32單片機是整個溫度控制系統的核心部分。因為對溫度控制器具有較高的要求,例如高執行速度,高控制精度,高穩定性以及高靈敏度等,所以選擇一個具有較高性能而又經濟的單片機就成為必然。本設計選用屬于STM32系列的STM32F103VET6單片機作為控制電路的核心部件,該單片機屬于ST意法半導體公司生產的32位高性能、低成本、低功耗的增強型系列單片機,它的內核采用的是ARM公司最新研發的Cortex-M3架構,該內核是專門設計于滿足用戶對高性能、低功耗和經濟實用的要求。ARM Cortex-M3處理器的架構在系統結構上的增強,使得STM32增強型系列單片機受益無窮,其采用的THUMB-2指令集使得其指令效率更高和而且性能更強。
STM32F103VET6采用薄型四方扁平式封裝技術(LQFP)具有100管腳,片內具有512KB的FLASH,64KB的RAM(片上集成12Bit A/D、D/A、PWM、CAN、USB、安全數字輸入輸出卡SDIO、可變靜態存儲控制器FSMC等資源)。1個串行外設接口(SPI)總線控制的M25P16(16MB容量的串行FLASH),用于存儲數據、代碼、字庫及圖相等等。1個2.8寸26萬色顯示屏(TFT 240X320(帶觸摸屏))接口,利用MCU的FSMC的16位數據接口模式,觸摸屏采用ADS7843(4線電阻觸摸屏轉換接口芯片)芯片用硬SPI接口控制。STM32單片機采用2.0~3.6V的供電電壓,可以工作在-40℃~85℃的溫度范圍內,其最高的工作頻率是72MHz,其引腳分布如圖3所示。
STM32F103VET6單片機有3個不同的時鐘源可供選擇用以驅動系統時鐘,分別為HIS振蕩器時鐘、HSE振蕩器時鐘和PLL時鐘。這些設備還具有2個二級時鐘源,分別是40KHz的低速內部RC和32.768KHz的低速外部時鐘源,可以用來驅動看門狗時鐘和RTC。任何一個時鐘源在不被使用時,都可以被獨立的關閉或者開啟,以實現對系統功耗的優化。
單片機由AMS1117-3.3芯片電路供電,輸入+5V,提供3.3V的固定電壓輸出,為了降低電磁干擾,需要經C7-C10濾波后再為CPU供電,R8為DGND與AGND的連接電阻,R9和D5 LED和電源指示連接電阻,電源電路如圖4所示。
RTC的備份電源采用VBAT 3.3V 鋰離子片狀電池,RTC的備份電源如圖5所示。
單片機的外部晶體/陶瓷諧振器(HSE)(P12、P13),Y1是8MHz晶體諧振器,C22、C23 是諧振電容,大小選擇22P。系統的時鐘經過PLL模塊將時鐘提高到72MHz。單片機的低速外部時鐘源(LSE)(P8、P9),Y2為32.768KHz的晶體諧振器,C20、C21 諧振電容選擇22PF。要注意的是根據ST公司的推薦,Y2要采用電容負載為6PF的晶振,否則有可能會出現停振的現象,時鐘電路如圖6所示
目前,STM32單片機已經在很多場合得到應用,研制出了很多性能優良的產品,例如可編程邏輯控制器,打印機,掃描儀,電機控制以及一些數碼產品,STM32已成為非常成熟的可應用控制器件,本次設計選用的開發板如圖7所示。
3、硬件接線及其原理介紹
溫度控制系統在正常工作的時候,首先由PT100溫度傳感器檢測被控對象電加熱水器內水的當前溫度信號,將PT100溫度傳感器的電阻值變化在模擬量前向通道中作變換放大、冷端溫度補償、線性化。然后將模擬量前向通道輸出的模擬電壓信號送給主控模塊的STM32單片機進行處理,經數字化處理后與給定的溫度值的數字量進行比較。單片機根據預定的PID控制算法對數據進行處理,并通過顯示屏顯示當前溫度和設定值,程序自動確定系統是否存在異常,如果系統運行正常,將PID運算結果作為輸出控制量控制PWM波形的輸出,控制執行器的動作,從而達到接通或者斷開電阻爐主電路的目的,實現對電加熱水器的控制。單片機控制水溫的同時可選擇連接上位機進行組態監控,將變量的信息傳給上位機使用,并將上位機設定的參數下載到控制器STM32,從而達到上位機組態應有的效果。本次設計系統控制回路接線如圖8所示
模擬量前向通道使用TI公司生產的TLC7135(也可稱為ICL7135)芯片,加上前級模擬信號運算放大器的特殊處理, 以及一些其它的基本元器件成功地實現了微弱信號的測量。TLC7135具有以下特性:輸入阻抗高,對被測電路幾乎沒有影響;能夠自動校零;有精確的差分輸入電路;自動判別信號極性;有超、欠壓輸出信號;采用位掃描(共5位)與BCD碼輸出。本次設計應用PT100作為溫度傳感器,需要接三根信號線,其中兩線內部短接,信號經單8通道數字控制模擬電子開關CD4051選通后,經運算放大器后得到溫度信號對應的模擬電壓值,本次設計選擇的處理方法是經運算放大器的6管腳引出此模擬電壓信號,直接用單片機實現數字化處理,模擬量前向通道如圖9所示[6]。
繼電器輸出模塊主要用來執行STM32輸出的PWM控制信號,及時的接通或者斷開后邊的固態繼電器HH52P和交流接觸器CJ20-10,進而實現對加熱器主電路的控制。由于單片機輸出的PWM信號3.3V左右電壓較低,不能直接用來驅動24V的固態繼電器HH52P,因此需要在其中間加用繼電器輸出模塊,繼電器輸出模塊供電電壓12V,只要有輸入信號便可以控制線圈的吸合與斷開,繼電器輸出模塊如圖10所示。
PT100是鉑熱電阻器,它的阻值會隨著溫度的變化而改變。PT后的100即表示它在0℃時阻值為100歐姆,在100℃時它的阻值約為138.5歐姆。常見的PT100感溫元件有陶瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在陶瓷骨架,玻璃骨架,云母骨架上再經過復雜的工藝加工而成[7]。PT100的工作原理:當PT100在0℃的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成近似勻速的增長。但他們之間的關系并不是簡單的正比的關系,而更應該趨近于一條拋物線。
鉑電阻的阻值隨溫度的變化而變化的計算公式如公式(1)和公式(2)所示。
公式中的A,B,系數為實驗測定。PT100鉑電阻的RT曲線圖如圖11所示
PT100電阻隨溫度變化表見表1
本次設計的系統硬件電路實物圖如圖12所示。
二、控制系統軟件設計
1、軟件開發環境及其工具
C語言編程
C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序,因此,它的應用范圍廣泛,C程序設計語言是一種在國內外被廣泛使用的計算機編程語言。C語言是一種結構化語言,它層次清晰,便于按模塊化方式組織程序,易于調試和維護。C語言作為一種高級程序設計語言得到了廣泛的應用,采用C語言編寫的軟件程序不針對特定的硬件系統,可以根據不同的單片機 做移植,基于C語言的以上諸多特點及優點,本設計的軟件程序設計,采用C程序設計語言[9]。
軟件開發工具介紹
編程軟件使用源自德國Keil公司的 RealView MDK,這一款編程軟件被全球超過十萬的嵌入式工程師或者學者驗證和使用,是ARM公司最新推出的針對各種嵌入式處理器的軟件開發工具。它集成了業界最領先的技術,融合了中國多數軟件工程師所需要的特點和功能,uVision4集成開發環境支持ARM7、ARM9和最新的Cortex-M3內核處理器,自動配置啟動代碼,集成Flash少些模塊,強大的性能分析功能。其集成開發環境如圖13所示。
uVision4集成開發環境主要的性能:
(1) 源代碼編輯器的功能非常強大。
(2) 設備數據庫可以根據開發工具進行配置。
(3) 工程管理器可以用于創建和維護工程。
(4) 編譯工具集匯編、編譯、連接過程于一體。
(5) 用于設置開發工具配置的對話框。
(6) 真正集成高速CPU及片上外設模擬器的源碼級調試器。
(7) 高級GDI接口,可用于目標硬件的軟件調試和ULINK2仿真器的連接。
(8) 用于下載應用程序到Flash ROM中的Flash編程器。
(9) 完善的開發工具手冊、設備數據手冊和用戶向導。
2、STM32工程創建與配置
經過學習軟件的編程,對STM32程序編寫有初步的認識,下面就是創建與配置工程的全部過程。
(1)新建一個文件夾(以后編的每一個工程都放進這個文件夾里,自己命名,此處所有文件都可以自己命名,例如:STM32 file)。此處所用到的庫函數版本為V3.5庫函數版本。
(2)創建一個文件夾(名字可以根據你編寫的程序來命名,如:Demo)。 新建子文件夾User,用于存放用戶源程序。新建子文件夾Project,用戶KEIL工程文件。在Project下依次創建Obj和List子文件夾,存放編譯過程中產生的中間文件。將main.cstm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h 、system_stm32f10x.c等文件復制到User文件下。
(3)復制源代碼到Demo文件夾。
將stm32f10x_stdperiph_lib3.5 / Libraries文件夾整體復制到Demo文件夾下 這就是ST的標準庫,是以源代碼形式提供的。也可將Libraries文件夾直接復制到STM32 file文件夾下,使其與以后創建的其他工程同在一個目錄下,這樣可使在該目錄在的工程共享Libraries。免得以后創建一個工程就得復制一次Libraries。
(4)新建一個Keil MDK工程
? 啟動Keil MDK,點擊菜單New uVision Project,然后按向導進行操作。選擇CPU類型為STM32F103VE。當提示是否復制啟動代碼時,選擇否。為了延長芯片使用壽命以及加快仿真速度,可以在ram中直接仿真(ram仿真速度快),用ram仿真 在斷電之后數據就全部丟失了,修改Target名字, 添加兩個,一個Flash,一個Ram。
? 為了便于代碼管理,在這個Project下創建幾個Group,User:存放用戶自己寫的源代碼;RVMDK:存放啟動文件(匯編文件);StdPeriph_Driver:存放ST標準庫文件;CMSIS :存放CMSIS接口文件(這也是庫的一部分);創建好Group后,我們開始依次添加文件。添加User:如main.c stm32f 10x_it.c添加RVMDK:statup_stm32f 10x_hd.x;添加StdPeriph_Driver :我們用到的STM32溫度控制系統設計
一些.C文件。如:misc.c stm32f 10x_rcc.c stm32f 10x_gpio.c等;添加CMSIS :core_cm3.c system_stm32f 10x.c。
(5)配置工程, 點擊“Options”按鈕。
? 打開Flash 調整Flash設置,切換到Output,然后選擇Object文件夾,在CreateHex File 前打鉤,并將Name Executable修改為output。
切換到Listing,選擇Listings文件夾。切換到C/C++,添加兩個預編譯宏STM32F10X_HD, USE_STDPERIPH_DRIVER (這是ST庫用到了這兩個宏),修改Includes路徑。切換到Debug,選擇硬件調試器,我們選擇ST-Link Debugger,在Run to main前打鉤。切換到Utilities,選擇調試器類型,我們選擇ST-Link Debugger。
? 打開Ram,調整Ram設置。切換到target,切換到Output。選擇Object文件夾,在Create Hex File 前打鉤。將Name Executable修改為output。切換到Listing,選擇Listings文件夾。切換到C/C++,選中One ELF Section per Function,添加兩個預編譯宏STM32F10X_HD, USE_STDPERIPH_DRIVER(這是ST庫用到了這兩個宏),修改Includes路徑。這樣就新建一個工程,我們可以根據需要自己所要實現的功能編輯程序。
三、軟件系統總體設計
1、軟件程序結構
在深入學習STM32編程、PID控制算法、組態王軟件的基礎上進行溫度控制系統的軟件設計。軟件設計主要包括溫度數據的采集變換、PID算法的設計、PWM輸出信號控制以及觸摸屏顯示設計、上位機監控畫面的設計。上位機監控畫面的設計主要包括設計監控主畫面、設計報警畫面等。整個程序系統主要有主控程序、初始化程序、溫度設定程序、PID設置程序、溫度采集程序、溫度顯示程序、PID控制算法程序、PWM控制信號輸出程序和串口通信程序組成,其結構如圖14所示。 3.2.2 主程序設計
主程序是整個軟件系統的主干,處在程序的最頂一層,引導系統進入正常的工作狀態,并且協調著各個程序塊之間的調用關系,使硬件系統能正常的工作以完成溫度控制系統任務,其流程如圖15所示。 3.2.3 初始化程序設計
系統初始化程序在系統上電啟動或者復位時,對溫度控制器的硬件和軟件進行初始化,完成系統的配置工作,初始化程序主要包括:顯示屏初始化、系統時鐘初始化、I/O 端口的配置、定時器初始化。
2、溫度采集程序設計
溫度檢測電路是由PT100溫度傳感器和模擬量前向通道組成的,溫度的檢測由二者直接完成。利用溫度檢測電路得到溫度變化對應的模擬電壓信號,該信號直接由STM32進行A/D轉換,由于轉化的數值與實際的溫度值之間不是線性關系,要用DS18B20采集對應溫度值,該溫度值用來校驗當前溫度是否正確,并用此溫度值對應前向通道輸出的模擬電壓值以擬合數值與溫度值的曲線,得到他們之間的函數關系,本次擬合曲線如圖16所示。
曲線直線化是曲線擬合的重要手段之一。對于某些非線性的資料可以通過簡單的變量變換使之直線化,這樣就可以按最小二乘法原理求出變換后變量的直線方程,在實際工作中常利用此直線方程繪制資料的標準工作曲線,同時根據需要可將此直線方程還原為曲線方程,實現對資料的曲線擬合。最終經MATLAB得到曲線公式如公式(3)所示。
溫度采集相關的程序核心代碼如下所示:
void filter(void) //模擬量前向通道溫度采集
{
int sum = 0;
u8 count,i;
for(i=0;i《12;i++)
{
for(count=0;count《Sampling_Number;count++)
{
sum += Conv_AD_Value[count][i];
}
After_filter[i]=sum/Sampling_Number;
sum=0;
}
}
此程序用來獲取當前溫度對應的模擬量信號,并將其轉化為數字量信號,經由擬合公式計算出對應的溫度值。
3、位置式PID控制算法設計
工業生產過程中,對于生產裝置的溫度、壓力、流量、液位等工藝變量常常要求維持在一定的數值上,或按一定的規律變化,以滿足生產工藝的要求。PID控制算法的原理是對整個控制系統進行按偏差進行調節,從而使被控量的實際值與工藝要求的預定值一致。因為PID控制算法具有:技術成熟、容易被人們熟悉和掌握、不需要建立數學模型、控制效果好、魯棒性等優點,所以PID控制算法成為應用最廣泛的控制算法。
單片機控制是一種采樣控制,它只能根據采樣時刻的偏差值計算控制量。因此連續PID控制算法不能直接使用,需要采用離散化方法。由于工業生產過程大多數是緩慢變化的過程,因此只要控制機的采樣周期T取得足夠短,斷續控制形式就趨于連續控制形式。數字PID控制算法又分增量式PID控制算法和位置式PID控制算法,由于位置式PID控制算法控制精度比較高,而增量式PID控制算法有:積分截斷效應大、有靜態誤差、溢出的影響大等缺點,所以本設計選用的控制算法是位置式PID控制算法。
位置式PID控制算式如公式(4)所示。
PID控制算法的參數整定與采樣周期的選取
PID控制算法參數整定的方法很多,概括起來有如下兩大類:
(1)理論計算整定法。它主要依據系統的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接使用,還必須通過工程實際進行調整和修改。
(2)工程整定法。它主要依賴于工程經驗,直接在控制系統的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。PID控制算法參數的工程整定方法,主要有臨界比例法、反應曲線法和衰減法。這三種方法各有其特點,其共同點都是通過試驗,然后按照工程經驗公式對控制器參數進行整定。但無論采用哪一種方法所得到的控制器參數,都需要在實際運行中進行最后的調整與完善。
本文采用經驗法整定PID控制算法參數,下面具體說明經驗法的整定步驟:
(1)讓調節器參數的積分系數I=0,微分系數D=0,控制系統投入閉環運行,由小到大改變比例系數P,讓擾動信號作階躍變化,觀察控制過程,直到獲得滿意的控制過程為止。
(2)取比例系數P為當前的值乘以0.83,由小到大增加積分系數I,同樣讓擾動信號作階躍變化,直至得到滿意的控制過程。
(3)積分系數I保持不變,改變比例系數P,觀察控制過程有無改善,如有改善則繼續調整,直到滿意為止。否則,將原比例系數P增大一些,再調整積分系數I,力求改善控制過程。如此反復試湊,直到找到滿意的比例系數P和積分系數I為止。
(4)引入適當的微分系數D,此時可適當增大比例系數P和積分系數I。和前述步驟相同,微分系數的整定也需反復調整,直到控制過程滿意為止。
經驗法簡單可靠,但需要有一定的現場運行經驗,整定時易帶有主觀片面性。當采用PID控制算法時,由于有多個整定參數,反復試湊的次數增多,因此增加了得到最佳整定參數的難度。
需要注意的是:本設計所用到PID控制算法的參數與的工業上PID控制算法的參數有所不同,工業中由于對象的體積大、容量大、控制室距離現場較遠等因素,所以其PID控制算法的參數普遍比本設計的大。書上、參考資料上的的PID控制算法的參數多數都是從工業生產過程中得來的,因此此經驗數據不適應作本設計PID控制算法的參數。
采樣周期的選取,按一定的時間間隔T,把時間上連續和幅值上也連續的信號,轉變成在時刻0、T2、…、kT的一連串脈沖輸出信號的過程稱為采樣過程。執行采樣動作的開關S稱為采樣開關或采樣器采樣后的脈沖序列??ty*稱為采樣信號,采樣器的輸入信號??ty稱為原始信號,采樣開關每次通斷的時間間隔T稱為采樣周期。采樣信號??ty在時間上是離散的,但在幅值上仍是連續的,所以采樣信號是一個離散的模擬信號。信號采樣過程如圖18所示。
從信號的采樣過程可知,經過采樣不是取全部時間上的信號值,而是取某些時間上的值。這樣處理會不會造成信號丟失呢?香農采樣定理指出:如果模擬信號(包括干擾在內)頻譜最高頻率為maxf,只要按照采樣頻率max2ff?進行采樣,那么采樣信號??ty*就能惟一的復觀??ty。采樣定理給出了??ty*能惟一的復觀??ty所必需的最低采樣頻率。實際應用中,常取??max105ff??,甚至更高。
4、采樣周期的確定需要注意以下事項:
(1)從執行機構的特性要求來看,有時需要輸出信號保持一定的寬度。采樣周期必須大于這一時間。
(2)從控制系統的隨動和抗干擾的性能來看,要求采樣周期短些。
(3)從單片機的工作量和每個調節回路的計算來看,一般要求采樣周期大些。
(4)從單片機的精度看,過短的采樣周期是不合適的。
經過多次調試設置,采樣周期T選為1s采樣效果最好,且信號采樣不失真。
5、 PWM輸出程序設計
脈沖寬度調制(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調制,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中[14]。PWM控制技術以其控制簡單,靈活和動態響應好的優點而成為電力電子技術最廣泛應用的控制方式。
通過單片機輸出的PWM信號控制固態繼電器的通斷,通過改變一定時間內通過的交流波頭數實現對電加熱水器內水溫的控制,我國公共電力網的頻率均為50HZ,周期也就是0.02秒,設置 PWM 信號的輸出周期為4秒,即STM32單片機以0.25Hz的頻率輸出PWM,改變PWM的占空比,在4秒的周期內,當PID算法的控制量大于100時,通過交流電源的最大周期波數是100,當 PID 算法的控制量小于0時,最小周期波數是0,當控制量在0~100之間時,就按比例換算進行確定PWM輸出信號的占空比。STM32單片機具有多個定時器/計數器,每個定時器/計數器都可以獨立的輸出PWM信號,本設計采用單片機的TIM3定時器/計數器在PB5 引腳輸出PWM,PWM輸出流程如圖19所示。
四、上位機監控界面設計
1、上位機監控軟件的選取
組態王(Kingview)由北京亞控自動化軟件有限公司開發的,該軟件由中國科技大學學士、清華大學碩士林偉總設計,經數十位工程師歷時五年開發成功,是最優秀的國產組態軟件,居全國同類軟件產銷量第一。組態王是一個具有易用性、開放性和集成能力的通用組態軟件。應用組態王可以使工程師把精力放在控制對象上,而不是形形色色的通信協議、復雜的圖形處理、枯燥的數字統計。只需要進行填表操作,即可生成適合于用戶的監控和數據采集系統。可以在整個生產企業內部將各種系統和應用集成在一起,實現“廠際自動化”的最終目標。組態王開發監控系統軟件是新型的工業自動控制系統正以標準的工業計算機軟、硬件平臺構成的集成系統取代傳統的封閉式系統,具有適應性強、開放性好、易于擴展、經濟、開發周期短等優點。組態軟件以其可靠性高、抗干擾能力強、界面簡單、功能強大、性價比高等顯著特點廣泛應用于現代工業的自動控制之中。
2、 組態王軟件組態監控界面設計
使用組態王實現控制系統實驗仿真的基本方法:
(1)圖形界面的設計;
(2)構造數據庫;
(3)建立動畫連接;
(4)運行和調試。
根據以上控制方案的確定,本次設計組態王監控界面如圖20所示
定義數據變量見表2。
選擇設備的相關配置如下:
設備名稱:通用單片機ASCII;
通信描述:串口;
邏輯名稱:STM32;
選擇串口號:COM4;
設備地址:1.0。
動態連接,參數動態連接設置見表3。
3、報警和事件窗口設計
運行報警時間記錄是監控軟件必不可少的功能,“組態王”提供了強有力的支持和簡單的控制運行報警和時間記錄方法。
組態王中的報警和事件主要包括變量報警事件、操作事件、用戶登陸事件和工作站事件。通過這些報警和事件,用戶可以方便地記錄和查看系統的報警、操作和各個工作站的運行情況。當報警和事件發生時,在報警窗中會按照設置的過濾條件實時的顯示出來[16]。定義報警組,本次建立報警畫面如圖21所示。
五、系統的運行結果及問題分析
1、運行結果及分析
經過多次的參數設置的調試,對比各組設置參數的調節效果得出:當程序中PID設置參數如表4所示參數時控制效果最好。
總結:本系統的控制核心算法是PID控制算法,難點是PID參數整定。圖22為系統運行曲線的初始溫度50℃,設定溫度60℃時的結果,經過9分鐘的調節系統達到穩定,實際溫度達到設定溫度,穩態誤差為0.4℃,超調量幾乎為零。本設計中溫度能達到設定溫度,而且超調量較小,穩態效果很好。
2、出現的問題及解決方法
在長達十六周的畢業設計中,自己碰到了不少問題。曾經,為了解決這些問題也花費了較多的時間。當然,這也使自己對實際工程中所遇到或者可能遇到的問題有了個提前認知。
(1)上位機采集不到現場的數據
解決方法:原因是溫度傳感器與模擬量前向通道接線有錯誤、松動,串口使用的通道設置錯誤,在利用組態王軟件進行I/O設備組態的時候應選設備名稱通用單片機ASCII。
(2)上位機的輸出控制信號控制不了電加熱水器
解決方法:上位機組態軟件中查看數字量輸出通道的設置與當前連線的通道不一致。
? ? ? ? (3)系統穩定后誤差比較大
解決方法:誤差產生的原因有:溫度對象是大慣性對象、單片機控制信號從發出到固態繼電器的吸合,再到加熱絲停止加熱,這過程中存在時間誤差、硬件靈敏度不夠精確等問題。
評論
查看更多