导读:为什么要在MATLAB中进行离散化仿真搭建?原因就是电机控制验证最终要通过控制芯片在硬件上去实现,而控制芯片实现算法的过程就是以离散化的方式,如图(1)所示。离散化仿真在一定程度上可以模拟实物的效果,所以在验证开发时最好选择离散化验证。

图1 离散化曲线图示
在MATLAB/Simulink中进行离散化仿真搭建,可以选择模块化、sfunction以M语言或者C语言来实现,具体分析可见表(1)。
表1 各种离散化仿真类型的分析

@正文安排:
(1)本期开发离散化仿真验证框架的根目录
(2)后续的开发
(1)电流
(2)电压
(3)转速
(4)转矩
(5)SVPWM
(1)设计速度环和电流环以不同的周期调用
(2)添加PWM死区

正文如下:

图1.1 硬件部分

图1.2 控制策略实现部分
整个仿真验证部分一共分成4个部分:
(1)硬件模拟;
(2)控制层和SVPWM调制模块;
(3)加载部分和Powergui、示波器;
(4)脚本文件,用于设置电机参数和控制参数;

后续开发升级主要针对控制层,将输入、输出通道固定,控制层采用sfunction模块进行M语言实现。这样的好处就是仿真框架方便持续开发,不管验证什么控制策略,只需要在控制层的sfunction更改即可。

图2.1 三相定子电流波形的变化情况

图2.2 d、q轴电流的变化情况

图2.3 Vd、Vq电压的变化情况

图2.4 速度波形变化情况

图2.5 转矩波形变化情况

图2.6 马鞍波的变化情况
仿真工况和控制策略:
(1)转速运行在±150rpm,分别在0.6秒和1.2秒时进行正反转切换;
(2)带载起动;
(3)PWM的开关周期为10KHz;
(4)控制策略:id=0的永磁同步电机有感控制。
结论:电流的变化要比速度变化的频率要高,一般电流环控制周期是微秒级,速度环的控制周期为毫秒级。
电流环作为内环,其快速响应为速度环提供实时转矩控制;速度环作为外环,周期性调用(如毫秒级)确保速度调节的稳定性,避免因过快调用导致系统震荡。
PWM添加死区的目的就是防止IGBT模块的上桥和下桥直通,导致炸机。一般在硬件实现的时候添加PWM死区,模型验证属于理想化情况,所以也就可有可无了。


(未作链接,先以此替代,或直接私信获取)
后期文章主要介绍如何利用伯德图bode来分析控制系统,因为后续开发中的PI调节器参数整定、锁相环PLL参数整定都需要用到,所以单独一期进行相关内容的学习。