LoginSignup
10
2

More than 1 year has passed since last update.

ICSと高速通信するときのコツ

Last updated at Posted at 2021-08-29

SS 192.png これを知らないと「近藤サーボ遅すぎて使えん」ってなる

やること

数珠繋ぎにした近藤科学製のサーボモーター(ICS通信、メーカー独自規格)をTeensyなどで高速に反応させたいときのTIPSです。

2台以上のICS通信サーボを同時に制御したい
・Teensy4.0など高速なマイコンを使い1.25Mbpsで制御したい

という条件下において、公式ライブラリそのままでは制御速度のパフォーマンスが発揮できないばかりか、まともに動かせないという問題があります。
これを解決します。

サーボとマイコンの半二重通信回路による接続方法、サーボへの給電方法などは別途ご検索ください。メーカーから専用の変換基板も発売されています。
サーボとマイコンの接続が成立しているという前提で話を進めさせていただきます。

参考)ICS変換基板の使用方法

結論

公式ライブラリICS Library for Arduino ver.2を使います。
一点だけ注意点として、サーボコマンドとサーボコマンドの間に
delayMicroseconds(2);
を入れるようにします。
こうすると解決します。

仕組み

Teensyなどによる高速なシリアル送受信処理が、ライブラリの想定を超えていることが原因のようです。
ライブラリをそのまま使用すると半二重信号の送信と受信の信号が重なる時間が発生してしまい、通信が成立しません。
なのでここにディレイを入れればうまく動くというカラクリです。
試したところディレイの値はTeensy4.0使用、1.25Mbpsでの通信時に2μsでもっとも安定するようです。

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2