beginJog()

描述

启用 Jog 模式,在此模式下,该 Machine 无法做其它运动控制,仅能使用指定脚位外连接的下拉开关做控制。
而 Jog 模式下又区分下列两种控制行为:
Jog 模式 - 按下开关(pull down)后即开始移动,直至放开(pull up)后停止。
incJog 模式 - 点击开关移动一个单位距离,可以使用 setJogOffset() 设定其距离。

语法

machine.beginJog(pX, mX, pY, mY, pZ, mZ); machine.beginJog(pX, mX, pY, mY, pZ, mZ, incJog);

參數

machine:为 Machine物件。

pX:对应 X 轴正方向 (plus) 的 Pin 脚脚位。

mX: 对应 X 轴负方向 (minus) 的 Pin 脚脚位。

pY: 对应 Y 轴正方向 (plus) 的 Pin 脚脚位。

mY: 对应 Y 轴负方向 (minus) 的 Pin 脚脚位。

pZ: 对应 Z 轴正方向 (plus) 的 Pin 脚脚位。

mZ: 对应 Z 轴负方向 (minus) 的 Pin 脚脚位。

incJog: 是否启用 incJog 模式,预设为 false。

回传

無回傳值。

范例

设定机器的基本参数,并启用 Jog 模式,触发按钮时移动。

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

42

43

44

45

46

47

48

49

#include "Motion86.h"

 

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

Machine machine(0);

 

// 步进马达 enable pin。

int EnablePin = 4;

 

void setup() {

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

 

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

  // 在此范例中,需要反转 x 轴和 y 轴的方向。

  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 设置为 jog 模式,并以连接到的按钮触发。

  machine.beginJog(27, 28, 32, 3, 16, 17, false);

 

  // 如果将 Machine 设置为 Inc Jog 模式,则应配置偏移量以设置每次点击时移动多少毫米。

  // machine.beginJog(27, 28, 32, 3, 16, 17, true);

  // machine.setJogOffset(1.0);

 

  // Jog 模式下的进给速度。

  machine.setJogSpeed(600);

 

  // 启动步进马达。

  digitalWrite(EnablePin, LOW);

}

 

void loop() {

  Serial.print("Jog position = ");

  Serial.print(machine.getJogPos(AXIS_X));

  Serial.print(", ");

  Serial.print(machine.getJogPos(AXIS_Y));

  Serial.print(", ");

  Serial.println(machine.getJogPos(AXIS_Z));

  delay(500);

}

See also

endJog()
setJogSpeed()
setJogOffset()
getJogPos()


函式庫參考

86Duino 参考资料的文字采用 Creative Commons Attribution-ShareAlike 3.0 License 授权。参考资料中的程式码范例已发布到公共领域。