練習方法の説明

説明

このページでは、Motion86 のさまざまなモーションメソッドについて説明します。

動作方法リファレンステーブル

動作方法
直線動作
円弧動作
円動作
螺旋動作

直線動作:

直線動作方法を使用して機械を制御すると、機械はターゲットに向かって直進します。図1に示すように、位置を設定します。

zero_size

図1

このパスは、以下のGコードを使用して実現できます。

1

2

3

4

5

6

machine.gcode("G1 X0 Y0 Z0 F600");

machine.gcode("G1 X2 Y2 Z4 F600");

machine.gcode("G1 X4 Y4 Z2 F600");

machine.gcode("G1 X6 Y6 Z8 F600");

machine.gcode("G1 X8 Y8 Z6 F600");

machine.gcode("G1 X10 Y10 Z10 F600");

または、line関数を直接使用します。

1

2

3

4

5

6

machine.line(0, 0, 0, 600);

machine.line(2, 2, 4, 600);

machine.line(4, 4, 2, 600);

machine.line(6, 6, 8, 600);

machine.line(8, 8, 6, 600);

machine.line(10, 10, 10, 600);

円弧モーション:

円弧モーション方式を使用してマシンを制御する場合、円弧パスを制御する2つの異なる方法があります。1. 中心モード – 中心と終点の位置を指定して円弧パスを計算します。 2. 半径モード – 円弧のパスを計算するために半径と終点の位置を指定します。3. 半径モード – 円弧のパスを計算するために半径を指定します。どちらのモードを使用する場合でも、図 2 と図 3 に示すように、時計回りと反時計回りの方向を選択する必要があります。

zero_size

図 2
zero_size

図 3

Gコードでは、G2(CW)とG3(CCW)を指示として直接使用して方向を区別することができます。
図2に示すように、以下のGコードを使用してこれを実現できます。

1

machine.gcode("G2 X0 Y20 I0 J10 F600");

図3は、以下のGコードを使用して実現できます。

1

machine.gcode("G3 X0 Y20 I0 J10 F600");

または、図2に示すように、arcXY、arcYZ、arcXZ関数を直接使用します。

1

machine.arcXY(0, 10, 0, 20, false, 600);

図3:

1

machine.arcXY(0, 10, 0, 20, true, 600);

半径モードを使用する場合、角度が180度でない場合は、図4に示すように4つの異なるパスが生成されます。

zero_size

図 4

添付図 4 の上下 4 つの円弧の半径はすべて 10 で、目標位置は同じです。ここでは、半径の正負の符号を使用してパスを決定します。
180 度未満の角度の円弧を選択する場合、半径は正の値になります。180 度を超える角度の円弧を選択する場合、半径は負の値になります。

図4の黄色の線が時計回りで、円弧の角度が180度未満の場合、次のGコードを使用して実現できます。

1

machine.gcode("G2 X10 Y0 R10 F600");

または、arcXY、arcYZ、arcXZ関数のマルチロードメソッドを直接使用します:

1

machine.arcXY(10, 10, 0, false, 600);

オレンジ色の線は時計回りで、円弧の角度が180度を超える場合は、以下のGコードで実現できます。

1

machine.gcode("G2 X10 Y0 R-10 F600");

または、arcXY、arcYZ、arcXZ関数のマルチロードメソッドを直接使用します。

1

machine.arcXY(-10, 10, 0, false, 600);

青い線は反時計回りで、円弧の角度は180度未満です。これを実現するには、次のGコードを使用できます。

1

machine.gcode("G3 X10 Y0 R10 F600");

または、arcXY、arcYZ、arcXZ関数のマルチロードメソッドを直接使用し、パラメータrevDirを使用して方向を制御します。

1

machine.arcXY(10, 10, 0, true, 600);

紫色の線は反時計回りで、円弧の角度は180度を超えています。以下のGコードを使用して実現できます。

1

machine.gcode("G3 X10 Y0 R-10 F600");

または、arcXY、arcYZ、arcXZ関数のマルチロードメソッドを直接使用し、パラメータrevDirを使用して方向を制御します。

1

machine.arcXY(-10, 10, 0, true, 600)

※どの円弧移動方法を使用しても、パラメータ設定が誤っていると目標位置が円弧上にない場合があり、機械が予期しない動きをする可能性がありますのでご注意ください。

半径モードでは、arcXY_Theta、arcXZ_Theta、arcYZ_Theta を使用して機械の動きを直接制御できます。方向は、以下に示すように半径の符号を使用して決定します。例:

1

2

3

4

5

// (10, 0) を中心として、時計回りに 90 度の円を、送り速度 600 で描画します。

machine.arcXY_Theta(10, 0, HALF_PI, 600);

 

// (10, 0) を中心として、反時計回りに 90 度の円を、送り速度 600 で描画します。

machine.arcXY_Theta(10, 0, -HALF_PI, 600);

円運動:

円運動方式を使用して機械を制御する場合、機械は目標位置に到達するために円運動を行います。

円弧運動の現在の位置が目標位置と重なると、機械はそれを完全な円とみなします。
GコードパラメータPを追加すると、次に示すように、円運動の回数も指定できます。例:

1

2

// 送り速度600で、円の中心は(10, 0)にあり、目標位置(0, 0)まで2周します。

machine.gcode("G2 X0 Y0 I10 J0 P2 F600");

反時計回りの移動には、円弧移動と同じG3を使用します。

または、circleXY、circleYZ、circleXZ関数を直接使用して現在の位置に円を描き、パラメータrevDirを使用して回転方向を制御することもできます。方向:

1

2

// 送り速度 600 の場合、円の中心は (10, 0) となり、現在の位置まで円を描きます。

machine.circleXY(10, 0, false, 600);

※ 中心と半径のモードでは、原点と目標位置が同じ場合、組み合わせは無限に存在しますが、その場合は移動は行われません。

螺旋動作:

スパイラルモーション方式で機械を制御すると、図5、図6、図7に示すように、機械はXY、YZ、XZ平面上で射撃目標位置をスパイラルモーションで移動させます。

zero_size

5

zero_size

6

zero_size

7

螺旋運動では、helicalXY、helicalYZ、helicalXZ 関数を直接使用して平面を決定し、半径の正負の符号を使用して方向を決定できます。

1

2

3

4

5

6

7

8

//送り速度が 600 の場合、円の中心は (0, 0) で、2 周して次の位置に移動します。 Z10

machine.helicalXY(0, 0, 10, 4 * PI, 600);

 

//送り速度が600の場合、円の中心は(0, 0)で、X10の位置まで2周します。

machine.helicalYZ(0,0, 10, 4 * PI, 600);

 

// (0, 0)に位置する600個のランダム変数、Y10のランダム変数。

machine.helicalXZ(0,0, 10, 4*PI, 600);

参照

gcode()
arcXY()
arcXZ()
arcYZ()
arcXY_Theta()
arcXZ_Theta()
arcYZ_Theta()
circleXY()
circleXZ()
circleYZ()
helicalXY()
helicalXZ()
helicalYZ()


ライブラリ リファレンスのホームページ

86Duino リファレンスのテキストは、クリエイティブ・コモンズ 表示-継承 3.0 ライセンス に基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。