主要讨论PWM比较器的Simulink模型

电子说

1.3w人已加入

描述

PWM 比较器的功能

还是以本系列文章中,用到的三相两电平逆变器为控制对象。下图是正弦波调制(SPWM)的三相两电平逆变器的波形。

输入的是三相的正弦波信号,三角载波与正弦信号波进行比较,当正弦信号波的值大于三角载波的值,输出“1”,否则,就输出“0”;PWM比较器一共生成6个PWM信号,控制6个IGBT的开通和关断。PWM比较器输出“1”控制IGBT开通,“0”信号IGBT关断。控制逆变器输出的三相相电压和三相线电压如下图所示。

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

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

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

(1) 三角载波生成;

(2) 信号比较,生成PWM控制信号;

(3) 插入死区时间;

(4) 中断触发信号生成;

IGBT

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

三角载波生成

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

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

IGBT

HDL Counter模块

示例模型如下:

IGBT

三角载波生成的Simulink模型

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

IGBT

三角载波信号

PWM 信号生成

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

此功能的Simulink模型如下:

IGBT

PWM信号生成的Simulink模型

死区时间

通常死区时间的插入通过增加PWM信号的开通延时实现的。

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

IGBT

死区时间的Simulink模型

中断触发信号生成

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

IGBT

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

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分