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程度まで低減できました。なんとかなりそうかな?
0 件のコメント:
コメントを投稿