首页/文章/ 详情

SPWM详解及其软件生成

21天前浏览1890

一.什么是SPWM      

     
要说SPWM先得说PWM,英文全名Pluse Width Modulation,即脉冲宽度调制,实际上就是周期的矩形波,然后每个周期的占空比都可以自己设置就叫调制。比如Buck电路中开关管的PWM波,当输入不变时可以将它的占空比从40%变到60%就能提高母线输出电压。      
     
     
图一 .占空比固定pwm波与载波      
     
而SPWM前面加了个S(Sine),即正弦脉宽调制,意思就是:还是这个周期的矩形波,但不同的是占空比不是如40%固定的,而是按照正弦规律变化的。      
     
SPWM一般由三角波(载波)和正弦波(调制波)比较而成。硬件生成方法是将三角波和正弦波加入比较器得到;软件是通过定时器或者Epwm模块,按照中央计数模式生成三角波,经由CCR比较模块动作产生对应高低电平,即SPWM。      
     
     
     
如图,我们将正弦函数和三角载波都归一化处理,正弦波幅值要小于三角波,这里取0.8。在一个很小的Δt时段内正弦函数值和占空比的值相等。例如图中Δt时段正弦波的值是0.8左右(A点电压值),它的矩形波占空比也是80%。同时我们可以看出矩形波的频率和三角波相等。正弦波被三角波“切割”成高频的spwm,用以控制开关管,然后spwm通过低通滤波滤除高次谐波后,得到原来的正弦波。图示情况下从0开始半个期内SPWM占空比是0->0.8->0按照正弦函数变化,要得到某时的占空比,得到此时的sine值就可以了,sine值可以事先放入表中。      
     

二.SPWM软件生成      

     
利用单片机输出PWM波,然后让占空比正弦规律变化。      
实现步骤可以简单分为三步,以stm32为例:      
     
(1)生成载波。比如要生成一个10KHZ的三角波,将计数器设置加减计数、周期设为1/10K就ok啦。这样生成的三角波的幅值是多少呀,3.3V?其实在单片机里面都是数字信号,三角波最高点的时候可以用一个计数值来表示,比如8400,最低点是0。不用管他的电压是多少。      
     
(2)生成正弦波。这一步用软件生成一个正弦表即可。比如将正弦波取200个点,即将一个正弦分割成200份,每个点代表一个幅值。用离散的数字量表达正弦模拟量。      
     
(3)将正弦波和三角波进行比较。      

a.什么时候进行比较。设置计数值达到比较值产生动作。

b.比较完之后,需要改变比较值,用于下一个周期进行比较(比较值可以理解为占空比),比较值查正弦表获得,这样就生成了占空比正弦规律变化的SPWM。      
     
c.调制度m。m=正弦表最大值/三角波最大计数值。如正弦表最大值4200,三角波最大计数值8400,m=4200/8400=0.5,此时spwm最大占空比为50%,设置m=1,spwm最大占空比为100%。      
     
     
     
     
如图所示,要注意因为是单极性调制,spwm和三角载波都是大于0的。在单相全桥逆变电路中,开关管交替导通时输出电压Ud自然会倒过来为负,Ud经过滤波就是一个正弦波。     
来源:电力电子技术与新能源
燃料电池电源电路电磁兼容汽车电力电子MATLAB新能源芯片Simulink电机控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-11
最近编辑:21天前
获赞 136粉丝 217文章 2028课程 0
点赞
收藏

作者推荐

未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