Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ポケット測定器 mcp3911-voltage-monitor

Avatar for Liesegang Liesegang
July 26, 2026
150

ポケット測定器 mcp3911-voltage-monitor

Avatar for Liesegang

Liesegang

July 26, 2026

Transcript

  1. MCP3911を使った ポケット電圧計/電流計 24-bit ADCの基板、ファームウェア、 Web インターフェースを作った話 2ch 24-bit ΔΣ 約977

    Hz ogim / DDD 2026.07.25 | トランジスタ技術オフ会@アキバ 「マジで使える!ポケット測定器 研究会」 Web Serial
  2. 01 / PROFILE 自己紹介 ogim dddev.group dddev.group Deadline-Driven Developers(DDD) 締め切りを動力に、電子デバイスを作る3人組

    トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 普段つくるもの この発表 論理回路・基板・3Dケース 24-bit ADCを基板からWebまで 2 / 10
  3. 02 / 実機 単体ではミニディスプレイ、USBにつなぐとロガー 単体で使う v0 -0.001224 v1 -0.000352 USB給電で起動

    ミニディスプレイに2チャンネル表示 PCにつなぐ Web Serial で通信 波形、統計、ズーム、CSV 出力 トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 2 ch 24 bit Web Serial 同時 ADC 専用アプリ不要 3 / 10
  4. 04 / 電流レンジ 10 Ωのシャントを入れると、20 mAまで測れる 差動電圧を読む オームの法則 MCP3911 I

    = V/R SHUNT 電流 SHUNT 10 Ω 電圧 10 Ωの場合 0.1 µA → 1 µV 20 mA → 0.2 V 最大 20 mA × 10 Ω = 0.2 V 測りたい電流に合わせてシャント抵抗を替える。 抵抗を小さくすると、より大きな電流も測定可能。 0.1 µAは計算上の値。実用下限はノイズと校正で決まる。 トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 5 / 10
  5. 05 / DATA PATH 全変換を1.5 Mbaudでブラウザへ送る 入力端子 MCP3911 STM32 FT234XD

    ブラウザ CH0 / CH1 OSR 4096 / 976.6 Hz 全変換を送信 1.5 Mbaud Web Serial / uPlot ミニディスプレイ 単体時の表示 start / stop / keepalive / display 20-byte frame / little-endian A5 5A ver flags seq tick_ms CH0 i32 CH1 i32 CRC16 1.024 ms 0.133 ms 195.3 k 1.5 M ADCの変換周期 UART 1フレーム 必要baud 設定baud トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 6 / 10
  6. 06 / TROUBLE 1.3 Vを入れたら、約0.4 Vしか出なかった 最初に考えたこと 測定してみる 1.3 /

    0.4 = 3.25 -0.6 V -0.6 V 正常 +1.3 V 約+0.4 V 不安定 表示値を3.25倍する? この案は捨てた 負側は正常だった。 正側だけ、飽和とばらつきが出る 単純なゲイン誤差なら、正負とも同じ倍率でずれるはず。 倍率補正では直らない トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 7 / 10
  7. 07 / CLOCK 原因は、16 MHzに対してBOOSTが足りなかった 失敗した設定 切り分け 規定外 最終設定 安定

    規定内 BOOST 1x BOOST 1x BOOST 2x PGA 1 PGA 1 PGA 1 PRE /1 PRE /2 PRE /1 AMCLK 結果 16 MHz -0.6~+0.4V、ノイズ大 AMCLK 結果 8 MHz -0.6~+0.6 Vを読める BOOSTは入力電圧の倍率ではない。ADC内部のバイアス電流を増やし、高いAMCLKで動かすための設定。 トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 AMCLK 結果 16 MHz -0.6~+0.6 Vを読める 約2.5 mA → 約4.4 mA 8 / 10
  8. 08 / RESULT 最終設定では、約976.6サンプル/秒を送る -0.6~+0.6 Vを安定測定 976.6 全変換をWeb Serialへ送る samples/s

    BOOST 2x PRE /1 OSR 4096 DMCLK 4 MHz UART 1.5 Mbaud 4点平均を外した ブラウザ画面 トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 表示とCSV保存はWeb Serial側で処理 9 / 10
  9. 09 / おわり 倍率補正の前に、クロック条件を見る 1 評価回路を使う /mnt/data/mcp3911_repo_qr.png 動く回路を賢く流用 2 単体

    + PCを両立 ミニディスプレイ表示とWeb Serialを自動で切り替える 3 シャントで電流計 GitHub 用途に合わせてSHUNTを交換する Liesegang / mcp3911-voltage-monitor Liesegang / mcp3911-voltage-monitor 回路、基板、ファームウェア Webインタフェース公開中 16 MHzそのものは使える。 BOOST=1xのままでは規定外だった。 トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 10 / 10
  10. 補足 A5 クロック設定の比較 切り分け 失敗 最終 BOOST 1x BOOST 1x

    BOOST 2x PRE /1 PRE /2 PRE /1 AMCLK 16 MHz AMCLK 8 MHz AMCLK 16 MHz AMCLK上限 10 MHz AMCLK上限 10 MHz AMCLK上限 16 MHz 結果 正側が不安定 トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 結果 -0.6~+0.6 V 安定 結果 規定内で動作 A3
  11. 補足 A6 UART帯域の計算 必要速度 時間の余裕 976.5625 × 20 byte ×

    10 bit = 195,312.5 bit/s ADC周期 1.024 ms UART 1フレーム 0.133 ms 8-N-1なので、1 byteを10 bitとして計算 転送は変換周期の約13 % 設定は1.5 Mbaud トランジスタ技術オフ会@アキバ|マジで使える!ポケット測定器 研究会 FT234XDは3 Mbaudまで対応 STM32は12 MHz USART、8倍oversamplingで1.5 Mbaud A4