王炳雅
?
基于FOC SDK的無刷直流電機無傳感器系統設計
王炳雅
(北京航空航天大學,北京 100083)
在介紹磁場定向控制理論的基礎上,分析了重要的坐標變換理論和轉子位置檢測方法,并將磁場定向控制方法引入到無刷直流電機中,以實現類似有刷直流電機的控制。系統地介紹了意法半導體提供的FOC SDK開發環境,包括ST Motor Control Workbench軟件與FOC SDK軟件庫,分別介紹了兩者特點,并在此基礎上設計了無刷直流電機無傳感器系統,實現了無傳感器轉子位置檢測和系統的雙閉環控制。實驗結果表明,磁場定向控制可以實現對無傳感器無刷直流電機的穩定控制。
磁場定向;FOC SDK;無刷直流電機;無傳感器
磁場定向控制(Field Oriented Control,FOC),又稱為矢量控制,由德國學者F.Blaschke等人在20世紀70年代提出[1]。該控制方法自提出以來,先后應用于感應電機和永磁同步電機中,并且取得了良好的控制效果。磁場定向的核心是定子電流的解耦,通過將電機的定子電流從三相靜止坐標系變換到以轉子磁鏈定向的同步旋轉坐標系,分解出勵磁電流和轉矩電流,從而實現對兩個分量的獨立控制,獲得與直流電機一樣的動態調速性能[2-3]。磁場定向控制技術的優點是控制精度高、轉矩響應快,適用于高性能的位置伺服和調速系統[4-5],但是需要無刷直流電機的轉子位置信息。
意法半導體公司從2002年開始,致力于三相電機控制技術的研究,先后發布了交流感應電機和永磁同步電機的標量控制技術和矢量控制技術,并針對不同的電機推出了各具特色的電機控制評估板和輔助系統。其中,FOC SDK是意法半導體公司為廣大開發者提供的電機控制的開發平臺(ST Motor Control Workbench)和庫文件。這些開發平臺和庫文件可以使開發者快速地評估開發板的性能,并開發自己的電機控制方案。
磁場定向的核心就是測量相電流并對其進行解耦。通常無刷直流電機的電流最直觀的描述是在三相靜止坐標系下進行的,但在三相靜止坐標系下無法分離出電流的直軸和交軸分量,因此,需要進行坐標變換,由于:
a+b+c=0. (1)
因此,三相電流可以用2個變量來描述,即將三相靜止坐標系轉換為坐標系(兩相靜止坐標系),該變換被稱為Clarl變換。a,b,c分別對應A、B、C三相電流的關系為:

式(2)中:α和β為兩相靜止坐標系中的電流。
進一步,坐標系(兩相旋轉坐標系)以角頻率旋轉,軸與軸的夾角為,由于坐標系是旋轉的,所以,是隨時間變化的。s是定子電流的矢量表示,在軸、軸、軸、軸上都有投影,如圖1所示。

圖1 dq坐標系和αβ坐標系的關系
由圖1可以得到d,q與α,β之間的關系:

該變換稱為Park變換。
在三相交流坐標系下,電磁轉矩為:

經過Clark變換和Park變換后,電磁轉矩可表示為:

式(5)中:d和q分別為反電勢的軸分量、軸分量。
設定d=0,實現只通過調節q值而實現轉矩調節,完成磁場定向控制,因此,轉矩表達式為:

從式(3)中可以看出,三相定子電流被解耦成直軸電流d和交軸電流q,其中,直軸電流d對轉矩沒有影響,只用來產生磁場,與轉子磁場疊加,而交軸電流q用來進行轉矩控制[7]。
從圖1可以看出,進行坐標變換的前提是需要準確的轉子位置信息。目前應用比較廣的方法是在電機中安裝霍爾傳感器、光電編碼器等一系列傳感器,檢測轉子位置信息。但是,電機中的傳感器成本高,安裝在電機內部導致增加了電機與控制系統的接口和連線,而且安裝困難。此外,傳感器對工作環境有一定的要求,在某些環境可能會失效,因此,無傳感器技術應運而生。
無傳感器技術重點在于不通過傳感器而得到轉子位置信息(本文用表示)。直接計算反電動勢,利用反正切的方法得到值是最簡單的方法。但是該方法只具有理論意義,真正應用時為了增加可靠性往往采用觀測器來實現。常用的觀測器是滑模觀測器,但是實際研究表明,該方法存在抖振問題。為了使電機更加平穩地運行,本文引入Luenberger觀測器,為無刷直流電機在中高速下的控制系統提供位置和速度信息反饋。
觀測器的本質是通過狀態重構,將原來系統中可以獲得的變量信息作為輸入,經過觀測系統作用后,使得輸出信號趨近于原系統的輸出信號,以此來等效原系統。觀測器結構如圖2所示。Luenberger觀測器將原系統輸出信號和觀測系統輸出信號作差,并反饋給觀測系統,以此構成閉環校正結構,從而提高觀測器的精度。

