home()

Description

Return the Machine to the home point.
If config_HomePins is configured, the machine will move in the negative direction of the x, y, z axis until it touches the limit switch and set that position as the home point;
If config_HomePins is not configured, the machine will use the current position as the home point.

Syntax

machine.home();

Parameters

machine: Machine object.

No parameters.

Return

No return value.

Example

Set the basic parameters of the machine and move the machine to the Home point.

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

#include "Motion86.h"

 

// Generate machine objects. You can use up to three machines, machine 0~2, each with three axes.

Machine machine(0);

// Stepper motor enable pin.

int EnablePin = 4;

 

void setup() {

 

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

  // If necessary, the direction of the motion axis can be reversed.

  machine.config_ReverseDirection(AXIS_X);

  machine.config_ReverseDirection(AXIS_Y);

  // PPU (pulse per unit) is a virtual length unit, depending on different needs.

  // In this example, the unit length of the x-axis is set to 80 pulses, which corresponds to 1 mm in actual application.

  machine.config_PPU(AXIS_X, 80.0);

  machine.config_PPU(AXIS_Y, 80.0);

  machine.config_PPU(AXIS_Z, 1600.0);

  // Set the software limit of the machine movement.

  machine.config_PosLimit(AXIS_X, 0, 300);

  machine.config_PosLimit(AXIS_Y, 0, 200);

  machine.config_PosLimit(AXIS_Z, 0, 300);

  // Set the pin used by the limit switch to set the home point.

  machine.config_HomePins(2, 7, 8);

  // Before controlling, the machine must be turned on.

  machine.machineOn();

  // Set the default feed rate.

  machine.setDefaultFeedrate(400);

  // Start software limits.

  machine.enableSoftLimit();

  // Set the feed rate to return to the home point.

  machine.setHomeSpeed(1000, 1000, 200);

  // Start the stepper motor.

  digitalWrite(EnablePin, LOW);

  // Return to the home point defined by the limit switch.

  machine.home();

 

}

 

void loop() {

  //Motion control code...

}

See also

config_HomePins()
setHomeSpeed()


Library Reference

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.