ADコンバータでマイナスの電圧を測定する方法
「ADコンバータでマイナスの電圧を測定するには?」では悩むだけで終わったのですが、LCRメータも現実のものとなりつつありまじめに作る必要が出てきました。
回路的には簡単な出力電圧とVddの分圧を測定する方法や出力電圧をプラス側にシフトする方法は使わないことにしました。入力がゼロのとき出力も正確にゼロにすることが難しいからです(入力がゼロのとき出力がゼロになることが保証されないから、と言った方がいいかもしれません)
今回はコンパレータとアナログ・スイッチを使う方法で作ってみました。
もし0Vの付近だけで構わないのでマイナスの電圧を測りたいということであればこんなことができる場合もあります。
「じつはマイナスの電圧もちょっとは測れる16bitADコンバータMCP3425」
「ADコンバータでマイナスの電圧を測るとどうなるか? - MCP3425編」
=======
「ADコンバータでマイナスの電圧を測定するには?」にもアナログ・スイッチを使う案を書いたのですがゼロにならないON抵抗、無限大にならないOFF抵抗というのが気になって食指が動きませんでした。
ところが手元にある74HC4066で実測してみたところオン抵抗は20Ω~30Ω、オフ抵抗はDMMでは大きすぎて測定不能でした。これだったら問題なく使えそうなのでアナログスイッチを使う案を使うことにしました。
右側のコンパレータのプルアップ抵抗が抜けていました。すみません m(._.)m
この回路図を見ると全波整流方式(「一歩進んだ交流電圧計(ミリバル)の製作 - 1」に書いたものです。これは入力が直流でも使える方法です)の方が簡単なように見えるのですが、今回は全波整流方式は使いにくいです。この回路の入力はアナログ乗算器の出力であり、これには交流成分が含まれています。最悪の場合直流電圧0V、交流電圧1Vrmsとなるようなケースがあります。このとき出力がぴったり0Vになるようにするのは全波整流方式ではめんどうそうです。今回の方法はたいして気を使わなくても入力の直流分が0Vであれば出力の直流分も0Vになります。
コンパレータ、オペアンプは±5Vで動作させます。アナログスイッチはVss=-5V、Vdd=+5Vとします。電源電圧10Vということになりますが絶対最大定格的には問題はなさそうです。
左側のコンパレータは入力がプラスなら出力はHigh、マイナスならLowとなります。右側のコンパレータでこれを反転しておきます。
入力信号はオペアンプで極性を反転させてものを作っておきます。
左側のアナログスイッチは左側のコンパレータで駆動されていますから入力がプラスになるとONになり入力がそのまま出力されます。逆に右側のアナログスイッチは入力がマイナスでONになり入力の極性を逆転したもの(つまりマイナスをプラスに変換したもの)が出力されます。
これで入力がプラスでもマイナスでも出力が入力の絶対値に等しい電圧が出力されます。
------
実際に作る場合注意すべき点を書いておきます。
・左側のコンパレータの入力
プラスかマイナスかさえわかればいいのでそのとき邪魔になる交流分を可能な限り除きます。上の回路だとR1>>XC5、R5>>XC5とします。R1<<R5とする必要はないです。
出力をR6、R7で分圧してMCP3208の入力としています。これはこの電圧を測れば入力がプラスだったのかマイナスだったのか判別できるからです。
こうすることによってLCRメータを作るときインダクタンスがキャパシタンスかの自動判別が可能になります。R6≧R7になるようにします。
・コンパレータのオフセット
ADコンバータにMCP3425 を使うのであればじつはあんまり気にする必要はないです。右側のコンパレータはオフセットがあってもまったく問題ないです。
・オペアンプ
これはきちんとオフセットを調整します。
あるいはオフセットをちゃんと測っておきます。これでも出力からオフセットを引くだけでいいので簡単です。
R2とR3は抵抗値も温度係数もできるだけ同じものを使うようにします。私の場合はこの間一袋買ってきた秋月の20kΩの金属皮膜抵抗を使います。
(「秋月電子通商の金属皮膜抵抗器の話 - KOA MF1/4CC2002F 20kΩ」)
・アナログスイッチ
R4は後段の入力抵抗がそんなに高くなければ必要ないはずです。
出力はLPFを通してMCP3425の入力とするのですが、こちらのLPFは入力電圧が正確に測定できることを優先します。
---------
関連
測定全般
「記事一覧(測定、電子工作、天文計算)」
「LCRメータの仕組みと作り方」
「自動平衡ブリッジの原理と回路の作り方」
「インダクタンスの測り方・まとめ」
「キャパシタンスメータを作る - ESR・誘電正接の測定精度」
「誤解している人が多そうなコンデンサの“ESR”の意味」
自動平衡ブリッジ
「自動平衡ブリッジの原理と回路の作り方」
ベクトル電圧計
「ベクトル電圧計の製作と調整 - 交流電圧計(ミリバル)」
“ふつう”の交流電圧計については
「交流電圧計(ミリバル)の簡単な作り方」
「一歩進んだ交流電圧計(ミリバル)の製作 - 1」
「交流電圧計(ミリバル)を作る - 高周波電圧計 - 1」
16bitADコンバータMCP3425
「PICでI2C - ADコンバーター・MCP3425の使い方」
分解能については
「MCP3425の精度を調べてみた - 16bitADコンバータの分解能」
PIC18F26K22
「PIC+SPI+I2C 自記温湿度計+気圧計+8ch電圧計+周波数カウンタ(技術要素一覧)」
「PIC+SPI+I2C 自記温湿度計+気圧計+8ch電圧計のソース - main()」
« PICでSPI - SDカードの書き込みエラーの話 | トップページ | 暫定版・コンデンサのESRと静電容量を比べてみた - PPS、PET、PP、セラミック »
「趣味の電子工作」カテゴリの記事
- PICで作る100MHz周波数カウンタ検証用XOR(エクスクルーシブオア)逓倍器(2016.03.08)
- 150MHz(~200MHz?)周波数カウンター用プリスケーラー(1/4分周器)(2016.03.06)
- 測温抵抗体(Pt100、白金薄膜温度センサー)の抵抗値を温度に変換する(平方根を使わない)計算式(2016.03.01)
- GPS/JJY(標準電波)を基準周波数源とするためのPLLの詳細(2016.02.27)
- GPS受信モジュール1PPS対決 - GE-612T vs GM-5157A(2016.02.21)
コメント
この記事へのコメントは終了しました。
« PICでSPI - SDカードの書き込みエラーの話 | トップページ | 暫定版・コンデンサのESRと静電容量を比べてみた - PPS、PET、PP、セラミック »
※参考
・A/Dコンバータの入力レンジを拡大する方法
http://blog.zaq.ne.jp/igarage/article/4088/
・入力レンジ切り替え回路
http://blog.zaq.ne.jp/igarage/article/3675/
・プリンタシールド、付加回路
http://blog.zaq.ne.jp/igarage/article/3668/
左側のコンパレータ、ヒステリシスを設けていないので、判定境界(0V)付近で出力が暴れると思います。
投稿: 居酒屋ガレージ店主(JH3DBO) | 2015年6月20日 (土) 10時23分
わざわざありがとうございます m(._.)m
「A/Dコンバータの入力レンジを拡大する方法」は先日拝見したところでした (^^)
コンパレータにはヒステリシスを付けた方がいいですね。
じつはこれはLCRメータのベクトル電圧計で使ったとき
わずかな位相ずれが検出できるように0V近辺の正負の微小電圧が正確に測れること
マイナスはL測定でのみ発生しそれなりの電圧
だったのでコンパレータの閾値はわざと0Vからちょっとマイナス側はずしてあります(MCP3425はちょっとはマイナスも測れるので)
MCP3425は入力抵抗が低く入力側にはできるだけ抵抗を入れたくない、自動オフセット調整を有効に利用したいとかあって、いいアイデアを思いついたと思ってもこういうのを考えているとたいていダメアイデアになってしまいます。
やっぱり高くてもちゃんとしたのを使うというのが最善・最短の解決策でしょうか (^^;;
投稿: セッピーナ | 2015年6月20日 (土) 11時14分