圖2 基于Luenberger觀測器的估算原理框圖
根據無刷直流電機的數學模型,可以推導出電機在坐標系下的定子電壓方程為:

反電動勢方程為:

式(7)(8)中:α和β分別為軸和軸的定子電流;α和β分別為軸和軸的定子電壓;α和β分別為軸和軸的定子反電動勢;f為轉子永磁體磁鏈;為轉子的電角速度;為轉子的電角度。
α和β是在β坐標系下建立的反電動勢,并且與轉子位置有關。
建立有關α和β的Luenberger觀測器可以設為:

式(9)中:1和2為Luenberger觀測器的增益。

分析式(10)可以得出,當>,觀測器系統收斂,且收斂速度與+正相關。但越大,估算噪聲也會隨之增大[8]。由于α=-fesin,β=-fecos,因此:

且=/,因此,可以求出轉子電角度估計量。
這種方法操作簡單,但是實際系統中并不適用這種方法。因為當轉速較低時,干擾相對于反電動勢本身就比較大,計算出來的位置角可能不準確。雖然在高速時,反電動勢觀測量相對較為準確,但是如果受到較大的干擾,采用反正切的方法也不能準確估算位置角。所以,實際項目中并不直接使用這種計算方法,而是采用一種鎖相環的思想來計算轉子位置。鎖相環構成閉環結構,而且結構簡單,具有良好的穩定性[9],廣泛應用于轉子位置檢測中。其結構如圖3所示。

圖3 基于鎖相環的Luenberger觀測器
由于:

ST Motor Control Workbench軟件為開發者提供了引腳配置和參數配置功能。開發者可以使用配置寄存器或者調用庫函數的方法進行引腳配置,也可以使用該軟件進行同樣的配置。同時,電機的參數也可以用該軟件進行配置并生成頭文件,在第三發開發環境中可以直接調用。該軟件主界面如圖4所示。打開ST Motor Control Workbench的新建工程,開始進行系統配置。左側4個選項分別對應電機本體參數設置、功率板電源電路結構設置、驅動設置和控制器時鐘引腳設置。開發者可根據自己的硬件電路,對應進行系統配置。

圖4 ST Motor Control Workbench主界面
配置完成后,該軟件可生成相關的頭文件為Control stage parameters.h、Drive parameters.h、PMSM motor parameters.h、Power stage parameters.h以及電機控制的中斷函數文件stm32f10x_MC_it.c。
FOC SDK庫可用于快速評估ST微控制器和完整的ST應用平臺,并縮短開發用于ST微控制器的電機控制算法的時間。它用C語言編寫,實現了核心電機控制算法以及傳感器讀取/解碼算法和用于轉子位置重建的無傳感器算法。此外,當與意法半導體公司開發的電機控制入門套件及無刷直流電機一起使用時,可以讓電機在很短的時間運轉起來。FOC SDK軟件庫提供了底層軟件與用戶軟件的接口,開發者可以通過軟件庫訪問底層資源。
SDK軟件庫分為多個軟件層,分別為MCU標準外設軟件庫(STM32Fxxx StdLib)、電機控制庫(MC Library)和電機控制應用層(MC Application)。此外,它還提供了用戶界面層(UI Library)和FreeRTOS模塊,但是在本文設計的系統中沒有用到這些模塊。該軟件庫的結構如圖5所示。
STM32Fxxx StdLib + CMSIS層為STM32的標準外設庫文件,一般的STM32Fxxx系列微控制器開發可以通過該庫直接調用函數配置功能,而不用直接操作寄存器,開發更加簡單。MC Library層為電機控制層,該層為本項目提供了有傳感器和無傳感器的處理函數、電流采樣類處理函數、矢量控制函數以及其他相關的函數等。
MC Application為電機應用層,是MC Library層的上一層,包括電機接口類、電機調試類和電機任務相關的應用函數。開發者直接通過調用該層函數,可以實現電機啟動、停止、調試、速度更新等功能。

