オペアンプの動作
温度センサーの出力は2℃を基点にして10mV/℃で変化します。ですから、30℃のときの出力電圧は280mVになります。この電圧をPICのA/Dコンバータでデジタル情報に変換すると十分な精度が得られません。そこでこの電圧をオペアンプで約10倍にすることにしました。
オペアンプはフィードバックの抵抗値を変えることによりアンプのゲイン(増幅度)を調整することができます。代表的なオペアンプの回路は左図のようになります。反転増幅と正相増幅の2種類があります。反転増幅のゲインはRiとRfの比で決まりますが、入力と出力の位相が反転するという特徴があります。一方、正相増幅のゲインはRiとRfの比に1を加えた値になり、入力と出力が同相であるという特徴があります。
回路の設計当初では、温度センサーの電圧をRiとRfの比だけで正確に増幅するという目的で反転増幅回路を検討しました。正相増幅の場合のゲイン計算が複雑そうだったためです。出力が反転するので、もう一段ゲイン1(増幅度0)で反転増幅させました。しかし、この場合は電源としてプラスとマイナスが必要になり、回路が複雑になります。
しかし、正相増幅でも、Rfを可変抵抗器にすれば増幅度を自由に調整でき、入力電圧がプラスだけの場合には出力もプラスにしか振れないため、マイナスの電源は不要になり、回路も簡単になります。
ただし、プラスの電源だけで使うのにはその仕様に合ったオペアンプを使う必要があります。ということで、今回はプラス単電源で動作するLM358を使用しています。
オペアンプのオフセット
オペアンプで微少電圧を増幅する際、オフセット電圧が重要になります。オフセット電圧とはオペアンプの入力を0Vにしたときに出力に現れる電圧のことです。理想としては入力が0Vのときに出力も0Vになればよいのですが、実際には多少の電圧が現れます。これはオペアンプ内部のトランジスタの特性誤差によるものです。LM358の場合、オフセット調節用の端子はありません。簡便にオフセット電圧を補正するのにはRiと同じ値の抵抗器をプラス端子側に接続する方法があります。厳密にオフセット電圧を無くしたい場合にはプラスとマイナスの電圧を使い入力にバイアスをかける方法を使います。
今回使用したLM358の場合、6mV程度のオフセット電圧が出ています。PICのA/Dコンバータでは5Vを255レベルに分割しているので1レベルの電圧は約20mVになります。今回使用しているA/Dコンバータの分解性能は20mVということです。そのため、6mVのオフセット電圧はあまり影響しないので補正はしていません。A/Dコンバータの10ビットをフルに使うと分解性能は5mVになります。
LM358のデータシートに掲載されているアプリケーション例に「IINは温度に依存しないためRは不要」と書かれています。そのため、今回の回路にはオフセット電圧低減用の抵抗器は付けませんでした。
最大測定温度
オペアンプの電源には+5Vを使っています。ICにより多少違いますが、今回使用したLM358の場合、入力電圧を上げると、出力電圧は3.7Vで飽和し、それ以上には上がりません。
PICのA/DコンバータではPICの電源電圧(実測5.00V)を10ビット(1024レベル)で分割し、入力電圧をデジタルに変換します。実際のソフト処理では10ビットの内の上位8ビットを使い、255レベルのデジタル情報にしています。ですから、1ビット当たりの電圧は5V/255=0.0196078Vになります。温度表示は1ビットあたり0.25℃としました。これは6ビットで表せる数が64で温度測定範囲に適しているためです。ですから、8ビットの内の上位6ビットは℃と対応させ、下位2ビットは1ビットあたり0.25℃としました。A/Dコンバータの入力に5Vが加われば66℃まで計測ができます。オペアンプの出力電圧が最大3.7Vということは計測できる最大温度は約49℃になります。3.7V/0.0196078V*0.25=47です。0Vが2℃なので、これに2を加算すると表示温度は49℃になります。実際、温度表示の校正を行ったあと、オペアンプの入力に+5Vを接続すると表示される温度は49℃になりました。実質49℃まで計測できれば問題はありません。
|