Arduinoと5110液晶でオシロの、オペアンプ周り
の定数を詰めていくことに。
まず、プローブから1MΩで受ける部分。
大振幅側の電圧は、15~20Vppくらいまでは受けられる
ようにしたいな、という目論見。
ってことは、よく考えたら、5Vの単電源でボルテージ
フォロアで1MΩに掛かる電圧を受けると、出力はGNDと
5Vの外側が削られちゃう。ダメだ。
なので、一旦5Vppに減衰させてから、後段のアンプで
各レンジに合わせて増幅しなおすっていう方法が必要に
なりそう。
落書き帳で色々と数値を書いては眺めながら、最大で
16Vppとするか、20Vppとするか考えて、具体的な抵抗値
がE24系列で設定可能な方ということで、20vppをチョイス
する方向で考えてみる。
具体的には、1MΩを、750kΩと250kΩに分け(250MΩは
120+130とかを足して作る)、この250kに掛かる電圧
を読めば、1/4の電圧となり、20Vppまで受けることが
可能に。
本当は、こうすると後段でノイズまで増幅することになる
から、あまりうれしくないんだけど、RtoRアンプで簡単に
済ますという作戦からそれちゃうので、その辺は少し
目を瞑ることにする。
んで、2段めは、1倍、2.5倍、10倍、25倍、100倍、250倍
と増幅率を切り替えられるようにすれば、ADC入力端子は、
それぞれ20Vpp、8Vpp、2Vpp、0.8Vpp、0.2Vpp、0.08Vpp
を5Vレンジで受けとることになるはず。
この増幅率を実現出来る抵抗値を適当に見繕って、
スイッチでパチパチ切り替えすれば、各レンジの電圧を
ADCで受けられるって寸法。
3段めは、ナイキスト周波数以上の周波数をカットする
ためのLPFとして、急峻にカットオフする特性にしたい
ので、チェビシェフで、できるだけ高次で、リプルゲイン
は小さく抑えたい…という方向で考える。
ナイキスト周波数は、Arduinoのサンプル頻度に因るので、
20000sps程度と仮定して、ナイキスト周波数は10KHz程度。
それより少し下でカットオフするので、諸々計算してみて、
カットアンドトライでカットオフ周波数を8KHzに、
リプルゲインを1.5dbと置いてみる。
問題は、やっぱり2段めの大増幅を行う部分。
各増幅率を実現する増幅率を手動のスイッチか電子的に
切り替える必要があるんだけど、LCDに表示できる情報量
に限りがあるので、物理スイッチを使ってパチンパチンと
切り替える方法で考えることにしたい…んだけど、
なにしろレンジが広いので、色々と制約が出ちゃう。
増幅率が1倍(20Vpp)の時は、プローブからの入力信号
が、5Vppとなるんだけど、その時の帰還抵抗は小さく
せざるを得ないので、オペアンプの出力バッファの強度
によって、RtoRまで振れられない可能性が高い。
まぁ、この制約が出るレンジは1個だけだし、あまり大きな
制約でもないと思うので、見なかったことにする。
問題は、小レンジ入力を大増幅する場合。帰還抵抗が
でかすぎると、ハムノイズ拾ったりするんだよな。
そういえば、帰還抵抗でレンジ切り替えするつもりで
計算始めちゃったけど、帰還抵抗はあまり変化させない
ほうが良いって聞いたことがあったなぁ。どっちがいい
んだろう?
ひとまず、ブレッドボードで1倍時と100倍時で、どんな
ノイズが出そうなのか、ブレッドボードで実験してみる。
異常発振とかはしなさそうなので、計算してみた値で
とりあえず進めることにしようかな。
もう一つの問題。オフセットを大増幅しちゃうときの対策。
FET入力のオペアンプだと、オフセット電流とかバイアス
電流は、よほど大きな増幅率にしない限り、ADCの値に
大きな影響を及ぼすことはなさそうに思うんだけど、
問題はオフセット電圧。
RtoRオペアンプだと、FET入力が多いみたいなんだけど、
FET入力のオペアンプだと、どうしてもオフセット電圧
がmVレベルで出ちゃうものが多いんだよな。
mV単位のオフセット電圧に、250倍も増幅かければ、
1Vレベルのエラーが出ても不思議じゃない程度。
なので、オフセットの調整機能は不可欠と考えるのが
よさそう。
3段のオペアンプのうち、1段めと3段めはゲインが
ほぼ1なので、5VとGNDで作り出した2.5Vの中点を
そのまま使っておけばだいじょぶそう。ただ、
中点を作り出すのにボルテージフォロアを使うと
すれば、ある程度の容量負荷に耐える設計にして
奥必要がありそう。
2段目は、増幅率が結構大きいので、増幅の中点は
他の段と分けて設定して、若干の上下が出来るように
調整機構を付けておけばいいのかなぁ。
色々難しいねぇ。
とりあえず、部品組み上げて実験してみて、それから
考えることにしようかな。
|