シャント抵抗で回路の電流を測定する方法

最近の電子回路は電流測定を活用する多機能化・安全性向上のニーズが高まっています。シャント抵抗を使って電流検出を行う手法の紹介と、電流検出回路を実際に動かしてみて、どのような挙動になるか確認してみます。

 

目次

  1. 電流を測定して回路を安全に動かす
  2. 電流検出回路の基本、シャント抵抗
  3. シャント抵抗は差動増幅回路に接続
  4. 電流検出回路を作って測定してみる
  5. 電流をオシロスコープで見てみる
  6. シャント抵抗を変えればさらに高精度・大電流の検出も
  7. まとめ

 

1. 電流を測定して回路を安全に動かす

shunt-current-01_2

 

最近の電子回路を搭載する機器は電流測定を活用する多機能化・安全性向上のニーズが高まっています。
例えば、回路の過電流や異常動作を検知して安全に停止させるための監視回路、バッテリー充電やバッテリー容量測定のための各機能、さらにモーターの制御にも電流の監視が必須になり、現在の回路設計に電流監視は無くてはならない技術になっています。

今回は、電流検出を行う手法の紹介と、電流検出回路を実際に動かしてみて、どのような挙動になるか確認してみます。

 

2. 電流検出回路の基本、シャント抵抗

電流検出用 超低抵抗チップ抵抗器 (PMR)

      
shunt-current-03

電流検出用 超低抵抗チップ抵抗器 / 長辺電極品 (PML) 

 

電流検出回路と聞くと難しそうな回路なイメージがありますが、原理自体は電子回路の基礎とも言える「オームの法則」を活用したシンプルな回路です。電流検出用の抵抗を直列に挿入して、抵抗の電圧降下をオームの法則から電流値に換算して電流検出を行います。
電流検出に使う抵抗を「シャント抵抗」と呼びます。

シャント抵抗とは、電流の測定・検知に使う電子部品です。抵抗値は100μΩから数100mΩ抵抗まであり、よく使われるのは数mΩ~数百mΩです。できるだけ低い抵抗値のシャント抵抗を使うのが理想ですが、実際にはオペアンプの増幅率や検出する電流値に合わせて選定します。

特に低い抵抗では電圧降下の量も小さく、マイコンでは電圧の検出が難しくなるので、入力オフセット電圧が小さい高精度なオペアンプを使って電流を検出します。

このようなシャント抵抗とオペアンプを使った構成の電流検出方式のことを「電流センスアンプ」と呼びます。

shunt-current-04_2

 

ちなみに、シャント抵抗のシャントとは「Shunt : 回避・追いやる」という意味で、元々はアナログ式の電流計の測定範囲を拡大するために並列に挿入される抵抗を表していた言葉でした。最近では電流検出用のチップ抵抗器そのものがシャント抵抗と呼ばれています。時代の流れで使われ方も変わっても、名前だけが残るのはよくあることですね。

 

3. シャント抵抗は差動増幅回路に接続

シャント抵抗を使った電流検出回路の原理は、電圧を測定するだけのシンプルな回路です。ただし、シャント抵抗の電圧降下は小さいので、高い精度で電圧を増幅できる回路にしなければいけません。そこで使われているのがオペアンプを使った差動増幅回路です。

shunt-current-05_2

 

電流検出に使うオペアンプには、入力オフセット電圧が小さい高精度オペアンプを使います。オフセット電圧は小さな電圧を検出する時に測定誤差の原因になってしまうので、できるだけオフセット電圧の低い「高精度オペアンプ」や入力オフセット電圧を自動的に調整する「ゼロドリフトアンプ」を使います。

4. 電流検出回路で回路の電流値を検出してみる

早速、実際にシャント抵抗とオペアンプを使った電流検出回路を作って電流がどのように検出されるのかを確認してみます。今回、電流検知を行う回路は下のようになります。

shunt-current-06_2

今回製作する電流検出回路。差動増幅回路がシャント抵抗の電圧を検出し、15倍の電圧信号に増幅して出力する。

 

シャント抵抗には62mΩのチップ抵抗を使用しています。測定できる最大電流値はチップ抵抗の消費電力によって決まり、今回は1Wの製品を使用しているのでW=I2Rから1W≒4A×4A×62mΩになり、最大4Aまで電流を流せる計算になります。

shunt-current-07_2

ROHM 電流検出用チップ抵抗器 LRT18シリーズ、62mΩ 1Wのチップ抵抗

 

電流を測定するための増幅度が大きすぎるとオペアンプの動作電圧を超えてしまうので、最大電流を想定して増幅度を調整します。今回は増幅度を15倍に設定しているので、シャント抵抗最大電流の4Aが流れた時にはオペアンプから3Vが出力されます。

