文章目錄
基於STM32的有感FOC算法學習與實現總結
1 前言
Field Oriented Control
磁場定向控制 (FOC
),FOC
是有效換向的公認方法。FOC
的核心是估計轉子電場的方向。一旦估計了轉子的電角度,就將電動機的三相換相,以使定子磁場垂直於轉子磁場。本文參考了TI
,microchip
的相關文檔,基於STM32F103
系列單片機實現了帶編碼器的FOC
算法,實現了對通用伺服電機(表貼式PMSM
)的控制。
2 FOC算法架構
FOC
算法的整體架構如下圖所示,采用了雙閉環的控制系統,包括速度環和電流環,也叫轉矩環,而傳統的伺服驅動器還需要位置環,圖中並未給出,這個后面另外描述,反饋部分采用雙電阻采樣,和增量編碼器。
所以,從上圖可以了解到,實現FOC
算法總共需要以下幾個部分;
- 坐標變換,由於
PMSM
是非線性的復雜系統,為了實現控制上的解耦,需要進行坐標變換;Clark
變換;Park
變換;
SVPWM
模塊;- 反饋量采集部分
- 相電流采集
- 編碼器信號采集
- 閉環控制部分可以分為三個環節;當然,根據需求,雙閉環也比較常見;
- 位置環
- 速度環
- 電流環
下面會對每個環節的關鍵部分做一下介紹,具體的實現與細節由於篇幅有限會另外開篇幅做介紹。
3 坐標變換
三相坐標到靜止坐標系 坐標系可以分為恆幅值變換和恆功率變換,兩者的主要區別就是變換系數不同,下文統一使用恆幅值變換。
3.1 Clark變換
三相電流ABC分別為
,
,
,根據基爾霍夫電流定律滿足以下公式:
靜止坐標系
,
軸的電流分量為
,
,則Clark
變換滿足以下公式:
3.2 Park變換
Park
變換的本質是靜止坐標系
乘以一個旋轉矩陣,從而得到
坐標系,其中;
- 軸又叫直軸,方向與轉子磁鏈方向重合;
- 軸又叫交軸,方向與轉子磁鏈方向垂直;
所以,帕克變換又叫交直變換,由靜止坐標系
上的交流量最終變換到
坐標系上的直流量;
Park
變換滿足以下公式;
3.3 Park反變換
Park
又叫直交變換,滿足以下公式:
4 SVPWM
實際的馬鞍波如下圖所示;
5 反饋部分
反饋部分需要采集相電流,電角度和速度,如下圖所示;
紅色曲線表示
;
黃色曲線表示
;
藍色曲線表示電角度
;
圖中黃色箭頭所指的點,可以看到滿足以下條件:
5.1 相電流
相電流采樣通常有三種方案;
- 單電阻采樣;
- 雙電阻采樣;
- 三電阻采樣;
5.2 電角度和轉速
電角度的測量需要通過對編碼器進行正交解碼,STM32
的TIM
定時器自帶編碼器接口,可以很輕松實現對正交編碼器的正交編碼;
6 閉環控制
6.1 電流環
最終給出電流閉環的結構,如下圖所示;
紅色曲線表示
黃色曲線表示
粉色曲線表示
藍色曲線表示
由於使用的表貼式PMSM
,滿足以下條件:
所以,
軸和
軸可以共用同一套PI
參數,可以通過經驗試湊法進行參數整定,或者可以通過測量電機參數,計算PI
參數的大致范圍,然后再進行細調。
6.2 速度環
電流環調節穩定之后,速度環需要調整速度PI控制器,這里可以參閱如何調試PI
參數。
6.3 位置環
紅色曲線表示給定位置;
黃色曲線表示實際位置;
粉色曲線表示給定轉速;
藍色曲線表示實際轉速;
寫在最后
經過一段時間的調試,終於完成了從零到一的FOC
算法框架,由於能力有限,有的地方理解不到位,需要細加斟酌,如有錯誤的地方,希望斧正,另外由於FOC
內容較多,篇幅較長,時間有限,后續會進一步進行補充,細節的部分會單獨開篇進行討論。