|
#include "Motion86.h"
#include "Encoder.h"
// マシンオブジェクトを生成します。マシン0~2まで、それぞれ3軸のマシンを最大3台まで使用できます。
Machine machine(0);
// ステッピングモーター enable pin。
int EnablePin = 4;
void setup() {
while (!Serial);
// この例では、ハンドホイールが Enc3 に取り付けられています。
Enc3.begin(MODE_AB_PHASE);
pinMode(EnablePin, OUTPUT);
// 必要に応じて、軸の移動方向を反転できます。
// この例では、x 軸と y 軸の方向を反転する必要があります。
machine.config_ReverseDirection(AXIS_X);
machine.config_ReverseDirection(AXIS_Y);
// PPU (単位あたりのパルス) は、さまざまなニーズに応じた仮想的な長さの単位です。
// この例では、x 軸の単位長さは 80 パルスに設定されており、これは実際のアプリケーションでは 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();
// Enc3 を使用して Mpg 制御をトリガーします。
machine.beginMpg(Enc3);
// Mpg ハンドホイールで制御するターゲット軸を選択します。
machine.setMpgAxis(AXIS_X);
// machine.setMpgAxis(AXIS_Y);
// machine.setMpgAxis(AXIS_Z);
// Mpg モードでの送り速度。
machine.setMpgSpeed(600);
// MpgRatio は、ハンドホイールとマシンの移動距離の比率を指し、パラメータ値は 0 より大きくする必要があります。
machine.setMpgRatio(1);
// ステッピングモーターを起動します。
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);
}
|