• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

PWM实现LED闪烁及改变LED闪烁频率

牛人大大 2018-08-15 浏览量:7479
最近研究TIM定时器跟PWM,陷入严重困境,,有没有大神可以告诉我PWM的频率与PWM的占空比是一回事吗?区别在哪?还有,我想让我的LED灯每格一秒钟闪烁一次,PSC与ARR值应该如何配置 ?各种不明白,各种头大啊,网上看了一些公式,写的模棱两可没弄明白是什么意思,还有LED每隔1S闪烁一次跟每隔2S闪烁一次是什么东西决定的 ?
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 首先,频率、周期是一个意思;占空比又是一个意思。

    如果你想让你的LED间隔1S进行亮灭。

    那么的定时器输出信号应该是周期为2S(其中电平1S,高电平1秒)这个时候低电平占整个周期1S,所以占空比为1/2=50%

    同样如果我的周期还是2S(低电平0.5S,高电平1.5S),这个是占空比就是75%。


    在实际使用中,如果你的周期比较小(频率够大),LED的亮灭平率十分快,人眼感觉是常亮,这时候,只要调节低电平的占空比,就可以调节LED的亮度。

    • 发布于 2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:22
  • PWM的频率就如你的LED每秒闪烁的次数,占空比就是你的LED的亮度,

    频率:

    //Fpwm = 72M / ((arr+1)*(psc+1))(单位:Hz)
    占空比:

    //duty circle = TIM3->CCR1 / arr(单位:%)


    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 3
    • 0

  • 推荐你使用CubeMX来配置STM32的工程吧,在CubeMX中配置好PWM的周期和占空比后输出代码,start PWM功能。

    PWM改变占空比可以实现LED灯从按到亮,或者从亮到暗的过程。

    假设正向输出PWM,LED灯高电平亮,那么PWM占空比越高,LED越亮,所以,LED 1s闪烁或2s闪烁是由改变PWM的时间来决定的,假设初始PWM占空比为30%,1s后改为100%,1s后再改为30%,则LED灯以1s的频率亮灭闪烁。

    如果在加快改变PWM速度及比例,那么就可以看到呼吸灯的效果了~

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 2
    • 0

  • PWM频率对占空比没有必然影响,但是频率高电源稳定,可是对器件要求就高,点个灯1K就差不多了
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 不是一回事,占空比就是一个输出的比例
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 频率是一个高低电平的周期的倒数,占空比是一个周期内高低电平的比值, PWM控制LED应该是,PWM通过控制开关管来控制LED的亮灭的吧, LED的点亮是需要时间的,高频率的信号内led的相应时间达不到,所以,通过改变PWM的占空比,可以控制LED的亮度,50的占空比相当于LED只有50%的电流,亮度就会降低,  PWM的频率越高,LED的光会越柔和,当PWM频率很低的时候,比如1HZ,一秒一个周期,占空比是50% 那么,led就会亮0.5s 灭0.5s  led响应时间和余辉效应,时间看到的可以会有一点差异,
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 一秒闪一次那频率就很低了,占空比决定电压大小,也就是亮度!
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • pwm频率跟占空比是两回事

    频率一定的情况下 改变占空比来调整电压有效值

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 占空比就是一个周期中高电平与低电平时间的比值
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 1、led闪烁与电平关系:

    如果led一端接IO,另一端接地的话,那么高电平的时候led亮,低电平led灭。如果另一端接VCC,反之。

    2、电平与PWM关系:

    PWM就是一个一会高电平,一会低电平的波形。

    3、PWM频率与占空比:

    PWM一个周期:一个高电平时间+一个低电平时间(单位:时间/个)

    PWM频率:1/周期(单位:个/时间

    PWM占空比:一个高电平时间/一个周期=一个高电平时间/(一个高电平时间+一个低电平时间​)

    4、PWM周期与stm32的TIM寄存器关系:

    PSC:预分频寄存器。就是系统时钟跳了PSC+1下,TIM的计数寄存器就会+1

    ARR:​​预装载寄存器,他跟影子捕获寄存器有比较复杂的关系,这里不赘述。只要知道TIM的计数寄存器跟ARR+1的值一样的话电平就会无条件拉低(这个根据你的设置)

    如何决定周期:​依靠PSC、ARR,当时钟跳(PSC+1​)*(ARR+1​)之后,电平就会无条件拉低

    如何决定占空比:依靠CCRx寄存器​,当TIM的计数寄存器跟CCRx寄存器的值一样,电平就会反转

    而时钟跳动的频率一般是72M​(根据设置),换成速度(周期)的话就是1/72000000s。

    如果要算PWM周期的实际时间,可以用

    PWM相对时钟的周期*时钟相对于世界时间的周期=1/72000000*PSC+1)*(ARR+1s​

    频率72000000/((PSC+1)*(ARR+1))

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 周期是通过修改定时器的周期修改的

    占空比就是通过设置PWM外设的占空比寄存器

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • pwm的频率是指每秒钟信号从高电平到低电平再回到高电平的次数;

    占空比是高电平持续时间和低电平持续时间之间的比例。

    补充一下上面的

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • pwm是一个方波,也就是一定频率的高低电平变化

    频率是周期的倒数,而一个高电平,一个低电平所用的时间是一个周期

    频率高说明方波脉冲的周期短


    占空比是一个周期内,高电平占整个周期的百分比

    占空比越高,说明高电平占周期比例大,可以理解为电压有效值高,相应的led亮度大


     比如想要每隔1s闪烁一次就让低电平部分为990ms,高电平部分给个10ms

    频率通过72000000/((PSC+1)*(ARR+1))来计算

    占空比用 TIMx->CCRx / ARR计算

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 频率和占空比不是一回事

    频率单位是HZ,表示在一秒以内有多少周期

    占空比是对一个周期中高电平时间和低电平时间关系的值,比如50%的占空比就是一个周期中高低电平时间比是1:1。

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果实在不清楚,去使用cube吧,直接把底层配置好了。然后直接写应用层程序就好了。
    • 发布于2018-08-16
    • 举报
    • 评论 0
    • 0
    • 0

  • pwm频率是不变的 改变的是脉宽 即占空比

    定时时间改变这个占空比就可以了

    • 发布于2018-08-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 频率和占空比是两个东西,不是一个。频率是信号在一秒内变化的次数。占空比是信号中高低电平所占用的时间比值。
    • 发布于2018-08-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 频率和占空比 不同的,频率是你的一秒钟内信号的改变次数,占空比是高低电平的比值,占空比决定亮度
    • 发布于2018-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 周期就是你的高电平和电平的时间总和,频率就你的你1秒内信号变化的次数
    • 发布于2018-08-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 频率和占空比不要混为一谈的
    • 发布于2018-08-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

PWM实现LED闪烁及改变LED闪烁频率