4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SPRESENSE ボードのバッテリー電圧を Ambient で監視する

Last updated at Posted at 2021-02-03

Sony Spresense ボードでバッテリー電圧を取得する方法が分かったので共有します!

LowPower ライブラリ

Spresense Arduino の LowPower ライブラリの中に getVoltage() 関数を見つけました。

LowPower.h
/**
 * @class LowPowerClass
 * @brief This provides the features fo the power saving
 *
 */
class LowPowerClass
{
public:

  /**
   * @brief Get the sensed battery voltage on CXD5247
   * @return sensed voltage [mV]
   */
  int getVoltage(void);

};

使い方はこれだけです。単位ミリボルトの値が返ってきます。

#include <LowPower.h>

  int mvolt = LowPower.getVoltage();

回路図

ハードウェア設計資料 から Spresense メインボードの回路図をみると、
VBAT_VS すなわち ACP_PWR の電圧が取れるようです。
VBAT_VS.png

もう少し回路図を追っていくと、
① USB から電源供給するパスと、② Battery から供給するパスの 2 系統がありました。

  • ① USB から電源供給する場合、ACP_PWR は LDO を介して常時 4V になります
  • ② Battery 供給の場合は、そのままバッテリーの電圧値が読み取れそうです
    Battery 供給とは メインボードに対する外部電源の供給方法 に書いてある方法です

実験

220mAh程度の小型バッテリーをつないで、取得した電圧を定期的に Ambient に送信します。

LTE 拡張ボードを使って Ambient に送信してみた結果です。
VBAT-LTE.png

Wi-Fi add-onボードを使って Ambient に送信してみた結果です。
VBAT-WiFI.png

iS110BのWi-Fi add-onボードの結果はこちらです。
WiFi-GS2200.png

良い感じにバッテリーの電圧カーブが取れました。バッテリー接続でもちゃんと動作してそうです。

今回はLTEもWiFiも常時ONで通信しているケースなのでバッテリーの持ち時間は 5~7h程度でしたが、次回はそれぞれ省電力モードに入れてどれくらいバッテリーが持つのか確認してみようと思います。

参考

Ambient へ送信するライブラリはここにあるものを使わせて頂きました。
https://github.com/TE-YoshinoriOota/Ambient_SpresenseLTEM
https://github.com/tomorrow56/SPRESENSE_ESP8266

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?