做永磁同步電機MTPA控制時,看到別人的論文里,matlab仿真框圖是這樣的
圖中轉速環PI之后輸出的是轉矩,而電流環PI之后輸出的是電壓。最開始做id=0控制的時候,轉速環PI之后輸出的是iq,這里就有一個問題,究竟是什么,因為還有的論文講是合成矢量is,我有點搞不清楚了。
按照這篇論文的思路,我搭了一下仿真,想來驗證一下,仿真圖如下
我將兩個Te示波器的波形放到一起
可以看到PI的輸出量與電磁轉矩的波形幾乎一樣。(上面的是PI,下面的是電機實際輸出的轉矩)
雙閉環PID控制,一般外環是目標環,是控制所需要達到的目標,電機控制,外環輸入就是速度偏差,為防止電機電流過大,所以需要設定內環電流環控制,有了內環控制,外環的控制目標就可以平穩的達到。
曾經有看到別人討論這個問題,速度環就是控制速度的,給定了速度如果跟不上怎么辦?增大加速度,加速度靠什么增大,靠轉矩。永磁同步電機id=0控制,Te和iq成正比,所以應該通過iq控制。而電流環就需要電壓來限制。
有這么一句話,外環的輸出是內環的給定,現在看來說的很有道理,我們可以這么理解,外環的輸出是由內環決定的。MTPA控制,內環給定是轉矩,那外環就輸出轉矩;id=0控制,內環給定是iq,那外環就輸出iq. 好像也說得過去,仿真也驗證了,確實是對的。
后面做弱磁控制的時候,發現電壓的差,經PI后得到了電流控制角,但是PI控制器的限幅需要改成[-pi/2,0],這個操作的原因應該是賦予它實際的意義吧,暫時還沒看懂。做MTPA時也是這樣,不給限幅的話,起動轉矩會很大。
下面附上我的仿真文件,自行下載https://download.csdn.net/download/qq_42628795/12016651
先附上MTPA的查表法代碼
fai_m=0.062;
Ld=0.000225;
Lq=0.00033;
pn=4;
iq=0:0.05:500;
id=-0.5*fai_m/(Ld-Lq)-sqrt(0.25*fai_m^2/(Lq-Ld)^2+iq.^2);
Te=1.5*pn*(fai_m*iq+(Ld-Lq).*id.*iq);
plot(Te,id,Te,iq)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8