利用matlab编写异步电机矢量控制程序遇到的问题

用.m文件编写matlab异步电机矢量控制仿真例程

编写完成后运行,无法正常启动,波形如下图。

利用matlab编写异步电机矢量控制程序遇到的问题_第1张图片

坐标变换问题

观察电机波形可以发现:
1.电机转角在变化一点之后保持不变。
2.电流持续上升。
说明电机转子没有转动起来,推测转角部分出现问题。发现转子角度与仿真模型计算过程中使用的角度差90°,这个角度出现的原因是国内外对dq轴的定义不同。在调整之后,电机成功转起来。但是出现了新的疑问。
(国外和国内关于3s/2r变换(ABC-dq)的定义有些出入,simulink的dq轴相对于书上滞后了90度。所以simulink的q轴是书上的d轴,而其d轴则是书上的q轴取反,在仿真时一定要小心。)

空载时启动转矩超调过大且存在反向情况造成电流和转速的波动

利用matlab编写异步电机矢量控制程序遇到的问题_第2张图片利用matlab编写异步电机矢量控制程序遇到的问题_第3张图片而例程波形如下
利用matlab编写异步电机矢量控制程序遇到的问题_第4张图片在开始有一段时间,给定转矩上升,而实际转矩仍然为零,避免了突增带来的反向。

对比起步时给定的dq轴电压波形
利用matlab编写异步电机矢量控制程序遇到的问题_第5张图片

利用matlab编写异步电机矢量控制程序遇到的问题_第6张图片正常情况下,d轴电流对应磁链大小,所以q轴给定值与磁链给定值成正比;而q轴电流对应转矩大小,所以q轴电流给定值与转矩给定值成正比,与磁链成反比。q轴电流到达最大值并保持一定时间,说明转矩保持最大值不变,或者磁链极小,磁场没有建立起来。

实际原因是我TM在计算q轴电流给定值时用了磁链给定值,本应该用磁链计算值。。。

你可能感兴趣的:(利用matlab编写异步电机矢量控制程序遇到的问题)