LTSpiceでシミュレーション
回路図
I1が電流源でRLに電流を流し、0.1ΩのRshuntで電圧降下させて電圧として取り出している。(Low Side)
これを単電源OPAMPのLM358の23倍の非反転増幅回路で増幅して電流検出値として「OUT」から取り出し、ADCに入力する。
DC解析
青色のI(i1)が電流、V(out)が出力値。電流は0mA~500mAにしているが、出力値は50mA以下では非線形な感じで最小値が0.1V程度になっている。
上側のグラフのV(n003)はRShuntのプラス側の電圧値で、こちらは線形なのでLM358の特性なのかもしれない。また、実際にはOPAMPの入力バイアス電圧(VIO)が23倍に増幅されて出力されるのでこれも補正する必要がありそう。
ブレッドボードで実験
配線図
INからGNDの5V電源と、オペアンプを駆動する5V電源を2つ用意して測定した。
実測値
Rshunt(Ω) | 0.11 |
---|---|
R1(Ω) | 989.6 |
R2(Ω) | 21860 |
A | 23.08973323 |
VIO(V) | 0.0234 |
Aは増幅率、VIOはLM358の入力オフセット電圧。23.4mVなのでそこそこ大きい値だ。
I | V | A*V | A*V+VIO | 実測 | err | % |
---|---|---|---|---|---|---|
0.0486 | 0.005346 | 0.123437714 | 0.146837714 | 0.1442 | -0.002637714 | -1.83% |
0.101 | 0.01111 | 0.256526936 | 0.279926936 | 0.291 | 0.011073064 | 3.81% |
0.401 | 0.04411 | 1.018488133 | 1.041888133 | 1.23 | 0.188111867 | 15.29% |
Iはテスタで測った電流値。VIOを加味しても400mA程度だとかなり大きな誤差が出た。
メモ:
AVRの内蔵レギュレーターの1.1Vを使ってA/D変換すれば、精度に目をつぶれば0mA~500mA程度まで測定できる。ATTiny13はADCはあるが、I2Cに対応していないのでLCDに表示できない。
NXPのLPC810なら8PinでもI2Cが使えるが、3.3V駆動なので3.3VのLDOが必要。←I2C LCDが3.3V駆動なのでちょうどいいか。
ATTiny85のDATASHEETを見るとGAINx20のADCが使えるようだ。ということはオペアンプで増幅しなくて済むかも?また、差動入力のADCにも対応しているようでLow SideではなくHigh Sideで測定できるかもしれない。
もう少し実験しようかな。
0 件のコメント:
コメントを投稿