基于SVPWM以及实际MCU定时器输出脉冲的中心对齐模式

发布者:RadiantSmile最新更新时间:2024-08-19 来源: elecfans关键字:SVPWM  输出脉冲 手机看文章 扫描二维码
随时随地手机看文章

一、扇区矢量切换点确定

模型按七段式的三相桥臂切换时间搭建,如I扇区内,确定逆变臂的开关顺序为七段000-100-110-111-111-110-100-000;

图片

(第I扇区)

由于其为三角波调制,其定时中心对称、每个合成矢量的作用周期固定为Tpwm,则可定义:

图片

(三相切换点)

同理在第Ⅱ扇区内,逆变桥臂的开关顺序为000-010-110-111-111-110-010-000:

图片

(第2扇区)

在第Ⅲ扇区内,逆变桥臂的开关顺序为000-010-011-111-111-011-010-000:

图片

(第3扇区)

在第Ⅳ扇区内,逆变桥臂的开关顺序为000-001-011-111-111-011-001-000:

图片

(第4扇区)

在Ⅴ扇区内,逆变桥臂的开关顺序为000-001-101-111-111-101-001-000:

图片

(第5扇区)

在Ⅵ扇区内,逆变桥臂的开关顺序为000-100-101-111-111-101-100-000:

图片

(第6扇区)

相电压开关比较切换点Tcmp1、Tcmp2、Tcmp3与各扇区的关系可列出如下表格方便查询:

图片

(扇区切换表)

综上我们得到了各时刻所需的空间电压矢量及持续时间,实际应用中可在处理器中赋值对应通道的定时器,捕获比较寄存器产生PWM波形,控制逆变桥,进而产生期望的电压、电流、力矩。

二、基于simulink仿真建模

基于以上的分析,为了验证该算法是准确性,接下来我们就根据原理搭建相关模型:

搭建切换点定义模块如下,输入变量为过调制后的T1、T2及Tpwm;

图片

(切换点定义)

搭建根据扇区自动选择相应的比较切换点模块如下,输入变量为扇区N及三相切换点Ta、Tb、Tc,此处我们需要留意,各扇区内三相切换点相对于的载波比较点并不一致,这与马鞍波密切相关;

图片

(各扇区自动选择切换点模块)

搭建PWM互补输出模块,输入变量为三角载波与比较点,差值比较输出开关动作,由于此模型仅验证其原理,所以并没有依据实际应用加入死区时间;

图片

(互补PWM输出模块)

图片

(Spwm汇总模块)

综上就是SVPWM算法的实现方式,其中主要包括参考电压矢量的扇区判断、零/非零矢量用时间计算以及切换时间点确定,最后利用三角载波与切换点比较输出PWM。到这我们将SVPWM模块汇总到单个模块方便后续调用,后接的逆变桥与电机就直接使用simulink库自带的模型。

三、开环仿真运行验证

到这我们搭建开环SVPWM模型验证各项参数,将之前已经搭建的功能模块连接起来,逆变桥与电机选用simulink库自带模块。具体参数设置为:直流侧电压Udc =96 V,PWM开关频率16KHz,仿真算法采用变步长ode23 tb 算法,仿真步长设置为5e^-6,其余变量保持初始值不变。

仿真条件为:给定Ud、Uq值进行Park反变换为三相正弦,Clark正变换为α、β给到Svpwm模块。电机给定转速设定为600 r/ min ,初始时刻负载转矩0.1N•m 。

图片

(开环总体框架)

图片

(逆变桥模块)

图片

(电机模块)

设定Ud为0,Uq=24V,仿真运行首先我们看切换点前后的马鞍波,从仿真波形来看到其实马鞍波的来源是三相切换点时间的组合值,当然网上很多资料推测是三相正弦叠加而来这个说法是有待商榷的。

图片

图片

(切换点前后马鞍波)

根据仿真我们可以得出结论:其实马鞍波是SVPWM算法的特点,计算得到的三相切换点时间波形就是如此,只是经过了不同扇区的组合,才形成了马鞍波,并不存在三次谐波

