Photon Fusion 2实战:从零构建一个可互动的多人Demo(射击+血量同步+RPC调用)
2026/5/3 5:20:49
永磁同步电机双闭环,永磁同步电机数学模型仿真,simulink matlab仿真 用的是有自己搭建的PMSM模型(非系统自带),可以自己设置参数。 全部模块采用数学模型搭建。 附上模型说明文档,很容易看懂。
最近在研究永磁同步电机(PMSM)的控制,尝试了通过Matlab/Simulink搭建其数学模型并进行双闭环仿真,过程相当有趣,来和大家分享一下。
通常Matlab有系统自带的PMSM模型,但自己搭建模型可以更深入理解电机的运行原理和内部机制。而且,自定义模型能更灵活地设置参数,以适应不同的研究需求。
% 假设已经定义了参数Rs, Ld, Lq, omega_e等 % 输入:id, iq % 输出:ud ud = Rs*id + Ld*(did_dt) - omega_e*Lq*iq;这里的diddt是通过对 \(id\) 信号经过积分器反相得到(因为积分器是对导数积分,这里需要反推导数)。同样的方式可以实现 \(u_q\) 方程。
对于电磁转矩方程,代码逻辑可以写成:
% 假设已经定义了参数p, psi_f, Ld, Lq % 输入:id, iq % 输出:Te Te = 1.5*p*(psi_f*iq+(Ld - Lq)*id*iq);运动方程的实现类似,通过对 \(\omega_r\) 进行积分运算得到角度等信息。
双闭环控制一般是电流环和速度环。电流环保证电机电流快速跟踪给定值,速度环则保证电机速度稳定在设定值。
% 假设已经定义了参数Kp, Ki % 输入:给定电流iref, 实际电流i % 输出:控制量u error = iref - i; u = Kp*error + Ki*cumsum(error);这里cumsum函数模拟积分运算。
% 假设已经定义了参数Kp_speed, Ki_speed % 输入:给定速度omega_ref, 实际速度omega % 输出:电流给定值iq_ref error_speed = omega_ref - omega; iq_ref = Kp_speed*error_speed + Ki_speed*cumsum(error_speed);我附上的模型说明文档,详细介绍了每个模块的功能和参数设置。从电机数学模型的实现模块,到双闭环控制的各个环节,都有清晰的说明。即使是刚接触PMSM仿真的同学,也能轻松看懂。通过这个文档,可以快速了解模型结构,并且根据自己的需求修改参数进行进一步研究。
总之,通过自己搭建PMSM模型并实现双闭环控制的仿真,对永磁同步电机的控制有了更深入的认识,希望我的分享能给大家带来启发,一起在电机控制的研究道路上探索更多可能。