config_HomePins()
描述
設定機器的硬體極限開關之 pin 腳,以定義機器之 Home 點。
語法
machine.config_HomePins(xLimit, yLimit, zLimit);
參數
machine
:為 Machine
物件。
Machine machine(0)
:一共有 0,1,2 三組 Machine 可供使用。
xLimit, yLimit, zLimit
:為該組 Machine 分別在 x, y, z 三軸所對應到的硬體極限開關之 pin 腳。
回傳
true: 設定成功。
false: 設定錯誤,代表機器不存在或者在機器啟動之後才做設定。
請確保機器存在,並確保對機器做設定必須在啟動機器之前。
範例
設定機器的基本參數,並將機器移動至 Home 點。
#include "Motion86.h" // 產生機器物件,最多可使用 machine 0~2 三台機器,每台機器三軸。 Machine machine(0); // 步進馬達 enable pin。 int EnablePin = 4; void setup() { while (!Serial); pinMode(EnablePin, OUTPUT); // 若有需要,可以反轉運動軸的運動方向。 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.config_PosLimit(AXIS_X, 0, 300); machine.config_PosLimit(AXIS_Y, 0, 200); machine.config_PosLimit(AXIS_Z, 0, 300); // 設定用來設定 home 點的極限開關所使用的 pin 腳。 machine.config_HomePins(2, 7, 8); // 控制之前,必須啟動機器。 machine.machineOn(); // 設定預設的進給速率。 machine.setDefaultFeedrate(400); // 啟動軟體極限。 machine.enableSoftLimit(); // 設定回到 home 點的進給速率。 machine.setHomeSpeed(1000, 1000, 200); // 啟動步進馬達。 digitalWrite(EnablePin, LOW); // 回到由極限開關所定義的 home 點。 machine.home(); } void loop() { // 運動控制程式碼... }
See also
home()
setHomeSpeed()
config_PosLimit()
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.