永磁同步电机这玩意儿现在工业上用得是真多,今天咱们来点硬核的,手搓个IPMSM的数学模型。先别急着关页面,代码实现和调试坑点都给你备好了
IPMSM数学模型模拟电机对不同输入的响应包含速度环和电流环输出电流转速和转矩。先甩几个核心方程镇楼。d-q轴电压方程def voltage_equation(t, state, Vd, Vq): id, iq, w_r, theta state Vd ... # 这里放你的控制算法输出 Vq ... Ld 0.0012 # d轴电感 Lq 0.0025 # q轴电感 Rs 0.5 # 定子电阻 lambda_m 0.35 # 永磁体磁链 did (Vd - Rs*id Lq*w_r*iq)/Ld diq (Vq - Rs*iq - Ld*w_r*id - lambda_m*w_r)/Lq return [did, diq, dw_r, w_r]注意看第7行这里的交叉耦合项Lqw_riq就是导致电机非线性的罪魁祸首。很多新手仿真时波形发散八成是这里符号搞反了。速度环和电流环这对CP必须锁死。直接上双闭环控制结构class SpeedController: def __init__(self): self.Kp 0.8 self.Ki 15 self.integral 0 def update(self, w_ref, w_actual, dt): error w_ref - w_actual self.integral error * dt return self.Kp*error self.Ki*self.integral重点在积分项的处理——一定要做抗饱和。曾经有个项目电机启动时疯狂震荡最后发现是积分项没限幅输出直接飙到300A...IPMSM数学模型模拟电机对不同输入的响应包含速度环和电流环输出电流转速和转矩。仿真时最头疼的就是参数不匹配。比如这个扭矩计算Te 1.5 * poles/2 * (lambda_m*iq (Ld-Lq)*id*iq)第2项的磁阻转矩如果Ld和Lq测不准低速时扭矩能差出30%。有个骚操作是用带编码器的空载测试反推电感参数实测比规格书靠谱。最后丢个仿真结果彩蛋当给定转速从0突变到2000rpm时电流波形会出现典型的双峰现象。第一个尖峰是克服静摩擦第二个是动态调节过程。这时候要是把速度环的Ki调太大电机直接给你表演一段死亡震荡。代码跑起来后别光看曲线记得监控dq轴电流相位。曾经有个案例代码里把角度补偿搞反了导致q轴电流实际作用在d轴上电机直接变电磁炉——别问我怎么知道的那台电机的焦香味我现在都记得。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2467560.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!