感覺身體被掏空!只因為肝了這篇空間矢量控制算法
前面的話
之前做了一個項目,參考了開源項目本杰明電調(diào)(去GitHub搜VESC)或者simpleFOC也不錯,總之都挺香;換做自己寫,原本以為會挺簡單的,沒想到入坑了,而且還挺深的,燒了不少片子,燒了不少板子,感覺身體被掏空,總結(jié)一下整個算法的流程;另一篇文章是《小眾卻真香,電機矢量控制電流采樣方案的抉擇》,可以幫我增加點;
0?目錄
1 前言
2 FOC算法架構(gòu)
3 坐標(biāo)變換
4 SVPWM
5 反饋部分
6 閉環(huán)控制
寫在最后
1 前言
Field Oriented Control
磁場定向控制 (FOC
),FOC
是有效換向的公認(rèn)方法。FOC
的核心是估計轉(zhuǎn)子電場的方向。一旦估計了轉(zhuǎn)子的電角度,就將電動機的三相換相,以使定子磁場垂直于轉(zhuǎn)子磁場。本文參考了TI
,microchip
的相關(guān)文檔,基于STM32F103
系列單片機實現(xiàn)了帶編碼器的FOC
算法,實現(xiàn)了對通用伺服電機(表貼式PMSM
)的控制。
2 FOC算法架構(gòu)
FOC
算法的整體架構(gòu)如下圖所示,采用了雙閉環(huán)的控制系統(tǒng),包括速度環(huán)和電流環(huán),也叫轉(zhuǎn)矩環(huán),而傳統(tǒng)的伺服驅(qū)動器還需要位置環(huán),圖中并未給出,這個后面另外描述,反饋部分采用雙電阻采樣,和增量編碼器。所以,從上圖可以了解到,實現(xiàn)FOC
算法總共需要以下幾個部分;
-
坐標(biāo)變換,由于 PMSM
是非線性的復(fù)雜系統(tǒng),為了實現(xiàn)控制上的解耦,需要進(jìn)行坐標(biāo)變換; -
Clark
變換; -
Park
變換; -
SVPWM
模塊; -
反饋量采集部分 -
相電流采集 -
編碼器信號采集 -
閉環(huán)控制部分可以分為三個環(huán)節(jié);當(dāng)然,根據(jù)需求,雙閉環(huán)也比較常見; -
位置環(huán) -
速度環(huán) -
電流環(huán)
下面會對每個環(huán)節(jié)的關(guān)鍵部分做一下介紹,具體的實現(xiàn)與細(xì)節(jié)由于篇幅有限會另外開篇幅做介紹。
3 坐標(biāo)變換
三相坐標(biāo)到靜止坐標(biāo)系 坐標(biāo)系可以分為恒幅值變換和恒功率變換,兩者的主要區(qū)別就是變換系數(shù)不同,下文統(tǒng)一使用恒幅值變換。
3.1 Clark變換
三相電流ABC分別為 , , ,根據(jù)基爾霍夫電流定律滿足以下公式:
靜止坐標(biāo)系
,
軸的電流分量為
,
,則Clark
變換滿足以下公式:
3.2 Park變換
Park
變換的本質(zhì)是靜止坐標(biāo)系
乘以一個旋轉(zhuǎn)矩陣,從而得到
坐標(biāo)系,其中;
-
軸又叫直軸,方向與轉(zhuǎn)子磁鏈方向重合; -
軸又叫交軸,方向與轉(zhuǎn)子磁鏈方向垂直;
所以,帕克變換又叫交直變換,由靜止坐標(biāo)系
上的交流量最終變換到
坐標(biāo)系上的直流量;Park
變換滿足以下公式;
3.3 Park反變換
Park
又叫直交變換,滿足以下公式:
4 SVPWM
實際的馬鞍波如下圖所示;
5 反饋部分
反饋部分需要采集相電流,電角度和速度,如下圖所示;
紅色曲線表示
;
黃色曲線表示
;
藍(lán)色曲線表示電角度
;
圖中黃色箭頭所指的點,可以看到滿足以下條件:
5.1 相電流
相電流采樣通常有三種方案;
-
單電阻采樣; -
雙電阻采樣; -
三電阻采樣;
5.2 電角度和轉(zhuǎn)速
電角度的測量需要通過對編碼器進(jìn)行正交解碼,STM32
的TIM
定時器自帶編碼器接口,可以很輕松實現(xiàn)對正交編碼器的正交編碼;
6 閉環(huán)控制
6.1 電流環(huán)
最終給出電流閉環(huán)的結(jié)構(gòu),如下圖所示;
紅色曲線表示
黃色曲線表示 ?
粉色曲線表示 ?
藍(lán)色曲線表示 ?
由于使用的表貼式PMSM
,滿足以下條件:
所以,
軸和
軸可以共用同一套PI
參數(shù),可以通過經(jīng)驗試湊法進(jìn)行參數(shù)整定,或者可以通過測量電機參數(shù),計算PI
參數(shù)的大致范圍,然后再進(jìn)行細(xì)調(diào)。
6.2 速度環(huán)
電流環(huán)調(diào)節(jié)穩(wěn)定之后,速度環(huán)需要調(diào)整速度PI控制器,這里可以參閱如何調(diào)試PI
參數(shù)。
6.3 位置環(huán)
紅色曲線表示給定位置;黃色曲線表示實際位置;粉色曲線表示給定轉(zhuǎn)速;藍(lán)色曲線表示實際轉(zhuǎn)速;
寫在最后
代碼量倒不是很大,感覺還是硬件上的坑,經(jīng)過一段時間的調(diào)試,終于完成了從零到一的FOC
算法框架,由于能力有限,有的地方理解不到位,需要細(xì)加斟酌,如有錯誤的地方,希望斧正,另外由于FOC
內(nèi)容較多,篇幅較長,時間有限,后續(xù)會進(jìn)一步進(jìn)行補充,細(xì)節(jié)的部分以后有時間再單獨開篇進(jìn)行討論。
原創(chuàng)不易,歡迎轉(zhuǎn)發(fā)、留言、點贊、分享給你的朋友,感謝您的支持!
長按識別二維碼關(guān)注獲取更多內(nèi)容
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!