采用MATLAB对SPWM进行辅助设计

最新更新时间:2011-11-15来源: 互联网关键字:MATLAB  SPWM。辅助设计 手机看文章 扫描二维码
随时随地手机看文章

1概述

传统的SPWM采用频率数倍于正弦波的三角波调制正弦波,可得到近似于正弦波的输出。三角波的频率越高,即载波比越高,谐波的频率就越高,输出端滤波器就更容易去除谐波。在输出频率固定的场合,如正弦波逆变电源,其输出频率固定在50Hz左右,这种场合采用软件设计可降低系统的成本,一般将数据存入存储器,通过CPU的定时器中断调用可完成SPWM控制。在变频场合,如三相交流异步电机的驱动,由于需要输出三相变频的SPWM信号,一般采用8254可编程定时器,以减少CPU的工作量。

SPWM设计采用传统方法得到的正弦波较理想,由于三角波是超越方程,正弦信号用单片机产生也较困难,因此,传统方法较难实现。现在有许多新方法产生,这些方法实现简单但对生成的正弦波影响不大,如对称规则采样法,双缘调制法等。

MATLAB是一个高级的数学分析与运算软件,具有强大的计算功能。SPWM控制通过MATLAB进行分析和设计,可取得事半功倍的效果。

以下的分析若无特殊说明,均基于双极型调制,基频为50Hz的SPWM控制。

2SPWM数据的计算

采用MATLAB可方便地得到正弦波与三角波的交点。在判断交点时,可通过交点的数学定义来判断。所谓交点,就是在交点附近时刻两函数之差值的绝对值趋于0,而在交点附近的极小区域,离交点越远,差值的绝对值逐渐增大。以下子程序为计算交点的MATLAB程序。x为基波数据,y为载波数据,m为交点时刻数据。

fori=2:n

if(abs(x(i)-y(i))<=abs(x(i+1)-y(i+1)))&(abs(x(i)-y(i))<=abs(x(i-1)-y(i-1)))

m(j)=i;

j=j+1

end;

end;

3各种SPWM算法的分析

(1)传统的SPWM法

将50Hz的正弦波与10kHz的三角波相交,将采样的数据存为n。

计算功率频谱程序

l=fft(n,1024);

p=l.*conj(1)/1024;

f=l:1024;