圖5 FOC軟件庫結構
本文提出基于FOC SDK對無位置傳感器的無刷直流電機進行雙閉環的系統設計,其結構圖如圖6所示。
在該系統中,根據三電阻采樣法得到的三相電流,估算轉子的位置與角速度,用以進行坐標變換,進行電流解耦。給定的轉速與轉速反饋量的偏差經調控后,其輸出作用于交軸電流。直軸電流和交軸電流經過PI調節,輸出在坐標系下的相電壓。經過Park變換,得到αβ坐標系下的相電壓。利用電壓空間矢量調節(SVPWM)技術,產生PWM控制信號,可實現對系統的雙閉環控制。

圖6 系統結構圖
控制程序的主要流程圖如圖7所示。程序主要分為2個部分,首先對系統進行初始化,然后等待中斷響應。整個框架就是由這2部分組成的。初始化程序主要是完成一些寄存器的操作,包括設定系統時鐘和GPIO引腳功能,此外,還會對參數進行初始化。中斷服務程序將完成電流采樣、轉子位置檢測、坐標變換、PI調節和SVPWM等任務,并根據電機指令完成電機任務。
在本實驗中,控制器采用STM32F103RBT6,具有2路PWM互補輸出的高級定時器,3個ADC轉換器,滿足該系統所需要的功能,同時支持FOC SDK開發環境。驅動芯片采用IR2136S,供電電壓為24 V,將控制器的PWM控制信號轉化為驅動MOS管的開關信號,并且具有欠壓保護、過流保護等功能,適用于無刷直流電機的應用。
電機啟動前,設定速度為1 000 r/m,而電機速度為0,如圖8所示。電機啟動后,短時間內穩定在1 000 r/m左右,如圖9所示,之后一直保持在1 000 r/m左右,如圖10所示。運行結果表明該方法的有效性。
本實驗基于FOC SDK進行開發,采用直軸電流為0的磁場定向控制策略。實驗結果表明,對于無傳感器的無刷直流電機系統而言,FOC控制可以實現對電機的雙閉環控制,并有穩定的輸出。借助FOC SDK開發環境可以實現無刷直流電機的控制。

圖7 主流程圖

圖8 電機啟動前

圖9 電機啟動后

圖10 電機穩定運行
[1]尹航.基于DSP的無刷直流電機矢量控制系統的研究與設計[D].南京:南京郵電大學,2014.
[2]周雙飛.永磁同步電機矢量控制策略研究[D].十堰:湖北汽車工業學院,2017.
[3]B.P. Reddy and A. Murali. SoC FPGA-Based Field Oriented Control of BLDC Motor Using Low Resolution Hall Sensor [J].IECON 2016-42nd Annual Conference of the IEEE Industrial Electronics Society,2016:2941-2945.
[4]M.Lazor and M.?tulrajter.Modified field oriented control for smooth torque operation of a BLDC motor[J].2014 ELEKTRO,Rajecke Teplice,2014:180-185.
[5]王禮鵬.永磁同步電機非線性控制策略及無速度傳感器估計方法的研究[D].沈陽:東北大學,2013.
[6]STM32F PMSM single/dual FOC SDK v4.2[EB/OL].http://www.st.com,2015.
[7]劉曉黎.基于永磁同步電機數學模型的矢量控制理論、仿真、實驗及應用研究[D].合肥:合肥工業大學,2017.
[8]凌鑫明.永磁同步電機無位置傳感器矢量控制系統的研究與設計[D].杭州:浙江工業大學,2015.
[9]M. N. Uddin,M. M. Rashid,M. Rubaiyat,et al.Comparison of position sensorless control based back-EMF estimators in PMSM[J].2015 18th International Conference on Computer and Information Technology(ICCIT),2015:5-10.
2095-6835(2018)18-0046-04
TM33
A
10.15913/j.cnki.kjycx.2018.18.046
王炳雅(1993—),女,研究方向為無刷直流電機控制、開關電源技術等。
〔編輯:張思楠〕