arcYZ()

説明

円弧は時計回りまたは反時計回りで使用します。方向は、円弧運動が発生するY軸の正方向からとなります。
この方式では、異なる入力パラメータに応じて2つの異なる方法で円弧経路を制御します。
1. 中心モード – 中心と終点の位置を指定して円弧経路を計算します。
2. 半径モード – 半径と終点の位置を指定して円弧経路を計算します。
※ どの円弧運動方式を使用しても、パラメータ設定が誤っているとターゲットが円弧上になく、機械が予期しない動きをする可能性がありますのでご注意ください。
様々な練習方法について知りたい場合は、練習方法の説明ページを参照してください。

文法

machine.arcXZ(r, dstX, dstZ);
machine.arcXZ(r, dstX, dstZ, revDir);
machine.arcXZ(r, dstX, dstZ, revDir, feedrate);
machine.arcXZ(cX, cZ, dstX, dstZ);
machine.arcXZ(cX, cZ, dstX, dstZ, revDir);
machine.arcXZ(cX, cZ, dstX, dstZ, revDir, feedrate);

パラメータ

machine: Machine オブジェクトです。

r: 半径モードでの円弧の半径。

cX: 中心モードでの中心 X 座標。

cZ: 中心モードでの中心 Z 座標。

dstX: ターゲット X 座標。

dstZ: ターゲット Z 座標。

revDir: 方向を反転します。反時計回りの場合は true、時計回りの場合は false を指定します。デフォルトは時計回りです。

feedrate: 送り速度。パラメータが指定されていない場合は、最後に記録された送り速度が使用されます。

戻り値

bool:

true: マシンが存在し、正常に作成されました。
false: マシンが存在しないか、作成に失敗しました。

マシンの基本パラメータを設定し、マシンをXZ平面上で2つのモードで移動させます。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

2 5

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

#include "Motion86.h"

 

// マシンオブジェクトを生成します。マシン0~2まで、それぞれ3軸のマシンを最大3台使用できます。

Machine machine(0);

 

// ステッピングモーターの有効ピン。

int EnablePin = 4;

 

void setup() {

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

 

  // 必要に応じて、軸の移動方向を変更できます。

  // この例では、X軸とY軸の方向を反転する必要があります。

  machine.config_ReverseDirection(AXIS_X);

  machine.config_ReverseDirection(AXIS_Y);

 

  // PPU(単位パルス数)は、さまざまなニーズに応じた仮想的な長さの単位です。

  // この例では、X軸の単位長さは80パルスに設定されており、これは実際の長さでは1mmに相当します。アプリケーションです。

  machine.config_PPU(AXIS_X, 80.0);

  machine.config_PPU(AXIS_Y, 80.0);

  machine.config_PPU(AXIS_Z, 1600.0);

 

  // 制御する前に、マシンを開始しました。

  machine.machineOn();

  machine.setDefaultFeedrate(400);

 

  // ステッピングモーターを起動します。

  digitalWrite(EnablePin, LOW);

 

 

void loop() {

  // 半径 で時計回りに (10, 0, 10) に移動します。 10.

  machine.arcXZ(10, 10, 10, true);

 

  // 反時計回りに半径 10 で (0, 0, 0) まで移動します。

  machine.arcXZ(10, 0, 0, false);

 

  // 円の中心 (0, 0, 10) から時計回りに (10, 0, 10)。

  machine.arcXZ(0, 10, 10, 10, true);

 

  // 円の中心 (0, 0, 10) から反時計回りに (0, 0, 0) まで移動します。

  machine.arcXZ(0, 10, 0, 0, false);

   

  // 計画された移動が行われるまで待機します完了しました。

  while (machine.isMoving());

code>

参照

arcXY()
arcYZ()
arcXY_Theta()
arcYZ_Theta()
arcXZ_Theta()


関数ライブラリリファレンス

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