应广单片机MCU的LED蜡烛发光案例, PFS154和PMS150C中的一个PWM来控制 LED 的亮度,使用一种算法生成偏向最大亮度的随机数分布

整理编辑:逐高电子技术开发部 / 日期:2025-1-17

在最近评测了低于 0.10 美元的微控制器后,是时候使用 Padauk PFS154 和 PMS150C 进行一些项目了。考虑到我之前对电子和非电子蜡烛的研究,选择这个作为最低成本微控制器的目标似乎是理所当然的。



为了简单起见,我将硬件简化为直接连接到 PA0 和 PA4 GPIO 的 LED。Padauk GPIO 的采购能力相当有限,范围从 3V 时的 4 mA 到 5 V 时的 12 mA。这意味着没有损坏直接连接到引脚而不使用电阻器的 LED 的危险。有限的驱动能力可能是由于设计人员不想在 I/O 驱动晶体管上花费太多 IC 空间。
硬件

该软件基于对闪烁 LED IC 的模拟。我使用 PFS154 和 PMS150C 中的一个 PWM 来控制 LED 的亮度。PWM 值每秒更新 30 次,使用一种算法生成偏向最大亮度的随机数分布。有关详细说明,请参阅我之前的文章。



我引入了一个 IIR 低通滤波器来稍微改善视觉效果。

lowpass = lowpass - (lowpass>>1) + (newval<<7);

如果没有低通滤波器,亮度变化看起来太突然了。我发现使用系数为 0.5 的 IIR 滤波器可以产生最佳效果(“滞后 2”)。较低的截止频率不能很好地再现“闪烁”。您可以在下面看到使用不同 IIR 滤波器设置时亮度变化的痕迹。

PFS154 的 C 代码可以在这里找到。 PMS150C 的汇编程序实现可以在这里找到。
三个 LED 蜡烛,分别带有 PFS154(左)、PMS150C(中)和闪烁 LED(右)

我将这两个版本都安装在廉价电子蜡烛的外壳中。在上面的视频中,您可以看到这两个版本的实际运行情况,并将其与基于烛光闪烁 LED 的蜡烛进行比较。

与专用的烛光闪烁 LED 相比,微控制器版本有什么优势吗?目前还没有,但仍有足够的代码空间来添加其他功能。
尝试将 LED 用作光传感器



当我最初发布这篇文章时,很快就有人建议将 LED 也用作光传感器,以便在黑暗中自动打开 LED 蜡烛。事实上,这将是一个非常好的附加功能。实际上,我从一开始就计划添加它。这就是我将 LED 的两个端子连接到 GPIO 的原因。然而,尽管花了大量时间,但我从未设法让它让我满意地工作。我最初省略了这一集,因为报告故障显然不那么有趣。我将以 Barrys 的建议为线索来总结我的发现。
 


众所周知,LED 也可以充当光电二极管(这里有一篇很好的论文)。当它们反向偏置时,入射光将产生可在端子上测量的光电流。主要的挑战是这种电流非常低,通常在正常室内照明条件下在纳安培范围内。大多数 MCU 不提供任何外围设备来测量电流,尤其是没有这么低的电流。有各种技巧和调整可以解决这个问题,这增加了使用 LED 作为光传感器的吸引力。不幸的是,网络上充斥着没有解释方法论并且经常使用可疑方法的指导。



一种比较可靠的方法是使用内部 LED 电容作为单斜率积分 ADC 中的电流积分器。实际上,这是通过首先将 LED 反向偏置充电至固定电压(例如 VDD)来实现的,让输出浮动,然后监控电荷消失需要多长时间。从 dQ=C*dV 和 dQ=Iphoto*dt 可知 Iphoto=C*dV/dt。因此,LED 中产生的光电流与电压降低到固定阈值所需的时间成反比。

我之前在各种 ATtiny 上成功使用了这种方法。由于 Padauk PFS154 有一个内部模拟比较器,我预计同样的方法也能奏效。我将比较器配置为使用内部电阻分压器作为电压参考,使用 PA4 作为输入。为了测试目的,我将比较器输出路由到 PA0,以便可以从外部对其进行监控。

mov a,#(GPCC_COMP_MINUS_VINT_R | GPCC_COMP_PLUS_PA4 | GPCC_COMP_INVERSE | GPCC_COMP_ENABLE)
mov _gpcc,a
 


上面的示波器图像显示了 LED (ch2) 和比较器输出 (ch1) 两端的电压。可以清楚地看到,在初始充电后,LED 上的电压消散,比较器在参考电平(本例中约为 2.5V)处切换。不幸的是,这已经显示出一些问题:从比较器输出到 LED 引脚存在显著的串扰,并且还存在大量噪声。比较器不会在精确的电压下切换,但会引入显著的时序 ji

应广单片机技术资料

  • 台湾应广单片机官网
  • 应广单片机例程
  • 应广单片机编程指南
  • 应广单片机定时器
  • 技术开发工具
  • 应广单片机IDE&仿真器
  • 应广单片机烧录器
  • 代码生成器
应广单片机(PADAUK)开发应用案例中常见问题的解答,涵盖开发环境、硬件设计、编程调试等方面的问题,适用于消费电子、家电控制、工业控制等场景

应广单片机(PADAUK)开发应用案例中常见问题的解答,涵盖开发环境、硬件设计、编程调试等方面的问题,适用于消费电子、家电控制、工业控制等场景


应广单片机电池电量显示选型,推荐PMS132B,PFS122,ADC采样/电压分段/动态校准/低功耗设计,适配电压范围:2.75V - 4.2V,多通道ADC轮询采集,实现深度休眠场景下μA级的超低功耗表现

