项目描述:这个项目的发展源于需要太阳能充电2S Lipo电池到8.4伏特的太阳能漫游车。在尝试了几个商业产品和基于 LT3652 的解决方案失败后,我决定尝试 Arduino 解决方案。该设计基于 Tim Nolan 的原始设计,经过多次修改:INA3221 芯片通过 I2C 提供电压和电流值,而不是更多离散部件,使用 PWM 库而不是计时器。Arduino UNO 在开发过程中使用,后来由 Arduino Pro Mini 替换。
经过三天的工作,系统进入一个状态,其中继电器到树莓派打开,但Pi没有运行。显然,可以打开 Pi 的电源,但 Pi 不会启动。我过去也观察到过这种行为。显然,这对于自治系统来说是不能接受的。我更改了 Arduino 上的代码,以便如果检测到 Pi 未运行,它将重新启动 Pi。确定 Pi 是否正在运行的一个很好的标准是什么?我选择了功耗。Pi 在运行时至少消耗 1000mW,因此,如果系统功率低于 900mW,即使电池电压足够高,Pi 才能运行,Pi 需要进行电源循环。但是,在启动过程中,功率可能低于 900mW,因此需要额外的电源循环预防措施。我决定连续测量三次功率,如果每个测量值都低于 900mW,那么 Pi 才被循环供电。