[Motion86]
Description
Set the corresponding output axis in MPG mode.
Syntax
machine.setMpgAxis(axis);
Parameters
machine
: for Machine object.axis
: the corresponding output axis, can be AXIS_X, AXIS_Y or AXIS_Z.
Returns
None.
Example
Set the basic parameters of the machine and enable the MPG mode, which will link the X-axis when the Encoder value changes.
#include "Motion86.h" #include "Encoder.h" // Generate machine objects, up to machine 0~2 three machines, each machine has three axes. Machine machine(0); // Stepper motor enable pin. int EnablePin = 4; void setup() { while (!Serial); // In this example, the hand crank has been installed on Enc3. Enc3.begin(MODE_AB_PHASE); pinMode(EnablePin, OUTPUT); // If necessary, the motion direction of the motion axis can be reversed. // In this example, the direction of x-axis and y-axis should be reversed. machine.config_ReverseDirection(AXIS_X); machine.config_ReverseDirection(AXIS_Y); // PPU (pulse per unit) is a virtual length unit, depending on different requirements. // In this example, the unit length of x-axis is set to 80 pulses, which corresponds to 1 mm in real application. machine.config_PPU(AXIS_X, 80.0); machine.config_PPU(AXIS_Y, 80.0); machine.config_PPU(AXIS_Z, 1600.0); // The machine must be started before control. machine.machineOn(); // Trigger Mpg control with Enc3. machine.beginMpg(Enc3); // Select the target axis to be controlled by Mpg handwheel. machine.setMpgAxis(AXIS_X); // machine.setMpgAxis(AXIS_Y); // machine.setMpgAxis(AXIS_Z); // Feed speed in Mpg mode. machine.setMpgSpeed(600); // MpgRatio is the ratio of handwheel to machine travel distance, the parameter value should be greater than 0. machine.setMpgRatio(1); // Start the stepping motor. digitalWrite(EnablePin, LOW); digitalWrite(EnablePin, LOW); } void loop() { Serial.print("Mpg 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
Libraries Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.