AliExpressで買ったサーボモータ(LX-16A)を動かす

NO IMAGE

もはや昨年の話ですが、AliExpressでサーボモータを購入しました。まだロボットに組み込んで使ってはいませんが、とりあえず動作方法についてまとめます。

 

ライブラリ

ライブラリがgithubで公開されています。pipでインストールできると書かれていますが、どうやってもエラーが解消できなかったため、諦めてまるごとコピーしました。

なお、こちらはpython3.10が必要なので、入っていない場合はインストールする必要があります。起動時はpython3.10 hello-world.pyという風にバージョンも指定します。

hello-world.py

hello-world.pyはライブラリのインポート指定がこのままでは動かず、from lx16a import *に変えて動くようにしました(同じフォルダにlx16a.pyがある前提)。ライブラリの中身を見なくても初期化の仕方や動かし方はすぐ分かると思います。

IDスキャン

各モータにはIDが設定されていますが、そのIDを調べるなら下記のようなプログラムで可能です。初期化したときにエラーが返ってくるかどうかという簡単な手法です。

 

ID設定

IDの設定はそのまんまのメソッドがあるので下記のように設定します。

 

角度取得

角度が取得できるメソッドも用意されています。下記のプログラムを実行すると90°に動かす指令に対して、実行後の角度は89°でした。実際にそのくらいの角度なのか、エンコーダの誤差なのかは不明です。

動作

動かすとこんな感じです。デイジーチェーンだとケーブルがかなりスッキリします。