021-64886750

  • 实时目标机

    Simulink模型库

    Demo套件

info@yisuworld.com

永磁同步电机控制系统仿真系列文章——控制器模型(2)

网站首页    技术blog和使用技巧    永磁同步电机控制系统仿真系列文章——控制器模型(2)

 

回顾
 

上一篇文章对于控制器模型的整体结构进行了讨论,包括两部分:

(1)       PWM比较器,仿真频率一般大于10MHz,在实际项目中一般通过DSP或者Micro Controller的外设,亦或者通过FPGA来实现。

(2)       控制算法部分,包括SVPWM算法、FOC控制算法,最大转矩电流比,和死区补偿算法等,仿真频率一般为开关频率的1倍或者2倍。例如开关频率为6kHz,那么控制器模型的仿真速率可以是6kHz或者12kHz,具体选择6kHz还是12kHz,就与将来选择的处理器的性能相关了。

本文是关于控制器模型的第2篇文章,主要讨论PWM比较器的Simulink模型。

关于整个系统文章的内容请参考第一篇文章:

永磁同步电机控制系统仿真系列文章——永磁同步电机模型(1

 

 

—— PWM 比较器的功能 ——

还是以本系列文章中,用到的三相两电平逆变器为控制对象。下图是正弦波调制(SPWM)的三相两电平逆变器的波形[1]。输入的是三相的正弦波信号,三角载波与正弦信号波进行比较,当正弦信号波的值大于三角载波的值,输出“1”,否则,就输出“0”;PWM比较器一共生成6个PWM信号,控制6个IGBT的开通和关断。PWM比较器输出“1”控制IGBT开通,“0”信号IGBT关断。控制逆变器输出的三相相电压和三相线电压如下图所示。

对于三相两电平逆变器,为了防止上下桥臂同时导通而短路,PWM比较器还需要插入死区时间。

此外,为了让电流、速度和位置采样与PWM占空比的更新同步,以及控制器算法模型的触发运行,必须还有中断触发信号生成功能。

因此整个PWM比较器包括四部分

  1. 三角载波生成;
  2. 信号比较,生成PWM控制信号;
  3. 插入死区时间;
  4. 中断触发信号生成;

 

img1

正弦波调制(SPWM)的三相两电平逆变器的波形

 

 

—— 三角载波生成 ——

因为三角载波生成的模型是在FPGA中运行的,因此数据类型需要整型。

最方便的方法就是使用Simulink的HDL Coder模型库中的HDL Counter模块。通过控制输入端口dir控制HDL Counter模块的计数方向。

img2

HDL Counter模块

示例模型如下:

img3

三角载波生成的Simulink模型

仿真步长为1e-8,Relay 模块的Switch on point为10000,Switch off point为0,输出“0”或者“1” 控制HDL Counter模块的计数方向,生成0~10000的三角波,频率为5kHz。

img4

三角载波信号

 

—— PWM信号生成 ——

三角载波与信号波进行比较,当信号波的值大于三角载波的值,输出“1”,否则,就输出“0”;PWM比较器一共生成6个PWM信号,控制6个IGBT的开通和关断。此功能的Simulink模型如下

img5

PWM信号生成Simulink模型

 

—— 死区时间 ——

通常死区时间的插入通过增加PWM信号的开通延时实现的,简单说就是:如果PWM信号由“1”变“0”,即由开通变为关断,则马上关断;如果PWM信号由“0”变“1”,即由关断变为开通,则延时T_delay再开通;此功能的Simulink模型如下,C_delay端口为输开通延时计数值。

img6

死区时间Simulink模型

 

—— 中断触发信号生成 ——

此功能比较简单,Simulink模型如下图所示,在三角波的底点和顶点都产生中断,如果只在底点或者只在顶点,可以根据需要修改即可。

img7

中断触发信号生成的Simulink模型

以上模型皆可以通过Simulink的HDL Coder工具生成HDL代码,部署至Speedgoat的FPGA板卡。

 

——参考文献——

[1] D. Grahame Holmes et al. “Pulse Width Modulation for Power Converters: Principles and Practice.” IEEE® Press 2003.

 

2021年4月8日 14:29
浏览量:0