基于A(yíng)VR單片機atmega32的PID和PWM液體流量控制系統研究
4.2 PID算法
常規的PID算法的基本原理如下圖4-1所示,模擬PID控制器的控制規律為
——比例系數; ——積分常數; ——微分常數; ——控制常量。
由于單片機控制是一種采樣控制,它只能根據采樣時(shí)刻的偏差值計算控制量,而不能像模擬控制那樣連續輸出控制量,進(jìn)行連續控制。并且單片機處理數據的量有限,綜合考慮該系統采用增量式PID控制,其算法如式4-3:
其中 為本次采樣誤差; 為上次采樣誤差; 為上上次采樣誤差。其控制程序的流程圖如圖4-2所示
用C編程實(shí)現程序如下所示:
void PID()
{float u; //電壓差值
sint z; //本次輸出增量
sint temp1; //臨時(shí)記錄值
float t;
t=itime*T;
Speed_change(); //將流速轉化為數字量
if (Ek==(0-Sheding_liusu)) //當Ek大于某一值時(shí)直接加最大
{temp1=0x0000;
SetOutputOCR1A(temp1); }//設置輸出比較寄存器值
else{
Ek=Sheding_liusu-Celiang_liusu;
u=A*((Ek-Ek_1)+(t/B)*Ek+(C/t)*(Ek-2*Ek_1+Ek_2)); //增量式PID算法
z=u/U1*0x03FF;
temp1=GetOutputOCR1A(); //讀取輸出比較寄存器值
temp1=temp1+z;
SetOutputOCR1A(temp1);
Ek_2=Ek_1;
Ek_1=Ek;}
TCNT1=0x00;}
5. Matlab下的仿真
Matlab是控制系統的一種分析和仿真軟件,利用它可以方便準確的對控制系統進(jìn)行仿真,為了驗證數字PID算法的可靠性,采用Matlab6.5下的simulink組件對增量數字PID算法進(jìn)行了仿真,仿真程序如圖5-1所示,仿真結果如圖5-2所示.。
如圖5-2Kp=0.5,Ki=0.001,Kd=0.001
仿真結果表明運用PID對PWM方波進(jìn)行調解具有良好的動(dòng)態(tài)性和穩定性,從而證明了該液體流量控制系統得可行性。
6.結束語(yǔ)
本文介紹了運用數字PID算法結合AVR單片機的PWM功能實(shí)現液體流量控制的方案,并運用Matlab軟件進(jìn)行了仿真,證明了系統的可行性。數字PID算法調整控制參數較之硬件PID控制器操作簡(jiǎn)便,系統設置靈活。該控制系統可應用于工業(yè)、農業(yè)等領(lǐng)域的液體流量控制中,也可用于液壓系統的電磁閥控制。
本文作者創(chuàng )新點(diǎn):
傳統的液體流量控制大多采用高速開(kāi)關(guān)電磁閥,電磁閥的頻繁開(kāi)關(guān)會(huì )產(chǎn)生很大滯后性,不利于控制的系統的實(shí)時(shí)性。該系統利用PWM信號控制比例電磁閥開(kāi)口的大小,實(shí)現了流量的連續控制,減少了滯后性同時(shí)采用了增量式數字PID算法調節實(shí)現了閉環(huán)控制,使系統調節更準確,更穩定。
參考文獻:
[1] 劉金坤,先進(jìn)PID控制Matlab仿真(第2版)電子工業(yè)出版社 2004。
[2] 王曉明,電動(dòng)機的單片機控制 北京:北京航空航天大學(xué)出版社 2002
[3] 王正林等 過(guò)程控制與Simulink應用 電子工業(yè)出版社 2006。
[4] 聶慧萍 基于A(yíng)RM 和uCOS—II的固體科氏流量計測控系統 微計算機信息 2005第21卷第7-2期。
pwm相關(guān)文章:pwm原理
評論