多速率仿真
通常情况下,在Simulink环境下搭建的电力电子控制系统的仿真模型,都是多速率的仿真模型。这是因为:
01
电力电子控制系统中包含多种类型的模型,不同模型对于仿真速率的要求是不同的。
02
被控对象模型中的电气部分,例如永磁同步电机、逆变器,都是希望仿真速率越快越好。具体选择多快的仿真速率,与PWM的频率,逆变器的死区时间,模型的解算方式等因素相关。对于10kHz开关频率,仿真速率最好是开关频率的100倍,因此为1MHz(仿真步长1µs),但是如果死区时间为2µs,那么仿真步长最好是死区时间的1/10(0.2µs),此时仿真速率就是5MHz。
03
被控对象模型中的机械部分,通常情况下仿真步长为1ms(仿真速率1kHz),但是在电动汽车的MCU HIL中,为了测试电机的极限速率变化,可能此时电机的机械部分也需要1MHz以上的仿真速率,以保证电机位置和速率的精确模拟。
04
PWM比较器模型部分,通常情况下PWM比较器的三角波都是通过一个高频率时钟进行计数来产生的。这个时钟一般都大于10MHz,以保证PWM输出占空比的调节精度。
05
控制器模型部分,其仿真速率一般与开关频率相关,为开关频率的整数倍。例如开关频率为10kHz,那么控制器模型的仿真速率可以是10kHz或者20kHz,具体选择10kHz还是20kHz,就与将来选择的DSP或者Micro Controller的处理能力相关了。此外,实际应用中,还存在变开关频率的情况,此时控制器模型的仿真频率也是变化的。
总之,当我们在Simulink环境下,搭建电力电子控制系统的仿真模型时,需要考虑电力电子系统的实际情况,让仿真模型的仿真速率是与实际情况相符,这样仿真结果才能准确反映真实的变化。
如果想要查看Simulink模型中不同模块的仿真速率,可以点击Simulink的左侧模型的图标,选择Colors即可。从下图的右侧可以看到,这个模型有Continuous的部分,也有Discrete的部分(仿真步长200µs)。其他的还有Constant和Multrate(多速率)的部分。
在搭建多速率仿真模型时,不同仿真速率的仿真模型通过Simulink的Rate Transition模块进行连接,具体的使用请参考MATLAB的Help文件。
Rate Transition模块
同步和异步
同步和异步是一个相对的概念,例如异步中断,同步任务等。因此需要弄清楚,相对什么是任务是同步的,相对什么中断是异步的。还是以永磁同步电机控制系统的仿真模型来说明。
下图是常规永磁同步电机控制的实际流程包括以下几个步骤**:**
1 . 采样和保持电机电流值,ADC转换电机电流值;
2 . 读取电机速度和位置值(图中未标出);
3 . 运行电机控制和SVPWM算法;
4 . 输出和更新PWM占空比;
其中步骤1的电流采样和步骤4的更新PWM占空比必须在同一时刻完成的。
PMSM电机控制的流程
因此我们可以知道,如何把电机控制算法看作一个任务,这个任务相对被控对象模型就是异步的。但是这个任务相对于PWM-Timer却是同步的。
现在,我们已经知道了永磁同步电机控制系统的实际情况,下面我们就来进行建模。
永磁同步电机控制系统仿真参数
确定系统参数如下:
根据PWM开关频率和PWM比较器时钟频率,可以确定PWM比较器的三角波底点值为0,顶点值约为833。因此确定实际的控制周期为83.3µs,在PWM比较器的三角波的地点和顶点各对永磁电机进行一次控制。
因此确定整个系统仿真模型的仿真参数:
1 . 被控对象的仿真步长为100ns;
2 . PWM比较器的仿真步长为100ns;
3 . 控制器的仿真步长为83.3µs;
控制器仿真模型通过PWM比较器通过异步中断的方式触发运行。
永磁同步电机控制系统模型概述
为保证每个控制时刻电流采样与PWM信号的同步,在模型搭建时可以采用Function Call子系统或者Enable子系统,如下图所示,此时PMSM Controller的运行不与时间同步,而与PWM比较器输出的trigger同步(图中的from模块的INT标识)
基于Function Call的PMSM控制器模型
PWM比较器产生控制器模型触发信号
整个系统仿真模型建模完成后,点击Simulink的左侧模型的图标,选择Colors,查看Simulink模型中不同模块的仿真速率。如下图所示,其中红色表示仿真步长为0.1µs。粉红色表示仿真步长为constant(常值),一般为仿真模型一些Constant模块的仿真步长。最下面青色的就是控制器模型的仿真步长为Triggered,即中断触发的运行方式,其中断源来自D1(即仿真步长为0.1µs的模块),也是就仿真步长为0.1µs的PWM比较器产生的。
永磁同步电机控制系统仿真模型的仿真步长
各种模式的仿真结果
下面比较定子频率400Hz下,两种仿真模式下的仿真结果,让大家明白其中的差异。
仿真模式1:控制器通过中断触发方式运行:电机电流波形(整体)
仿真模式1:控制器通过中断触发方式运行:电机电流波形(峰值)
仿真模式2:控制器通过非中断触发方式运行:电机电流波形(整体)
仿真模式2:控制器通过非中断触发方式运行:电机电流波形(峰值)
仿真模式1:控制器通过中断触发方式运行:电机电流波形,电机电流采样波形,三角波
仿真模式2:控制器通过非中断触发方式运行:电机电流波形,电机电流采样波形,三角波
差异如下:
采用中断触发方式建模和仿真,电机电流的峰值有大约3A(0.83%)的波动;
采用非中断触发方式建模和仿真,电机电流的峰值有35A(9.72%)的低频波动;
采用中断触发方式建模和仿真,电机电流的采样值在三角波的底点和顶点;
采用非中断触发方式建模和仿真,电机电流的采样值与三角波的底点和顶点无关;
如何大家观察电机转矩的波形可以看到更为明显的低频波动现象。
留个小问题,大家互动一下:
Q:
为什么采用PWM比较器产生异步中断来触发控制器运行的方式,电流峰值的波形比不采用这个方式的波形小很多?
相关文章