亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 项目优化供电方案:从按键开关到电池监测与数据记录

组件与物料

Adafruit PowerBoost Charger Shield×1
可充电锂聚合物电池 (3.7–4.2V)×1
Arduino UNO×1

项目简介

Arduino 类单片机通常无需特殊电源管理:接电即运行,断电即停,不像树莓派有 SD 卡损坏风险。但某些场景需要托管式电源管理:如远程传感记录温度,电池耗尽导致日志中断时,无法区分是电量耗尽还是软硬件故障;便携设备需知晓剩余电量与充电时机。

本项目提供多种 Arduino 电源管理方案,含电路、软件与说明,复杂度递增:从简单的按键开关、电池电压监测、低压关机、带电池状态的数据记录,到面向无人值守环境监测的完整记录系统。可按需选用子系统。所有方案统一在标准 setup()/loop() 中添加 arduinoPowerSetup() 与 arduinoPowerMonitor() 两个函数。

思路源自 LiPoPi 与 Pi Power 树莓派电源项目。

概览

系统提供功能:

核心硬件:可充电 LiPo 电池 + Adafruit PowerBoost Charger Shield(充电并升压至 5V)。Adafruit 有三款 PowerBoost,本文以 Shield 版为主,文末简述 Breakout 板用法。

PowerBoost Shield 准备

参考官方指南:焊接排针,**不焊自带滑动开关**;向 Enable 引脚焊接 4 英寸 22AWG 实心线;桥接底部 A0 焊盘以接入电池电压检测。

按键开关电路

长按开机:按下瞬时按钮 → PowerBoost 使能 → Arduino 上电启动 → 程序运行。再次按下并释放 → Arduino 拉低 Enable → PowerBoost 断电 → Arduino 关机。详见原文链接。原理图如下:

Arduino 项目优化供电方案:从按键开关到电池监测与数据记录

注: 若不需记录关机日志,可直接用 Shield 自带滑动开关,但会硬性切电无法执行关机前代码。

监测电池电压

Arduino 6 路 ADC (A0–A5) 量程 0–5V 对应 0–1023。PowerBoost Shield 桥接 A0 后可读取电池电压 (Vbat)。LiPo 满电 ~4.25V,放电截止 ~3.7V。

float maxVoltage = 4.25;
float minVoltage = 3.75;
float arduinoPowerVoltage = float(analogRead(A0)) / 1024.0 * 5.0;
float fractionalVoltage = (arduinoPowerVoltage - minVoltage) / (maxVoltage - minVoltage);

LiPo 放电非线性,但线性近似足以估算剩余电量。通过 RGB LED 指示:绿>50%、黄 20–50%、红<20% 充电。RGB LED 共阳极接法:

Arduino 项目优化供电方案:从按键开关到电池监测与数据记录

实测发现电压读数有抖动,临界点会导致 LED 闪烁。对策:在 A0 与 GND 并联 0.1µF 电容 滤波。

Arduino 项目优化供电方案:从按键开关到电池监测与数据记录

示例草图 arduino_2_voltage_led 实现开关机与 LED 电量指示。代码中拉低 LED 对应引脚点亮,拉高熄灭。取消注释 Serial 调试可观测实测电压(首次读数异常忽略)。

电压数据记录至 SD 卡

使用 Adafruit Data Logging Shield (带 RTC) 以 CSV 格式记录电压与时间戳。保留 LED 指示作为即时反馈。关键点:

草图 arduino_3_voltage_logging 含时间戳格式化工具函数,无卡时红灯闪烁提示。完整堆叠:UNO + Data Logging Shield + PowerBoost Shield + 面包板。

Arduino 项目优化供电方案:从按键开关到电池监测与数据记录

电压数据示例

约 20 小时放电曲线,近似线性下降。加 0.1µF 电容后(紫线)抖动显著降低,未加电容(蓝线)波动明显。

Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
Arduino 项目优化供电方案:从按键开关到电池监测与数据记录

环境数据记录扩展

计划制作无人值守花园监测箱(温度、土壤湿度等),需检测箱内湿度、极端温度。选用廉价 DHT22 传感器(数字引脚用 5 避开开关中断脚 2)。代码 arduino_4_voltage_temp_humidity_logging 已在面包板验证,后迁移至 Adafruit Proto Shield。DHT22 体积大,可考虑其他厂商小体积模组。

Arduino 低功耗优化

下一阶段将降低功耗延长续航,参考 Adafruit Tony DiCola 的《Low Power Datalogging》教程。

代码与参考

本项目 GitHub

https://github.com/craic/arduino_power

LiPoPi 参考

https://github.com/NeonHorizon/lipopi

Pi Power 参考

https://github.com/craic/pi_power

制造工艺

  1. 推土机技术:设计、制造与未来创新
  2. 电池:从伏打电堆到现代锂电池的演进史
  3. DIY 蓝牙控制 Arduino 间谍小车
  4. FlickMote:基于手势的智能家居红外遥控器
  5. DIY Arduino TV-B-Gone:万能关机遥控器
  6. 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
  7. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  8. Arduino 101 BLE + Blynk:DIY 蓝牙遥控履带坦克车
  9. 风力发电:将空气运动转化为清洁电能
  10. 补贴退坡对中国动力电池产业的深度影响
  11. 电阻功率耗散实战:焦耳定律验证与过功率烧毁观测
  12. 电源详解:交流与直流