[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 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。