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

Arduino Power

组件和用品

Adafruit PowerBoost Charger Shield
× 1
可充电锂电池(通用)
3.7 - 4.2V
× 1
Arduino UNO
× 1

关于这个项目

涉及 Arduino 系列微控制器板的项目通常不需要任何特殊的电源管理电路。您连接电源,设备启动,完成工作,然后在断开电源时停止。与树莓派系统不同,没有损坏 SD 存储卡的风险。

但对于某些应用程序,您可能希望监控电源状态并以更有管理的方式做出响应,而不仅仅是关闭。

例如,考虑一个记录温度数据的遥感设备。如果电池在无人看管的情况下耗尽,日志就会停止。无法立即判断电池电量不足是问题所在。可能是软件或硬件故障。

同样,对于便携式系统,了解电池剩余寿命以及何时需要充电会很有帮助。

该项目介绍了几种 Arduino 电源管理方法,包括电路、软件和每种方法的描述。从简单的电源开关开始,一直到包括电池状态的数据记录系统,用于无人值守的环境监控。

您可以选择您感兴趣的子系统。我会以越来越复杂的方式描述所有子系统,但您可以注释掉您不感兴趣的部分。

该项目建立在 LiPoPi 和 Pi Power 项目的思想之上,它们为 Raspberry Pi 系统提供了类似的功能。

概览

系统提供了几个功能:

  • 使用按钮打开/关闭电源
  • 使用 Arduino ADC 监控电池电压
  • 在低电压下关闭系统
  • 记录电池电压和关机消息到文件
  • 使用红色/绿色 LED 显示电池状态

我将依次介绍每一个,但所有这些的共同点是 Adafruit PowerBoost 和 Arduino 的组合。

通过这些,您可以添加和自定义两个函数,arduinoPowerSetup() arduinoPowerMonitor( ) , 到标准的 setup() loop() 代码中的函数。

Adafruit PowerBoost Shield

该系统使用可充电锂聚合物电池和 Adafruit PowerBoost Charger Shield,既可以为电池充电,又可以将其输出提升至 5V。

Adafruit 制作了三个版本的 Power Boost - 两个分线板和一个 Arduino 扩展板。此处描述的大部分工作都使用 Power Shield,但稍后我将讨论如何使用分线板。

请阅读此页面,了解如何配置 PowerBoost Shield。要准备 Shield 套件,您需要:

  • 堆叠头条上的焊料
  • 但不要连接开关
  • 将一段电线(4 英寸,22AWG 实心芯线)焊接到启用引脚
  • 桥接屏蔽下方模拟引脚 A0 的焊盘

上电/断电电路

这个基本电路使用瞬时按钮开关来启动系统,并在运行时关闭它 - 类似于我的手机的工作方式。

当您按住已关闭的系统时,PowerBoost 将打开并为 Arduino 供电,然后 Arduino 启动并运行您加载的程序。

当您再次按下按钮并松开时,Arduino 会禁用 PowerBoost,并且由于不再供电,Arduino 会关闭。

请阅读此页面了解详情。原理图如下:

注意: 你不需要这个电路来使用这个项目的其余部分。您可以使用 PowerBoost 防护罩随附的可选开关。主要区别在于基本开关只是关闭系统,无法记录日志消息。

监控电池电压

Arduino 有 6 个模数转换器 (ADC) 位于模拟引脚 0-5 上,这使得电压测量变得简单明了。 PowerBoost 屏蔽允许您连接电池电压 (Vbat ) 如 PowerBoost Shield 页面所述,通过桥接适当的焊盘来连接到其中之一。在这个例子中,我将它链接到 Analog pin 0 .

锂聚合物电池的电压从 4.25V 左右变化 当充满电到 3.7V 左右时 出院时。 ADC 将电压范围转换为 0V 至 5V 0 到 1023 的整数范围 ,我们通过调用 analogRead() 来访问这个值 .

此代码片段展示了如何执行此操作以及如何使用最小和最大电池电压计算相对电池状态。

 float maxVoltage =4.25;浮动最小电压 =3.75; arduinoPowerVoltage =float(analogRead(arduinoPowerVoltagePin)) / 1024.0 * 5.0;浮动分数电压 =(arduinoPowerVoltage - minVoltage) / (maxVoltage - minVoltage); 

锂聚合物电池在放电时不会线性地失去电压,但它足够接近 我们可以使用分数电压来估计剩余的电池寿命。

因此,我们可以获得电池电压并估计剩余寿命,但我们需要一种方式将其传达给用户。我们可以使用字母数字显示器,在下一节中,我将展示如何将其记录到 SD 卡上的文件中。但对于许多项目来说,这些可能有点矫枉过正。

