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/>.
## Stepper Driver Pins
# |-------|------------|----------|---------|--------------|
# | MOTOR | ENABLE pin | STEP pin | DIR pin | ENDSTOP pin |
# |-------|------------|----------|---------|--------------|
# | X | GPIO13 | GPIO12 | GPIO26 | GPIO17 |
# |-------|------------|----------|---------|--------------|
# | X2 | GPIO13 | GPIO22 | GPIO26 | GPIO17 |
# |-------|------------|----------|---------|--------------|
# | Y | GPIO13 | GPIO14 | GPIO25 | GPIO04 |
# |-------|------------|----------|---------|--------------|
# | Y2 | GPIO13 | GPIO21 | GPIO25 | GPIO04 |
# |-------|------------|----------|---------|--------------|
# | Z | GPIO13 | GPIO27 | GPIO33 | GPIO15 |
# |-------|------------|----------|---------|--------------|
## Other inputs and outputs
# |---------------|---------|
# | Function | PIN |
# |---------------|---------|
# | Hold | GPIO36 |
# |---------------|---------|
# | Start | GPIO39 |
# |---------------|---------|
# | GBRL_Reset | GPIO34 |
# |---------------|---------|
# | Probe | GPIO35 |
# |---------------|---------|
# | Spindle_EN | GPIO32 |
# |---------------|---------|
# | Spindle_PWM | GPIO16 |
# |---------------|---------|
# | Spindle_Relay | GPIO02 |
# |---------------|---------|
你好,
我编译 ( 5316c64 ) 并在 MPCNC V1.2.2 板上刷写了 GBRL_ESP32。我有一个问题,当我尝试通过网络界面打开主轴时,GPIO16(3v3 级别)上没有 PWM 信号。我用范围检查了这个。
主轴启用(GPIO32)对我来说也没有设置为高
我使用维基上显示的相同DevBoard。
有没有人有提示或已经有这样的错误?
托拜厄斯
_
mpcnc_v1p2.h
#pragma once
// 关闭 clang 格式
/*
mpcnc_v1p2.h Grbl_ESP32
的一部分
*/
// // Buildlog.net MPCNC 控制器的引脚分配
#define MACHINE_NAME “MPCNC_V1P2”
//#define DEFAULT_HOMING_SQUARED_AXES(位(X_AXIS)|位(Y_AXIS))#define DEFAULT_HOMING_SQUARED_AXES
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
#万一
// 注意:只有在 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 24000.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 注意:必须为正值。
机器.h
#pragma一次
// 此文件是您选择机器类型的地方,方法是包括
// 一个或多个机器定义文件,如下所述。
#ifndef MACHINE_FILENAME
// !!! 对于初始测试,从禁用
// 所有 I/O 引脚的 test_drive.h 开始
// #include “Machines/atari_1020.h”
//# include “Machines/test_drive.h”
// !!! 对于实际使用,更改上面的行以从 // Machines/ 中选择一个板
,例如:
#include “Machines/mpcnc_v1p2.h”
// === OEM 单文件配置选项
// 希望发布为
特定机器配置的源代码的 OEM 可以将他们所有的配置定义
// 直接放在这个文件中,而不包括上面的任何其他文件。
#别的
// 通过使用外部环境来定义 MACHINE_FILENAME,
// 可以在不编辑此文件的情况下选择配置。
// 这对自动化测试脚本很有用。
//
// 例如,
在 Linux 下使用 platformio 编译环境 // 时,您可以发出以下命令行:
// PLATFORMIO_BUILD_FLAGS=-DMACHINE_FILENAME=3axis_v4.h platformio run
//
// 在 Windows 下,使用 PowerShell,命令将是:
// $env:PLATFORMIO_BUILD_FLAGS=’-DMACHINE_FILENAME=3axis_v4.h’; platformio run
//
// 使用 Arduino IDE 时,没有简单的方法将变量
// 传递给编译器,因此此功能对 Arduino 没有用。
//
// MACHINE_FILENAME 不能包含 Machines/ 路径前缀;它是
// 自动提供的。
// MACHINE_PATHNAME_QUOTED 构造适合#include 的路径
定义 MACHINE_PATHNAME_QUOTED(name) <src/Machines/name>
包括 MACHINE_PATHNAME_QUOTED(MACHINE_FILENAME)
#endif // MACHINE_FILENAME
串口日志
rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip:0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
模式:DIO,时钟 div 1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
[MSG:Grbl_ESP32 Ver 1.3a Date 20210424]
[MSG:Compiled with ESP32 SDK:v3.2.3-14-gd3e562907]
[MSG:Using machine:MPCNC_V1P2]
[MSG:Axis count 3]
[MSG:RMT Steps]
[MSG:重置引脚 GPIO(34) 上的
开关] [MSG:保持引脚 GPIO(36) 上的
开关] [MSG:启动引脚 GPIO(39) 上的开关]
[MSG:Init Motors]
[MSG:全局步进器禁用引脚:GPIO(13) )]
[MSG:X Axis Standard Stepper Step:GPIO(12) Dir:GPIO(26) Disable:None Limits(0.000,500.000)]
[MSG:X2 Axis Standard Stepper Step:GPIO(22) Dir:GPIO(26) Disable:None Limits(0.000,500.000)]
[MSG:Y Axis Standard Stepper Step:GPIO(14) Dir:GPIO(25) Disable:None Limits(0.000,500.000)]
[MSG:Y2 轴标准步进器步进:GPIO(21) Dir:GPIO(25) 禁用:无限制(0.000,500.000)]
[MSG:Z 轴标准步进器步进:GPIO(27) Dir:GPIO(33) 禁用: None Limits(-80.000,0.000)]
[MSG:PWM spindle Output:GPIO(16), Enbl:GPIO(32), Dir:None, Freq:5000Hz, Res:13bits]
[MSG:Client Started]
[MSG:Connecting myWifi]
[MSG:Connecting.]
[MSG:Connecting..]
[MSG:Connecting…]
[MSG:Connecting….]
[MSG:Connected with 192.168.178.87 ]
[MSG:使用主机名启动 mDNS:http://grblesp.local/]
[MSG:SSDP 已启动]
[MSG:HTTP 已启动]
[MSG:TELNET 已启动 23]
[MSG:引脚 GPIO(2) 上的喷雾冷却剂]
[ MSG:引脚 GPIO(17) 上的 X 轴限位开关]
[MSG:引脚 GPIO(4) 上的 Y 轴限位开关]
[MSG:引脚 GPIO(15) 上的 Z 轴限位开关]
[MSG:引脚 GPIO(35) 上的探头)]
Grbl 1.3a [‘$’寻求帮助]