基于AT89S51單片機(jī)的PID溫度控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
溫度控制技術(shù)不僅在工業(yè)生產(chǎn)有著非常重要的作用,而且在日常生活中也起著至關(guān)重要的作用。本文對(duì)系統(tǒng)進(jìn)行硬件和軟件的設(shè)計(jì),在建立溫度控制系統(tǒng)數(shù)學(xué)模型的基礎(chǔ)之上,通過(guò)對(duì)PID控制的分析設(shè)計(jì)了系統(tǒng)控制器,完成了系統(tǒng)的軟、硬件調(diào)試工作。算法簡(jiǎn)單、可靠性高、魯棒性好,而且PID控制器參數(shù)直接影響控制效果。
1. 系統(tǒng)概述
1.1 系統(tǒng)總體結(jié)構(gòu)
該系統(tǒng)利用AT89S51豐富的外設(shè)模塊搭建硬件平臺(tái)。系統(tǒng)的硬件電路包括:模擬部分和數(shù)字部分,基本電路由核心處理模塊、溫度采集模塊、鍵盤(pán)顯示模塊及控制執(zhí)行模塊等組成。
1.2 系統(tǒng)工作流程
系統(tǒng)開(kāi)始工作時(shí),首先由單片機(jī)控制軟件發(fā)出溫度讀取指令,通過(guò)數(shù)字溫度傳感器采集被控對(duì)象的當(dāng)前溫度值并送顯示屏實(shí)時(shí)顯示。然后,將該溫度測(cè)量值與設(shè)定值T比較,其差值送PID控制器。PID控制器處理后輸出一定數(shù)值的控制量,經(jīng)D/A轉(zhuǎn)換為模擬電壓量,控制被控對(duì)象進(jìn)行加熱。
1.3 系統(tǒng)軟件設(shè)計(jì)方法
整個(gè)系統(tǒng)軟件設(shè)計(jì)包括管理程序和控制程序兩部分,管理程序包括LED顯示的動(dòng)態(tài)刷新、控制指示燈、處理鍵盤(pán)的掃描和響應(yīng)。控制程序包括A/D轉(zhuǎn)換、中值濾波、越限報(bào)警處理、PID計(jì)算等。
2. 系統(tǒng)硬件結(jié)構(gòu)
2.1 電源電路的設(shè)計(jì)
系統(tǒng)所用直流電源由三端集成穩(wěn)壓器組成的串聯(lián)型直流穩(wěn)壓電源提供。設(shè)計(jì)中選用了LM7805 LM7815和LM7915三個(gè)三端集成穩(wěn)壓器,提供+5V直流電壓,輸出電流均為1A.變壓器將220V的市電降壓后再通過(guò)整流橋整流之后采用了大容量的電解電容進(jìn)行濾波,以減小輸出電壓紋波。電源電路圖如圖1所示。
圖1 電源電路圖
2.2 復(fù)位電路設(shè)計(jì)
單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。只有一個(gè)可靠的復(fù)位電路才能使系統(tǒng)避免出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象。電路圖如圖2所示。
圖2 復(fù)位電路圖
2.3 時(shí)鐘電路設(shè)計(jì)
本控制器采用的是內(nèi)部振蕩方式得到單片機(jī)的時(shí)鐘信號(hào),這種方式得到的時(shí)鐘信號(hào)比較穩(wěn)定。圖3為時(shí)鐘電路。
圖3 時(shí)鐘電路圖
2.4 可控硅輸出電路
可控硅是一種功率半導(dǎo)體器件,簡(jiǎn)稱SCR,也稱晶閘管。本部分為控制電加熱爐功率的雙向可控硅驅(qū)動(dòng)電路,采用MOC3041作為驅(qū)動(dòng)電路。如圖4所示。
圖4 可控硅輸出電路[!--empirenews.page--]
2.5 聲光報(bào)警電路模塊
某一通道的溫度測(cè)量值超出預(yù)先設(shè)定的上、下限報(bào)警值或系統(tǒng)運(yùn)行出現(xiàn)故障時(shí),系統(tǒng)發(fā)出聲光報(bào)警以提醒用戶注意。如圖5所示。
圖5 聲光報(bào)警電路圖
3.系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)主程序設(shè)計(jì)
在反應(yīng)器系統(tǒng)中,主程序的功能主要是設(shè)定程序執(zhí)行過(guò)程中用到的相關(guān)變量,分配寄存器,對(duì)所需要的參數(shù)初始化,根據(jù)定時(shí)中斷程序,調(diào)用相應(yīng)的功能模塊,完成一定的任務(wù)。
3.2 系統(tǒng)子程序設(shè)計(jì)
3.2.1 顯示子程序
LED顯示方式包括有靜態(tài)和動(dòng)態(tài)顯示兩種,動(dòng)態(tài)掃描顯示電路是將顯示各位的所有相同字段線連在一起,由一個(gè)8位I/O口控制,而每一位的公共端(共陽(yáng)或共陰COM)由另一個(gè)I/O口控制。由于這種連接方式將每位相同字段的字段線連在一起,當(dāng)輸出字段碼時(shí),每一位將顯示相同的內(nèi)容。因此,要想顯示不同的內(nèi)容,必須采取輪流顯示的方式。
3.2.2 定時(shí)子程序
定時(shí)程序主要是用于完成查表的占空比控制。總體思想是根據(jù)控制表中占空比控制變量U的不同取值,采用不同的定時(shí)來(lái)改變繼電器的通斷,根據(jù)繼電器的特性,要求不能頻繁通斷,所以通斷要有一定長(zhǎng)的時(shí)間,但又要考慮到控制能夠及時(shí)的根據(jù)新的采集值和設(shè)定值的變化來(lái)做出相應(yīng)的動(dòng)作。
4.控制方案
4.1 PID控制
PID控制器是一種線性控制器,它根據(jù)給定值與實(shí)際輸出值構(gòu)成控制偏差,將偏差比例、積分和微分通過(guò)線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制。
4.2 PID參數(shù)整定
由于PID控制器的輸出為系統(tǒng)偏差的比例、微分和積分作用后的線性組合,所以調(diào)整各個(gè)部分的線性系數(shù)就是PID控制器控制性能好壞的關(guān)鍵。必須針對(duì)具體被控對(duì)象對(duì)PID控制器參數(shù)進(jìn)行整定,采取擴(kuò)充臨界比例度法:
(a)選擇合適的采樣周期T.所謂合適是指周期足夠小,一般應(yīng)選它對(duì)象的純滯后時(shí)間的1/IO以下;
(b)僅讓控制器作純比例控制,由小到大逐漸增大比例系數(shù)Kp,直至使系統(tǒng)出現(xiàn)臨界振蕩,記下此時(shí)的臨界振蕩周期Ts和臨界振蕩增益Ks;
(c)選擇合適的控制度。所謂控制度,就是數(shù)字控制器和模擬調(diào)節(jié)器所對(duì)應(yīng)的過(guò)渡過(guò)程的誤差平方的積分之比;
(d)根據(jù)控制度查表。
4.3 Matlab仿真
通過(guò)對(duì)上述的整定方法的綜合運(yùn)用,整定后得到PID控制器的參數(shù)為:Kp=1.75,Ki=0.0125,Kd=3,在MATLAB/Simulink環(huán)境下建立溫度控制系統(tǒng)的仿真模型,如圖6示。仿真后得到系統(tǒng)階躍響應(yīng)曲線。
圖6 仿真模型
仿真后得到的系統(tǒng)階躍響應(yīng)的動(dòng)態(tài)性能還是比較理想的,超調(diào)很小(響應(yīng)峰值為1.017,超調(diào)量Q%=1.7%)。統(tǒng)的響應(yīng)誤差是也是比較小的(穩(wěn)態(tài)誤差為0.005),在系統(tǒng)要求的精度范圍之內(nèi)。
5.總結(jié)
系統(tǒng)采用模塊化設(shè)計(jì),擴(kuò)展性強(qiáng)。模塊化設(shè)計(jì),使控制器具有一定的通用性,而且運(yùn)行安全可靠。成本低,操作簡(jiǎn)單,體積小,安裝方便,反應(yīng)靈敏,控制精度高。