如下为电机转速波形,开环的效果比较理想,虽然启动时有较大的超调量,但是转速很快就能稳定在600转,但由于没有引入闭环控制,所以还是有轻微的波动。

图片

(转速)

图片

(Ud、Uq、角速度给定值)

图片

(Id、Iq反馈值)

***四、七段式与五段式对比 ***

在SVPWM 方案中有基于软件模式(七段式算法)和硬件模式(五段式算法),其中零矢量的穿插是最具灵活性的。

五段式每个Tpwm仅在中间段插入零矢量,每个周期相比七段式减少了1/3的开关次数,减缓了开关器件在负载电流较大时开关动作损耗。

对于七段式SVPWM 算法而言,基本矢量作用顺序为:在每次开关状态转换时,只改变其中一相的开关状态,且零矢量在时间上平均分配,产生的PWM 对称,还能够降低PWM的谐波分量。

图片

(七段式三相驱动)

图片

(五段式三相驱动)

图片

(七段式相电流)

图片

(五段式相电流)

图片

(七段式谐波含量

图片

(五段式谐波含量)

从仿真数据中我们可以明显对比出,五段式的驱动波形在每个扇区总有一相的开关管不动作得以休息,相比七段式可减少1/3的开关损耗

但由于扇区间的衔接是不对称的,所以相电流的波形相比七段式波动更明显,从频谱分析中我们也明显可以对比出,七段式的3次谐波含量为3.45%,而五段式的3次谐波含量为4.12%。

从开环模型的仿真结果来看,五段式算法切合实际的应用,七段式的算法受限于开关元件的性能但有利于更理想的电机运转,可以按应用场景进行选择。

** 总结** :本次开环仿真也是基于最基本的Svpwm算法搭建,所用的参数及模型均为理想值,对于实际应用仅作为参考价值。


关键字:SVPWM  输出脉冲 引用地址:基于SVPWM以及实际MCU定时器输出脉冲的中心对齐模式

上一篇:SVPWM控算法的坐标变换
下一篇:不稳定的零极点为何不能对消?

推荐阅读最新更新时间:2024-11-04 00:34

单片机定时器记数器的作用及使用简介
1. 计数概念的引入 从选票的统计谈起:画“正”。这就是计数,生活中计数的例程处处可见。例:录音机上的 计数器 、家里面用的电度表、汽车上的里程表等等,再举一个工业生产中的例程,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的办法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就能知道走过的线有多长了。 2、计数器的容量 从一个生活中的例程看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴持续落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。录音机上的计数器最
[单片机]
<font color='red'>单片机</font><font color='red'>定时器</font>记数器的作用及使用简介
单片机编程里软件定时器使用技巧
#ifndef __SIMPLE_SOFT_TIME_H_ #define __SIMPLE_SOFT_TIME_H_ #define MIAO 1000ul #define MIN 60*MIAO #define UPLOAD_SENSOR_ITV 10*MIN //传感器数据上报间隔 #define OFFLINE_WAIT_TIME 8*MIN typedef enum { ST_General_Ov=0, ST_HEAT_Ov, //1 ST_M35_HEAT_O
[单片机]
STC89C52单片机用两个定时器控制蜂鸣器的频率和输出时间间隔
题目 同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800, 1k(hz)的方波。 遇到的问题 出现定时器紊乱的现象,这个时候需要把T1定时器的优先级设为高于T0优先级 具体代码如下: #include reg52.h typedef unsigned int unint; typedef unsigned char uchar; sbit beep = P1^5; sbit led = P2^0; uchar t1,bphz,times; uchar code table = { 500,300,200,1
[单片机]
单片机控制定时器
一、定时器介绍 51单片机有2个16位的定时/计数器T0、T1,52单片机有3个16位定时/计数器T0、T1、T2。 定时/计数器顾名思义就是有定时和计数的功能,下面主要介绍定时器,对计数器不进行论述单片机的定时功能在日常的单片机编程中应用十分的广泛,同时定时中断也是单片机常用的中断之一,所以学好定时控制也是非常重要的,如果不理解中断的概念请查我的文章 嵌入式中断的理解 http://blog.csdn.net/snyanglq/article/details/50238205 二、单片机的内部框图与定时器工作原理分析 大家请看上面的图,这是定时器T0和T1内部结构图,图中用不同颜色的线条标注了相互之间的工作关系, 从上面的
[单片机]
单片机定时器的寄存器
标准的 51 单片机内部有 T0 和 T1 这两个定时器,T 就是 Timer 的缩写,现在很多 51 系列单片机还会增加额外的定时器,在这里我们先讲定时器 0 和 1。前边提到过,对于单片机的每一个功能模块,都是由它的 SFR,也就是特殊功能寄存器来控制。与定时器有关的特殊功能寄存器,有以下几个,大家不需要去记忆这些寄存器的名字和作用,你只要大概知道就行,用的时候,随时可以查手册,找到每个寄存器的名字和每个寄存器所起到的作用。 表 5-1 的寄存器是存储定时器的计数值的。TH0/TL0 用于 T0,TH1/TL1 用于 T1。 表 5-1 定时值存储寄存器 名称 描述 SFR 地址 复位值 TH0 定时器 0 高字节 0
[单片机]
<font color='red'>单片机</font><font color='red'>定时器</font>的寄存器
单片机定时器实用方法总结
第一部分:51系列定时器 定时/计数器 0 和定时/计数器1都有4种定时模式。 16位定时器对内部机器周期进行技术,机器周期加1,定时器值加1,1MHZ模式下,一个机器周期为1us 。 定时器工作模式寄存器TMOD,不可位寻址,需整体赋值,高4位用于定时器1,第四位用于定时器0。 C/T:为定时器功能选择位,C/T=0对机器周期计数,C/T=1,对外部脉冲计数。 GATE:门控位,GATE=0,软件置位TRn即可启动计时器,GATE=1需外部中断引脚为高电平时才能软件置位TRn启动计时器,一般取GATE=0。 定时器控制寄存器TCON: TFn:Tn溢出标志位,当定时器溢出时,硬件置位TFn,中断使能的情况
[单片机]
<font color='red'>单片机</font><font color='red'>定时器</font>实用方法总结
51单片机内部定时器/计数器实验
一、实验内容 使用MCS-51内部定时/计数器,定时1秒钟,CPU运用定时中断方式,实现每1秒钟输出状态发生一次反转,即发光管每隔1秒钟亮一次(P1.7接LED)。 根据实验内容编写一个程序,并在实验仪器上调试和验证。 二、仿真图 三、代码 C语言实现: # include reg52.h # include intrins.h # define uint unsigned int # define uchar unsigned char sbit LED=P1^0; uchar t,temp; void init(); void main() { t=0; init(); whil
[单片机]
51<font color='red'>单片机</font>内部<font color='red'>定时器</font>/计数器实验
430单片机定时器A功能的大致介绍
总的来说,430单片机一共有三个定时器,定时器A,定时器B,还有就是看门狗定时器,这里我们主要是讨论430单片机的定时器A的功能,定时器A的功能是我目前见过最厉害的定时器,视频上说用好定时器A的话,对于今后真正的掌握430具有很重要的意义 同样是先介绍一下定时器A的特点:(英语六级科学类文章的常用写法,总分总) 1:可作为异步的16位定时器,16位的计数器,其中计数器有四种工作方式 2:可以调节的外部时钟源 3:3个捕获比较源 4:拥有可以输出PWM功能 5:异步的输入与输出锁存 6:拥有多个中断源 其实,看datasheet现在真的掌握方法了,看完简介关键就是看懂下面这张图,在编程的时候熟悉相关寄存器的操作就可以了 并且看图
[单片机]
430<font color='red'>单片机</font>之<font color='red'>定时器</font>A功能的大致介绍
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved