KRSサーボモータ(近藤科学)をRaspberry Piで動かす

KRSサーボモータ(近藤科学)をRaspberry Piで動かす

以前、プリメイドAIを分解してサーボモータを入手しましたが、今回Raspberry Piで動かしてみたので手順をメモしておきます。

必要品

USBアダプタはモータのIDを取得・変更したりするのに使用します。デイジーチェーンで繋ぐ場合は重複しないように設定が必要です。

設定

モータのIDの取得と変更は下記のソフトウェアで行います。また通信速度は後のプログラムで指定するので、メモしておきます。こちらの設定にはWindows PCが必要です。

Raspberry PiにはUbuntuが入っているものとして、USBアダプタを使用するには下記の設定が必要です。

この設定で、自動起動の項目に/etc/rc.localにコマンドを記入することとありますが、Ubuntuにはこのファイルが無かったので、/etcに下記コマンドをrc.localという名前で保存します。

また、 これに対して、chmod u+x rc.localとして実行可能にします。

プログラム

プログラムは下記で公開されているソースコードを参考にしました。

詳細なコマンドは下記で公開されています。

言語は何でも良いと思いますが、私はPythonが一番使いやすいので下記のプログラムを書きました。

 

複雑なプログラムではないので分かると思いますが、set_pos関数にIDと角度をを渡して書き込みしています。今回は3番と15番のIDのサーボを数珠つなぎにして正転逆転を繰り返すようになっています。

実際に動作させると下記のような感じです。

 

 

ブログにまとめると簡単そうですが、最初は通信速度が違っていたり、パリティの設定をしていなかったりで動かすのに割と苦労しました。でもこれからはデイジーチェーンのおかげでごちゃっとした配線から開放されそうです。