做永磁同步电机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