[Motion86]
説明
Set the Encoder change amount and distance multiplier in MPG mode.
構文
machine.setMpgRatio(rate);
媒介変数
machine: The machine object.rate: the rate of Encoder change and distance, the value should be greater than 0.
戻り値
なし
例
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);
}参照
ライブラリリファレンスホーム
86Duinoリファレンスのテキストは、Arduinoリファレンスを改変したもので、Creative Commons Attribution-ShareAlike 3.0ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。