PWM因其高效、精准的控制能力,广泛应用于LED调光领域。下面将介绍如何利用PWM信号实现LED亮度的连续调节,并通过算法设计实现模拟人类呼吸节奏的灯光效果,为你的项目增添灵动气息。
本文特别分享PWM相关基础知识,并以Air8000核心板为例,演示LuatOS开发中如何使用PWM功能实现LED亮度控制及呼吸灯效果,帮助开发者快速上手。
一、PWM相关基础知识
PWM具有高效、控制精度高及实现简便等优点,但PWM信号可能产生高频噪声,需要滤波以减小干扰。另外,某些应用需要特定的硬件支持,如支持PWM输入的微控制器或电路。
要想使用PWM,还需先了解PWM的相关参数和原理。
1.1 PWM参数
PWM的频率:是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期),也就是说一秒钟PWM有多少个周期。 单位:Hz。
PWM的周期:T=1/f周期=1/频率
例如:如果频率为50Hz,T=1/50=0.02s,也就是说一个周期是20ms;
1s=1000ms,那么一秒钟就有50次PWM周期。
PWM的占空比:是一个脉冲周期内,高电平的时间占整个周期时间的比例。单位:% (0%-100%)
例如:一个周期10ms,高电平占8ms,那么此占空比就是8/10=80%。
1.2 PWM原理
单片机的IO引脚输出的是数字信号,且只能输出1和0,那如果 TTL电平中,高电平为5V,低电平为0V,但是我们想要输出不同的模拟电压,比如输出3.75V应该怎么操作?
此时要用到PWM,通过改变IO口输出方波的占空比,得到不同的模拟电压。
3.75/5=0.75,也就是高电平时间占整个周期的75%,即占空比为75%,可得到模拟电压3.75V。
二、PWM应用示例
Air8000相关管脚具有复用功能,结合原理图引脚指示可知板载红色LED由PIN24 GPIO21控制。本示例demo中已有配置好的pins_Air8000.json文件,测试demo时一并烧录进Air8000核心板。
2.1 PWM输出示例
本例使用Air8000核心板上的NetLed(网络状态灯),pwm通道id=4,打开pwm4通道的pwm输出,设置不同的占空比,小灯会有不同的亮度。

2.2 PWM呼吸灯
本例使用Air8000核心板上的NetLed(网络状态灯),pwm通道id=4来查看呼吸灯效果。呼吸灯效果就是小灯由亮到暗逐渐变化,很有节奏感地一起一伏,好像人在呼吸的感觉。
我们可以通过不断调高占空比让小灯一点点亮起,再不断调低占空比让小灯一点点熄灭从而达到此效果。

今天的内容就分享到这里了~
审核编辑 黄宇
-
led
+关注
关注
244文章
24733浏览量
692692 -
单片机
+关注
关注
6078文章
45596浏览量
674082 -
PWM
+关注
关注
116文章
5895浏览量
226762
发布评论请先 登录
SGM3145:高效8通道PWM调光电荷泵白光LED驱动器解析
SGM3124:高效PWM调光电荷泵白光LED驱动器
SGM3732:高效PWM调光38V升压LED驱动器解析
SGM3720:高效PWM调光38V升压LED驱动器的深度解析
【瑞萨FPB-RA6E2试用】【瑞萨FPB-RA6E2】基于 PWM(脉宽调制)的 LED 呼吸灯-闪烁灯效果及设备树理解
汽车照明 /太阳能灯LED升压恒流芯片FP7208,RGBWY 多路调光 300KHz 固定频率 + 6μA 超低待机
SL8700 户外景观灯48V降压恒流芯片 PWM/模拟调光深度0.1%
MR-16LED灯专用LED降压型恒流驱动器H5441B方案调光高辉度65536级
智能吸顶灯/摄影补光灯专用!H5228双通道LED驱动,高效节能省空间
6 通道 LED 背光驱动器,集成升压和高频直接 PWM 调光 skyworksinc
4 通道 LED 背光驱动器,具有集成升压和高频直接 PWM 调光 skyworksinc
掌握PWM调光:构建高效LED呼吸灯系统
评论