使用应广单片机型号 Padauk PFS154 的超低功耗 LED 闪光灯,如何通过单块电池的充电使 LED 尽可能长时间地闪烁呢?降低MCU功耗的第一步是使用低速振荡器作为时钟源。 在 PFS154 中,这称为“ILRC”,根据电源电压提供大约 52 kHz 的时钟
LED 闪烁无疑是任何新兴电子专家正在解决的第一组问题之一,可能是通过使用古老的 NE555 或者最近的微控制器来控制 LED。 事实证明,我们可以通过改变任何琐碎的问题的约束条件来将其变成更困难的问题。
那么,如何通过单块电池的充电使 LED 尽可能长时间地闪烁呢?
当然,这也不是一个新问题。 我过去遇到过两种有趣的方法:
项目是一个由分立晶体管制成的LED 闪光灯电路,功耗约为 50μA,并且能够使用单个 AA 电池运行多年。进一步提高了标准,并详细研究了如何使用 CR2032 纽扣电池使 LED 在非常低的强度下发光多年。 他的项目日志确实值得一读。 一个非常有趣的细节是,他得出的结论是,使用较低功耗的微控制器来控制 LED 实际上是最有效的选择。 这可能有点违反直觉,但在查看他构建离散版本的尝试时显得更加明显。
许多微控制器提供高度优化的低功耗睡眠模式,可用于在闪烁之间等待。 仅当 LED 需要闪烁时,微控制器才会激活。 此时,微控制器的有功功耗有多少并不重要,因为 LED 需要几毫安的电流才能发出足够的光。
输入我之前在几个项目中使用过的臭名昭著的“3 cent”Padauk 微控制器系列。 令我惊讶的是,这些器件提供了非常有竞争力的低功耗睡眠模式,似乎与几种成本十倍的“低功耗”8 位微控制器相当。 我研究了如何在 PFS154 上实现超低功耗 LED 闪光灯。
执行
降低MCU功耗的第一步是使用低速振荡器作为时钟源。 在 PFS154 中,这称为“ILRC”,根据电源电压提供大约 52 kHz 的时钟。 我发现的一个奇怪之处是,第一步必须激活高速和低速振荡器,第二步仅禁用高速振荡器。 直接切换到 ILRC 会导致 MCU 停止。 下面的代码示例基于 free-pdk 包含的内容。
在如此低的时钟下运行 PFS154 已将功耗降低至远低于 100 µA。 并非所有这些都是随时钟速率变化的动态功耗,因此进一步的唯一方法是激活其中一种睡眠模式。
睡眠模式
PFS154 支持两种睡眠模式:“STOPSYS”和“STOPEXE”。
STOPSYS 完全停止内核和所有振荡器。 从该状态唤醒的唯一方法是通过更改引脚。
STOPEXE 停止内核,但低频振荡器保持活动状态并可用于为定时器提供时钟。 内核可以通过引脚变化或定时器事件唤醒。 看来,虽然数据表中没有明确说明,8 位定时器和 16 位定时器都可以生成唤醒事件。 请注意,看门狗定时器在 STOPEXE 期间也会停止。 这与其他微控制器上的行为形成对比。
第一步,我使用万用表来验证睡眠模式期间的电流消耗与电源电压,如上所示。 我基本上能够重现数据表中的曲线,这证实了数据表是正确的,并且我的手持式万用表实际上能够准确测量低至几百 nA 的电流! 老实说,这不是我所期望的。
在此过程中,我发现了 PFS154 的一个特殊行为。 复位后,引脚更改唤醒始终默认启用。 看来引脚上非常小的变化就可以产生唤醒。 如果它们悬空,则只需触摸引脚即可唤醒内核。 有趣的是,这甚至适用于未在封装外部布线的引脚,但它们仍然作为芯片上的焊盘存在。 通过触摸 IC 的表面,可以生成唤醒事件! 除非您有兴趣构建一个黑客触摸传感器,否则建议禁用所有引脚作为唤醒源。
定时器唤醒的实现
由于我想构建一个 LED 闪光灯,因此我使用 Timer2 以大约 1.6Hz 的频率生成唤醒事件。 您可以在下面看到 STOPEXE 配置和定时器初始化的完整代码。
一项重要的优化是开启“快速唤醒模式”。 正常唤醒模式需要大约 3000 个时钟周期,在此期间消耗大约 40μA 的电流。 我发现 8 位定时器在 STOPEXE 模式下也可以用作 PWM 发生器。 然而,无法阻止它们唤醒 CPU,因此它们无法自主使用。
LED闪烁代码
唯一剩下的部分是实际使 LED 闪烁的代码。 这相当简单,如下所示。
处理器内核将在定时器 2 生成每个事件后唤醒,打开 LED 75.5μS,然后再次让内核进入睡眠状态。 LED 直接连接到输出引脚,无需串联电阻,同时该引脚配置为低 I/O 驱动强度以限制最大电流。 这有点冒险,但允许将 LED 运行到尽可能低的电压——对于我使用的绿色 LED 来说约为 2.1V。
当前消耗性能
嗯,代码运行良好,在电压低至略高于 2V 的情况下,LED 以 1.6 Hz 的频率闪烁。 您可以在这里找到完整的源代码。
为了评估一切是否正常工作,我建立了一个简单的功率模型,该模型考虑了睡眠模式电流、有源电流和 LED 使用的电流。 LED 电流是通过测量不同电源电压下连接到微控制器的 LED 的导通电流并将其乘以占空比来确定的。 MCU 的有功电流也采用相同的方法。 您可以看到上面模型的输出以及与测量值的比较。 我必须使用一个几千欧姆的串联电阻和一个并联电容器,以确保电流纹波足够平滑,以便在万用表上获得稳定的读数。
正如您所看到的,模型和测量结果之间有很好的一致性。 由于LED的占空比极低,主要功耗仍然是MCU和定时器。 这种贡献高度依赖于电源电压,因此可以在最低电压下实现最高效的运行。
3V 时的总电流消耗仅为 1 µA 左右! 这小于许多电池的自放电电流。 理论上,一块容量约为 200 mAh 的 CR2023 电池可为这款闪光灯供电 200000 小时,即 22 年! 根据充电至 5V 的 330μF 电容器的电量,我能够使电路运行(如标题图片所示)超过 10 分钟。
概括
尽管成本低廉,Padauk MCU 仍可用于极低功耗运行。 当然有一些方法可以进一步改进闪光灯电路,例如通过使用电感升压转换器来允许 LED 在更低的电压下恒流运行。
应广单片机产品应用领域
玩具类:
RF/IR遥控直升飞机,遥控车,PS游戏机,儿童智能玩具,动物语音玩具,游戏方向盘,儿童学习机等
电子消费类:
电子万年历、温度湿度计、跑步计速器、按摩器、数码复读录音、笔电子礼品、电子密码锁,镍氢,锂电池充电器,超声波测距,防盗报警器,灯饰控制,舵机
深圳市逐高电子有限公司
我们是一家单片机代理、方案设计、芯片烧录、配单等一条龙电子元器件服务商。公司拥有强大的资源优势和完整的产品线, 是台湾应广单片机、 台湾义隆单片机、台湾九齐单片机一级代理。主要应用于小家电、消费类电子产品,LED照明控制等领域。
我公司设有专门的研发部门,具有雄厚的单片机开发实力,工程师都是具有多年单片机开发应用经验,可为您提供较强的技术支援。
有先进的开发能力,完善的售后服务及技术支援,现已成功开发出一系列电子产品方案。