|
(1.國家農業信息化工程技術研究中心;2.中國農業大學)李曉光 王秀 李民贊 Li,Xiaoguang Wang,Xiu Li,Minzan 摘 要:本文介紹了一種PWM結合數字PID算法在液體流量變量控制系統中的應用方案,系統以AVR單片機atmega32為核心,以比例電磁閥為控制對象, 利用atmega32的PWM功能,采用數字PID調節實現液體流速閉環控制。仿真結果表明采用PWM和數字PID控制液體流速具有良好的動態、穩態性, 從而證明了這種設計的合理性和優越性。 關鍵詞:AVR單片機 PWM PID 比例電磁閥 1. 引言 液體流量控制通常采用電磁閥實現,近年來,電磁閥的結構和控制方式發生了很大的變 化, 隨著計算機進入控制領域,以及新型的電力電子功率元器件的不斷出現,使采用全控制的開關功率元件進行脈寬調制(pulse width modulation ,簡稱PWM)控制方式得到了廣泛的應用。這種控制方式很容易在單片機中實現,從而為電磁閥的控制數字化提供了契機。 將 偏差的比例(proportion)、積分(integral)、微分(differential)通過線性組合構成控制量,用這一控制量對被控對象進行 控制,這樣的控制器稱PID控制器。PID控制器最早出現在模擬控制系統中,傳統的模擬PID控制器是通過硬件(電子元件、氣動和液壓元件)來實現它的功 能。隨著計算機的出現,把它移植到計算機控制系統中來,將原來的硬件實現的功能用軟件來代替,因此稱作數字PID控制器,所形成的一整套算法則稱作數字 PID算法。數字PID控制器與模擬PID控制器相比,具有非常強的靈活性,可以根據試驗和經驗在線調整參數,因此可以得到更好的控制性能。 2. 液體流量控制系統組成 本 系統采用AVR系列的atmega32單片機為核心,通過設置atmega32的PWM控制寄存器產生脈寬可調的PWM波,對比例電磁閥的輸入電壓進行調 制,從而實現了對液體流量的變量控制。單片機統過渦輪流量計采集實際流量信號,根據該信號在其內部采用數字PID算法對PWM控制寄存器的值進行修改,從 而達到精確的變量控制。為了防止外界干擾信號進入控制系統,單片機和渦輪之間采用光藕隔離,提高了系統的可靠性。溫度傳感器和壓力傳感器用來做監測噴桿中 的壓力和溫度。通過4*4鍵盤和128*64液晶模塊實現人機對話,便于用戶操作。系統原理圖如圖2-1所示:
3硬件部分
3.1 PWM驅動電路
單片機輸出的PWM脈沖信號分別經7406和7407輸入到Q1,Q2的G極,在每個PWM周期的高電平區間,Q1導通,Q2截止,電磁閥導通。在 每個PWM周期的低電平區間,Q1截止從而切斷了電源,電磁閥的感應電動勢經Q2內部續流二極管形成回路。此時Q2的G極為高電平但是由于二極管的鉗位作 用使開關二極管關閉,因此通過調整單片機的PWM波就可以實現電磁閥輸入電壓占空比的調節,從而實現對流量的調節。 3.2 比例電磁閥 比 例電磁閥在上世紀60年代末就已經得到了應用,最初是用于液壓控制系統。隨著單片機和集成電路的發展,其逐漸應用到各種液體的流量控制中。比例型電磁鐵的 工作原理如下:線圈通電后,軛鐵和銜鐵內部產生磁通并產生電磁吸力,將銜鐵吸向軛鐵,同時銜鐵上的彈簧受到壓縮,當銜鐵上的電磁力和彈簧力平衡時,銜鐵停 止位移。比例型電磁鐵的吸力在有效行程范圍內和線圈的電流或電壓大小具有線形關系。因此通過調解輸入的電流或者電壓就可以控制其開口的大小,從而達到變量 控制的目的。本系統采用的比例電磁閥特性曲線如圖3-1所示:(Kvs代表比例電磁閥最大開口時的流量,Kv代表對應某一電壓或者電流值時的流量值)。
圖3-1 4. 軟件部分 4.1 PWM波的產生 設計采用單片機atmega32產生PWM信號。atmega32的定時/ 計數器的PWM模式可以分成快速PWM和頻率(相位)調整PWM兩大類。 本設計采用快速PWM模式,快速PWM可以的到比較高頻率的PWM輸出,響應比較快,因此具有很高的 實時性。此時計數器僅工作在單程正向計數方式,計數器的上限值決定PWM的頻率,而比較匹配寄存器的值決定了占空比的大小。快速PWM模式的控制寄存器設 置如下: //輸出端口初始化 PORTD=0x44; DDRD=0x20; //T/C1初始化 TCCR1A=0xC3;/*比較匹配時OC1A輸出高電平,在top值時清零ICP下降沿捕捉, 時鐘1/8分頻(暫定),即工作在反相pwm模式*/ TCCR1B=0x0A;//10位快速pwm模式 TCNT1H=0x00;//start at 0 TCNT1L=0x00; 4.2 PID算法
圖4-1 常規的PID算法的基本原理如下圖4-1所示,模擬PID控制器的控制規律為
圖4-2 用C編程實現程序如下所示: void PID() {float u; //電壓差值 sint z; //本次輸出增量 sint temp1; //臨時記錄值 float t; t=itime*T; Speed_change(); //將流速轉化為數字量 if (Ek==(0-Sheding_liusu)) //當Ek大于某一值時直接加最大 {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;} 4. Matlab下的仿真 Matlab是控制系統的一種分析和仿真軟件,利用它可以方便準確的對控制系統進行仿真,為了驗證數字PID算法的可靠性,采用Matlab6.5下的simulink組件對增量數字PID算法進行了仿真,仿真程序如圖5-1所示,仿真結果如圖5-2所示.。
圖5-1
如圖5-2Kp=0.5,Ki=0.001,Kd=0.001 仿真結果表明運用PID對PWM方波進行調解具有良好的動態性和穩定性,從而證明了該液體流量控制系統得可行性。 6.結束語 本文介紹了運用數字PID算法結合AVR單片機的PWM功能實現液體流量控制的方案,并運用Matlab軟件進行了仿真,證明了系統的可行性。數字PID 算法調整控制參數較之硬件PID控制器操作簡便,系統設置靈活。該控制系統可應用于工業、農業等領域的液體流量控制中,也可用于液壓系統的電磁閥控制。 本文作者創新點: 傳 統的液體流量控制大多采用高速開關電磁閥,電磁閥的頻繁開關會產生很大滯后性,不利于控制的系統的實時性。該系統利用PWM信號控制比例電磁閥開口的大 小,實現了流量的連續控制,減少了滯后性同時采用了增量式數字PID算法調節實現了閉環控制,使系統調節更準確,更穩定。 參考文獻: [1] 劉金坤,先進PID控制Matlab仿真(第2版)電子工業出版社 2004。 [2] 王曉明,電動機的單片機控制 北京:北京航空航天大學出版社 2002 [3] 王正林等 過程控制與Simulink應用 電子工業出版社 2006。 [4] 聶慧萍 基于ARM 和uCOS—II的固體科氏流量計測控系統 微計算機信息 2005第21卷第7-2期。 作 者簡介:李曉光(1982—),男,碩士研究生,中國農業大學信息與電氣工程學院,研究方向:精準農業智能信息系統集成技術。王秀(1965—),男,博 士,研究員,主要從事的研究方向:精細農業智能信息系統集成技術。李民贊(1963—),男,博士,教授,主要從事的研究方向:電子信息技術在農業中的應 用。 (100097 國家農業信息化工程技術研究中心)李曉光 王秀 (100083 中國農業大學信息與電氣工程學院)李曉光 (100097 國家農業信息化工程技術研究中心北京2449信箱26分箱)李曉光 Email:lixiaoguang3535@163.com 指導教師審閱批注: 該 篇文章在液體流量控制方面具有一定的創新,采用了先進的數字PID控制結合PWM的方法。文章對系統的軟件和硬件分別進行了詳細的闡述,并運用了仿真軟件 Matlab進行了驗證。仿真結果表明該系統可以實現液體流量的實時變量控制,這就為后續的流量控制系統的開發奠定了堅實的基礎。 |