开源改变世界

mpcnc_v1p2.h #1029

推推 grbl 2年前 (2023-01-31) 175次浏览
关闭
interhard 打开了这个问题 2022 年 1 月 4 日 · 0 条评论
关闭

mpcnc_v1p2.h#1029

interhard 打开了这个问题 2022 年 1 月 4 日 · 0 条评论

注释

mpcnc_v1p2.h #1029

#pragma once
// 关闭 clang 格式

/*
mpcnc_v1p2.h Grbl_ESP32
的一部分

Pin assignments for the Buildlog.net MPCNC controller
https://github.com/bdring/Grbl_ESP32_MPCNC_Controller

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/>.

*/

// // Buildlog.net MPCNC 控制器的引脚分配

#define MACHINE_NAME “MPCNC_V1P2”

#define DEFAULT_HOMING_SQUARED_AXES(位(X_AXIS)|位(Y_AXIS))

#define X_STEP_PIN GPIO_NUM_12
#define X2_STEP_PIN GPIO_NUM_22 // 联动电机

#define Y_STEP_PIN GPIO_NUM_14
#define Y2_STEP_PIN GPIO_NUM_21 // 联动电机

#define Z_STEP_PIN GPIO_NUM_27

#define X_DIRECTION_PIN GPIO_NUM_26
#define X2_DIRECTION_PIN X_DIRECTION_PIN
#define Y_DIRECTION_PIN GPIO_NUM_25
#define Y2_DIRECTION_PIN Y_DIRECTION_PIN
#define Z_DIRECTION_PIN GPIO_NUM_33

// 可以注释掉以将 pin 用于其他功能
#define STEPPERS_DISABLE_PIN GPIO_NUM_13

// 注意:如果你使用 PWM 而不是继电器,你可以将 GPIO_NUM_2 映射到雾或洪水
//#define USE_SPINDLE_RELAY

#ifdef USE_SPINDLE_RELAY
#define SPINDLE_TYPE SpindleType::RELAY
#define SPINDLE_OUTPUT_PIN GPIO_NUM_2
#else
#define SPINDLE_TYPE SpindleType::PWM
#define SPINDLE_OUTPUT_PIN GPIO_NUM_16

#define SPINDLE_ENABLE_PIN GPIO_NUM_32

#万一

// 注意:只有在 USE_SPINDLE_RELAY 被注释掉时才取消注释。
// 继电器可用于主轴或任一冷却液
//#define COOLANT_FLOOD_PIN GPIO_NUM_2
//#define COOLANT_MIST_PIN GPIO_NUM_2

#define X_LIMIT_PIN GPIO_NUM_17
#define Y_LIMIT_PIN GPIO_NUM_4
#define Z_LIMIT_PIN GPIO_NUM_15

#ifndef ENABLE_SOFTWARE_DEBOUNCE // V1P2 没有 R/C 过滤器
#define ENABLE_SOFTWARE_DEBOUNCE
#endif

#define PROBE_PIN GPIO_NUM_35

// config.h 中的默认值对于这个控制器是错误的
#ifdef INVERT_CONTROL_PIN_MASK
#undef INVERT_CONTROL_PIN_MASK
#endif

#define INVERT_CONTROL_PIN_MASK B1110

#define CONTROL_RESET_PIN GPIO_NUM_34 // 需要外部上拉
#define CONTROL_FEED_HOLD_PIN GPIO_NUM_36 // 需要外部上拉
#define CONTROL_CYCLE_START_PIN GPIO_NUM_39 // 需要外部上拉

#define DEFAULT_STEP_PULSE_MICROSECONDS 3
#define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // 255 = 保持步进器开启

#define DEFAULT_STEPPING_INVERT_MASK 0 // uint8_t
#define DEFAULT_DIRECTION_INVERT_MASK 0 // uint8_t
#define DEFAULT_INVERT_ST_ENABLE 0 // 布尔值
#define DEFAULT_INVERT_LIMIT_PINS 1 // 布尔值
#define DEFAULT_INVERT_PROBE_PIN 0 // 布尔值

#define DEFAULT_STATUS_REPORT_MASK 1

#define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
#define DEFAULT_ARC_TOLERANCE 0.002 // mm
#define DEFAULT_REPORT_INCHES 0 // false

#define DEFAULT_SOFT_LIMIT_ENABLE 0 // 假
#define DEFAULT_HARD_LIMIT_ENABLE 0 // 假

#define DEFAULT_HOMING_ENABLE 1 // false
#define DEFAULT_HOMING_DIR_MASK 3 // 移动正方向 Z,负方向 X,Y
#define DEFAULT_HOMING_FEED_RATE 100.0 // mm/min
#define DEFAULT_HOMING_SEEK_RATE 200.0 // mm/min
#define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // 毫秒(0- 65k)
#define DEFAULT_HOMING_PULLOFF 2.0 // 毫米

#ifdef USE_SPINDLE_RELAY
#define DEFAULT_SPINDLE_RPM_MAX 1.0 // 必须为 1,因此 PWM 占空比始终为 100% 以防止继电器损坏
#else
#define DEFAULT_SPINDLE_RPM_MAX 1000.0 // 可以更改为您的主轴最大值
#endif

#define DEFAULT_SPINDLE_RPM_MIN 0.0 // 转/分

#define DEFAULT_LASER_MODE 0 // 假

#define DEFAULT_X_STEPS_PER_MM 200.0
#define DEFAULT_Y_STEPS_PER_MM 200.0
#define DEFAULT_Z_STEPS_PER_MM 800.0

#define DEFAULT_X_MAX_RATE 8000.0 // 毫米/分钟
#define DEFAULT_Y_MAX_RATE 8000.0 // 毫米/分钟
#define DEFAULT_Z_MAX_RATE 3000.0 // 毫米/分钟

#define DEFAULT_X_ACCELERATION 200.0 // 毫米/秒^2
#define DEFAULT_Y_ACCELERATION 200.0 // 毫米/秒^2
#define DEFAULT_Z_ACCELERATION 100.0 // 毫米/秒^2

#define DEFAULT_X_MAX_TRAVEL 500.0 // mm 注意:必须为正值。
#define DEFAULT_Y_MAX_TRAVEL 500.0 // mm 注意:必须为正值。
#define DEFAULT_Z_MAX_TRAVEL 80.0 // mm 注意:必须为正值。