Dynamixelとは?
デジタル通信で制御される
ロボット専用のアクチュエーターのことなんです!
アクチュエーター:入力されたエネルギーや電気信号を、物理的な運動に変換する機構のこと(Dyanamixelは、電気信号を回転運動に変えていますね!)
Mbedとのつなぎ方
このようにつないでみましょう
今回は、Serialポートをp9とp10にします(何言ってるかわかんなくても、p9とp10を使うくらいの感覚で大丈夫です!)
ちなみに僕の場合は、12VをACアダプターを使ってコンセントからとってきました!
Mbedが、出力できる電圧は、3.3Vと5Vだけなので、Dynamixelを動かすには外部から電源を必要とします!
ACアダプターはこんなやつです↓

プログラム
では、動作するようにプログラムを書いてみましょうか!
今回は、Libraryを使って簡単に書いていきます!
本来は、Library(人が書いてくれた関数)がなくてもすべてSerial通信というもので書くことができます
ダウンロードする前にMbedのコンパイラを開いて、新規フォルダーを作っておきましょう
フォルダー名はDynamixel-AX-12としておきましょう
main.cppを書き換えていきます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include "mbed.h" #include "AX12.h" int main() { AX12 myax12 (p9, p10, 1); while(1) { myax12.SetGoal(60); //ここを変えると動く範囲が変わるよ wait(2.0); myax12.SetGoal(240); //ここを変えると動く範囲が変わるよ wait(2.0); } } |
こんな画面になっていると思います
Reference: https://os.mbed.com/components/AX-12/
そしたら、Libraryをダウンロードしていきましょう
先ほど作ったDynamixel-AX-12のフォルダーを選択してImportしましょう
こんな風になったら成功ですね
ここまで出来たらコンパイラをしてみましょう!
Dynamixelでできること
じゃあ、モーターを動かせたからってなんだよ!
ってなてちる人のために、僕がやった面白そうなことを紹介します
Mbedを使ってドアのかぎの開閉を行ったものです!
どうですか?やる気が出てきましたよね?笑
使いこなしていきましょう!
もしモータが動かない場合
ここまでしっかりやったのにモータが動かないって人が出てくると思います
その時は、モーター自体の設定をいじらないといけません!
RoboPlusというソフトをパソコンにダウンロードして設定できるので試してみてください
ソフトはこんなアイコンです
ここのサイトを参考にしてみてください
コメント