一种更简单的方法是使用 RGB 并更改颜色以反映电池寿命。例如:

  • 绿色 - 超过 50%
  • 黄色 - 20% 到 50%
  • 红色 - 少于 20% - 需要充电

要实现这一点,您只需在电路中添加一个 RGB Led 和两个 1K 电阻器,并向 arduinoPowerMonitor() 添加一些代码 .

RGB LED 通常使用公共阳极 所以这个电路适用于:

注意: 实际上,我的 LED 使用 3.3V 电源。

注意: 正如我稍后将展示的,由于我不明白的原因,测得的电压可能会出现明显的“振荡”。如果电池接近 LED 颜色变化的值之一,您可能会看到它在两种状态之间来回切换 - 非常烦人。快速解决方法是放置一个 0.1uF 电容器 模拟引脚 A0 之间 和地面 .

此面包板布局不显示电池或 Arduino。草图 arduino_2_voltage_led 实现了开机/关机和 LED 电压显示。代码将绿色或红色引脚设置为 打开 LED 并 将其关闭。

注意: 您可以通过取消注释对 Serial 的调用来检查测量的电压和/或调试 在代码中并运行串行监视器 在 IDE 中。您将看到实际和部分电池电压。由于某种原因,第一个调用不正确。

将电池电压记录到 SD 卡

电压 LED 指示灯对于便携式、电池供电的 Arduino 系统很有用,您不太关心细节,只想知道何时需要给电池充电。

但是,如果您在独立系统中监控传感器,那么您可能需要记录电池电压和传感器数据,以便更好地了解一段时间内的功耗。

对于项目的这一部分,我使用了 Adafruit Data Logging Shield,它可以在 CSV 中记录数据 附带的 SD 卡上的格式文件,以及时间戳。 Adafruit 指南解释了 SDRTC 库是有效的,在开始项目的这部分工作之前,您应该了解这一点。

该电路与前一个示例相同 - 值得保留 LED,因为它可以提供有关电池状态的即时反馈,但这不是必需的。

因为我们将数据记录到卡上,所以记录关闭消息很重要。这样我们就可以判断关机是故意的还是系统发生了错误。

此外,因为我们正在监控电压,所以我们可以检查电压何时低于某个最低水平并安全关闭系统。同样,我们可以在关机前记录一条关于此的消息。

这个草图在 arduino_3_voltage_logging 中。这包括一些用于生成格式正确的时间戳字符串等的实用程序,还包括在您忘记插入 SD 卡时使红色 LED 闪烁的技巧,我一直这样做。

Arduino Uno、Data Logging Shield、PowerBoost Shield 和面包板的整个堆栈如下所示:

电压数据

这是电池电压随时间变化的图,显示了大约 20 小时的逐渐下降。下降并不是真正的线性,但为了估计剩余电量,它已经足够接近了。

正如我之前提到的,在模拟引脚 A0 之间添加一个 0.1uF 的电容器确实有帮助 和地面 .在此示例中,紫色线表示电容器与蓝色原件相比的影响。

将环境数据记录到 SD 卡

最后,这是该项目的另一个补充。我想到的一个项目是我花园的独立环境监测器 - 温度、土壤湿度等。

我会将 Arduino 等安装在一个密封的盒子里,这个盒子会在一段时间内无人看管。除了电池电量耗尽之外,我还想检查一下机箱内是否没有湿气,并且没有遇到可能损坏系统的极端温度。 DHT22 传感器是一种廉价且简单的温度和湿度测量方法 - 查看 Adafruit 的教程了解详细信息。

在我的示例代码中,我使用 digital pin 5 而不是引脚 2,因为我已经将其用于断电按钮中断。

代码在 arduino_4_voltage_temp_humity_logging 中。一旦我在面包板上工作,我就将它连接到 Adafruit Proto Shield 上。 DHT22 传感器非常笨重 - 但它很便宜。查看来自 Adafruit、Sparkfun 等的其他分线板,了解其他替代方案。

Arduino 项目中的节能

我项目的下一阶段是降低功耗并延长电池寿命。

我的出发点是来自 Tony DiCola 的关于低功耗数据记录的优秀 Adafruit 教程。

代码

Github
https://github.com/craic/arduino_powerhttps://github.com/craic/arduino_power
Github
https://github.com/NeonHorizo​​n/lipopihttps://github.com/NeonHorizo​​n/lipopi
Github
https://github.com/craic/pi_powerhttps://github.com/craic/pi_power

制造工艺

  1. 功耗
  2. 电源
  3. 推土机
  4. 电池
  5. Arduino Spybot
  6. FlickMote
  7. 自制电视 B-Gone
  8. 主时钟
  9. 找到我
  10. 英特尔 Arduino 101 BLE Blynk Tank
  11. 风力
  12. 补贴削减如何影响动力电池行业