首页 > 其他分享 >干货分享:开启PWM调光之门,一起来做呼吸灯

干货分享:开启PWM调光之门,一起来做呼吸灯

时间:2024-11-10 08:48:21浏览次数:1  
标签:输出 调光 Air780E 高电平 干货 占空比 PWM 通道

PWM作为一种灵活且高效的信号调制手段,在电气设备的性能控制和调节中发挥着重要作用,常用于电机控制、灯光调光、音频信号生成、加热控制等应用。

本文将以合宙低功耗4G模组经典型号——Air780E为例,展示PWM(脉冲宽度调制)输出呼吸灯的实现方法,帮助大家深入理解如何在项目中应用PWM技术。

图片

 

一、PWM概述

1.1 PWM介绍

脉冲宽度调制PWM,是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

PWM具有高效、控制精度高及实现简便等优点,但PWM信号可能产生高频噪声,需要滤波以减小干扰。另外,某些应用需要特定的硬件支持,如支持PWM输入的微控制器或电路。

要想使用PWM,还需先了解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。

图片

注意上图中蓝线,代表着输出的模拟电压,占空比越大,则模拟电压也越大。

1.3 PWM通道说明

当前版本为:

《Air780E_GPIO_table_20240812.pdf》

图片

由上方GPIO复用表可知:

Air780E的实际可用PWM通道有4个(0/1/2/4), 但每个都有3种配置。

PWM3/PWM5已经被底层使用,例如PWM1和PWM11都使用硬件通道1,只能选其中一个使用。启用PWM1就不能启用PWM11,调用PWM库的API时,填软件通道id。

相关注意事项:

  • 软件通道10/11/12/14需要V1002以上的固件,即20221219之后编译的版本。

  • 软件通道20/21/22需要V1016以上的固件,即20230330之后编译的版本。

  • 上述映射是固定的,mcu.iomux也没有配置项, 而且已经枚举了全部可用PWM通道。

二、演示功能概述

接下来本文将用两个示例,演示如何使用Air780E的PWM功能:

PWM输出:

控制Air780E核心板pwm4通道的pwm输出,设置不同的占空比,让小灯有不同的亮度;

呼吸灯效果:

使用Air780E核心板的pwm1通道,外接发光二极管来查看呼吸灯效果。

 

三、准备硬件环境

3.1 开发板

本文使用Air780E核心板进行演示:

图片

详见Air780E产品手册开发板使用说明:
https://docs.openluat.com/air780e/product/

写这篇文章时最新版本的使用说明为:
<<开发板Core_Air780E使用说明 V1.0.5.pdf>> 

核心板使用过程中遇到任何问题,可以直接参考这份使用说明pdf文档。

3.2 PC电脑

Win7及其以上版本的Windows系统。

3.3 数据通信线

USB转Type-C数据线一根;

四、准备软件环境

4.1 下载调试工具

https://docs.openluat.com/Luatools/

4.2 源码及固件

最新固件下载:
https://docs.openluat.com/air780e/luatos/firmware/

固件详见core_V1112压缩包:
LuatOS-SoC_V1112_EC618_FULL.soc

图片

 

五、PWM软硬件资料

5.1 API接口介绍

本教程使用API接口详见:
https://wiki.luatos.com/api/pwm.html?highlight=pwm

5.2 Air780E烧录说明

图片

将Air780E通过USB数据线连接电脑:

1)按住下载模式按键(boot 键)不放,同时再长按开机键开机,这时开发板会进入下载模式,Luatools下载进度条会开始跑,这时可以松开boot按键。直到工具提示下载完成。 

2)如果未能成功进入下载模式,而是进入正常开机模式,这时可以按住 boot 键,再短按复位按键,让开发板重启,重新进入下载模式。

如何判断有没有进入下载模式:
可以通过PC端的设备管理器中虚拟出来的USB端口数量来判断。

正常开机模式:

图片

下载模式:

图片

 

六、代码示例介绍

6.1 PWM输出

本例使用Air780E核心板上的NetLed(网络状态灯),pwm通道id=4,打开pwm4通道的pwm输出,设置不同的占空比,小灯会有不同的亮度。

6.1.1 代码介绍

图片

6.1.2 效果展示

图片

6.2 呼吸灯效果

本例使用Air780E核心板的pwm1通道,外接发光二极管来查看呼吸灯效果:

呼吸灯效果就是小灯由亮到暗逐渐变化,很有节奏感地一起一伏,”感觉,好像人在呼吸“,我们可以通过不断调高占空比让小灯一点点亮起,再不断调低占空比让小灯一点点熄灭从而达到此效果。

6.2.1 硬件接线

GPIO24 --------发光二极管正极

GND -----------发光二极管负极

图片

6.2.2 代码介绍

图片

6.2.3 效果展示

外接发光二极管,效果如下图所示:

图片

也可用Air780E核心板上的NetLed(网络状态灯)来观察呼吸灯效果,但demo里的PWM通道要改成相应的id,可查看上文的PWM通道说明。

我们通过示波器查看PWM的输出波形,可以看到占空比在10%-90%之间变化。

图片

 

七、常见问题

1. 如何验证所产生的PWM信号?

可以使用示波器检测PWM输出,查看频率、占空比和波形的完整性。确保波形按照设计参数正常工作,必要时进行调整。