应广单片机电池电量显示选型,推荐PMS132B,PFS122,ADC采样/电压分段/动态校准/低功耗设计,适配电压范围:2.75V - 4.2V,多通道ADC轮询采集,实现深度休眠场景下μA级的超低功耗表现


应广单片机开发简易音乐播放器电路程序代码案例,定义8255控制引脚,要实现音乐播放、按键控制以及显示功能控制多个音频播放通道

应广单片机开发简易音乐播放器电路程序代码案例,定义8255控制引脚,要实现音乐播放、按键控制以及显示功能控制多个音频播放通道


应广单片机中断优化策略与实战技巧,如外部中断、定时器中断、串口中断等首先,软件判断中断源的速度要快,可能用位操作或者查表法。其次,减少中断服务函数的执行时间

应广单片机中断优化策略与实战技巧,如外部中断、定时器中断、串口中断等首先,软件判断中断源的速度要快,可能用位操作或者查表法。其次,减少中断服务函数的执行时间


应广单片机(PADAUK) MINI-C 编程指南初级(系列1),台湾科技的 MINI-C 编译器基本上是构建于 ANSI C,MINI-C的语法结构、程序控制语句、函数处理

应广单片机(PADAUK) MINI-C 编程指南初级(系列1),台湾科技的 MINI-C 编译器基本上是构建于 ANSI C,MINI-C的语法结构、程序控制语句、函数处理


应广单片机(mcu)性能特点与在AI应用中的潜力与挑战,低功耗场景的竞争力在智能家居、可穿戴设备等对功耗敏感的场景中

应广单片机(mcu)性能特点与在AI应用中的潜力与挑战,低功耗场景的竞争力在智能家居、可穿戴设备等对功耗敏感的场景中


应广单片机芯片(MCU)的PMS150C-U06 进行编程闪光器, 应广科技(Padauk)的真实且仅有3分钱的开发的控制器,PMS150C 与 PFS154 高度兼容,但只能编程一次(OTP,一次性可编程)

应广单片机芯片(MCU)的PMS150C-U06 进行编程闪光器, 应广科技(Padauk)的真实且仅有3分钱的开发的控制器,PMS150C 与 PFS154 高度兼容,但只能编程一次(OTP,一次性可编程)


网友博客热帖:如果你喜欢使用廉价物美的微控制器,应广单片机(Padauk MCU)系列无疑将是您的最佳选择,它们拥有最强大的架构、包括闪存选项在内的广泛设备、良好的文档以及唯一具有开源工具链的产品线

网友博客热帖:如果你喜欢使用廉价物美的微控制器,应广单片机(Padauk MCU)系列无疑将是您的最佳选择,它们拥有最强大的架构、包括闪存选项在内的广泛设备、良好的文档以及唯一具有开源工具链的产品线


应广单片机PMC-APN021充电 MCU 设计使用需知,适用芯片:PMB180/PMB182/PMB183/YMB1801/YMB1805,为避免 Vbat 电压逆流至 Vcc 引脚进而产生漏电现象

应广单片机PMC-APN021充电 MCU 设计使用需知,适用芯片:PMB180/PMB182/PMB183/YMB1801/YMB1805,为避免 Vbat 电压逆流至 Vcc 引脚进而产生漏电现象


应广科技PMC-APN-017型号单片机提升 IC 在电源插拔测试下的抗干扰能力重要通知,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整

应广科技PMC-APN-017型号单片机提升 IC 在电源插拔测试下的抗干扰能力重要通知,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整


应该科技单片机PMC-APN006PMC150/153/156/166对抗电源急速波动的重要通知,遇电源急速波动(例如电源 被手动快速开关,或者是因为强烈的电源杂讯)

应该科技单片机PMC-APN006PMC150/153/156/166对抗电源急速波动的重要通知,遇电源急速波动(例如电源 被手动快速开关,或者是因为强烈的电源杂讯)


应广单片机,PMC-APN-017提升IC 在电源插拔测试下的抗干扰能力,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整,有助于提升 IC 在小部份特定 应用环境下做电源反复插拔测试时的稳定性及抗干扰能力。

应广单片机,PMC-APN-017提升IC 在电源插拔测试下的抗干扰能力,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整,有助于提升 IC 在小部份特定 应用环境下做电源反复插拔测试时的稳定性及抗干扰能力。


应广科技提醒用户在使用PMS134G系列单片机IC时避免常犯的一些错误,IO 作为数字输入时,Vih 与 Vil 的准位,会随着电压与温度变化

应广科技提醒用户在使用PMS134G系列单片机IC时避免常犯的一些错误,IO 作为数字输入时,Vih 与 Vil 的准位,会随着电压与温度变化


应广单片机烧录PMC-APN011半自动烧录机台提高烧录稳定性,应广科技烧录器操作方法说明,烧录器在烧录IC时会进行精确的相关特性校正如 IHRC…等等

应广单片机烧录PMC-APN011半自动烧录机台提高烧录稳定性,应广科技烧录器操作方法说明,烧录器在烧录IC时会进行精确的相关特性校正如 IHRC…等等


网友开发者热议应广单片机(Padauk) PMS150C 成功驱动 300个WS2812B LED,实际上只需修改8Mhz微控制器就可以做很多事情

网友开发者热议应广单片机(Padauk) PMS150C 成功驱动 300个WS2812B LED,实际上只需修改8Mhz微控制器就可以做很多事情


开发实力

专业资深的软硬件开发工程师团队,熟悉行业客户产品硬件技术平台解决方案

全球渠道

为客户提供高性价比的产品和服务,满足客户及时快速的电子生产制造需求

品质保证

专业的测试保证团队,保证每批方案的稳定性,兼容性,和抗干扰性

售后服务

专业的技术服务团队,24小时为客户提供各种软硬件的技术支持和售后服务

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码