マイコンのADCで正負電圧を測定する方法

一般的なマイコン内蔵ADCの入力範囲は0~Vccまでとなっていることが多いです。したがってマイコン内蔵ADCで正負電圧を測定するためには、入力範囲の調整回路をADC前段に設けてやる必要があります。今回は最近主流である0~3.3Vの入力範囲を持ったマイコンを例に「マイコンのADCで正負電圧を測定する方法」を説明します。

これは入力電圧のレベル変換を行う回路です。ゲイン-1倍の「反転増幅回路」+「バッファ回路」という構成になっています。ゲイン1倍の「反転増幅回路」は、非反転入力端子にオフセット電圧を加えることで出力電圧の範囲をシフトしています。オペアンプではアナログ的に正負電圧の演算が行われるため、電源として正負電圧を供給する必要があります。(※0V付近までスイングさせる必要が無かったり、単電源オペアンプを用いれば単電源動作できますね。2回路入りのオペアンプの片方をバッファとして用いる場合は正負電圧で動作させる必要があります)

入力電圧は1.65V~-1.65V(電位差3.3V)を想定しています。「反転増幅回路」に0.825V(3.3V/4)のオフセット電圧を与えることで+1.65V出力電圧レベルをシフトする動作を行います。このレベルシフト動作によって、マイコンのADCに入力される電圧は0V~3.3Vとなります。したがって、AD変換後の値は0Vが(Vref/2)となるのでソフトウェア上でオフセット電圧が加算された部分の補正を行う必要があります。

また、反転増幅を行うため入力と出力の位相が反転することにも注意が必要です。この位相反転についてもソフトウェア上で補正を行う必要があります。

反転増幅回路の入力インピーダンスはR1によって決まります。そのため入力にバッファとなるオペアンプを1段設けて、インピーダンス変換をしています。これにより、測定対象となる回路の出力インピーダンスによる電圧降下が小さくなります。測定対象となる回路の出力インピーダンスが小さく、R1に流れ込む電流による電圧降下分が無視できるくらい小さい場合は、このバッファ回路は不要です。

コメント

  1. DP より:

    こんにちは。
    負電圧を観測するために、参考になりました。
    2点質問があります。

    1.負電圧を正電圧にするだけなら、レベルシフトだけで良い(非反転はいらない)ような気がするのですが、非反転が必要な理由は何になりますでしょうか?
    (レベルシフトするためには、非反転増幅回路を使う必要があるため、という理由のような気がするのですが、いかがでしょうか。)

    2.図のレベルシフトさせる+0.825Vの部分ですが、この部分にもボルテージフォロアを入れて安定化させる必要はないのでしょうか?
    (オペアンプの前段なのでインピーダンス調整する必要はなく、かえってボルテージフォロア付けることで発振する恐れがあるのでしょうか?)
    高周波数(100k~10MHz)で使おうと思っていましたので、入れないほうが良いのかどうかなど、アドバイスいただけると幸いです。

    • yoshikiyo より:

      1.非反転増幅回路にバイアス電圧を加えた回路構成でもレベルシフトは可能です。ただし、非反転増幅回路を用いた場合、入出力電圧の設定が難しくなります。また、オペアンプに供給する電源電圧が同じ場合に入力範囲が狭くなるというデメリットもあります。反転増幅回路の「入力インピーダンスが小さくなる」、「位相が反転する」という特徴は対応が比較的簡単にできるため、反転増幅回路を用いたほうが素直に設計できて良いと思います。

      2.オペアンプの入力端子に直接入力されるため、ボルテージフォロアを省略しています。オペアンプの入力端子のインピーダンスはとても大きいため、分圧比に与える影響は小さく問題となりません。

      回路の例ではNJM4580を使用していますが、10MHzで使う場合はオペアンプをもう少し高速なものにする必要があるかもしれません。