2. PWM的信号的频率如何选择?

频率的选择通常取决于具体应用,根据自己的项目需要来选择:

  • 电机控制:常用频率为1kHz到20kHz,以确保足够的反应速度和控制精度。 

  • LED调光:频率通常在1kHz以上,以避免人眼感知到闪烁。 

  • 音频信号:频率设置应高于音频信号的最高频率(例如,至少为20kHz)。

3. 什么是占空比,如何计算PWM的占空比?

占空比即是一个脉冲周期内,高电平的时间占整个周期。

例如:
如果PWM信号的高电平时间为2ms,周期为10ms。
则:占空比 = (2 / 10) × 100 = 20%

标签:输出,调光,Air780E,高电平,干货,占空比,PWM,通道
From: https://www.cnblogs.com/luatos/p/18537612

相关文章

  • 干货分享:Air780E软件指南:字符串处理
    一、Lua字符串介绍关于字符串,Lua提供了一些灵活且强大的功能,一些入门知识如下:1.1字符串定义在Lua中,字符串可以用单引号'或双引号"来定义。例如:localstr1='Hello,World!'localstr2="Hello,Lua!"1.2字符串长度可以使用#操作符获取字符串的长度。例如:locallength=#"H......
  • 融云IM干货丨【 IM 服务】如何开通聊天室 KV ?如何开通聊天室属性?
    开通聊天室KV(自定义属性)服务和聊天室属性的步骤如下:开通聊天室KV服务:访问开发者后台的“免费基础功能”页面,确认应用名称与环境(开发/生产)正确无误后,点击“设置”启用“聊天室自定义属性设置”服务。如果需要融云服务端将应用下的全部聊天室属性变化(设置,删除,全部删除等操作)同......
  • 定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX
    在STM32微控制器中,使用定时器(PWM输出)触发ADC采样是一种常见的应用场景,尤其是在需要精确控制采样时刻和频率的场合。本文将详细介绍如何使用STM32CubeMX配置定时器产生PWM波形,并使用DMA传输ADC采样结果。1.定时器PWM输出配置首先,我们需要在STM32CubeMX中配置定时器以产......
  • 干货分享3:0.01元的付费引流方式,还是挺牛逼的!
    在淘宝看到一个很牛逼的产品,它的牛逼不是产品牛逼,而是价格牛逼…卖的也是一份虚拟资料。就是一份关于各种骗术的资料整理,没想到吧,这玩意还有这么多人会下单购买,我想更多的原因还是在于好奇心和价格便宜。0.01元卖了5000多份,合算下来是50元,虽然赚的不多,但也给我们打开一种思......
  • 25kW零电压零电流开关移相全桥PWM+DC-DC变换器的研究
    25kW零电压零电流开关移相全桥PWM+DC-DC变换器的研究用电路元件符号表示电路连接的图,叫电路图。电路图是人们为研究、工程规划的需要,用物理电学标准化的符号绘制的一种表示各元器件组成及器件关系的原理布局图,可以得知组件间的工作原理,为分析性能、安装电子、电器产品提供规划方......
  • ePWM相关记录
    此处记录TMS320F28xePWM模块相关理解。此处先介绍几个名词概念TBCTR(时基计数器):时基计数器保存当前的计数值,用于生成PWM信号周期。TBPRD(时基周期寄存器):这个寄存器存储PWM信号的周期值,计数器从0开始计数,直到TBPRD的值。TBPHS(时基相位寄存器):这个寄存器控制PWM信号的相位偏移,主......
  • 远翔升压恒流芯片FP7209X与FP7209M什么区别?做以下应用市场摄影补光灯、便携灯、智能家
    一,概述FP7209是台湾远翔一款非同步升压LED驱动IC,封装有2种,分别是SOP-8L(EP),TSSOP-14L(EP)。控制外部开关NMOS。输入低启动电压2.8V,可支持单节锂电池供电。工作电压5V,VFB反馈电压0.25V,反馈电压低,取样电阻功率损耗也降低,整体转换效率提升。软启动时间透过外部电容调整,LED开路保......
  • 计算机网络整理(全是干货)
    目录一、网络7层架构(ISO/OSI协议参考模型)二、TCP/IP原理1、应用层(ApplicationLayer)2、传输层(TramsportLayer-TCP/UDP)3、网络层(InternetLayer)4、网络访问层(NetworkAccessLayer)5、四层协议和对应的标准七层协议的关系如下图三、TCP三次握手/四次挥手......
  • 干货分享2:日引流500+创业粉实操案例分享
    分享个抖音引流创业粉的技巧,每天至少能引流500多人,贼简单,基本0成本,希望对大家有所帮助!引流教程:第一步,将抖音昵称和简介修改成如下图所示。抖音名字一定不能说“看主页”,这样过不了审,要用一些谐音字。修改后,用另一个抖音号搜索自己的抖音号,查看是否修改成功,成功后进行第......
  • Pwm (PWM Driver)
    AUTOSAR(AutomotiveOpenSystemArchitecture)是一个开放且标准化的软件架构,用于汽车电子系统的开发。PWMDriver(PulseWidthModulationDriver)模块是AUTOSAR中用于生成脉宽调制(PWM)信号的关键模块。PWM信号广泛应用于各种控制和调节操作,如电机控制、灯光控制以及加热器......