大きなノイズが入る電圧を測定する方法をご説明致します。
通常、ADコンバーターなどのソフトを作っている方には釈迦に説法かもしれませんが私が苦労したパターンをご紹介します。
通常、ADコンバーターなどを使って電圧を読む際は移動平均法を使います。
(測定1+測定2+測定3+測定4+測定5+測定6+測定7+測定8)/8=測定値 (として取り扱う)
次は、
(測定2+測定3+測定4+測定5+測定6+測定7+測定8+測定9)/8=次の測定値 (として取り扱う)
その次は、
(測定3+測定4+測定5+測定6+測定7+測定8+測定9+測定10)/8=その次の測定値 (として取り扱う)
このようにリアルタイムの測定データではなく新しく測定したら前回までの測定値に加えて平均して取り扱います。
こうする事でノイズが入っても大きな変動にはならずノイズに強い測定方法になります。
しかし、
あまりにも大きなノイズが入ったときは平均してもノイズに大きく影響されてしまいます。
そのときどうするか私の体験からお話しします。
当時設計していた物は充電器です。
POSシステムの注文を取るとき使っている端末の充電器です。
10台同時に充電制御します。
各端末の電池電圧を測定しながら充電制御します。
動作は単純で時間さえあればハードソフトの設計は完了します。
しかし、静電気試験で苦労する事になりました。
端末に20kVの電圧がかかります。
充電ケーブルを通ってマイコンが乗った基板に落ちてきます。
5Vで動いている回路に20kVの電圧が落ちてくるのです。
最初はマイコンが破壊され動作する事すらできませんでした。
ケーブルにLとCのフィルターを入れてGNDパターンの面積を増やし高周波インピーダンスを下げました。
これでマイコンは動作できるようになりました。
しかし、ADコンバーターの測定値はめちゃくちゃになります。
いくら移動平均しても1回のノイズで充電動作は狂います。
そこでの対策をお話しします。
まず、移動平均をやめました。
8回測定して最大値と最小値を省き残った6つのデータを平均しました。
これで測定値は安定するようになりました。
次にまた8回測定し最大値と最小値を省き平均しました。
これを繰り返し充電制御したのです。
動作は少し遅くなりますが充電器なので問題ありません。
静電気試験器はコンデンサに充電し20kV溜まったところで放電するので1回の放電後は少し時間が必要です。
といっても数秒ではなく数十~数百mS程度です。
このインターバルの間に8回の測定を終了してしまう速度があれば8回の測定に複数回大きなノイズが入る事を防げます。
このようにして大きなノイズをキャンセルしました。
これは私が20代のとき最初に任せられた設計の仕事です。
ハードとソフトを両方一人で設計していたのでこのような対策がすぐに思いついたのだと思います。