求教51单片机生成spwm波形的程序

求教51单片机生成spwm波形的程序,第1张

1、用普通I/O口采用软件定时器中断可以模拟SPWM输出。"/**/"里面的内用是对程序的标注,解析。

2、/*采用6MHz晶振,在P1.0脚上输出周期为2.5s,占空比为20%的脉冲信号*/

/*定时100ms,周期2.5s需25次中断,高电平0.5s需5次中断*/

#include <reg51.h>

typedef unsigned char uchar

sbit P1_0=P1^0

uchar time=0

uchar period=25

uchar high=5

void timer0() interrupt 1 using 1

{

TH0=0x3c/*定时器初值重装载*/

TL0=0xb0

time++

if(time==high) /*高电平持续时间结束,变低*/

{ P1_0=0}

else if(time==period) /*周期时间到,变高*/

{ time=0

P1_0=1

}

}

void main()

{

TMOD=0x01/*定时器0方式1*/

TH0=0x3c/*定时器装载初值*/

TL0=0xb0

EA=1/*开CPU中断*/

ET0=1/*开定时器0中断*/

TR0=1/*启动定时器0*/

while(1) /*等待中断*/

{}

}

3、说明:本程序主要采用了51单片机(具体型号STC89C52RC)的定时器,工作在方式3,来产生规定时间内的方波,制造SPWM.

SPWM是在PWM的基础上,将期望输出的正弦电压波形假想成有一组等宽不等幅的片断组合而成,然后用一组冲量对应相等的等幅不等宽(即脉冲宽度调制)脉冲将它们依次代替,从而在滤波器输出端得到期望的正弦电压波形。这样的脉冲可以由电子开关的通断控制实现。理论推导和实际的频谱分析表明:SPWM脉冲电压具有与理想正弦电压相一致的基波分量,而且最低次谐波的频率可以提高到SPWM调制频率(即开关频率,对应于每基波周期的脉冲个数)附近。因此,当开关频率足够高时,利用较小的滤波器就能将其中的谐波滤除掉。此外,只需改变SPWM脉冲宽度,就可以平滑地调节输出电压的基波幅值。采用了SPWM技术的逆变器即为SPWM逆变器,它在波形质量和控制性能上相对方波型逆变器有了巨大的进步。

SPWM(Sinusoidal PWM)法是一种比较成熟的、使用较广泛的PWM法。冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。SPWM法就是以该结论为理论基础,用脉冲宽度按正弦规律变化而和正弦波等效的PWM波形即SPWM波形控制逆变电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值。

所谓SPWM,就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规律排列,这样输出波形经过适当的滤波可以做到正弦波输出。它广泛地用于直流交流逆变器等,比如高级一些的UPS就是一个例子。三相SPWM是使用SPWM模拟市电的三相输出,在变频器领域被广泛的采用。

该方法的实现有以下几种方案。

1.等面积法

该方案实际上就是SPWM法原理的直接阐释,用同样数量的等幅而不等宽的矩形脉冲序列代替正弦波,然后计算各脉冲的宽度和间隔,并把这些数据存于微机中,通过查表的方式生成PWM信号控制开关器件的通断,以达到预期的目的.由于此方法是以SPWM控制的基本原理为出发点,可以准确地计算出各开关器件的通断时刻,其所得的的波形很接近正弦波,但其存在计算繁琐,数据占用内存大,不能实时控制的缺点。

2.硬件调制法

硬件调制法是为解决等面积法计算繁琐的缺点而提出的,其原理就是把所希望的波形作为调制信号,把接受调制的信号作为载波,通过对载波的调制得到所期望的PWM波形。通常采用等腰三角波作为载波,当调制信号波为正弦波时,所得到的就是SPWM波形。其实方法简单,可以用模拟电路构成三角波载波和正弦调制波发生电路,用比较器来确定它们的交点,在交点时刻对开关器件的通断进行控制,就可以生成SPWM波。但是,这种模拟电路结构复杂,难以实现精确的控制。

3.软件生成法

由于微机技术的发展使得用软件生成SPWM波形变得比较容易,因此,软件生成法也就应运而生。软件生成法其实就是用软件来实现调制的方法,其有两种基本算法:即自然采样法和规则采样法.

(1)自然采样法

以正弦波为调制波,等腰三角波为载波进行比较,在两个波形的自然交点时刻控制开关器件的通断,这就是自然采样法.其优点是所得SPWM波形最接近正弦波,但由于三角波与正弦波交点有任意性,脉冲中心在一个周期内不等距,从而脉宽表达式是一个超越方程,计算繁琐,难以实时控制。

(2)规则采样法

规则采样法是一种应用较广的工程实用方法,一般采用三角波作为载波。其原理就是用三角波对正弦波进行采样得到阶梯波,再以阶梯波与三角波的交点时刻控制开关器件的通断,从而实现SPWM法.当三角波只在其顶点(或底点)位置对正弦波进行采样时,由阶梯波与三角波的交点所确定的脉宽,在一个载波周期(即采样周期)内的位置是对称的,这种方法称为对称规则采样。当三角波既在其顶点又在底点时刻对正弦波进行采样时,由阶梯波与三角波的交点所确定的脉宽,在一个载波周期(此时为采样周期的两倍)内的位置一般并不对称,这种方法称为非对称规则采样。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11515869.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存