摘要:介紹了一種基于DSP和CPLD的無刷直流電機(jī)(BLDCM)數(shù)字化控制系統(tǒng)的設(shè)計(jì),利用DSP的高速運(yùn)算能力和CPLD強(qiáng)大的邏輯功能實(shí)現(xiàn)了系統(tǒng)的實(shí)時(shí)控制并且使得系統(tǒng)外圍電路得到了簡(jiǎn)化。根據(jù)無刷直流電機(jī)的運(yùn)行特性采用了PID和自適應(yīng)模糊PID相結(jié)合的控制策略。系統(tǒng)仿真表明,該系統(tǒng)具有很好的動(dòng)態(tài)特性和靜態(tài)特性。
關(guān)鍵詞:數(shù)字信號(hào)處理器;無刷直流電機(jī);自適應(yīng)模糊PID;仿真
New Design of Brushless DC Motor Servo System
ZHOU Bao,ZHANG An—nian,DING Zhe,YU Cheng—lin
(Henan University ofScience&Technology,Lnoyang471003,China)
Abstract:This paper presents a design of bmshless DC motor(BLDCM)control system based ondigital signal processor(DSP)and CPLD,The function of high—speed operation of DSP and mighty logicof CPLD are utilized to implement the real—time control of the system and simplify the peripherals.According to the character of BLDCM,this paper use the control strategy of adopting PID and self—adaptive fuzzy PID.The simulation results show that the system has good dynamic and static characteristics.
Key words:DSP;BLDCM ;Self—adaptive fuzzy PID;Simulation
1 引 言
無刷直流電機(jī)具有質(zhì)量輕、壽命長(zhǎng)、調(diào)速范圍寬、啟動(dòng)轉(zhuǎn)矩大、電磁轉(zhuǎn)矩與磁鏈耦合小等優(yōu)點(diǎn),在控制系統(tǒng)中獲得了越來越廣泛的應(yīng)用。但其存在換相時(shí)電磁轉(zhuǎn)矩?cái)_動(dòng)、負(fù)載擾動(dòng)、參數(shù)變化等缺點(diǎn),因此需要有先進(jìn)的控制策略來提高系統(tǒng)的控制性能. ?;谥悄芸刂扑枷氲哪:刂扑惴ǖ淖畲筇攸c(diǎn)是不依賴于對(duì)象模型,而是利用所制定的模糊控制規(guī)則進(jìn)行推理以獲得合適的控制量,適合無刷直流電機(jī)驅(qū)動(dòng)控制策略的要求。系統(tǒng)采用PID和模糊自適應(yīng)PID相結(jié)合的控制策略。利用ALTERA公司的MAX7000系列CPLD器件和美國(guó)TI公司的面向電機(jī)控制的專用DSP芯片TMS320LF2407A作為控制器的核心,完成了無刷直流電機(jī)控制器硬件的設(shè)計(jì),不僅大大簡(jiǎn)化了外圍電路,而且使系統(tǒng)的適時(shí)性和可靠性得到了提高。
2 硬件設(shè)計(jì)
2.1 無刷直流電機(jī)伺服系統(tǒng)的組成
無刷直流電機(jī)控制系統(tǒng)主要由DSP模塊單元、CPLD邏輯控制單元、驅(qū)動(dòng)電路單元、位置檢測(cè)單元、電流檢測(cè)單元等組成,組成框圖如圖1所示。CPLD主要用于完成相應(yīng)的電流斬波、外圍電路的實(shí)現(xiàn)、產(chǎn)生PWM信號(hào)、過流保護(hù)、欠壓保護(hù)、A/D采樣等功能[5]。其中產(chǎn)生PWM信號(hào)的原理是采用DSP引腳T1PWM輸出一路脈寬調(diào)制信號(hào)PWM和無刷直流電機(jī)反饋的三路轉(zhuǎn)子磁極位置信號(hào)以及電機(jī)正反轉(zhuǎn)信號(hào)并送到CPLD進(jìn)行邏輯處理,輸出六路PWM調(diào)制信號(hào)PWM1一PWM6,經(jīng)一個(gè)反向驅(qū)動(dòng)電路連接到六個(gè)開關(guān)管,實(shí)現(xiàn)定額PWM和換相控制。CPLD還負(fù)責(zé)A/D采樣,并把轉(zhuǎn)換結(jié)果寫入到FIFO中,當(dāng)轉(zhuǎn)換結(jié)束時(shí)通知DSP,當(dāng)DSP收到結(jié)束信號(hào)時(shí),可以從FIFO中讀取A/D轉(zhuǎn)換的數(shù)據(jù),從而避免了A/D轉(zhuǎn)換過程中受DSP的頻繁干預(yù),簡(jiǎn)化了采樣控制,最大程度地減輕了DSP的負(fù)擔(dān)。VHDL語言在CPLD芯片中實(shí)現(xiàn)功能時(shí),各進(jìn)程之間采用并行處理方式,因此具有較好的實(shí)時(shí)性。DSP主要用于響應(yīng)CPLD發(fā)送來的控制指令以及處理采集到的數(shù)據(jù)和實(shí)現(xiàn)控制策略等。
2.2 位置檢測(cè)和速度計(jì)算
位置信號(hào)通過三個(gè)霍爾傳感器得到,每個(gè)霍爾傳感器都產(chǎn)生一個(gè)180。脈寬且相位差互呈120。的輸出信號(hào),它們?cè)诿總€(gè)機(jī)械轉(zhuǎn)中都有6個(gè)上升或下降沿,而每一個(gè)上升或下降沿對(duì)應(yīng)著一個(gè)換相時(shí)刻。通過將DSP的捕捉口CAP1~CAP3設(shè)置為I/O口、并檢測(cè)該口的電平狀態(tài),就可以知道哪一個(gè)霍爾傳感器的什么沿觸發(fā)的捕捉中斷。在捕捉中斷處理子程序中,根據(jù)換相控制字查表就能得到換相信息,實(shí)現(xiàn)正確換相。
位置信號(hào)還可用于產(chǎn)生速度控制量。每個(gè)機(jī)械轉(zhuǎn)有6次換相,轉(zhuǎn)子每轉(zhuǎn)過6O°機(jī)械角都有一次換相,只要測(cè)得兩次換相的時(shí)間間隔△t,就可通過t0=60°/△t計(jì)算出兩次換相間隔期間的平均角速度?!鱰可以通過在捕捉中斷發(fā)生時(shí)讀T2CNT寄存器的值來獲得。計(jì)算所得到的速度值作為速度反饋量參與速度調(diào)節(jié)計(jì)算。三相無刷直流電動(dòng)機(jī)在啟動(dòng)時(shí)也需要位置信號(hào)。通過三個(gè)霍爾傳感器的輸出來判斷應(yīng)該先給哪兩相通電,并且給出一個(gè)不變的供電電流,直到第一次速度調(diào)節(jié)[2]。
2.3 系統(tǒng)保護(hù)電路的設(shè)計(jì)
在無刷直流電機(jī)控制系統(tǒng)中,保護(hù)電路占據(jù)著很重要的地位。對(duì)功率運(yùn)放使用的關(guān)鍵是使結(jié)溫盡可能低。使結(jié)溫降低有兩個(gè)方法,一是降低功耗,二是減小熱阻。由于功率大小由系統(tǒng)本身的需要而定,因此要降低結(jié)溫只有選擇合適的散熱器。為了使系統(tǒng)可靠地工作,還必須對(duì)電流和發(fā)熱等進(jìn)行限制,使功率元件工作在安全工作區(qū)內(nèi)。其中限流的工作原理是通過取樣電阻檢測(cè)全橋低邊電流,再把檢測(cè)電流送人CPLD的邏輯控制單元中,如果電流超過所設(shè)定的門限值時(shí),產(chǎn)生過流信號(hào)。系統(tǒng)采用CPLD接收來自功率驅(qū)動(dòng)電路的過流和欠壓信號(hào),將過流和欠壓信號(hào)邏輯相或產(chǎn)生的綜合故障信號(hào)反饋給DSP(高電平有效),當(dāng)驅(qū)動(dòng)電路出現(xiàn)過流或欠壓時(shí),DSP將關(guān)閉定時(shí)器T1,此時(shí)不產(chǎn)生PWM控制信號(hào),直到重新加電,從而實(shí)現(xiàn)對(duì)驅(qū)動(dòng)電路和電機(jī)的保護(hù)。
[b]3 系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)軟件設(shè)計(jì)流程與概述[/b]
系統(tǒng)軟件主要實(shí)現(xiàn)無刷直流電機(jī)的位置調(diào)節(jié)、速度調(diào)節(jié)等。其中速度調(diào)節(jié)采用PID控制,可以克服模糊控制特有的穩(wěn)態(tài)誤差問題,提高系統(tǒng)的穩(wěn)態(tài)性能;位置調(diào)節(jié)采用自適應(yīng)模糊PID控制,其特點(diǎn)是不依賴于具體的對(duì)象模型,而是用語言變量來描述系統(tǒng)特征,并依據(jù)系統(tǒng)的動(dòng)態(tài)信息和模糊控制規(guī)則進(jìn)行推理以獲得合適的控制量。圖2為主程序的軟件流程圖。首先關(guān)閉中斷進(jìn)行系統(tǒng)初始化,開啟ADC中斷,ADC中斷是通過CPLD來控制,然后讀取啟動(dòng)時(shí)刻的位置值,根據(jù)位置值來產(chǎn)生PWM控制信號(hào)。啟動(dòng)后,主程序就進(jìn)入了等待循環(huán),等待中斷的產(chǎn)生。當(dāng)中斷標(biāo)志為真時(shí),進(jìn)行系統(tǒng)的三閉環(huán)調(diào)節(jié),讀取給定位置值和位置反饋值進(jìn)行自適應(yīng)模糊推理,完成位置調(diào)節(jié)器功能,將輸出值送到速度調(diào)節(jié)器進(jìn)行PID控制,輸出電流調(diào)節(jié)器的控制信號(hào),從而輸出PWM控制信號(hào)。
3.2 系統(tǒng)軟件的控制策略
在實(shí)際控制系統(tǒng)中,隨著負(fù)載的變化電機(jī)繞組的自感、互感、阻尼系數(shù)、轉(zhuǎn)動(dòng)慣量等呈不確定性,因此僅采用PID策略已不能提供很好的控制性能,而模糊控制把一些具有模糊性的成熟經(jīng)驗(yàn)和規(guī)則有機(jī)地融人到控制策略中,具有較強(qiáng)的魯棒性,并且能夠克服系統(tǒng)中的不確定因素[4]。系統(tǒng)設(shè)計(jì)采用全數(shù)字三閉環(huán)(電流環(huán)、速度環(huán)、位置環(huán))控制。其中電流環(huán)的設(shè)計(jì)要考慮跟隨性,使電流調(diào)節(jié)速度快;速度環(huán)主要用于增強(qiáng)系統(tǒng)抗負(fù)載擾動(dòng)的能力,抑制速度波動(dòng);位置環(huán)作為外環(huán),決定了系統(tǒng)響應(yīng)的快速性及穩(wěn)定性。基于以上考慮,為了獲得優(yōu)良的性能,電流環(huán)和速度環(huán)采用PID控制,位置環(huán)采用自適應(yīng)模糊PID控制技術(shù)。將模糊控制和PID控制集合起來,既可以提高控制精度,又能夠根據(jù)對(duì)象輸出的變化調(diào)整參數(shù),取得良好的控制效果。
自適應(yīng)模糊PID控制器結(jié)構(gòu)如圖3所示,誤差e和誤差變化ee作為輸人,在PID算法的基礎(chǔ)上,通過計(jì)算當(dāng)前系統(tǒng)誤差e和誤差變化率ec,利用模糊規(guī)則進(jìn)行模糊推理,查詢模糊矩陣表在線對(duì)Kp、Ki和Kd進(jìn)行調(diào)整[3]。
其中
根據(jù)上式可以看出|e|和|ec|的大小變化對(duì)系統(tǒng)輸出u的影響程度是不同的,為了使控制對(duì)象具有良好的動(dòng)態(tài)性能和靜態(tài)性能,參數(shù)Kp, Ki,和Kd的在線模糊自整定應(yīng)遵循如下規(guī)則:
?。?)當(dāng)|e|較大時(shí),即誤差較大,為了加快系統(tǒng)的響應(yīng)速度,應(yīng)把K。取得大一點(diǎn);為防止|ec|瞬時(shí)過大,Kd應(yīng)該取較小一點(diǎn)的值;為了避免出現(xiàn)較大的超調(diào),應(yīng)對(duì)積分作用加以限制,取消積分環(huán)節(jié),即取Ki=O。
?。?)當(dāng)|e|為中等大小時(shí),為使系統(tǒng)的超調(diào)量減小,Kp, Ki和Kd都不宜取大,應(yīng)取較小的K ,而Ki和Kd大小應(yīng)適中,以保證系統(tǒng)的響應(yīng)速度。
(3)當(dāng)|e|較小時(shí),為使系統(tǒng)具有良好的穩(wěn)態(tài)性能,應(yīng)增大Kp,Ki的值,同時(shí)為提高系統(tǒng)的抗干擾能力并避免系統(tǒng)在設(shè)定值附近出現(xiàn)震蕩現(xiàn)象,應(yīng)選取適當(dāng)?shù)腒d值,其原則為:當(dāng)|ec|較小時(shí),Kd應(yīng)取大一些;當(dāng)|ec|較大時(shí),Kd應(yīng)取小一些。
4 實(shí)驗(yàn)結(jié)果及分析
應(yīng)用MATLAB仿真軟件對(duì)位置控制器進(jìn)行了仿真,給定位置電壓為U=1.2V,其中傳統(tǒng)PID的參數(shù)選取為K。=2,Ki=0.04,K =0.1,仿真結(jié)果如圖4所示,模糊自適應(yīng)PID算法明顯比傳統(tǒng)PID控制算法的效果要好。基于模糊推理的自適應(yīng)模糊PID控制在降低超調(diào)量、加快調(diào)節(jié)速度和減少穩(wěn)態(tài)誤差等方面明顯優(yōu)于傳統(tǒng)PID控制。在位置調(diào)節(jié)器中采用自適應(yīng)模糊PID控制使得系統(tǒng)在參數(shù)變化時(shí)依然具有較快的響應(yīng)能力和較強(qiáng)的魯棒性。
圖4 位置環(huán)采用PID調(diào)節(jié)與自適應(yīng)模糊PID調(diào)節(jié)的比較
5 結(jié)束語
采用以DSP為主處理器,CPLD為協(xié)處理器的無刷直流電機(jī)控制系統(tǒng)較以往單獨(dú)以DSP作為控制核心的系統(tǒng)而言,利用了CPLD強(qiáng)大的邏輯功能及對(duì)電流的斬波功能大大減輕了DSP的工作負(fù)擔(dān),使DSP能夠完成更為復(fù)雜的控制算法且控制的實(shí)時(shí)性得到了保障。其中對(duì)位置環(huán)采用模糊自適應(yīng)PID的控制策略。仿真結(jié)果表明,與傳統(tǒng)PID控制方式相比,系統(tǒng)的響應(yīng)能力、控制精度、穩(wěn)態(tài)性等方面均得到明顯改善。
參考文獻(xiàn):
[1] 王曉明,王玲.電動(dòng)機(jī)的DSP控制[M].北京:北京航空航天出版社,2004.
[2] 劉和平.TMS320LF240X DSP結(jié)構(gòu)、原理及應(yīng)用[M].北京:北京航空航天出版社,2002.
[3] 劉金琨.先進(jìn)PID控制MATLAB仿真[M].北京:電子工業(yè)出版社,2004.
[4] HZLI.ZGONG.Dsp—based motion control of a non—commutated DC linear motor module[J].International Journal of Software Engineering,2005.
[5] Cong J,Romesis M.Performance—driven multi—level clustering with application to hierarchical FPGA mapping[C].Design Automation Conference[S.1.],2002.