shunt-current-08_2

ROHM製のオペアンプ LMR1802G-LB。ローノイズ・低入力オフセット電圧・低入力バイアス電流が特徴のセンサアンプ

 

オペアンプにはROHMが業界最高の低ノイズを謳うオペアンプEMARMOURTM(イーエムアーマー)「LMR1802G-LBを使用します。入力オフセット電圧が5uV(Typ)と小さくセンシングデバイスに使われるオペアンプです。

shunt-current-09_2

ユニバーサル基板上に実装したオペアンプとシャント抵抗。今回は実験的にユニバーサル基板に実装しているため簡易的にはんだ付けしているが、実際の回路設計ではシャント抵抗のデータシートを元に適切なパターン設計を行う。

 

今回は、シャント抵抗で電流を検出するため、ユニバーサル基板で配線した簡易的な回路で電流がどのように検出されるのか確認してみます。

 

5. オシロスコープで電圧を計測して電流の動きを見てみる

早速、完成した電流検出回路に負荷を接続して、測定した波形を見てみます。負荷には直流のブラシモーターを接続します。うまく電流が検出できれば、モータコイルが切り替わる電流波形や回転に負荷が加わったときの変化の様子なども測定できるはずです。

shunt-current-10_2

シャント抵抗はモーターと電源に直列接続している。モーターは5Vで動作

 

shunt-current-11_2

モーターの無負荷電流は0.32A。オペアンプから出力されている波形の実効値は202mV、計算上では0.3Aとして検出されている。オシロスコープ・プローブの帯域幅は共に50MHz

 

モーターを回転させると整流子の切り替えに応じて電流が細かく変わっているのが確認できます。回転を止めようとして負荷を大きくすると、それに応じてシャント抵抗が検出している電流値の変化も電圧信号として変化しているのもわかります。

 

オペアンプの電流検出出力をArduinoなどのマイコンボードに接続すれば、モーターの電流をリアルタイムで検出できるようになるので、モーターロックやコイルレアショートのような異常も検知できるようになります。
電流を検知すればモーター過負荷からモーター本体・駆動回路の保護や、モーターロックの検知などさまざまな機能を追加することができます。

 

6. シャント抵抗を変えればさらに高精度・大電流の検出も

実際に電流検出回路を回路保護として使う場合には、シャント抵抗の最大電力を超えないような低抵抗・大電流の製品を選定します。
今回は汎用品のチップ抵抗を使用していますが、高性能なシャント抵抗では、5Wまでの高電力に対応できる高電力タイプや、0.1mΩの超低抵抗で高精度なシャント抵抗も展開されていて、用途に応じたさまざまなシャント抵抗を選ぶことができます。

参考リンク:電流検出用 チップ抵抗器(シャント抵抗器)|ROHM

 

7. まとめ

シャント抵抗とオペアンプを使って電流を検出する方式は、低コストで精度も高く、使いやすいので、広く一般的に使われている方式です。ただし、抵抗を追加してしまうので回路に悪影響が発生する場合や、シャント抵抗の電力損失が大きくなるような高い負荷には使えない欠点もあります。

原理的には、シャント抵抗の抵抗値を下げれば損失を小さくできますが、シャント抵抗の電圧降下も下がり微小電圧の検出が難しくなるので、シャント抵抗の小ささと検出の精度はトレードオフの関係になります。

特に、ブラシレスモーターやDCDCコンバータの制御・バッテリーの残量検知に用いるような電流検出では、大電流への対応と高い検出精度の両立が求められるため、低抵抗のシャント抵抗だけではなく高精度なオペアンプも必要になります。

実際にシャント抵抗を使った電流検出を行う場合には、最大電流の想定や、どれくらいの精度・損失まで許容できるかなど、検出したい負荷の最大電流や用途などを考え、コストの視点も含めて回路設計・部品選定を進めていくのがポイントです。

電流検出を保護に使う時に忘れてはいけないことですが、電流検出回路それ自体は電流を検出するだけなので、保護や制御を行うための機能も追加しなければいけません。例えばリレーやロードスイッチを追加して遮断できるようにして、それを動作させるためのプログラムや回路、さらにどのような条件下で保護動作を行わせるかも決めなければいけません。

電流検出回路を入れると回路や制御も複雑になり、敷居は少し上がってしまいますが、安全性の向上や電子工作のステップアップには無くてはならない回路です。

アバター画像

エレクトロニクスやメカトロニクスを愛するみなさんに、深く愛されるサイトを目指してDevice Plusを運営中。

https://deviceplus.jp

Arduinoでスマートウォッチを作ろう