2022年8月4日

コンベヤーベルトを動かす (C言語の場合)

DOBOTには、拡張機器(別売)としてコンベヤーベルトキットがあります。
可変速コンベヤーとして、DOBOT対象物の搬送機構を付加することができます。

DOBOT Magician コンベヤーベルトキット

接続方法について

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

接続

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 現在)