製作モジュール一覧

2020年1月6日月曜日

ACS712利用両電源電流計の構想 その2

以下のような構成で製作することを考えました。

ブロック図

ブレッドボードでテスト

※現段階ではOLEDの表示はダミーです。

ファームウェアをプログラミングして様子を見てみたいと思います。

メモ:

電源電圧を分圧してADCで監視。

アナログ系とデジタル系は基板を分ける?

Arduino pro mini / nanoはAREFが使えないので基準電圧はVCC?

LDOのNJM2396は出力電圧が比較的高精度のよう。

2020年1月3日金曜日

ACS712の出力にアクティブLPFをかけてみる

ACS712の出力はノイズが大きいのでアクティブLPFをかけてノイズをカットすることを考えてみました。

ACS712出力は単電源波形なので、アクティブフィルタに使うOPAMPの電源は、+5Vの単電源をRail Splitterで分圧して仮想GNDとしました。GNDレベルを決めるだけなので抵抗による分圧でもいいかもしれませんが、念の為TLE2426を使いました。

フィルタは位相を反転させたくないので多重帰還ではなくVCVSを使いました。必要なのはDC値なのでカットオフ周波数は低いほうがいいのですが、時定数が大きくなるとレスポンスが鈍くなるので、Cをフィルムコンデンサーを使う方向で適当に定数を決めました。抵抗値も大きすぎると熱雑音が心配になってきます。

シミュレーション回路図

時定数 τ = R * C = 6.8[kΩ] * 0.47[uF] ≒ 3.2[ms]
カットオフ周波数 fc = 1 / (2 * Π * C * R) ≒ 50[Hz]

AC解析

VCVSなので高周波数で利得が上がっていますが目をつぶります。

過渡解析

ノイズとして500Hz、1Vp-pの矩形波を入力しています。フィルターを通すとノイズはそこそこ取れているし定常状態になるにも20ms程度で済んでいます。+50mV程度オフセットが出ていますがACS712モジュール側のオフセット調整でなんとかなりそう。

ブレッドボード図

実験中のようす

電流は100Ωの抵抗を並列にして50Ωの負荷とし、+5Vを印加して100mA流しています。

OPAMPは低電圧で動作するフルスイングCMOSタイプのNJU7032を使いました。

オシロで観測


無電流時

ch1:ACS712の出力 ch2:フィルタ通過後

100mA時

ch1:ACS712の出力 ch2:フィルタ通過後

ACS712のオフセットやゲインをきっちり調整していないので出力電圧に誤差がありますが、ノイズはかなり低減できています。

以下、オシロの入力をAC結合して波形を拡大したところです。

無電流時

ch1:ACS712の出力 ch2:フィルタ通過後

100mA時

ch1:ACS712の出力 ch2:フィルタ通過後

1.4Vp-p程度あったノイズを50mVp-p程度まで低減できました。なんとかなりそうかな?

2020年1月2日木曜日

ACS712はノイズが多い

あけましておめでとうございます。

ACS712でかんたんに電流計を作ろうと目論んでいますが、出力ノイズが多いようです。

計測しているようす

前回、出力電圧をテスタで測っていたところをオシロで見てみました。

ACS712電源OFF

ch1:正電源 ch2:負電源

ACS712電源ON 電流0mA

ch1:正電源(電流なし) ch2:負電源(電流なし)

ACS712電源ON 電流50mA

ch1:正電源(電流+50mA) ch2:負電源(電流-50mA)

中心値(V)を見ると入力した電流に従って出力電圧が変化しています。±50mA流しているので計算上は±250mVの変化になります。

ところがオシロの表示値(Vp)を見るとノイズが1Vpp以上あります。出力電圧の変化に対してノイズが大きすぎます。

反応が鈍くなりますが、Analog/DigitalのLPFを入れて、測定値をならすかどうか悩みます。

新春早々悔しいですが、一旦保留してしまうかも?