树莓派 GPS/GSM 追踪器的功率降低

物联网 硬件 传感器 微控制器 树莓派 能量消耗
2021-06-10 00:47:02

我最近为大学项目构建了一个带有 Pi Zero 的全功能物联网 GPS/GSM 跟踪器,现在它已经完成并完成,我想最大限度地减少整个系统的电流消耗,因为两个 2500mAh 电池只能为其供电最多一两天。但是,我对这些设备仍然不熟悉,我希望在硬件更改和技术方面得到一些帮助。

我的目标:一种能够运行 Python 脚本的设备,它具有极简的外形(尤其是高度)和尽可能低的功耗。

我当前的设置使用:


我知道 Arduinos 和 MSP430 的电源,但我不知道是否可以用这些微控制器做我需要做的事情。

我的问题是:

  1. 从 Raspberry Pi 到更简单的电路板,学习曲线有多陡峭?
  2. 这些其他板是否可以同时运行 GSM/GPS/加速度计?
  3. 是否有其他模块提供相同的功能但功耗更低?(我找不到这些模块的具体电源编号)
  4. 例如,我当前的模块是否可以与 MSP430 配合使用?
  5. 任何建议/意见?
3个回答

我假设设备上的处理要求接近零。听起来您正在使用一些加速度输入来确定唤醒 GSM 设备的频率。

理想情况下,您需要一个可以从加速度计触发的 MCU 从睡眠中唤醒,然后确定何时发送位置 ping。任何基于 micro-python 的设备都应该是一个很好的起点。

作为小板耗电的一个例子,当显示器关闭时,BBC microbit 似乎使用几毫安(以 16 MHz 运行,并且板载加速度计/磁力计供电)。

Micropython 支持“睡眠”,但这取决于目标平台为您节省了多少电量。实际上,对于此类应用程序,C++ 嵌入式操作系统将不会更难编写代码,并且具有更大的灵活性以节省更多电量。

计算功耗的第一阶段是确定不同的模式,并为每个任务分配能源成本。这允许您将 GPS/GSM 消息成本与基线每日空闲功率(不做任何工作)进行比较。然后,您可以查看每个组件上的可用保存量。如果您的 GSM 模块每天仅活动几分钟,它的功耗可能相当微不足道。

根据我的经验,GSM 和 GPS 模块比处理器消耗更多的能量。这是意料之中的,因为它们都包含大量 RF 电路,并且 GSM 模块需要发送和接收。

第一步是重新配置您的原型,以便您可以监控每个部件消耗的功率。一旦确定了特征,您可能需要实现电源控制电路,以便仅在需要时打开 GPS 和 GSM 模块。您可以负担得起让它们关闭的时间越长,电池寿命就会越长。

GSM 和 GPS 协议的一个问题是,如果设备关闭很长时间,则重新建立连接需要更长的时间,这将增加首次修复 GPS 和数据电路可用性的时间GSM。

使用MicroPython,您可能可以从使用 Pi Zero 的平台切换到其他平台。官方 PyBoard 是STM32F405RG,它可能足够好,但也支持低功耗 STM32L4 系列。

目前,您正在 1 GHz 下运行 Pi Zero,以使用 UART 和 I2C 外设连接您的 SIM808 和 LSM303。Pi在空闲时消耗大约 80 mA,不说它什么时候没有。

如果您可以降低 CPU 时钟频率,那么您也可以降低功耗。对于这项任务,几个 MHz 就足够了。

因此,您可以更改为 PyBoard,它在所有外设开启的运行模式下在 10 MHz 下仅消耗几毫安。

在此处输入图片说明

停止时为 0.4 mA,待机时为 2.4 uA。

可能您必须将脚本移植到 MicroPython,但这比将它们移植到 C 更容易。