ちょっとTea Time!? レールtoレールって? 2020.9.10

アナログ素子の代表選手であるOPアンプは、一般には正負15Vの電源で動作しますが、
出力電圧は電源電圧からおよそ1.5V程度差し引いた値しか出力できません。しかし、最近の
低消費電力化・高速化の波の中でOPアンプでも正負5V程度の低い電圧で動く素子が多くなっています。
そのため、これら低電圧で動くアナログ素子はレールtoレールというのが当たり前になってきた気がします。
ちなみに、レールtoレールとは電源電圧の範囲で出力電圧が得られる素子のことなのですが、
どういう条件であれば、レールtoレールと呼称してもよいのかは決まりはないようです。
 レールtoレールといいながらも、実際には100mV程度はVCCより低く、GNDより高い電圧しか出力できないようです。


たとえば、あるOPアンプのデータシートでは、レールtoレールと謳っていながら、
出力電圧は100mV以上低い電圧になっています。とはいえ、15V電源で動くOPアンプで1.5Vもの
電圧降下があることを考えれば、ほぼ電源電圧一杯まで使えるといっていいでしょう。



OPアンプのデータシートにはレールtoレールが謳われています。

でも、実際には僅かに動作範囲は狭いです(100mV程度)

何が気になったかといえば・・・・

最近、部品箱で眠っていた12Bitの(ADS835A)が使えるように、ピン配置を解読しました。
これを使って、CPM80末っ子CPM68K-2号機のIO基板を作りました。で、ADC単独で動かしてみたときに、
入力をGNDに接続すればAD変換値は0になるし、VCC(=VREF)に接続したら4095になります。
これが正常な動作なのですが、ADCの前段にレールtoレールで動くPGA(プログラム可変ゲインアンプ)
であるMCP6S22を接続して動かしたらところ、入力をGNDに落としてもAD変換値は4あたり、そして
VCCに接続しても4075あたりと、必ずしもレールtoレールになっていません。
 AD値で4といえば5V動作しているのでGNDからは約5mV浮いています。そして4075といえば
VCCから約25mV低いあたりです。この程度なら、誤差の範囲かもしれません。
 VCCに僅かに届かないことについては許容できますが、GNDから浮いていることについては
0mVに近い値での信号をあつかうには少々不安を感じるところです。


MCP6S22です。レールtoレールといいながら出力は5mVほど浮いています。

浮いた約5mVはどこに?
 何が気になるかといれば、浮いた5mVがどこにいくかです。すなわち、設定ゲインを1とした場合、
入力が0〜5mVの範囲で出力が5mVに浮いている状態はよいとして、入力が5mV以上になったときに
出力が入力と同じ電位になるのか、それとも5mVのオフセットが乗った状態になるのかです。
前者なら問題ありませんが、後者なら問題ありです。ということで、今回のTea Timeではこのあたりを
調べてみることにしました。

調べてみましょう

まずはブレッドボードに評価回路を搭載です。といっても、単電源で動くアンプなので簡単に5V電源に
接続するだけです。


MCP6S21をブレッドボードに搭載です。

マクロでは
まずは入力に電源電圧を少し越える入力を加えて出力を観測(下図)です。
マクロ的にみれば、電源電圧(5V)でほぼ出力がフルスイングしているのがわかります。
2つの信号が重なっていますが、正弦波が入力で、頭がクリップしているのが出力です。

マクロで見れば、レールtoレールで動いていますね。

ミクロでは
今度は、入力信号を小さく絞ってみます。この場合、出力は約6mVくらい浮いていますが、
それ以上の入力信号が入っている場合は、問題なく追従しているようです。
すなわち、オフセットという形にはならないようです。

入力信号を絞ってみました。

もうすこしわかりやすくするために、X-Y平面でみてみましょう。
この場合、おおまかに見れば、10mV以上であればゲインは1になっていますね。
でも、細かくみると浮いている6mVから10mVの間はかなり非線形(歪んでいる?)での
増幅になることが想定されます。

X-Y平面でみると、10mV以上ならゲイン(=1)が正確に守られているのがわかります。

とわいえ、10mV以上の入力ならほぼ問題なく使えることを考えると、良好なレールtoレールであると
いえるでしょう。ここでの結論は
 
 ゲイン1では入力が10mV以上のところで使いましょう!

ということですね。

高ゲインではどうだろう?
 上記の調査はゲインが1の場合でした。でも、このMCP6S2シリーズはゲインは最大で32倍まで設定できます。
たとえば32倍に設定したときに、入力電圧が1mVだったら出力は32mVになるのか、それとも入力電圧が10mVを
越えないと正確な増幅ができないのかが気になります。
 調査のためにはMCP6S2にマイコンを接続してレジスターを書き換えなければなりません。ちょっと面倒だなあ〜。

まあ、乗りかかった船ですからデータを取ってみましょう!
MCP6S21の隣にPICを搭載して、これでゲイン倍率を書き込みます。


なるほど・・・・高ゲインは注意が必要
測定のセットアップを変更したため、すこしオフセットが変化してしまいました。
わかったことは、ゲイン1の場合だと小さくてわかりませんでしたが、ゲインを高くすると
挙動が明確になってきました。
 ゲイン1を含めてすべてのゲインで入力信号が10mVを超えたところから増幅が始まります。
しかし、ゲインの基点は増幅が始まったところであり、入出力の関係の直線は原点を通りません。
ゲイン32の場合だと、直線はY軸の約ー300mVのところを通過します。すなわち入力信号が10mVのときに
出力がゼロになるということです。逆の見方をすれば、出力電圧が320mVであれば、入力は10mVではなく、
10mVを加えた20mVになるということです。
 このことから、出力電圧から入力電圧を換算するには、ゲインが高いところでは気をつける必要がありそうです。
とくに出力電圧が小さい場合は、要注意です。さらに出力電圧が大きいところでも、例えばゲインを32倍に設定した場合、
3.2Vの出力電圧がでていても入力電圧は100mVではなく、実際には110mVということになり、約10%の誤差がでることになります。

 直線の傾き(=ゲイン)は正しいようですが、入出力の関係の直線のY切片がゲインに応じて変わることは
すこし頭の中においておいたほうが良さそうです。

入力(X)ー出力(Y)信号 備考
ゲイン 1 測定系がすこし変化しので、
オフセットも若干変わってしまいました。
それにしても、直線が原点を通らないような気がします。
ゲイン 2 ゲインを2倍に上げると、まずます直線が原点を
通らないことがはっきりしてきました。
ゲイン 4
ゲイン 8 どんどんゲインを上げていきますが、
増幅が始まるのは入力電圧がどのゲインでも
10mVあたりのようです。
ゲイン 16 もう、縦軸の感度が高すぎ・・・・
ゲイン32 縦軸の感度を1/10(100mV/div)に変更です。
直線のY切片は-300mVあたりにきています。

結論として
 MCP6S21を高ゲインで使うときは、出力のオフセットが大きくなるので、DC測定の場合は注意が必要。
単純に、ゲインが重要な交流信号の増幅用(ゼロ点はあまり気にしない)としてつかうことに限定したほうが良さそうです。

ひょっとして、このDC測定の誤差が瞬時抵抗値測定器での低抵抗測定時の誤差にもなっている可能性が高い感じです。
補正を加えたら、さらに精度アップするだろうけど面倒そう〜。まあ、いまのままでも問題ないので放置しましょう。

(おしまい)