2022年8月4日
コンベヤーベルトを動かす (C言語の場合)
DOBOTには、拡張機器(別売)としてコンベヤーベルトキットがあります。
可変速コンベヤーとして、DOBOT対象物の搬送機構を付加することができます。

接続方法について
※本体の組立方法はキット付属のマニュアルを参照ください。

Stepper1ケーブル(モーター接続)をStepper1端子に接続します。
- コンベヤーベルトのバージョンを以下の手順で確認します。写真は色なしなのでV1.0です。
- 端子の色なし (Stepper1白):V1.0
- 端子の色付き (Stepper1黄):V2.0
動かし方 (C言語で制御)
サンプルプログラムをダウンロードしてお試しください。 3通りのいずれも同じ動作です。
- 各プログラムにおいて、PC接続中のUSBのCOMポートを指定してください。下記では”COM8”。
int ret = ConnectDobot("COM8", 115200, fwType, version, time);
サンプル1:速度制御 【sample01】
プログラム動作解説
- コンベヤーの速度を62.8[mm/s]にするのに必要な速度パルス数vel 1[pulse/s]を計算
(62.8[mm/s] ≒ 10000[pulse/s])
実際の速度との誤差はあります。
float(STEP_PER_CIRCLE) = float(360.0 / 1.8 * 5.0 * 16.0);
float(MM_PER_CIRCLE) = float(3.1415926535898 * 32.0);
int(vel1) = float(62.8) * STEP_PER_CIRCLE / MM_PER_CIRCLE;
- コンベヤーの速度パルス数を計算したvel [pulse/s]に設定し起動
eMotor.index = 0; eMotor.isEnabled = 1; eMotor.speed = vel1; SetEMotor(&eMotor, true, &CommandIndex); do { cmdIdx = 0; if (GetQueuedCmdCurrentIndex(&cmdIdx) != 0) { Sleep(100); } } while (cmdIdx < CommandIndex);
- 5秒待機
Sleep(5000);
- 上記同様に、コンベヤーの速度を0[mm/s]に設定し停止
サンプル2:モーター速度パルス数制御 【sample02】
プログラム動作解説
- コンベヤーの速度ステップ数を10000[pulse/s]に設定し起動
eMotor.index = 0; eMotor.isEnabled = 1; eMotor.speed = 10000; SetEMotor(&eMotor, true, &CommandIndex); do { cmdIdx = 0; if (GetQueuedCmdCurrentIndex(&cmdIdx) != 0) { Sleep(100); } } while (cmdIdx < CommandIndex);
- 5秒待機
Sleep(5000);
- 上記同様に、コンベヤーの速度を0[mm/s]に設定し停止
サンプル3:モーター速度パルス数 & 距離パルス数制御 【sample03】
プログラム動作解説
- コンベヤーの速度パルス数を10000[pulse/s]に、距離パルス数を50000[pulse]に設定し起動。
eMotorS.index = 0; eMotorS.isEnabled = 1; eMotorS.speed = 10000; eMotorS.distance = 50000; SetEMotorS(&eMotorS, true, &CommandIndex); do { cmdIdx = 0; if (GetQueuedCmdCurrentIndex(&cmdIdx) != 0) { Sleep(100); } } while (cmdIdx < CommandIndex);
参考テキスト
C言語環境でロボットアームの制御を学びたい方へおすすめの教材です。
(2023/6/14 現在)