どーも、あんばらです。
そういえば僕の役職言ってない気がする・・・w
僕は、回路設計と プログラムを担当しています。
元「ISM」というチームで今とは違う人とロボカップしてました。
過去のブログはロボカップ日和というやつです。
今回はダイセンの4chモータードライバ「DSR-1202」を紹介しようと思います。
まず、DSR-1202のスペックですが以下のとおりです。
・制御用電源 5V
・駆動用電源 5.5V - 16V
・定格電流 15A/チャンネル
・制御方法 シリアル通信またはI2C通信
このモータードライバ、各モーターに15A流せるし、ダイセンだから安定してそうだし、使えそうですね!
それで、こいつをシリアル通信で動かすのがこのライブラリ(←クリック)です!!
44番さん(ISM時代に交流したチーム)のブログにそれっぽことが書いてあったので超々参考にして、プログラムをいただいて、仕様変更して、ライブラリ化しました!
44番さん、いろいろとありがとうございます!!
参考にしたページ
<ライブラリについて>
付属のサンプルプログラムは下みたいな感じです。
#include <DSR1202.h>
DSR1202 dsr1202(1);
void setup()
{
dsr1202.Init();
}
void loop()
{
dsr1202.move(100, 100, 100, 100);
delay(500);
}
【注意事項】
・Arduino IDE1.6.3を使うのが確実です。
・シリアル通信なのでクロス接続してください。
・ArduinoMEGAで使ってください。UNOは動きません。
【使い方】
①ライブラリをインクルードします。 →#include <DSR1202.h>
②モータードライバを宣言します。 →DSR1202 dsr1202(1);
( )は1~3の数字を入れてください。1だとSerial1、2だとSerial2、3だとSerial3を使います。
③初期化します。 →dsr1202.Init();
④モータドライバに送信します。 →dsr1202.move(100, 100, 100, 100);
(ch1, ch2, ch3, ch4)といった並びです。
出力は-100~100です。マイナスだと逆転、プラスだと正転します。
【発展】
・現状だとMEGAでしか使えないので、ソフトウェアシリアルを使ってUNOでも使えるようにしようかと思います。
・Arduino Dueで使えるか試そうと思います。
・6chのモータドライバのライブラリも作ろうと思います。
最後に・・・
ライブラリが使えなかった等の問題があったらgithubの方で指摘していただくか、コメントで指摘していただければ修正します。
では、また~(*^・ェ・)ノ
2015/8/30追記
ArduinoIDE1.7.5でもコンパイルできることを確認しました
そういえば僕の役職言ってない気がする・・・w
僕は、回路設計と プログラムを担当しています。
元「ISM」というチームで今とは違う人とロボカップしてました。
過去のブログはロボカップ日和というやつです。
今回はダイセンの4chモータードライバ「DSR-1202」を紹介しようと思います。
まず、DSR-1202のスペックですが以下のとおりです。
・制御用電源 5V
・駆動用電源 5.5V - 16V
・定格電流 15A/チャンネル
・制御方法 シリアル通信またはI2C通信
このモータードライバ、各モーターに15A流せるし、ダイセンだから安定してそうだし、使えそうですね!
それで、こいつをシリアル通信で動かすのがこのライブラリ(←クリック)です!!
44番さん(ISM時代に交流したチーム)のブログにそれっぽことが書いてあったので超々参考にして、プログラムをいただいて、仕様変更して、ライブラリ化しました!
44番さん、いろいろとありがとうございます!!
参考にしたページ
<ライブラリについて>
付属のサンプルプログラムは下みたいな感じです。
#include <DSR1202.h>
DSR1202 dsr1202(1);
void setup()
{
dsr1202.Init();
}
void loop()
{
dsr1202.move(100, 100, 100, 100);
delay(500);
}
【注意事項】
・Arduino IDE1.6.3を使うのが確実です。
・シリアル通信なのでクロス接続してください。
・ArduinoMEGAで使ってください。UNOは動きません。
【使い方】
①ライブラリをインクルードします。 →#include <DSR1202.h>
②モータードライバを宣言します。 →DSR1202 dsr1202(1);
( )は1~3の数字を入れてください。1だとSerial1、2だとSerial2、3だとSerial3を使います。
③初期化します。 →dsr1202.Init();
④モータドライバに送信します。 →dsr1202.move(100, 100, 100, 100);
(ch1, ch2, ch3, ch4)といった並びです。
出力は-100~100です。マイナスだと逆転、プラスだと正転します。
【発展】
・現状だとMEGAでしか使えないので、ソフトウェアシリアルを使ってUNOでも使えるようにしようかと思います。
・Arduino Dueで使えるか試そうと思います。
・6chのモータドライバのライブラリも作ろうと思います。
最後に・・・
ライブラリが使えなかった等の問題があったらgithubの方で指摘していただくか、コメントで指摘していただければ修正します。
では、また~(*^・ェ・)ノ
2015/8/30追記
ArduinoIDE1.7.5でもコンパイルできることを確認しました
コメント一覧
コメント一覧 (8)
githubよりダウンロードしたライブラリをarduinoのライブラリフォルダにコピーすれば使えるはずです。
それでもエラーが出る場合は、ボードがarduinoMEGAでIDEが1.6.3以降であることを確認してください。
また、IDE1.7.5でもコンパイルできることを確認しました。(2015/8/30現在)
送るStringの数を2つ増やすだけです。
ブログを参考にしながらライブラリにコードを書き足せばできると思います。
作ったの昔なので記憶が曖昧ですが、たしかuartのボーレートが4chのと6chで違った気がするので、そこも44番さんのブログを参考にして確認をお願いします。
DSR1202.hを改造して作成しました。
無保証ですが、よろしければ。
https://github.com/Macaca-fascicularis/arduino_DDK0668T_daisen_6ch_MCB