mirror of
https://github.com/bdring/Grbl_Esp32.git
synced 2025-08-30 09:39:49 +02:00
@@ -40,9 +40,7 @@
|
||||
#define Y_LIMIT_PIN GPIO_NUM_4
|
||||
#define LIMIT_MASK B11
|
||||
|
||||
#ifndef USE_SERVO_AXES // maybe set in config.h
|
||||
#define USE_SERVO_AXES
|
||||
#endif
|
||||
#define USE_SERVO_AXES
|
||||
|
||||
#define SERVO_Z_PIN GPIO_NUM_27
|
||||
#define SERVO_Z_RANGE_MIN 0.0
|
||||
|
@@ -43,9 +43,7 @@
|
||||
|
||||
#define STEPPERS_DISABLE_PIN GPIO_NUM_17
|
||||
|
||||
#ifndef USE_SERVO_AXES // maybe set in config.h
|
||||
#define USE_SERVO_AXES
|
||||
#endif
|
||||
#define USE_SERVO_AXES
|
||||
|
||||
#define SERVO_Z_PIN GPIO_NUM_16
|
||||
#define SERVO_Z_RANGE_MIN 0.0
|
||||
|
@@ -42,7 +42,7 @@
|
||||
|
||||
// Y motor connects to the 1st driver
|
||||
#define X_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define X_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define X_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define X_STEP_PIN GPIO_NUM_12
|
||||
#define X_DIRECTION_PIN GPIO_NUM_14
|
||||
#define X_TRINAMIC // using SPI control
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
// Y motor connects to the 2nd driver
|
||||
#define Y_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Y_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define Y_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Y_STEP_PIN GPIO_NUM_27
|
||||
#define Y_DIRECTION_PIN GPIO_NUM_26
|
||||
#define Y_TRINAMIC // using SPI control
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
// Y2 motor connects to the 2nd driver
|
||||
#define Y2_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Y2_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define Y2_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Y2_STEP_PIN GPIO_NUM_15 // Z on schem
|
||||
#define Y2_DIRECTION_PIN GPIO_NUM_2 // Z on schem
|
||||
#define Y2_TRINAMIC // using SPI control
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
// Z Axis motor connects to the 4th driver
|
||||
#define Z_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Z_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define Z_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Z_STEP_PIN GPIO_NUM_33 // A on schem
|
||||
#define Z_DIRECTION_PIN GPIO_NUM_32 // A on schem
|
||||
#define Z_TRINAMIC // using SPI control
|
||||
|
82
Grbl_Esp32/Machines/spi_daisy_4axis_xyz.h
Normal file
82
Grbl_Esp32/Machines/spi_daisy_4axis_xyz.h
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
spi_daisy_4axis.h
|
||||
Part of Grbl_ESP32
|
||||
|
||||
Pin assignments for a 4-axis machine using Triaminic drivers
|
||||
in daisy-chained SPI mode.
|
||||
https://github.com/bdring/4_Axis_SPI_CNC
|
||||
|
||||
2019 - Bart Dring
|
||||
2020 - Mitch Bradley
|
||||
|
||||
Grbl_ESP32 is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Grbl is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Grbl_ESP32. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define MACHINE_NAME "SPI_DAISY_4X_XYZ"
|
||||
|
||||
#ifdef N_AXIS
|
||||
#undef N_AXIS
|
||||
#endif
|
||||
#define N_AXIS 3
|
||||
|
||||
#define USE_TRINAMIC
|
||||
#define TRINAMIC_DAISY_CHAIN
|
||||
|
||||
// Use SPI enable instead of the enable pin
|
||||
// The hardware enable pin is tied to ground
|
||||
#define USE_TRINAMIC_ENABLE
|
||||
|
||||
#define X_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define X_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define X_STEP_PIN GPIO_NUM_12
|
||||
#define X_DIRECTION_PIN GPIO_NUM_14
|
||||
#define X_TRINAMIC // using SPI control
|
||||
#define X_CS_PIN GPIO_NUM_17 // Daisy Chain, all share same CS pin
|
||||
|
||||
#define Y_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Y_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Y_STEP_PIN GPIO_NUM_27
|
||||
#define Y_DIRECTION_PIN GPIO_NUM_26
|
||||
#define Y_TRINAMIC // using SPI control
|
||||
#define Y_CS_PIN X_CS_PIN // Daisy Chain, all share same CS pin
|
||||
|
||||
#define Z_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Z_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Z_STEP_PIN GPIO_NUM_15
|
||||
#define Z_DIRECTION_PIN GPIO_NUM_2
|
||||
#define Z_TRINAMIC // using SPI control
|
||||
#define Z_CS_PIN X_CS_PIN // Daisy Chain, all share same CS pin
|
||||
|
||||
|
||||
// Mist is a 3.3V output
|
||||
// Turn on with M7 and off with M9
|
||||
#define COOLANT_MIST_PIN GPIO_NUM_21
|
||||
|
||||
#define SPINDLE_PWM_PIN GPIO_NUM_25
|
||||
#define SPINDLE_ENABLE_PIN GPIO_NUM_4
|
||||
|
||||
// Relay operation
|
||||
// Install Jumper near relay
|
||||
// For spindle Use max RPM of 1
|
||||
// For PWM remove jumper and set MAX RPM to something higher ($30 setting)
|
||||
// Interlock jumper along top edge needs to be installed for both versions
|
||||
#define DEFAULT_SPINDLE_RPM_MAX 1 // Should be 1 for relay operation
|
||||
|
||||
#define PROBE_PIN GPIO_NUM_22
|
||||
|
||||
#define X_LIMIT_PIN GPIO_NUM_36
|
||||
#define Y_LIMIT_PIN GPIO_NUM_39
|
||||
#define Z_LIMIT_PIN GPIO_NUM_34
|
||||
#define LIMIT_MASK B0111
|
||||
|
@@ -23,7 +23,7 @@
|
||||
along with Grbl_ESP32. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define MACHINE_NAME "SPI_DAISY_4X"
|
||||
#define MACHINE_NAME "SPI_DAISY_4X XYZA"
|
||||
|
||||
#ifdef N_AXIS
|
||||
#undef N_AXIS
|
||||
@@ -38,34 +38,33 @@
|
||||
#define USE_TRINAMIC_ENABLE
|
||||
|
||||
#define X_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define X_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define X_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define X_STEP_PIN GPIO_NUM_12
|
||||
#define X_DIRECTION_PIN GPIO_NUM_14
|
||||
#define X_TRINAMIC // using SPI control
|
||||
#define X_CS_PIN GPIO_NUM_17 // Daisy Chain, all share same CS pin
|
||||
|
||||
#define Y_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Y_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define Y_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Y_STEP_PIN GPIO_NUM_27
|
||||
#define Y_DIRECTION_PIN GPIO_NUM_26
|
||||
#define Y_TRINAMIC // using SPI control
|
||||
#define Y_CS_PIN X_CS_PIN // Daisy Chain, all share same CS pin
|
||||
|
||||
#define Z_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Z_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define Z_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define Z_STEP_PIN GPIO_NUM_15
|
||||
#define Z_DIRECTION_PIN GPIO_NUM_2
|
||||
#define Z_TRINAMIC // using SPI control
|
||||
#define Z_CS_PIN X_CS_PIN // Daisy Chain, all share same CS pin
|
||||
|
||||
#if (N_AXIS == 4)
|
||||
#define A_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define A_RSENSE 0.11f // .11 Ohm...typical of 2130 type 0.075 typical for TMC5160
|
||||
#define A_STEP_PIN GPIO_NUM_33
|
||||
#define A_DIRECTION_PIN GPIO_NUM_32
|
||||
#define A_TRINAMIC // using SPI control
|
||||
#define A_CS_PIN X_CS_PIN // Daisy Chain, all share same CS pin
|
||||
#endif
|
||||
|
||||
#define A_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define A_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
#define A_STEP_PIN GPIO_NUM_33
|
||||
#define A_DIRECTION_PIN GPIO_NUM_32
|
||||
#define A_TRINAMIC // using SPI control
|
||||
#define A_CS_PIN X_CS_PIN // Daisy Chain, all share same CS pin
|
||||
|
||||
// Mist is a 3.3V output
|
||||
// Turn on with M7 and off with M9
|
||||
@@ -86,10 +85,5 @@
|
||||
#define X_LIMIT_PIN GPIO_NUM_36
|
||||
#define Y_LIMIT_PIN GPIO_NUM_39
|
||||
#define Z_LIMIT_PIN GPIO_NUM_34
|
||||
|
||||
#if (N_AXIS == 4)
|
||||
#define A_LIMIT_PIN GPIO_NUM_35
|
||||
#define LIMIT_MASK B1111
|
||||
#else
|
||||
#define LIMIT_MASK B0111
|
||||
#endif
|
||||
#define A_LIMIT_PIN GPIO_NUM_35
|
||||
#define LIMIT_MASK B1111
|
@@ -42,36 +42,36 @@
|
||||
#define X_TRINAMIC // using SPI control
|
||||
#define X_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define X_CS_PIN GPIO_NUM_17 //chip select
|
||||
#define X_RSENSE 0.11f // .11 Ohm
|
||||
#define X_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
|
||||
#define Y_STEP_PIN GPIO_NUM_14
|
||||
#define Y_DIRECTION_PIN GPIO_NUM_25
|
||||
#define Y_TRINAMIC // using SPI control
|
||||
#define Y_DRIVER_TMC2130 // Which Driver Type?
|
||||
#define Y_CS_PIN GPIO_NUM_16 //chip select
|
||||
#define Y_RSENSE 0.11f // .11 Ohm
|
||||
#define Y_RSENSE TMC2130_RSENSE_DEFAULT
|
||||
|
||||
// OK to comment out to use pin for other features
|
||||
#define STEPPERS_DISABLE_PIN GPIO_NUM_13
|
||||
|
||||
#ifndef USE_SERVO_AXES // may be set in config.h
|
||||
#define USE_SERVO_AXES
|
||||
|
||||
|
||||
// Define one of these 2 options for spindle or servo
|
||||
#define USE_SERVO_AXES
|
||||
//#define USE_SPINDLE
|
||||
|
||||
#ifdef USE_SERVO_AXES
|
||||
#define SERVO_Z_PIN GPIO_NUM_27 // comment this out if PWM spindle/laser control.
|
||||
#define SERVO_Z_RANGE_MIN 0.0
|
||||
#define SERVO_Z_RANGE_MAX 5.0
|
||||
#define SERVO_Z_HOMING_TYPE SERVO_HOMING_TARGET // during homing it will instantly move to a target value
|
||||
#define SERVO_Z_HOME_POS SERVO_Z_RANGE_MAX // move to max during homing
|
||||
#define SERVO_Z_MPOS false // will not use mpos, uses work coordinates
|
||||
#else
|
||||
#define SPINDLE_PWM_PIN GPIO_NUM_27
|
||||
#endif
|
||||
|
||||
#define SERVO_Z_PIN GPIO_NUM_27 // comment this out if PWM spindle/laser control.
|
||||
#define SERVO_Z_RANGE_MIN 0.0
|
||||
#define SERVO_Z_RANGE_MAX 5.0
|
||||
#define SERVO_Z_HOMING_TYPE SERVO_HOMING_TARGET // during homing it will instantly move to a target value
|
||||
#define SERVO_Z_HOME_POS SERVO_Z_RANGE_MAX // move to max during homing
|
||||
#define SERVO_Z_MPOS false // will not use mpos, uses work coordinates
|
||||
|
||||
|
||||
// Comment out servo pin and uncomment spindle pwm pin to use the servo PWM to control a spindle
|
||||
/*
|
||||
#define SPINDLE_PWM_PIN GPIO_NUM_27
|
||||
*/
|
||||
|
||||
// #define X_LIMIT_PIN See version section
|
||||
// #define X_LIMIT_PIN See version section at beginning of file
|
||||
#define Y_LIMIT_PIN GPIO_NUM_4
|
||||
#define LIMIT_MASK B11
|
||||
|
||||
|
@@ -303,16 +303,6 @@ Some features should not be changed. See notes below.
|
||||
// have the same steps per mm internally.
|
||||
// #define COREXY // Default disabled. Uncomment to enable.
|
||||
|
||||
// Enable using a servo for the Z axis on a pen type machine.
|
||||
// You typically should not define a pin for the Z axis in the machine definition file
|
||||
// You should configure your settings in servo_pen.h
|
||||
// #define USE_SERVO_AXES // the new method
|
||||
// define your servo pin here or in the machine definition file
|
||||
//#define SERVO_PEN_PIN GPIO_NUM_27
|
||||
|
||||
// Enable using a solenoid for the Z axis on a pen type machine
|
||||
// #define USE_PEN_SOLENOID
|
||||
|
||||
// Inverts select limit pin states based on the following mask. This effects all limit pin functions,
|
||||
// such as hard limits and homing. However, this is different from overall invert limits setting.
|
||||
// This build option will invert only the limit pins defined here, and then the invert limits setting
|
||||
|
@@ -20,7 +20,7 @@
|
||||
|
||||
// Grbl versioning system
|
||||
#define GRBL_VERSION "1.1f"
|
||||
#define GRBL_VERSION_BUILD "20200412"
|
||||
#define GRBL_VERSION_BUILD "20200417"
|
||||
|
||||
//#include <sdkconfig.h>
|
||||
#include <Arduino.h>
|
||||
|
@@ -25,6 +25,10 @@
|
||||
|
||||
#include "grbl.h"
|
||||
|
||||
// the default current sense resistors used on most driver modules
|
||||
#define TMC2130_RSENSE_DEFAULT 0.11f
|
||||
#define TMC5160_RSENSE_DEFAULT 0.075f
|
||||
|
||||
#ifdef USE_TRINAMIC
|
||||
#include <TMCStepper.h> // https://github.com/teemuatlut/TMCStepper
|
||||
void Trinamic_Init();
|
||||
|
Reference in New Issue
Block a user