arcXY_Theta()
描述
使用順時針弧或逆時針劃圓弧。方向是從發生圓周運動的 Z 軸的正方向看的。
此方法使用圓心模式來控制弧線路徑,並利用旋轉角度的正負值來選擇順時針或逆時針。
如欲了解各種運動方法請詳見運動方法解說頁面。
語法
machine.arcXY_Theta(cX, cY, theta);
machine.arcXY_Theta(cX, cY, theta, feedrate);
參數
machine
:為 Machine
物件。
cX
: 圓心模式下的圓心 X 座標。
cY
: 圓心模式下的圓心 Y 座標。
theta
: 欲旋轉的角度,順時針時使用正值,逆時針時使用負值。
feedrate
: 進給速度,不傳參數時將使用最後一次記錄的進給速度。
回傳
bool
:
true: 機器存在且創建成功。
false: 機器不存在或創建失敗。
範例
設定機器的基本參數,並將機器在 XY 平面上做90度的弧線運動。
#include "Motion86.h" // 產生機器物件,最多可使用 machine 0~2 三台機器,每台機器三軸。 Machine machine(0); // 步進馬達 enable pin。 int EnablePin = 4; void setup() { while (!Serial); 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(); machine.setDefaultFeedrate(400); // 啟動步進馬達。 digitalWrite(EnablePin, LOW); } void loop() { // 以順時針移動 90 度到 (10, 10, 0)。 machine.arcXY_Theta(0, 10, HALF_PI, true); // 以逆時針移動 90 度到 (0, 0, 0)。 machine.arcXY_Theta(0, 10, HALF_PI, false); // 等待直到已規劃之運動完成。 while (machine.isMoving()); }
See also
arcXY()
arcYZ()
arcXZ()
arcYZ_Theta()
arcXZ_Theta()
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.