ノイズ対策が難しいのは、最終的にはケースバイケースとなってしまう所ではないでしょうか。
つまり、この方法で全て解決と言う”王道”が存在しないと言うことです。
ですが、ケースを絞り込めば”ある程度の王道”を示す事はできます。
と言うことで、ロボカップジュニアにフォーカスして絞り込みを行います。
レスキューチャレンジの場合、300mm×300mmのマスの中で行動できる事が要件ですので、この寸法を超えることはありません。
旋回することを考慮すると、250mm×250mm以下のロボットになると思います。
サッカーチャレンジの場合、直径220mmもしくは180mmを超えられないレギュレーションになってます。
●ロボットのサイズは200mm×200mm
●マイコン制御
●アナログセンサ:マイコン内臓A/Dコンバータ
●デジタルセンサ:マイコン内臓I2Cインターフェース
●モータ駆動:HブリッジPWM制御 全モータ駆動時10A
このケースについて考えます。
ロボット自身が発生するノイズはモータのコミテータとブラシ間で発生するスバーク、モータドライバで発生するPWMによるパルス電流です。
先ず、これらのノイズを抑える必要があります。
●モータ:モータの金属ケースと端子間にコンデンサを付けて、最短距離でスパークノイズを処理します。
●一点接地で配線する。
一点接地の話は何処(出前授業とか)でやっても”ポカーン”と言うリアクションになるので具体例と図で説明します。
配線やパターンは”0Ω”ではありません。
上下や部品の回避で若干の遠回りを想定して200mm×200mmのロボット内の最大配線長を300mmとします。
AWG26で配線すると約0.04Ωになります。
0.1Ω程度あると考ておいた方がノイズに対する意識が高まりますし、概略計算(暗算?)し易いのでお勧めです。
と言うことで配線の抵抗を0.1Ωと仮定します。
モータドライバはフルパワー時は10A流れっぱなし、停止時は0Aですが、その間のパワーは数μs~数百μs程度の周期でON-OFFを繰り返しています。
この電流の変化が配線抵抗によってノイズに化けます。
発生自体は物理現象なので止められないのですが、マイコンから見えなくする工夫はできます。
メイン基板と各種サブ基板を設計して、スタックコネクタなどで合体させる配線方法(メカ的にはメンテナンス性が良く、素敵性能は高いのですが・・・)や電源をメイン基板からモータドライバ基板へ渡り配線するなど共通インピーダンスを持つ配線方法が下図になります。
PWM ON時
PWM OFF時
この様にマイコンのGNDに1Vのノイズが発生します。
メイン基板とモータドライバ基板を、個別に配線する方法が下図(一点接地)になります。
PWM ON時
PWM OFF時
配線方法の基本を守るだけで大幅にノイズを減らすことができます。
RCJ仕様ロボット2020モデルの配線例
保護回路兼電源分配基板とマイコン基板が見える所まで分解してあります。
モータドライバは履帯の中(スプロケットホイールとアイドラーホイールの間にレイアウト)にあるので追記してあります。
電源線と信号線は束ねたり、平行に並べた状態にならない様に配線のレイアウトも考慮した機構設計をしてあります。
もちろんI2Cの通信に全くトラブルはありません。
I2Cの規格に触れた内容は別の機会にします。