setMpgAxis()
描述
設定在 MPG 模式下的對應輸出軸。
語法
machine.setMpgAxis(axis);
參數
machine
:為 Machine
物件。
axis
:對應輸出軸,可為 AXIS_X, AXIS_Y or AXIS_Z。
回傳
無回傳值。
範例
設定機器的基本參數,並啟用 MPG 模式,Encoder 值變動時會連動 X 軸。
#include "Motion86.h" #include "Encoder.h" // 產生機器物件,最多可使用 machine 0~2 三台機器,每台機器三軸。 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 (pulse per unit) 是一虛擬長度單位,依照不同需求而定。 // 此例 x 軸的單位長度設定為 80 pulses,對應到實際應用為 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); }
See also
beginMpg()
endMpg()
setMpgSpeed()
setMpgRatio()
getJogPos()
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.