PWM(脉冲宽度调制),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、PWM法、随机PWM、SPWM法、线电压控制PWM等。在直流电动机控制中采用的是PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制电流,进而达到对电动机转速进行控制的目的。
PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。
STC89C52单片机没有专门的PWM产生模块,但可以利用STC89C52单片机的定时器与I/O端口产生PWM信号。PWM信号包含两个参数:PWM信号的频率和PWM信号的占空比。所以需要两个定时器,其中一个用于控制PWM信号的频率,另一个用于控制PWM信号的占空比。
具体实现方法:用到两个定时器,定时器0和定时器1。定时器0用来控制PWM信号的频率,工作在模式1下;定时器1用来调节占空比,工作在模式2下。根据资料得知电动机工作的最佳频率为1kHz左右。初始化定时器0使其定时时间为1ms。在定时器0的中断函数里开启定时器1同时置位PWM的输出引脚,在定时器1的中断函数里复位PWM的输出引脚。这样就可以得到PWM信号了,PWM信号的频率等于定时器0定时时间的倒数,占空比等于定时器1的定时时间除以定时器0的定时时间。当然也可以输出相反极性的PWM信号,只需改变PWM输出引脚在定时器中断内的置位与复位关系即可。
利用STC89C52单片机的定时器产生PWM信号的程序流程如图14-9所示。(www.xing528.com)
图14-9 定时器产生PWM信号的程序流程
a)定时器初始化程序 b)定时器0中断处理程序 c)定时器1中断处理程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。