ロボットを設計・製作する手順としてまとめます。
※オシロスコープを使える方はこちらの記事を御参照下さい。
●バッテリー、モータドライバ、マイコンボードの電源線を一点接地できるようにレイアウトする。
I2Cのノイズ対策 その2(一点接地編) - 隠居エンジニアのものづくり
●マイコンボード-各センサ間の信号線は電源線と離して取り付ける。
I2Cのノイズ対策 その3(信号線のGND) - 隠居エンジニアのものづくり
※一点接地がキッチリできていて、電源・信号の分離ができていれば、I2Cバスにフィルタ回路を挿入する必要はないと思います。フィルタを正しく動作させる為にはパターンレイアウトのノウハウが必要ですので、場合によっては逆効果な場合もあります。
●I2Cセンサボードのプルアップ抵抗有無・値を確認し、I2Cバス上の全プルアップ抵抗の合成値を計算する。
(例えば、秋月のレーザー距離センサモジュール AE-VL35LOXはプルアップ抵抗が付いていません。センサボードによっては予めプルアップ抵抗が付いているものもあります。センサボードの回路図で確認してください。)
●I2Cバスに繋げる配線のトータルの長さを測り、配線長300mm当たり100pFと想定してバスの負荷容量を計算する。
●I2C通信速度を決める(ArduinoUNOのデフォールトは100kbps)
設計計算書によりRpの値、信号の立ち上がり特性を確認する。
※都合により設計計算書は削除しました。
Rpの値が前出の”全プルアップ抵抗の合成値”より大きければOKです。
グラフの赤線より上が”High”となりますので赤線を青線が超える所が信号の立ち上がり時間になります。
短い時間で立ち上がる程、マージンが大きくなります。
I2Cのノイズ対策 その4(Rpの値 設計計算書の勧め) - 隠居エンジニアのものづくり
では、ロボット作りを楽しんで下さい。