初めに
オペアンプに関する記事は星の数ほどあり,まったくこの記事も優秀なそれらの記事と比べたら,無意味でしょう.しかし,自分自身の作業・疑問の記録として残します.
目標
センサー出力が$2.2±0.01V$で出力されるので.
$2.2V$中心で,$10$倍に増幅し$2.2±0.1V$になるように増幅回路を作ることです.
2.2±0.01V -> 2.2±0.1V
GNDについて
オペアンプにはGNDが存在しません.なぜなら,必要がないからです.オペアンプにとって基準電圧は必要なく,$Vout$は「$V+$,$V-$にとっての基準電圧(GND)」を基準電圧(GND)として出力します.なぜ,接続されていない「$V+$,$V-$にとっての基準電圧(GND)」を「$Vout$の基準電圧」とできるかは,わかりません.おそらく,GNDは電圧測定者が任意に指定できるということだと予想します.実際,Voutを計測するときと,V+,V-を計測するときの基準電圧GNDは同じところにする必要があります.
負電源について
オペアンプには,GNDの代わりと言っていいのかわかりませんが,負電源$VSS$があります.
$Vout$が負の電圧を取るとき,負電源が存在していないと正の方向に飽和します(後述の実験で検証).
というわけで,$Vout$が負の電圧を取るときに,正しい出力を得るには,電源が次のように二つ必要になります.
図のGNDは$V+,V-,Vout$の基準電圧です.
注意
このように基準電圧を取ってしまうと,負電源としての役割はなくなってしまいます.
GNDはオペアンプには接続されませんが,$V+,V-,Vout$にとっての基準となるので,意識したほうがよいでしょう.
非反転増幅回路
VDD =4.6V\\
VSS =-2.47V\\
R1 = 1kΩ\\
R2 = 1kΩ\\
Vout=\frac{R1+R2}{R1}Vin \\
=2Vin
という非反転増幅回路です.
実験結果
- 出力は3.0V付近で飽和(VDD=4.6V)
- 負側も-1.8V付近で飽和(VSS=-2.7V)
- Vin=-3.5Vではなぜか,3.0Vで飽和
- 増幅率は2倍になっている
VSS = 0Vで実験
先ほどと比較し
- 正側はほぼ同じ
- 負側は正の方向に飽和
結論
- 増幅率は理論通り,2倍
- $Vout$が負の電圧を取るとき,負電源が存在していないと正の方向に飽和
- 供給電圧の-0.5~-1.5Vで飽和
作動増幅回路
非反転増幅回路では,2倍にすることはできますが,2.2±0.01V -> 2.2±0.1Vのように,基準点に対して,増幅することはできません.
そこで,次の作動増幅回路を利用します.
Vout = \frac{R1+R2}{R3+R4} \frac{R4}{R1}V_{in+} -\frac{R2}{R1}V_{in-}
に従います.V+をR3,R4で指定し,増幅の基準を指定する場合,
\frac{R1+R2}{R3+R4} \frac{R4}{R1}
を調整することになります.$V_{in-}$が入力電圧です.
実験
増幅率10倍より次のように設定した.
VDD = 4.58V\\
VSS = 0V\\
R1 = 1kΩ\\
R2 = 10kΩ\\
基準電圧を1.5Vにするには,$V_{in+} = VDD = 4.58$とすると
\frac{11}{R3+R4} \frac{R4}{1} = 1.5/4.58\\
\therefore 11*4.58*R4 = 1.5*(R3+R4)\\
\therefore 32.6*R4 = R3
よって,
R3 = 32kΩ\\
R4 = 1kΩ\\
とした.
以上の設定より
Vout = 1.5-10V_{in-}
になるはずである.
実験結果
おかしい,1.5V中心で10倍に増幅されない・・・と思ったら,設定した式が間違っている
1.5±0.01V -> 1.5±0.1V
にするには,
Vout = -10(V_{in-}-1.5) + 1.5\\
\therefore Vout = (1.5*10+1.5)-10V_{in-}\\
=16.5-10V_{in-}\\
として設計する必要があるのだ.
ちなみに,実験結果としては,
Vout = 1.5-10V_{in-}
では,$V_{in-}>=0.15V$で負側にいってしまうため,何とも言えない.あまりよくわからない結果である.
再度設計
とりあえず,すべて1kΩで
VDD = 4.58V\\
VSS = 0V\\
R1 = 1kΩ\\
R2 = 10kΩ\\
R3 = 1kΩ\\
R4 = 1kΩ\\
とした.
Vout = 25.19-10V_{in-}\\
=-10(V_{in-}-2.519)\\
となり,2.519V基準で増幅することになる.
Vinが2.1V±0.1Vで,Voutが1.7V±1.3ぐらいなので,10倍に増幅できている.
理論値との比較をすると
曲線の傾きは同じだが,切片は違うという結果になっている.テスター・抵抗等の誤差がまぁまぁ乗ったのかなと予想する.また,横軸は0.1V単位で,敏感なので多少ずれるのは仕方ない気がする.
とにかく,目標の2.2V基準に近い,2.519V基準にできた.
設計法まとめ
テキトウに設定してなんとなくうまくいったが,計算するならば,
Vin = a \pm b\\
Vout = c \pm \alpha b\\
Vin+ = VDD
とするならば($\alpha$は増幅率),$R2 = \alpha R1$がまず定まる.
つぎに,
Vout = \frac{1+\alpha}{R3+R4} R4*VDD -\alpha V_{in-}
となるので,
c = \frac{1+\alpha}{R3+R4} R4*VDD -\alpha a
を解いて,R3,R4を指定すればよいということになる.ある程度調整ができるように,半固定抵抗をR3,R4の間に挟むというのもありである.
ボルテージフォロワ
VDD = 4.6V\\
VSS = 0V\\
とした.
実験結果
- 2.5V付近で飽和
- 0.5V付近で飽和
0~0.5V付近は正しく出力されないことを注意する必要がありそうです.
作動増幅回路+半固定抵抗器
半固定抵抗器を次の回路のように挟み,実装後調整可能にしました.半固定回路の図がeagleで見つからず,汚くなりました(笑)
設計順序は
- 増幅率R2/R1の指定
- 手持ちの半固定抵抗器を探す(R5の決定)
- 動作点(Vin,Vout)の指定により,R3/R4の決定
- R5の大きさに合わせて,変動域が十分入るよう,あまりに大きすぎないようR3またはR4の調整
という手順になります.
動作点を(Vin=a,Vout=b)とすると
\frac{R4+R5/2}{R3+R4+R5} = \frac{b+\alpha*a}{(1+\alpha)*Vdd}\\
という関係があるので,R3を任意に指定するとR4が決定します.
この時,半固定抵抗器R5を調整した場合の変動の仕方は次のようになります.
図の1,2,3,4の電圧を求めると次のようになります.
V_1 = \{ \frac{1+\alpha}{1+(R3+R5)/R4} Vdd-Vout_{max} \} / \alpha \\
V_2 = \{ \frac{1+\alpha}{1+R3/(R4+R5)} Vdd-Vout_{min} \} / \alpha\\
V_3 = \{ \frac{1+\alpha}{1+(R3+R5)/R4} Vdd-b \} / \alpha \\
V_4 = \{ \frac{1+\alpha}{1+R3/(R4+R5)} Vdd-b \} / \alpha\\
$Vout_{max}$,$Vout_{min}$は出力の飽和電圧です.
半固定抵抗器による実質的な調整範囲は1~2
変動中心の調整範囲は3~4です.
設計時には,この変動域が目標に十分入るよう,同時に変動域があまりに大きすぎないよう(大きすぎると半固定抵抗器で微調整が必要になってしまう),R3の調整を行うことになります.
実験
VDD = 4.6V\\
VSS = 0V\\
R1=1k\\
R2 =10k\\
a=2\\
b=1.8\\
R5=10\\
として,前述の設計を行った.
R4=10k\\
R3=15.7k\\
とすることで
V1=1.15\\
V2=2.86\\
V3=1.27\\
V4=2.73\\
1.2V~2.5Vぐらいで調整が可能になっている.増幅率も10倍はある.
これで,いつでも増幅器の設計ができそうだ.
ちなみに,作動増幅回路は,ハイインピーダンス状態にはならないのでセンサー出力直接ではなく,ヴォルテージフォロワを前段につけた方がいい気がする.