打印
[其他]

灵动微电子MM32L0系列芯片做呼吸灯功能

[复制链接]
536|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qsrg51|  楼主 | 2022-11-22 22:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
呼吸灯就是指电子产品上的LED灯的亮度随着时间由暗到亮逐渐增强,再由亮到暗逐渐衰减,有节奏感地一起一伏,就像是在呼吸一样,因而被广泛应用于手机、电脑等电子设备的指示灯中。在使用MCU开发相关的应用产品中也可以加入呼吸灯功能,增强用户的体验感,本篇文章灵动微电子一级代理英尚微将介绍如何使用MM32L0系列产品芯片做呼吸灯功能。

在平时应用中可以知道,MCU的GPIO输出高低电平变化可以实现LED灯的亮、灭两个过程,如果GPIO的电平一直维持高电平或者低电平,LED灯就处于长亮或长灭的状态,呼吸灯就是通过较高频率的电平变化来实现亮灭的切换,由于人的视觉暂留效应,肉眼无法迅速捕捉快速亮灭变化的过程,所以在视觉中一直出现一直亮或者灭的状态,通过调整占空比可以控制LED灯的亮度,给人视觉上一种灯光由暗到亮逐渐增强,然后又由亮到暗逐渐衰减。

使用特权

评论回复
沙发
qsrg51|  楼主 | 2022-11-22 22:13 | 只看该作者
正常的成年人的吸气呼气时间整个过程持续大约3秒时间,即吸气时间(LED灯亮度逐渐变亮)时间为1.5S,吸、呼气时间(LED灯亮度逐渐变暗)时间为1.5S。

使用特权

评论回复
板凳
qsrg51|  楼主 | 2022-11-22 22:14 | 只看该作者
亮度随着时间逐渐变强再衰减,可以用两种算数方式实现:半周期的正弦函数曲线和指数上升曲线及对称的下降沿曲线。

使用特权

评论回复
地板
qsrg51|  楼主 | 2022-11-22 22:14 | 只看该作者
指数方式曲线图
要控制LED灯达到呼吸灯的效果,实际上就是要控制LED灯的亮度拟合呼吸特性曲线,在本次实验将采用指数上升曲线及对称的下降沿曲线方式,用户如果对正弦方式感兴趣也可以进行尝试。在本次实验中,我们使用MM32L0输出较高频率的PWM信号,通过调制信号的占空比,控制LED灯的亮度。

使用特权

评论回复
5
qsrg51|  楼主 | 2022-11-22 23:03 | 只看该作者
生成指数方式的曲线图主要因素:
TIMPeriod:定时器的计数周期,它的值必须与PWM表中的极大值相等(应用中赋值需要减1),而PWM表的极大值决定了控制的分辨率。例如极大值为10时,PWM占空比只有10个等级精确到0.1,当极大值为1000时,PWM占空比1000个等级精确到0.001。在本次实验中设置定时器的计数周期值为255+1,即PWM表中的极大值也是256。

使用特权

评论回复
6
qsrg51|  楼主 | 2022-11-22 23:05 | 只看该作者
TIM_Prescaler:定时器时钟分频因子,它控制定时器计数器CNT计数加1所需要的时间,它的值太大会导致输出的单个PWM波周期过长,影响控制的动态特性。如控制LED灯时,该值太大会导致LED灯开关时间变长,闪烁明显。一般来说该值越小越好。在本次实验中设置定时器时钟分频因子为1757+1,即对时钟1758分频。

使用特权

评论回复
7
tpgf| | 2022-12-8 11:16 | 只看该作者
为什么都是做呼吸灯的呢 这个有什么优势呢

使用特权

评论回复
8
wowu| | 2022-12-8 12:03 | 只看该作者
这种控制方式是无极调节还是编码调节呢

使用特权

评论回复
9
xiaoqizi| | 2022-12-8 12:12 | 只看该作者
定时器时钟分频因子ClockDivision是决定数字滤波器采样频率的参数

使用特权

评论回复
10
木木guainv| | 2022-12-8 13:16 | 只看该作者
预分频系数Prescaler是决定计数器的工作时钟的,配合自动重装载值Period完成定时功能

使用特权

评论回复
11
磨砂| | 2022-12-8 13:26 | 只看该作者
ClockDivision是对于输入的分频,在输入捕获的时候要用到,相当于滤波。

使用特权

评论回复
12
晓伍| | 2022-12-8 13:35 | 只看该作者
prescaler 是用来分频来自APBx的时钟频率,然后提供给定时器,作为定时器的心跳

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

395

帖子

2

粉丝