MCP3911 2チャンネル電圧/電流測定器
IoTデバイスの消費電力を測る基板
無線送信、センサーの読み出し、スリープ。 IoTデバイスの消費電流は、動作状態によって大きく変化します。 平均電流だけでなく、その変化を時系列で記録すると、どの処理がエネルギーを使っているのかを調べられます。
MCP3911 2チャンネル電圧/電流測定器は、二つの差動電圧を同時に測定する50 mm角の基板です。 電流は、外付けまたは基板上のシャント抵抗に生じる電圧から算出します。 基板上のOLEDで現在値を確認する方法と、USBでPCへ接続してWebブラウザに波形を記録する方法を選べます。
OLED表示とWebブラウザによる記録・解析
| 使用方法 | できること |
|---|---|
| OLED表示 | 2チャンネルの現在値を、PCなしでその場で確認する |
| Webブラウザ | USBでPCへ接続し、波形の記録、統計、FFT、演算、CSV保存を行う |
OLED表示だけで測定した波形は、基板内には保存されません。 時系列データが必要な場合は、測定前にWebブラウザを接続して記録を開始します。
Webダッシュボードはインストール不要で、デスクトップ版のChromeまたはEdgeから接続できます。 Android版Chrome向けのWebUSB接続も実装していますが、現時点では実機での動作を検証できていません。 iPhoneとiPadには対応していません。
2基の独立ADCによる2チャンネル同時変換
MCP3911は2基のADCを内蔵し、Channel 0とChannel 1を同じタイミングで変換します。 マルチプレクサで一つのADCを交互に使う方式ではないため、二つの波形を共通の時間軸で比較できます。
IoTデバイスの消費電力を測る場合は、一方で負荷電圧、もう一方でシャント抵抗の電圧降下を測定します。 ただし、一般的な3.3 Vまたは5 Vの電源電圧を本基板へ直接入力することはできません。 負荷電圧を既知の定数として扱うか、安全な入力範囲に収める外部分圧回路を使います。 測定できる電流範囲は、シャント抵抗の抵抗値、定格電力、許容損失によって決まります。
低周波オーディオ回路では、アンプやフィルターの入力と出力を同時に測定し、二つの波形の時間差を観測できます。 ダッシュボードは位相差を自動計算しないため、画面上で時間差を読むか、CSVへ保存して別途計算します。 サンプリング周波数は976.5625 Hzであり、一般的なオーディオ帯域全体の位相解析ではなく、低い周波数での比較を想定しています。
インストール不要の解析用Webダッシュボード
Webダッシュボードには、次の機能があります。
- 2チャンネルの時間波形表示
- 最大値、最小値、平均値、Peak-to-peakの集計
- 最大4096点のFFT
- 任意の演算式と数値積分
- 保持データ全体または選択範囲のCSV保存
- 保存したCSVの再読み込みと再解析
ADCは常に976.5625 samples/sで動作し、表示用のSample rate設定に応じてUARTへ送るフレームを整数分周で間引きます。 受信処理とグラフ描画を分け、シリアルデータの受信を続けながら、画面更新を最大30 Hzに抑えています。
DDD基板規格に基づく50 mm角の基板
DDDでは、今後製作する基板の外形と取り付け位置を揃えるため、50 × 50 mm、角丸、直径3.2 mmの四隅の穴を基板規格としました。 穴の中心は、隣接する二辺からそれぞれ4 mmの位置です。 本基板は、この外形寸法と取付穴を採用する最初の公開作例です。 ただし、現在公開しているEAGLEデータでは角が直角のままであり、角丸外形は次回の基板改版で反映します。
主な仕様
| 項目 | 仕様 |
|---|---|
| ADC | MCP3911、2基の独立ADCによる2チャンネル同時変換 |
| ADC出力 | 24-bit符号付き整数 |
| 差動入力範囲 | 約−0.6~0.6 V |
| 各入力端子の対GND範囲 | −1~1 V |
| MCLK / OSR | 16 MHz / 4096 |
| 変換速度 | 976.5625 samples/s |
| 電流測定 | シャント抵抗の電圧降下から算出。測定範囲は抵抗値と定格による |
| MCU | STM32C011F6 |
| USBシリアル | FT234XD、1,500,000 baud |
| デバイス表示 | 128 × 64 OLED、I2C |
| バッテリー | 保護回路付き1セルLiPo |
| 充電 | MCP73831、設定電流は公称約500 mA |
| 基板 | 50 × 50 mm、2層 |
入力は絶縁されていません。 差動入力範囲だけでなく、各入力端子の対GND範囲も守る必要があります。 商用電源や高電圧回路には接続できません。
LiPoバッテリーには、約500 mAの充電を許容する保護回路付き1セル品を使用し、コネクターの極性を接続前に確認してください。 また、MCP73831は品種によって充電終止電圧が異なるため、実装する型番を使用するバッテリーの仕様に合わせる必要があります。
回路、ファームウェア、ダッシュボードの公開
EAGLEの回路図と基板データ、STM32CubeIDE用ファームウェア、ReactとViteで作成したWebダッシュボードをMIT Licenseで公開しています。 通信フレーム、入力条件、ビルド方法もリポジトリにまとめました。

