-
实时仿真用户案例
Crank-嵌入式GUI设计和开发用户案例
021-64886750
-
实时目标机
Simulink模型库
Demo套件
info@yisuworld.com
永磁同步电机控制系统仿真系列文章——控制器模型(1)
之前的几篇已经讨论了永磁同步电机、逆变器、旋转变压器和许多与实时仿真相关的话题;至此,所有关于永磁同步电机控制系统中的被控对象模型就都已经讨论完毕了。下面就开始讨论控制器模型。
这一篇主要讨论多速率仿真、同步和异步、永磁同步电机控制器模型概述。
—— 多速率仿真——
通常情况下,在Simulink环境下搭建的电力电子控制系统的仿真模型,都是多速率的仿真模型。这是因为:
1) 电力电子控制系统中包含多种类型的模型,不同模型对于仿真速率的要求是不同的。
2) 被控对象模型中的电气部分,例如永磁同步电机、逆变器,都是希望仿真速率越快越好。具体选择多快的仿真速率,与PWM的频率,逆变器的死区时间,模型的解算方式等因素相关。对于10kHz开关频率,仿真速率最好是开关频率的100倍,因此为1MHz(仿真步长1µs),但是如果死区时间为2µs,那么仿真步长最好是死区时间的1/10(0.2µs),此时仿真速率就是5MHz。
3) 被控对象模型中的机械部分,通常情况下仿真步长为1ms(仿真速率1kHz),但是在电动汽车的MCU HIL中,为了测试电机的极限速率变化,可能此时电机的机械部分也需要1MHz以上的仿真速率,以保证电机位置和速率的精确模拟。
4) PWM比较器模型部分,通常情况下PWM比较器的三角波都是通过一个高频率时钟进行计数来产生的。这个时钟一般都大于10MHz,以保证PWM输出占空比的调节精度。
5) 控制器模型部分,其仿真速率一般与开关频率相关,为开关频率的整数倍。例如开关频率为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],包括以下几个步骤
1) 采样和保持电机电流值,ADC转换电机电流值;
2) 读取电机速度和位置值(图中未标出);
3) 运行电机控制和SVPWM算法;
4) 输出和更新PWM占空比;
其中步骤1的电流采样和步骤4的更新PWM占空比必须在同一时刻完成的。
PMSM电机控制的流程
因此我们可以知道,如何把电机控制算法看作一个任务,这个任务相对被控对象模型就是异步的。但是这个任务相对于PWM-Timer却是同步的。
现在,我们已经知道了永磁同步电机控制系统的实际情况,下面我们就来进行建模。
—— 永磁同步电机控制系统仿真参数——
确定系统参数如下:
表1 永磁同步电机控制系统参数
NO. |
Name |
Unit |
Value |
NO. |
Name |
Unit |
Value |
---|---|---|---|---|---|---|---|
1 |
仿真步长Ts |
[s] |
1e-7 |
2 |
PWM开关频率 |
[Hz] |
6000 |
3 |
死区时间 |
[s] |
2e-6 |
4 |
PWM比较器时钟频率 |
[MHz] |
10 |
根据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控制器模型
整个系统仿真模型建模完成后,点击Simulink的左侧模型的图标,选择Colors,查看Simulink模型中不同模块的仿真速率。如下图所示,其中红色表示仿真步长为0.1µs。粉红色表示仿真步长为constant(常值),一般为仿真模型一些Constant模块的仿真步长。最下面青色的就是控制器模型的仿真步长为Triggered,即中断触发的运行方式,其中断源来自D1(即仿真步长为0.1µs的模块),也是就仿真步长为0.1µs的PWM比较器产生的。
永磁同步电机控制系统仿真模型的仿真步长
—— 各种模式的仿真结果——
下面比较定子频率400Hz下,两种仿真模式下的仿真结果,让大家明白其中的差异。
仿真模式1:控制器通过中断触发方式运行:电机电流波形(整体)
仿真模式1:控制器通过中断触发方式运行:电机电流波形(峰值)
仿真模式2:控制器通过非中断触发方式运行:电机电流波形(整体)
仿真模式2:控制器通过中断触发方式运行:电机电流波形(峰值)
仿真模式1:控制器通过中断触发方式运行:电机电流波形,电机电流采样波形,三角波
仿真模式2:控制器通过非中断触发方式运行:电机电流波形,电机电流采样波形,三角波
差异如下:
1) 采用中断触发方式建模和仿真,电机电流的峰值有大约3A(0.83%)的波动;
2) 采用非中断触发方式建模和仿真,电机电流的峰值有35A(9.72%)的低频波动;
3) 采用中断触发方式建模和仿真,电机电流的采样值在三角波的底点和顶点;
4) 采用非中断触发方式建模和仿真,电机电流的采样值与三角波的底点和顶点无关;
如何大家观察电机转矩的波形可以看到更为明显的低频波动现象。
留个小问题,大家互动以下:
为什么采用PWM比较器产生异步中断来触发控制器运行的方式,电流峰值的波形比不采用这个方式的波形小很多?
下一篇文章会逐步介绍控制器模型内部的,PWM比较器模型,SVPWM算法、FOC控制算法,最大转矩电流比,和死区补偿算法。
——参考文献——
[1] Joachim Böcker. “Controlled Three-Phase Drives.” Universität Paderborn LEA Lecture Notes Last Update 13.07.2012.
[2] 上海熠速. “基于Speedgoat FPGA板卡的兆赫兹开关频率PMSM控制算法的开发与验证.” 微信公众号:Speedgoat实时仿真系统.
-
电力电子(含控制器和被控对象模型)
凭借多年在电力电子行业累积的经验和能力,我们为用户提供控制器模型和被控对象模型,包括标准库以及定制化服务。¥ 0.00立即购买
-
轨道交通(含控制器和被控对象模型)
凭借多年在轨道交通行业累积的经验和能力,我们为用户提供控制器模型和被控对象模型,包括标准库以及定制化服务。¥ 0.00立即购买
-
信号调理系统
在HIL测试中,硬件在环设备起到模拟被测ECU被控对象的作用。需要根据ECU的PIN脚信息,模拟相应信号。这类设备的核心为实时系统,实时系统会提供相应IO通道,处理信号的产生和采集。但这类IO通道一般为标准规格,比如数字通道为TTL规格,模拟通道只是测电压等;这与被测ECU所需的信号规格有较大差异,故需要一套信号调理系统,负责两者之间信号的转接。¥ 0.00立即购买
-
电机控制Demo套件
使用Simulink和Speedgoat转动无刷直流电机。¥ 0.00立即购买
实时目标机
仿真测试应用场景
学习与支持
关注熠速微信公众号
仿真测试解决方案
I/O接口模块
通讯协议模块
FPGA技术
被控部件仿真
Simulink模型库
Demo套件
测量测试解决方案