setRelative()

描述

以相对增量值规划运动。

语法

Machine machine(0); machine.setRelative();

参数

machine:为 Machine物件。

回传

无回传值。

范例

使用相对移动方式画正方形。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

#include "Motion86.h"

 

// 产生机器物件,最多可使用 machine 0~2 三台机器,每台机器三轴。

Machine machine(0);

// 步进马达 enable pin。

int EnablePin = 4;

 

void setup() {

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

  // 若有需要,可以反转运动轴的运动方向。

  machine.config_ReverseDirection(AXIS_X);

  machine.config_ReverseDirection(AXIS_Y);

  // PPU (pulse per unit) 是一虚拟长度单位,依照不同需求而定。

  // 此例 x 轴的单位长度设定为 80 pulses,对应到实际应用为 1 mm。

  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(600);

  // 启动步进马达。

  digitalWrite(EnablePin, LOW);

    // 采用相对增量值规划运动

    machine.setRelative();

    // 以当下位置为基准,使用相对增量值移,移动到中心位置。

  machine.line(0,0,10,400);

  machine.line(170,100,0,800);

  machine.line(0,0,-10,400);

}

 

void loop() {

    // 移动到该相对位置,此处无设定进给速率代表采用预设值。

    machine.line(10,0,0);

    machine.line(0,10,0);

    machine.line(-10,0,0);

    machine.line(0,-10,0);

    // 等待直到已规划之运动完成

    while (machine.isMoving());

}

See also

setAbsolute()


函式库参考主页面

86Duino 参考资料的文本遵循 知识共享署名-相同方式共享 3.0 许可证。参考资料中的程式码范例已发布到公共领域。