馮培磊,劉 沖,陳瀟雅,孫 文,趙 玉,徐天奇
[1.國網(wǎng)新源安徽金寨抽水蓄能有限公司,安徽省六安市 237000;2.國電投(天津)分布式能源有限公司,天津市 300380;3.云南民族大學(xué)電氣信息工程學(xué)院,云南省昆明市 65000]
續(xù)流二極管法[2]是通過檢測反電動勢過零點附近斷開相續(xù)流二極管的通斷情況來確定該相反電動勢過零點的位置,并進(jìn)而確定轉(zhuǎn)子的位置。文獻(xiàn)[5,6]中介紹該方法適用于120°導(dǎo)通方式的永磁無刷直流電機。
無刷直流電機的三相繞組為兩兩導(dǎo)通方式,也就是每次都會有一相繞組不導(dǎo)通,當(dāng)電機進(jìn)行換相時,之前處于導(dǎo)通狀態(tài)的兩相繞組有一相會被斷開,而斷開的那相繞組的開關(guān)管會打開使其變?yōu)閷?dǎo)通狀態(tài),這時斷開相繞組的電流不會因為該相開關(guān)管的關(guān)斷馬上變?yōu)榱悖峭ㄟ^該相另一個橋臂的續(xù)流二極管進(jìn)行續(xù)流,直到斷開相反電動勢過零點時才變?yōu)榱?。所以,如果在反電動勢過零點附近檢測到某個續(xù)流二極管中電流突然變?yōu)榱悖涂梢源_定當(dāng)前關(guān)斷相繞組為哪一相,進(jìn)而確定轉(zhuǎn)子的位置。
功率開關(guān)管的控制信號如圖1所示,續(xù)流二極管的具體導(dǎo)通情況如下:開關(guān)管V1V4開通,AB相繞組通電,換相時續(xù)流二極管D3導(dǎo)通續(xù)流;開關(guān)管V1V6開通,AC相繞組通電,換相時續(xù)流二極管D2導(dǎo)通續(xù)流;開關(guān)管V3V6開通,BC相繞組通電,換相時續(xù)流二極管D5導(dǎo)通續(xù)流;開關(guān)管V3V2開通,BA相繞組通電,換相時續(xù)流二極管D4導(dǎo)通續(xù)流;開關(guān)管V5V2開通,CA相繞組通電,換相時續(xù)流二極管D1導(dǎo)通續(xù)流;開關(guān)管V5V4開通,CB相繞組通電,換相時續(xù)流二極管D6導(dǎo)通續(xù)流。
圖1 功率開關(guān)管控制信號Figure 1 Power switch control signal
三相反電動勢過零點與續(xù)流二極管對應(yīng)關(guān)系如表1所示,在反電動勢過零點附近檢測到某個續(xù)流二極管遞減為0即可確定轉(zhuǎn)子的位置,進(jìn)而實現(xiàn)換相。
表1 反電動勢過零點與續(xù)流二極管對應(yīng)關(guān)系表Table 1 The corresponding relation between the back EMF zero crossing point and the freewheeling diode
文獻(xiàn)[1]中無刷直流電機無位置傳感器控制系統(tǒng)以DSP芯片TMS320F28335為核心,通過續(xù)流二極管定義法確定反電動勢過零點,進(jìn)而確定轉(zhuǎn)子位置,產(chǎn)生PWM信號并以IR2136芯片給逆變器提供驅(qū)動信號。該控制系統(tǒng)主要由功率電路和控制電路組成,功率電路主要包括整流電路、逆變電路和驅(qū)動電路,它把電源提供的電能經(jīng)過整流電路進(jìn)行轉(zhuǎn)換連接到逆變電路,同時由驅(qū)動電路對逆變電路的開關(guān)管進(jìn)行控制,進(jìn)而控制無刷直流電機;控制電路主要包括起停電路、調(diào)速電路和位置檢測電路,它對電機系統(tǒng)進(jìn)行適當(dāng)?shù)恼{(diào)節(jié),使其按著要求正常運轉(zhuǎn)。控制系統(tǒng)的結(jié)構(gòu)框圖如圖2所示。
圖2 基于DSP無位置傳感器控制系統(tǒng)結(jié)構(gòu)框圖Figure 2 Structure diagram of sensorless control system based on DSP
無刷直流電機無位置傳感器控制系統(tǒng)的軟件程序主要由主程序、中斷服務(wù)程序和子程序組成,主要包括系統(tǒng)初始化、電機啟動、轉(zhuǎn)子位置檢測、PWM脈沖生成、換相控制、PID轉(zhuǎn)速調(diào)節(jié)等功能的實現(xiàn)。
主程序?qū)φ麄€系統(tǒng)進(jìn)行了初始化,完成了電機的啟動,并且實現(xiàn)電機閉環(huán)控制,主要包括三個重要階段:初始化階段、電機啟動階段、閉環(huán)運行階段。
(1)初始化參數(shù)變量。
主要包括CPU時鐘頻率的賦值、PWM頻率的賦值、CAP中斷函數(shù)的定義及其參數(shù)的賦值、定時器T0中斷函數(shù)的定義及其參數(shù)的賦值、ADC中斷函數(shù)的定義、delay函數(shù)的定義、SCIB函數(shù)的定義、pidcontrol函數(shù)的定義及其參數(shù)的賦值、母線電壓電流的定義、電機參數(shù)的賦值、PWM占空比的賦值等。
(2)初始化控制系統(tǒng)。
主要包括PLL(鎖相環(huán))的初始化、WatchDog(看門狗)的初始化和Periphreal Clocks(外設(shè)時鐘)的初始化。
(3)初始化GPIO。
對GPIO輸入輸出口進(jìn)行初始化,并將GPIO0─GPIO5配置為6路PWM信號:EPWM1A、EPWM1B、EPWM2A、EPWM2B、EPWM3A、EPWM3B,GPIO24配 置 為 ECAP1,GPIO25配置為ECAP2,GPIO26配置為ECAP3,GPIO27配置為LED1,GPIO52配置為LED3,GPIO53配置為LED2。
(4)初始化PIE。
對 PIE控制寄存器初始化至默認(rèn)狀態(tài),即所有的PIE中斷都被禁止,標(biāo)志位都被清除;關(guān)閉所有CPU中斷,清除CPU中斷相關(guān)的標(biāo)志位;初始化PIE中斷向量表,并配置定時器TO、CAP和ADC的中斷入口地址。
(5)初始化外設(shè)設(shè)備。
對CPU定時器進(jìn)行初始化,配置定時器T0的頻率和周期;對CAP進(jìn)行初始化;對ADC進(jìn)行初始化。
主程序流程圖如圖3所示。
電機無位置傳感器控制在靜止或者低速時不能準(zhǔn)確判斷轉(zhuǎn)子的位置,無法進(jìn)行正確的換相處理,給電機的啟動造成了困難,對此,本系統(tǒng)采用了“三段式啟動”技術(shù),主要分為以下三個階段。
(1)轉(zhuǎn)子預(yù)定位階段。
對任意兩相繞組通電,使轉(zhuǎn)子轉(zhuǎn)到與定子電樞繞組合成磁場的方向一致,并且施加一定的延遲,目的是為了等待電機的旋轉(zhuǎn)軸停止振蕩,接著使電機的三相繞組同時導(dǎo)通,使轉(zhuǎn)子達(dá)到預(yù)定的位置,完成轉(zhuǎn)子的預(yù)定位。
圖3 主程序流程圖Figure 3 Flow chart of main program
(2)電機開環(huán)加速階段[4]。
根據(jù)轉(zhuǎn)子預(yù)定位的位置,按照正確的換相順序給電機供電,在換相過程中,增加PWM的占空比,使電機轉(zhuǎn)速不斷增加。
(3)自同步運行。
當(dāng)轉(zhuǎn)速增加到足夠大時,就可以獲取轉(zhuǎn)子位置信息,切換到自同步運行狀態(tài),實現(xiàn)電機閉環(huán)運行。
中斷服務(wù)程序主要包括CAP捕獲中斷服務(wù)程序、定時器T0中斷服務(wù)程序、ADC中斷服務(wù)程序,目的是為了實現(xiàn)電機的換相,轉(zhuǎn)速的計算以及過壓和過流保護(hù)。
CAP捕獲中斷服務(wù)程序的作用是通過CAP中斷實現(xiàn)3個CAP捕獲端口電平狀態(tài)的捕獲,進(jìn)而確定電機當(dāng)前的位置,為定時器T0中斷服務(wù)程序提供換相信息,同時計算出電機的實時轉(zhuǎn)速。
CAP捕獲電平狀態(tài)與反電動勢的對應(yīng)關(guān)系如圖4所示,無刷主流電機為120°導(dǎo)通方式,中間相隔60°,一個周期進(jìn)行6次換相,并且反電動勢分別有3個上升沿和下降沿,分別對應(yīng)了不同的換相時刻,因此將CAP的捕獲端口設(shè)置為雙沿觸發(fā)捕獲中斷功能,配置三個捕獲端口CAP1、CAP2和CAP3,CAP的捕獲電平狀態(tài)分別對應(yīng)6路PWM信號,在捕捉到上升沿或者下降沿的同時,該相續(xù)流二極管遞減為0,則該點即為反電動勢的過零點,延遲30°電角度對電機進(jìn)行換相[4]。要實現(xiàn)電機的閉環(huán)運行,就必須準(zhǔn)確的計算出電機的實時轉(zhuǎn)速,下面是對轉(zhuǎn)速計算的軟件設(shè)計。
圖4 CAP捕獲電平狀態(tài)與反電動勢的對應(yīng)關(guān)系Figure 4 The correspondence between CAP capture level and back EMF
本系統(tǒng)研究的電機極對數(shù)為2,因此電機運行一個周期會進(jìn)行12次換相,相應(yīng)的也會進(jìn)入12次CAP中斷。定時器的定時時間為T,在定時器T0中設(shè)置一個計數(shù)器count,初始值為0,每次T0中斷count自增一次,在CAP中斷中設(shè)置一個計數(shù)器l,初始值也為0,每次進(jìn)入CAP中斷l(xiāng)自增一次,當(dāng)CAP第一次進(jìn)入中斷時,可以計算出電機運轉(zhuǎn)1個狀態(tài)所需的時間:
計數(shù)器l自增變成1,同時定時器T0的計數(shù)器count清零,當(dāng)CAP進(jìn)入第二次中斷時,根據(jù)式(1)同樣可以計算出電機運轉(zhuǎn)第二個狀態(tài)的時間,并且將前兩個狀態(tài)的時間累加,計算出電機運轉(zhuǎn)的時間:
此時計數(shù)器l自增變成2,count清零。直到l變?yōu)?2時,電機運行一個周期,得到電機轉(zhuǎn)動一周的總時間Sum,單位是μs,進(jìn)而計算出電機的實時轉(zhuǎn)速為:
電機運行一個周期進(jìn)入12次CAP中斷,連續(xù)兩次進(jìn)入CAP中斷的時間間隔即為電機運轉(zhuǎn)60°電角度的時間:
那么電機轉(zhuǎn)過30°電角度的時間為t/2。設(shè)置標(biāo)志位FLAG,電機每次進(jìn)入CAP中斷,F(xiàn)LAG置位1,跳入定時器T0中斷服務(wù)程序。
定時器T0中斷服務(wù)程序的作用主要是根據(jù)續(xù)流二極管狀態(tài)確定反電動勢過零點并進(jìn)行延時處理,通過CAP捕獲的電平狀態(tài)進(jìn)行換相控制,實現(xiàn)電機的正確換相[5]。
換相關(guān)系表如表2所示,當(dāng)FLAG置位1時,跳入定時器T0中斷服務(wù)程序,此時處于反電動勢沿觸發(fā)狀態(tài),滿足續(xù)流二極管遞減為0時進(jìn)行延時t/2μs,延時完成后,根據(jù)CAP捕獲電平狀態(tài)和開關(guān)管的對應(yīng)關(guān)系進(jìn)行換相處理,換相完成后FLAG置位0。
表2 換相關(guān)系表Table 2 commutation relationship
ADC中斷服務(wù)程序的作用是采集母線電壓和電流進(jìn)行模數(shù)轉(zhuǎn)換并且檢測,實現(xiàn)過壓和過流保護(hù)。
在ADC中斷程序中,首先對電流和電壓進(jìn)行采集并將轉(zhuǎn)換后的電壓值賦值給dcvoltage,轉(zhuǎn)換后的電流值賦值給dccurrent,設(shè)置電壓計數(shù)器dcvcount,電流計數(shù)器dcccount,初始值都為0,每次進(jìn)入中斷自增一次,由于電壓和電流可能有脈動,于是采用分別將多個電壓值和電流值相加求平均值的方法,當(dāng)電壓計數(shù)器dcvcount=500時求得電壓的平均值,并將dcvcount清零,如果電壓平均值大于3000,則過壓指示燈LED2亮起,電機停止;當(dāng)電流計數(shù)器dcccount=200時求得電流的平均值,并將dcccount清零,如果電流平均值大于3000,則過流指示燈LED3亮起,電機停止。ADC中斷服務(wù)程序的流程圖如圖5所示。
本系統(tǒng)子程序的設(shè)計主要為PID速度調(diào)節(jié),將給定轉(zhuǎn)速與CAP中斷服務(wù)程序中得到的實時轉(zhuǎn)速求差值,并進(jìn)行PID處理,改變PWM波形的占空比,從而對電機轉(zhuǎn)速進(jìn)行調(diào)節(jié),實現(xiàn)電機的閉環(huán)控制。
圖5 ADC中斷服務(wù)程序流程圖Figure 5 ADC interrupt service flow chart
PID調(diào)節(jié)系統(tǒng)如圖6所示,比例環(huán)節(jié)的作用是使系統(tǒng)對轉(zhuǎn)速差值能夠快速響應(yīng);積分環(huán)節(jié)的作用是消除靜態(tài)誤差,提高調(diào)節(jié)系統(tǒng)的精度;微分環(huán)節(jié)的作用是體現(xiàn)轉(zhuǎn)速差值變化趨勢,使調(diào)節(jié)系統(tǒng)能夠提早處理[7,8]。
圖6 PID速度調(diào)節(jié)控制圖Figure 6 PID speed control chart
設(shè)U(t)為轉(zhuǎn)速的給定值,Y(t)為轉(zhuǎn)速的實際值,轉(zhuǎn)速給定值與實際值的差值E(t)為:
設(shè)比例系數(shù)為Kp,積分常數(shù)為Ti,微分常數(shù)為Td,差值E(t)經(jīng)過PID調(diào)節(jié)器的輸出值D(t)為:
對式(6)進(jìn)行離散化處理為:
式(7)中k=0,1,2,3,…,設(shè)積分系數(shù)為Ki,微分系數(shù)為Kd,又
把以上兩式代入到式(6)可以變?yōu)?/p>
將PID調(diào)節(jié)的輸出值D(k)賦值給PWM的比較寄存器CMPR,改變PWM的占空比,完成電機的調(diào)速,進(jìn)而實現(xiàn)閉環(huán)控制。
無刷直流電機無位置傳感器控制系統(tǒng)的實驗平臺主要由以下幾部分組成:①電機:無刷直流電機,極對數(shù)為2,由24V直流電源供電,連接到驅(qū)動板;②仿真器:型號為XD100V2,連接電腦和控制板;③控制板:主控DSP芯片型號為TMS320F28335,對電腦傳輸?shù)臄?shù)據(jù)進(jìn)行處理,給驅(qū)動板提供控制信號;④驅(qū)動板:驅(qū)動芯片型號為IR2136,接受控制板發(fā)送的信號,經(jīng)過處理后將驅(qū)動信號提供給電機,控制電機的旋轉(zhuǎn);⑤供電電源:主要有24V直流電源和5V直流電源,分別給驅(qū)動板和控制板供電,實驗平臺的實物圖如圖7所示。
圖7 實驗平臺總體連接圖Figure 7 Overall connection diagram of experimental platform
在給定轉(zhuǎn)速為800r/min、900r/min、1000r/min的情況下,對無刷直流電機無位置控制系統(tǒng)進(jìn)行了實驗,得到轉(zhuǎn)速的實時波形如圖8~圖10所示。
控制板和驅(qū)動板接入電源,運行程序后,電機能夠正常旋轉(zhuǎn),由波形可以看出,不論給定轉(zhuǎn)速為多少,電機都可以在很短的時間內(nèi)達(dá)到穩(wěn)定,并且穩(wěn)定在給定轉(zhuǎn)速的大小附近,驗證了基于續(xù)流二極管法無刷直流電機無位置傳感器控制系統(tǒng)設(shè)計的合理性。
圖8 給定轉(zhuǎn)速800r/min時的轉(zhuǎn)速波形Figure 8 Speed waveform at a given speed of 800r/ min
圖9 給定轉(zhuǎn)速900r/min時轉(zhuǎn)速波形Figure 9 Speed waveform at a given speed 900r/min
圖10 給定轉(zhuǎn)速1000r/min時的轉(zhuǎn)速波形Figure 10 Speed waveform of a given speed 1000r/min
在續(xù)流二極管定義法的基礎(chǔ)上建立了無刷直流電機無位置傳感器控制系統(tǒng),經(jīng)過多次實驗,電機都能快速響應(yīng)并且穩(wěn)定運行,充分地說明了該控制系統(tǒng)設(shè)計的合理性以及可行性。使用DSP芯片TMS320F28335建立控制系統(tǒng),利用CAP捕獲寄存器中斷實現(xiàn)了電機的正確換相,并且根據(jù)中斷時間準(zhǔn)確計算出了電機的實時轉(zhuǎn)速,進(jìn)而通過PID調(diào)節(jié)系統(tǒng)是實現(xiàn)了電機的閉環(huán)控制,節(jié)約了成本,簡化了電路,證明了該芯片在電機控制方面的強大優(yōu)勢。
基于續(xù)流二極管法的無刷直流電機無位置傳感器控制系統(tǒng),通過續(xù)流二極管定義法實現(xiàn)了轉(zhuǎn)子位置檢測,在CCS4.1.2平臺上實現(xiàn)了無位置傳感器控制系統(tǒng)的軟件設(shè)計,以TMS320F28335為DSP主控芯片,經(jīng)過軟硬件的結(jié)合,實現(xiàn)了電機的閉環(huán)控制,使電機穩(wěn)定運行。