plot(f,p,`b');

由以上程序可得输出频谱图,如图1所示。

图1中横轴为数字频率,数字n对应的频率f=50n

将三角波频率提高4倍,输出频谱图如图2所示。

可见,随着三角波频率的提高,输出的电压中谐波频率也随之提高。

图1m=0.94,f=2.5kHz对应的输出频谱

图2m=0.94,f=10kHz对应的输出频谱

图3经典SPWM法输出频谱

图4对称规则采样法的输出频谱

图5a=0.93,f=5kHz,td=3μs双极性调制对应输出频谱

图6a=0.93,f=5kHz,未考虑死区时间

(2)对称规则采样法

对称规则采样法就是在三角波的中线时刻对应的正弦波值为基准作一平行于横轴的直线,该直线与三角波相交的两点即作为SPWM的控制点。因这两个控制点是对称的,故称为对称规则采样法。采用该方法得到的数据与自然采样法很接近,但计算量却大大简化。以单极性SPWM调制为例,采用MATLAB分析比较两种方法对应的输出波形。对应条件:调制系数m=097,三角波频率:16k。图3及图4示意出采用该法对应的输出频谱。

可见,采用对称采样法后,基频会有所提高,而谐波成分大大减少。

4死区时间对SPWM的影响

由于采用SPWM调制的电源其主电路一般采用桥式结构,为防止上下桥臂同时导通,在切换过程中设置一死区时间,一般为几个μs。在这段时间内,输出电压为零。死区时间对输出波形的影响与调制频率有关,频率越高,影响越大。假设这段时间长度为3μs,调制频率为5k,采用双极性调制,通过MATLAB进行仿真,得图5及图6所示的波形。

由图5及图6可见,在双极性调制下,死区时间对输出的影响较小。

将调制方法改为单极性调制,同以上参数,仿真结果如图7及图8所示。

由图7及图8可见,在单极性调制下,死区时间明显减小了基波的幅值,降低了直流电压利用率,在未考虑中断延迟时间实际应用中,设计定时常数应考虑死区时间的影响。一般应予在扣除。

图7a=0.93,f=5kHz,td=3μs单极性调制对应输出频谱

图8a=0.93,f=kHz,未考虑死区时间

单极性调制对应输出频谱

图9a=0.95,f=10kHz对应的输出频谱

中断延迟时间Td=10μs

 

图10a=0.95,f=10kHz对应的输出频谱

5中断程序时间的影响及其对策

在单片机采用本身定时器以实现SPWM控制时,由于将定时常数写入定时器需要在定时中断服务程序中完成,从中断响应到定时器进行下一次记数开始有一段时间,我们称为中断延迟时间。一般情况下,计算出中断延迟时间,然后在定时常数中予以扣除,就可以消除中断延迟时间对输出的影响。但在一些场合,如调制系数大于09,正弦波与三角波幅值几乎相等的那一段,此时的定时常数非常短,小于中断延迟时间,无法进行扣除,就是说,定时常数的时间必须大于中断延迟时间。当调制系数接近于1或调制比很高的情况下,中断延迟时间对输出有较大影响,表现在输出的电压幅值无法进一步增大。采用MATLAB仿真的波形如图9及图10所示。

可见,由于中断延迟时间的影响,随着调制比的进一步增加,基频并未得到有效的增强,而谐波成分的幅值却得到增加。

为降低中断延迟时间的影响,提高直流电压的利用率,在定时常数对应时间小于中断延迟时间的区域,可以采用降低调制比,但保留调制系数不变的方法,实际上是降低开关频率,增加了中断时间,从而降低中断延迟时间的影响,使基波的幅值得到提高。

6结语

SPWM是DC/AC变换中常用的控制方法。采用MATLAB进行辅助设计,可极大地减少工作量,并可对各种SPWM方法进行仿真,由于无寄生电路参数的影响,这种仿真更能说明各种方法的优劣。本文还对SPWM变换实际工作时死区时间和中断延迟时间的影响进行了分析,并提出解决方法。

关键字:MATLAB  SPWM。辅助设计 编辑:冰封 引用地址:采用MATLAB对SPWM进行辅助设计

上一篇:谐波抑制的工程设计方法探讨
下一篇:一种低功耗系统芯片的实现流程

推荐阅读最新更新时间:2023-10-18 16:05

基于Matlab GUI的串口通信编程实现
0 引言 Matlab是MathWorks公司开发的一种科学计算软件。Matlab运行稳定、可靠、使用方便,是广大科研人员进行科学研究的得力助手。Matlab不仅具有强大的科学计算功能,还具有满足一般要求的数据采集以及界面设计开发功能。Matlab GUI(Graphic User Interface)就是内置于Matlab的进行图形界面开发的模块。 本文利用Matlab GUI设计通过串口进行数据发送和接收的界面,并利用内置于Matlab的串口通信API实现串口数据发送与接收功能。 1 Matlab GUl介绍 启动Matlab后,运行guide命令即可以启动Matlab GUI开发工具。如图1所
[嵌入式]
基于Matlab的FIR数字滤波器的优化设计
  数字滤波在数字信号处理中,占有重要的地位。数字滤波包括FIR和IIR两种滤波方式,其中FIR滤波具有很多优点,可以在幅度特性随意设计的同时,保证精确、严格的线性相位,滤波稳定,不会出现递归型结构中的极限振荡等不稳定现象,且误差较小,可采用FFT算法实现,因此运算效率高。设计FIR滤波器常用的方法有窗函数法与频率抽样法,但是这两种方法均不易精确控制通带与阻带的边界频率,所以在实际应用中有一定的局限性。文中用Matlab语言实现了最佳等波纹FIR滤波器的设计,通过比较显示了它在等波纹方脉冲响应方面的优化特性。    1 FIR滤波器优化设计法   Matlab信号工具箱中提供的Remez函数可对数字滤波器进行优化设计,
[工业控制]
SUES在全院范围实施MATLAB和SIMULINK
广泛部署 MathWorks 工具,为学校贯彻国家教育部“卓越工程师教育培养计划”提供后盾 中国北京 – 2011 年 7 月 1 日 – MathWorks 日前宣布,上海工程技术大学 (SUES) 为其汽车工程学院部署了 MATLAB、Simulink 和 30 多种其他 MathWorks 产品,用于分析、设计、仿真、代码生成和验证。该项举措将让全院师生和实验室人员都从中受益。这些产品因为在汽车行业的广泛应用而得到学校的青睐,计划被安装到汽车工程学院的所有教学场所内,包括新成立的 SUES-MathWorks 汽车仿真技术中心。 上海工程技术大学是入选中国国家教育部“卓越工程师教育培养计划”(PETOE) 的 61
[半导体设计/制造]
matlab的GUI实验——实现简单信号发生器
命令行输入 Guide 创建空白的 GUI 项目 摆好控件,修改 Tag 名称和字体 实现滑动条和显示框的联动,滑动条拖动到哪,显示框显示多少数字,显示框输入数字同样可以更改函数的值(滑动条有个范围 Min 到 Max,显示框输入的值要在这个范围内) % 粘贴在滑动条回调函数下的代码 function fre_sliser_Callback(hObject) v1 = get(handles.fre_slider,'Value'); s1 = sprintf('%f',v1); set(handles.fre,'String',s1) % 粘贴在滑动条对应的显示框的回调函数下的代
[测试测量]
<font color='red'>matlab</font>的GUI实验——实现简单信号发生器
MathWorks 发布 2013b 版 MATLAB 和 Simulink 产品系列
中国北京– 2013 年 9 月 10 日–MathWorks 近日宣布发布2013b 版 (R2013b) 的 http://www.mathworks.com/products/new_products/latest_features.htmlMATLAB 和 Simulink 产品系列。在 R2013b 版的 MATLAB 和 Simulink 中不仅新增了分析、设计、代码生成和实现以及其他功能,同时该版本还新添了两款 Polyspace 产品以及其他 79 款产品的更新。这一版本的技术亮点如下: MATLAB 产品系列  MATLAB:提供了适用于混合类型的表格数据以及有序和无序分类数据的数据类型  MATLAB
[嵌入式]
MathWorks R2020b版MATLAB和Simulink带来数百个新特性
MathWorks公司推出了R2020b版MATLAB和Simulink产品系列。MATLAB中的新功能让用户更轻松地处理图形和创建App,而 Simulink的更新侧重于帮助用户能够实现更快速、更便捷的访问。借助新推出的Simulink Online,用户可以直接通过Web浏览器使用Simulink。R2020b还推出了基于人工智能(AI)的新产品,用以加快自主系统开发,快速创建自动驾驶3D模拟场景等。 在数百个全新和升级功能中,MATLAB新增了气泡图和分簇散点图;提供了使用MATLAB比较工具对使用App Designer创建的App进行比较与合并的能力;以及将自定义的图标和组件添加到您的MATLAB App中等特性。S
[半导体设计/制造]
MATLAB 和 Simulink 加快航空航天设计
MathWorks 宣布面向航空航天设计领域推出了 MATLAB 和 Simulink 的全新飞行分析和可视化功能。在 2018b 版中, Aerospace Blockset 新增了飞行控制分析工具,协助分析航空航天飞行器的飞行品质; Aerospace Toolbox 增添了座舱飞行仪器用户界面的自定义功能,用于可视化和分析航空航天飞行器的运动和行为。现在,工程师可以制定从早期飞行器设计和开发阶段到飞行原型开发的连续工作流程,从而缩短从设计到测试所需的时间。 航空航天设计需要满足严格的设计和监管要求,以确保符合 MIL-F-8785C、DO-178 B 和 DO-178 C 等标准,工程团队通常会借助 Simulink 和
[工业控制]
基于模糊控制的汽车灯光随动系统仿真
  自适应前照灯系统(Adaptive Front-lighting Systern, AFS )是使近光灯光轴在水平方向上与转向盘转角联动进行左右转动,在垂直方向上与车高联动进行上下摆动的 灯光随动 系统。它使得近光灯的照射光线能转向车辆的前进方向,在夜间行驶时,前方的交叉路口、弯道处的可视性能得到提高,能够有效地降低驾驶员在夜晚弯路上行车的疲劳程度,使驾驶者能够看清转弯处的实际路况,进而有充分的时间来应付紧急情况,从而明显提升夜晚弯路上行车的安全性。    1 汽车灯光随动系统的工作原理   汽车灯光随动系统的工作原理如图1所示。汽车灯光随动系统共由四部分组成: 传感器 、ECU、车灯控制系统和前照灯。汽车车速传感
[汽车电子]
基于模糊控制的汽车灯光随动系统仿真
小广播
最新电源管理文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved