田冰


摘 要 在科技不斷發(fā)展的今天,智能控制技術(shù)已經(jīng)成為工業(yè)控制技術(shù)的發(fā)展方向,現(xiàn)在工業(yè)上常用的PLC和調(diào)節(jié)器的基本控制算法是PID,但是它們不能通過(guò)簡(jiǎn)單的更改程序而適用于各種應(yīng)用情況,所以一種基于51單片機(jī)的PID智能控制器就是一個(gè)簡(jiǎn)單方便的開發(fā)平臺(tái)。
關(guān)鍵詞 智能控制技術(shù);PID;開發(fā)平臺(tái)
本次項(xiàng)目的主要目的是設(shè)計(jì)一個(gè)基于51單片機(jī)的PID智能控制器。這個(gè)控制器的主要功能是控制單容水箱的液位。當(dāng)水箱液位與設(shè)定值出現(xiàn)偏差時(shí),本次設(shè)計(jì)的PID智能控制器能夠快速反應(yīng),以此來(lái)控制單容水箱的液位。
1 項(xiàng)目設(shè)計(jì)
硬件設(shè)計(jì)方面,主要利用AT89c51單片機(jī)最小系統(tǒng)作為控制器,而信號(hào)的轉(zhuǎn)換則利用A/D、D/A芯片來(lái)實(shí)現(xiàn)。
軟件設(shè)計(jì)方面,對(duì)基于51單片機(jī)的PID智能控制器來(lái)說(shuō),它程序編寫的主要思路如下:
(1)信號(hào)采集和數(shù)據(jù)處理器選用AT89C51單片機(jī)[1]。
(2)根據(jù)I2C總線協(xié)議來(lái)定義兩個(gè)I/O口,控制A/D模塊,把下水箱的液位傳感器所反饋回來(lái)的電流量通過(guò)電阻轉(zhuǎn)換為電壓信號(hào),再轉(zhuǎn)換成數(shù)字量信號(hào)并傳遞給51單片機(jī)[2]。
(3)51單片機(jī)對(duì)信號(hào)進(jìn)行采集的同時(shí)根據(jù)用戶所設(shè)定的水位值進(jìn)行PID算法計(jì)算,分析得到控制電壓值。
(4)通過(guò)D/A轉(zhuǎn)換模塊把所需要的電壓傳遞給調(diào)節(jié)閥,從而實(shí)現(xiàn)對(duì)水箱液位實(shí)時(shí)、快捷、準(zhǔn)確地控制。
2 PID控制算法
PID調(diào)節(jié)器把系統(tǒng)設(shè)備所給的值和我們?cè)趯?shí)際中所得到的系統(tǒng)真正輸出的值之間的偏差通過(guò)P、I與D之間的線性組合來(lái)組成系統(tǒng)所需要的控制量,進(jìn)而控制被控對(duì)象。
PID調(diào)節(jié)器各環(huán)節(jié)對(duì)系統(tǒng)校驗(yàn)的作用:
(1)比例環(huán)節(jié)P:能快速減小系統(tǒng)實(shí)際輸出值與我們所需要得到的輸出值之間的偏差。
(2)積分環(huán)節(jié)I:消除靜差。積分常數(shù)越大,積分作用越弱[3]。
(3)微分作用D:能在系統(tǒng)偏差值變大之前,盡早引入有效修正信號(hào),減小調(diào)節(jié)時(shí)間。
基于51單片機(jī)的智能控制器采用的PID為增量型控制算法,所以在程序編寫時(shí),主要采用了公式(1):
編程時(shí),我們可以定義比例系數(shù)Kp,積分系數(shù)Ki,微分系數(shù)Kd,PID輸出最大輸出值PID_MAX,誤差error=設(shè)置水位值Set-實(shí)際水位值Real,得出比例量P_term=Kp*error,積分量I_term=Ki *(error+error1), 微分量D_term=Kd *(error-last error1),根據(jù)公式,可以得到PID輸出PID_out=P_term+I_term+D_term。在計(jì)算中如果所得值大于最高上限值或低于下限值那么就直接輸出。把PID函數(shù)計(jì)算所得到的值賦值給執(zhí)行器這樣就實(shí)現(xiàn)了水箱水位的控制。
3 系統(tǒng)調(diào)試與實(shí)驗(yàn)結(jié)果分析
本次項(xiàng)目的調(diào)試過(guò)程是在A3000過(guò)程控制實(shí)驗(yàn)裝置上進(jìn)行的。此實(shí)驗(yàn)裝置包括被控水箱、供電系統(tǒng)、液位傳感器、調(diào)節(jié)閥等裝置,將此實(shí)驗(yàn)裝置與本次項(xiàng)目所設(shè)計(jì)的PID控制器相連。
在PID控制器與A3000實(shí)驗(yàn)裝置的硬件接線上,首先將A3000實(shí)驗(yàn)裝置中的液位傳感器與A/D模塊相接,然后A/D模塊與51單片機(jī)相連,51單片機(jī)又與D/A模塊相連,最后 D/A模塊與調(diào)節(jié)閥相連,由此構(gòu)成一個(gè)回路,用來(lái)控制水箱液位。
對(duì)于單容水箱液位的控制,當(dāng)設(shè)定值為180時(shí),PID控制算法所得到的系統(tǒng)輸出變化值如下圖。分析PID控制系統(tǒng)的液位輸出圖可知,當(dāng)時(shí)間為150左右時(shí),PID控制系統(tǒng)液位達(dá)到180并逐漸趨于平穩(wěn);
4 結(jié)束語(yǔ)
本次項(xiàng)目設(shè)計(jì)的PID控制器的基本原理為:
(1)通過(guò)A/D模塊將液位傳感器檢測(cè)到的模擬量轉(zhuǎn)換為數(shù)字量傳遞給51單片機(jī);
(2)用PID算法計(jì)算控制作用值;
(3)將控制作用值通過(guò)D/A模塊傳遞給調(diào)節(jié)閥,以此來(lái)控制水箱液位。
通過(guò)實(shí)驗(yàn)分析,當(dāng)水箱液位與設(shè)定值出現(xiàn)偏差時(shí),本次設(shè)計(jì)的PID控制器能夠快速反應(yīng),以此來(lái)控制單容水箱的液位。
參考文獻(xiàn)
[1] 孫全芳.基于CAN總線的智能化溫度檢測(cè)系統(tǒng)的設(shè)計(jì)與研發(fā)[D].青島:中國(guó)海洋大學(xué),2011.
[2] 夏曉晶.單片機(jī)實(shí)現(xiàn)的仿人智能PID控制器[D].大連:大連海事大學(xué),2004.
[3] 馬林,周煒明.變頻器SB60G過(guò)程PID控制技術(shù)的應(yīng)用[J].精密制造與自動(dòng)化,2013(4):41-42.