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 授權。參考資料中的程式碼範例已發佈到公共領域。