这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 理解PWM

共13条 1/2 1 2 跳转至

理解PWM

专家
2024-01-13 01:32:36   被打赏 50 分(兑奖)     打赏

        事先声明哈,这个帖子讲述的知识,只适用于初学者,大佬可以无视哈。

        PWM,是英文pulse-width modulating的缩写,中文意思是脉冲宽度调制。啥意思呢?我们大家都知道数字脉冲是有高低电平组成的信号。单片机的工作始就是这种信号。

图片1.png

        通常这种信号是由晶振或者RC谐振电路产生的,占空比50%。这里的占空比是指在一个脉冲周期内,通电时间相对于总时间所占的比例。这里的通电时间,我们可以理解为高电平占用的时间。上图中,高电平占用的时间,占总时间(也就是低电平加上高电平占用的时间和)的50%,所以占空比就是50%。用这种信号驱动LED时,我们看到的结果是LED交替亮灭。当然,如果这个时钟周期很短的话,我们会看到LED保持常亮(虽然亮度不是固定高电平时的亮度),这是由于视觉暂留一起的现象,和我要讲的内容无关。

        如果在高频脉冲下我们想用这种脉冲信号控制LED的亮度怎么办呢?这个时候PWM就起作用了。在高频状态下,对于占空比为50%的脉冲,,在一个标准时钟脉冲内,平均电压为0.5Vdd。提高这个平均电压,就意味着增加LED的亮度。那么如何提高这个平均电压呢?当然就是缩短低电平持续的时间,增加高电平的时间。比如下图,将占空比从50%调整为75%,

图片2.png

        那么平均电压将变为0.75Vdd。如果占空比调整为100%,就意味着平均电压就是Vdd了。LED回答道对应于这个电压的最高亮度。占空比调整为0%,则意味着平均电压为0,没有给LED施加电压,就是灭的状态。在实际运用中,除了可以用PWM调整发光器件的亮度外,还经常用在电机速度的调整功能上。

        针对上面的例子,我们要实现PWM信号,需要做到以下两点:

                1、脉冲周期稳定不变

                2、脉冲占空比可调

        在早期的电路中,我们熟知的555,就非常适合用于PWM信号的控制输出,如以下电路:

        可以看到调整电位器RV1,可以在不改变整个脉冲周期的情况下,可以改变输出脉冲的占空比的。但这个电路是无法做到0%和100%的处理的,可能需要更复杂的电路才能实现。

        现在我们有了单片机,那么利用单片机的定时器,按照之前实现PWM信号需要的两个要点,就会容易做出更完美的PWN信号,能实现占空比从0%到100%的变化。如果单片机内部没有设置专用的PWM处理,那也一样很容易。以51单片机为例,首先我们固定定时器的周期为一个固定的值,让定时器自动装填,然后利用这个周期使某个IO电平翻转,那么在这个IO就会以固定的周期产生高低电平的脉冲信号,

图片5.png

        如果我们让定时器产生中断,每次中断累计次数达到100次的时候,IO口电平翻转,同时让这个计数清零,重新开始计数,那么在这个IO仍旧会以固定的约100倍的周期产生高低电平的脉冲信号(注意下面这个图和上面那个图看起来一样,实际上时钟周期的宽度是不一样的,我懒得修改了,你注意看定时周期数总不一样),

图片6.png

        然后在理解了这个处理过程的基础上,我们在做一个比较复杂的规则:

                1、中断总次数200个作为一个总的周期;

                2、每次中断发生的时候,将中断次数对200取余;这样处理的结果,使累计次数始终处于0-199之间。

                3、当中断次数小于某个固定临界次数的时候,IO口输出低电平;

                4、当中断次数大于等于某个临界次数的时候,IO口输出高电平;

        这样按照上面的规则,只要调整这个固定此数值,就可以改变IO口高低电平的变化时机,从而实现固定周期内脉冲信号的占空比变化,也就是输出PWM信号。

图片7.png

        在程序中,我们可以把这个固定值作为用户可以调节的量,配合200的那个上限值,就可以让用户灵活调节占空比了。或者让用户设置一个占空比数据,那么占空比数据 *上限值(前面例子中的200),得到的就是那个临界次数。





关键词: 菜鸟学单片机     理解PWM    

专家
2024-01-13 06:30:10     打赏
2楼

不错


院士
2024-01-13 08:51:27     打赏
3楼

谢谢楼主的分享~!


专家
2024-01-13 11:50:07     打赏
4楼

谢谢楼主的分享


专家
2024-01-13 13:29:28     打赏
5楼

谢谢分享


院士
2024-01-13 13:40:39     打赏
6楼

PWM波有两个关键参数:PWM波频率,PWM波占空比


院士
2024-01-13 19:50:53     打赏
7楼

谢谢分享,图文并茂。


工程师
2024-01-15 08:58:27     打赏
8楼

学习了,很详细


工程师
2024-01-18 08:18:02     打赏
9楼

学习了。很实用。


工程师
2024-01-19 08:38:47     打赏
10楼

PWM学习了


共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]