摘 要:介紹一種基于模糊控制的直流電機速度控制系統。該模糊控制器設計為二維模糊控制器,以速度反饋和給定轉速的誤差及誤差的變化率作為模糊控制器的輸入變量,采用帶調整因子的模糊控制器不需要建立模糊查詢表。運用DSP強大的計算能力直接按實時計算輸出控制量,實現編碼器的解碼、速度的測量。試驗表明系統具有較強的魯棒性和抗干擾能力,適應于各種不同的場合。
關鍵詞:DSP 模糊控制;直流電機;數字信號處理;二維模糊控制器
中圖分類號:TP273 文獻標識碼:A
文章編號:1004-373X(2008)10-057-04
Fuzzy System DSP-based for DC Motor Speed Control
ZHANG Zongbao,ZHOU Hongfu
(School of Mechanical Engineering,South China University of Technology,Guangzhou,510640,China )
Abstract:This paper presents a fuzzy control based on the DC motor speed control system.The fuzzy controller is designed for two-dimensional fuzzy controller whose input variable are the speed feedback,the error and the rate of change of error given the speed.The fuzzy controller using adjustment factor does not require a fuzzy query table.By using DSP calculation power of direct real-time control of DSP,it can realize decode encoder,measurve speed.The test shows that the system is robust and strong anti-jamming capability and can adapt to a variety of occasions.
Keywords:DSP fuzzy;control;DC motor;digital signal processing;two-dimensional fuzzy controller
1 引 言
電機控制系統分為發動機和電動機2個方面,就電動機的控制目標來說,主要有速度控制和位置控制2大類。電機的速度控制系統也稱為電機調速系統,他廣泛應用于機械、冶金、化工、造紙、紡織、礦山和交通等工業部門。直流電機由于具有良好的調速特性,寬廣的調速范圍,長期以來在要求調速的地方,特別是對調速性能指標要求較高的場合得到了廣泛的應用。特別是近年來隨著電力電子技術的發展,直流電機調速系統是一個復雜的多變量、非線性控制系統,控制參數多,各個參數之間相互影響,抗干擾能力較弱,不適合需要高控制性能的場合。因此,為了增強直流電機調速系統的抗干擾能力和魯棒性,提高調速系統的響應速度和穩態精度[1],本文提出了基于模糊控制的直流電機PWM調速系統。以往的直流電機多由單片機附加許多種接口設備構成,不僅復雜而且速度也受到限制,難以實現從位置環到速度、電流環的全數字控制,也不方便擴展。而應用數字信號處理器(DSP)實現的電機伺服系統卻可以只用1片DSP就可以替代單片機和各種接口,由于DSP芯片的快速運算能力,可以實現更復雜、更智能化的算法[2];可以通過高速網絡接口進行系統升級和擴展;可以實現位置、速度和電流環的全數字化控制。
2 直流電機工作原理
任何電機的工作原理都是建立在電磁力和電磁感應這個基礎上的,直流電機也是如此[3]。直流電機的工作原理如圖1所示。
圖1 直流電機的工作原理
電機具有1對磁極,電樞繞組只是1個線圈,線圈兩端分別在2個換向片上,換向片上壓著電刷A和B。當電樞在磁場中轉動時,線圈中要產生感應電動勢E,這個電動勢的方向(由右手定則確定)與電流或外加電壓的方向總是相反,所以稱為反電勢,他與發動機中的電動勢的作用時不同的。直流電機電樞繞組中的電流與磁通Φ相互作用,產生電磁力和電磁轉矩[4]。直流電機的電磁轉矩常用下式表示:
T=KtΦIn
式中,T為電磁轉矩(N#8226;m);Φ為對磁極的磁通(Wb);Ia為電樞電流(A);Kt為與電機有關的常數,Kt=9.55 Ke。
3 系統的硬件設計
該模糊控制系統以DSP(TMS320LF 2407)作為控制核心和運算核心。TI公司的TMS320LF2407是專門面向運動控制應用的數字信號處理器,其上包含電機控制應用所需要的各個主要功能模塊。他不僅有16位定點處理器內核,更重要的是他將許多電機控制常用的接口集成到1個DSP控制器上。
系統硬件基本上包括1個以TMS320LF2407為處理核心的DSP板,1個配套的功率驅動板和直流電動機。實現編碼器的解碼、速度的測量、模糊控制算法和相應的人機界面。本系統的硬件框圖如圖2所示:
圖2 硬件框圖
該系統的電機驅動器是自行設計,所設計的驅動電路采用脈寬調制技術,用到的電力電子器件是電壓控制型器件N溝道MOS管以及信號控制開關三極管。電路原理圖見圖3。
圖3 驅動器電路圖
4 系統控制設計
模糊控制是指模糊理論在控制技術上的應用,可以解決復雜系統的控制問題,控制邏輯更加接近人類思維,直接采用人類語言型控制規則,使得控制機理和控制策略易于理解和接受,設計簡單,便于維護和推廣。
4.1 光電編碼器測速
測速元件是速度閉環系統的關鍵元件。該系統中采用增量式光電編碼器測量直流電機的實時速度,進而通過模糊算法得到實時電機驅動的PWM控制量,實現直流電機速度的閉環控制。系統選用ZKX-6-50BM7型增量式光電編碼器是一種高精度角位移傳感器。
[BT4+*3]4.1.1 編碼器的解碼
系統直流電機編碼器共有A,B兩相輸出,輸入/輸出波型如圖4所示:
圖4 編碼器正轉輸入輸出
鑒于A,B相的波型特點:A相和B相的相位總是相差90°,如果可以在A相的下降沿,判斷出B相的電平狀態,即可判斷出電機的正反轉:當A相的下降沿來時,B相為高電平時,則為正轉;反之為反轉。為了防止DSP處理不過來,而導致編碼器丟步,降低了系統的精度。這里把A相接到DSP的外中斷輸入引腳,當A相的下降沿來時,測觸發程序中斷,進行相應的脈沖計算和轉向檢測。連接電路圖5如下:
圖5 連接電路圖
[BT4+*4]4.1.2 M/T法測速
同時測量檢測時間和在此檢測時間內脈沖發生器發送的脈沖數來確定被測轉速。他是用規定時間間隔Tg以后的第一個測速脈沖去終止時鐘脈沖計數器,并由此計數器值m來確定檢測時間T。
檢測的時間為:
T=Tg+ΔT
設電機在T (s)時間內轉過的角度位移為X(rad),則其實際轉速值為:
nM=60#8226;X2πT=60#8226;X2π(Tg+ΔT)
如果電機每轉動一圈脈沖發生器輸出P個脈沖,在T時間內,計數值為m1,則角位移X為X=2πm1/P。同時,考慮在檢測時間T=Tg+ΔT內,由計數頻率為關的參考時鐘脈沖來定時,且計數值為m2,則檢測時間T可表示為T=m2/fc。于是被測的速度為:
nM=60fc#8226;m1pm2(r/min)
通過分析可知(M法和T法不介紹):M法測量轉速在極端情況下會產生±1個轉速脈沖的誤差,而T法在極端情況下,時間的測量會產生±1個高頻脈沖周期,由于轉速脈沖的頻率遠小于高頻脈沖的頻率,因此如果用轉速脈沖信號的上升沿/下降沿來同步計數器的起止,在預定的測速時間內,轉速脈沖信號的計數值將為整數(無誤差),只有高頻時鐘脈沖會產生±1的誤差,因其很小,影響可以忽略,所以系統采用M/T法可適用于測量高、低速的場合,且具有較高的測速精度,但檢測時間不宜過長。
4.2 速度控制設計
作為一種人工智能手段,模糊控制將輸入量按一定的模糊控制規則自動進行推理運算,模仿專家經驗,從而獲取問題的求解,在處理不確定性和不精確性問題時具有良好的魯棒性。該模糊控制器設計為二維模糊閉環控制器,以速度反饋和給定轉速的誤差e及誤差的變化率ec作為模糊控制器的輸入變量,經模糊控制器進行模糊化后變成模糊量E和EC,經過模糊控制推理和模糊決策后,得到決策后的控制輸出模糊量,再經去模糊化處理,利用DSP計算得到精確的輸出量u,轉換成相應的PWM去控制被控對象。模糊控制系統框圖如圖6所示。
圖6 模糊控制系統框圖
4.3 速度控制算法
自帶調整因子的模糊控制器,他根據誤差的大小,對誤差和誤差變化率進行不同的加權處理。對于二維模糊控制系統,當誤差較大時,控制系統的主要任務是消除誤差,這時對在控制規則中誤差的加權應取大些。相反,當誤差較小時,此時系統己接近穩態,控制系統的主要任務是使系統盡快穩定,為此必須減小超調,這就要求在控制規則中誤差變化率起的作用大些,即對誤差變化率加權取大一些。在本系統中,對誤差及誤差變化和控制量的模糊控制集及其論域定義為:{±6,±5,±4,±3,±2,±1,0},根據轉速誤差模糊量E的當前值,采用不同的α值自調整如下:
采用帶調整因子的模糊控制器不需要建立模糊查詢表,而是利用DSP強大的計算能力直接按實時計算輸出控制量,從而節省大量存儲空問,同時也可以方便地實現對控制策略的調整。
#include \"global.c\"
#define Ke1 [JY]//偏差Error模糊化系數
#define Kde 2 [JY]//偏差變化率DError模糊化系數
#define Ku20[JY]//輸出U增量去模糊化系數
*****自適應模糊算法*****
int fuzzy(int Error,int DError)
{int a;int U;
if(Error>Ke*6) Error = 6;[JY]//輸入變量模糊化
else if(Error>Ke*5)Error = 5;
U=INT[0.89E+(1-0.89)EC] E=±6
U=INT[0.74E+(1-0.74)EC] E=±5
U=INT[0.55E+(1-0.55)EC] E=±4
U=INT[0.43E+(1-0.43)EC] E=±3
U=INT[0.36E+(1-0.36)EC] E=±2
U=INT[0.22E+(1-0.22)EC] E=±1
U=INT[0.12E+(1-0.12)EC] E=0
else if(Error>Ke*4)Error = 4;
else if(Error>Ke*3)Error = 3;
else if(Error>Ke*2)Error = 2;
else if(Error>Ke)Error = 1;
else if(Error>=0)Error = 0;
else
{…
}
//根據E來確定不同的a自調整值,系數放大100倍
{[ZK(]case6:case -6:a = 89;break;
case5: case -5:a = 74;break;
case4: case -4:a = 55;break;
case3: case -3:a = 43;break;
case2: case -2:a = 36;break;
case1: case -1:a = 22;break;
case0:a = 12; break;
efault: break; }
U = a*Error+(100-a)*DError;[JY]//算出模糊輸出控制量增量
U = U*Ku/100;[JY]//去模糊化
return U;[ZK)]
}
4.4 試驗結果
直流電動機控制系統采用CCS3.1軟件集成開發環境,軟件主要實現直流電動機速度的檢測,轉速的計算,電流與轉速的調節,PWM信號的生成以及故障信號的處理等功能。直流電動機控制系統軟件主要包括速度檢測,轉速調節,電流調節,PWM波生成等幾部分組成。并通過中國電子公司硬件仿真器、DEC2407控制板和自制的驅動器進行了速度控制試驗如圖7所示。通過編碼器來檢測直流電機運行速度,運用PC機的遠程終端來顯示直流電機的速度控制情況,如圖8所示。
5 結 語
本文利用DSP實現直流電機速度的模糊控制,使直流電機的速度控制優越性能得到了廣泛應用,使用DSP實現直流電機控制則不僅比傳統的模擬電路成本低,而且結構簡單、方便擴展。
通過實驗說明模糊控制的速度控制器比PID控制更好,提高系統響應速度和穩態性能,并且模糊控制技術能優化系統結構,使系統具有較強的魯棒性和抗干擾能力[5],適應于各種不同的場合。
圖7 速度控制試驗圖
圖8 電機運行速度反饋圖
參 考 文 獻
[1]賈東耀,曾智剛.基于模糊控制的直流電機調速系統Matlab的位置[J].電機電器技術,2002(5):2-6.
[2]張東亮,常宏敏,田新亮,等.無刷直流伺服電機的DSP全數字控制系統研究[J].山東大學學報,2002(5):485-488.
[3]鄧星鐘.機電傳動控制[M].3版.武漢:華中科技大學出版社,2001.
[4]張崇巍,李漢強,陳伯時.運動控制系統[M].武漢:武漢理工大學出版社,2002.
[5]李勇,羅隆福,許加柱,等.基于模糊控制的直流電機PWM調速系統[J].大電機技術,2006(1):66-68.
作者簡介 張宗寶 男,1976年出生,四川綿陽人,碩士研究生。主要研究方向為制造系統的計算機控制。
周宏甫 男,1958年出生,湖北人,博士。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。