From c9be936d4ac3745e0386f4f6293c1f76b4022836 Mon Sep 17 00:00:00 2001 From: Msq001 <760675063@qq.com> Date: Mon, 1 Jul 2019 20:06:25 +0800 Subject: [PATCH] BigTreeTech SKR Mini E3 (#14457) --- Marlin/src/core/boards.h | 5 +- Marlin/src/pins/pins.h | 2 + Marlin/src/pins/pins_BIGTREE_SKR_MINI_E3.h | 139 +++++++++++++++++++ Marlin/src/pins/pins_BIGTREE_SKR_MINI_V1_1.h | 28 ++-- Marlin/src/pins/pins_BIGTREE_SKR_V1.3.h | 20 +-- 5 files changed, 166 insertions(+), 28 deletions(-) create mode 100644 Marlin/src/pins/pins_BIGTREE_SKR_MINI_E3.h diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index a6fceb7512..b8a2530dd0 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -245,12 +245,13 @@ #define BOARD_STM32F1R 1800 // STM32R Libmaple based STM32F1 controller #define BOARD_MALYAN_M200 1801 // STM32C8T6 Libmaple based stm32f1 controller #define BOARD_STM3R_MINI 1803 // STM32 Libmaple based stm32f1 controller -#define BOARD_GTM32_PRO_VB 1805 // STM32f103VET6 controller +#define BOARD_GTM32_PRO_VB 1805 // STM32F103VET6 controller #define BOARD_MORPHEUS 1806 // STM32F103C8/STM32F103CB Libmaple based stm32f1 controller #define BOARD_MKS_ROBIN 1808 // MKS Robin / STM32F103ZET6 #define BOARD_MKS_ROBIN_MINI 1813 // MKS Robin Mini / STM32F103VET6 #define BOARD_MKS_ROBIN_NANO 1812 // MKS Robin Nano / STM32F103VET6 -#define BOARD_BIGTREE_SKR_MINI_V1_1 1814 // STM32F103RC +#define BOARD_BIGTREE_SKR_MINI_V1_1 1814 // BigTreeTech SKR Mini v1.1 / STM32F103RC +#define BOARD_BIGTREE_SKR_MINI_E3 1815 // BigTreeTech SKR Mini E3 / STM32F103RC #define BOARD_JGAURORA_A5S_A1 1820 // JGAurora A5S A1 / STM32F103ZET6 #define BOARD_FYSETC_AIO_II 1890 // FYSETC AIO_II #define BOARD_FYSETC_CHEETAH 1891 // FYSETC CHEETAH diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 364066efd1..217eee8e59 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -422,6 +422,8 @@ #include "pins_STM3R_MINI.h" // STM32F1 env:STM32F1 #elif MB(BIGTREE_SKR_MINI_V1_1) #include "pins_BIGTREE_SKR_MINI_V1_1.h" // STM32F1 env:BIGTREE_SKR_MINI +#elif MB(BIGTREE_SKR_MINI_E3) + #include "pins_BIGTREE_SKR_MINI_E3.h" // STM32F1 env:BIGTREE_SKR_MINI #elif MB(MALYAN_M200) #include "pins_MALYAN_M200.h" // STM32F1 env:malyanm200 #elif MB(CHITU3D) diff --git a/Marlin/src/pins/pins_BIGTREE_SKR_MINI_E3.h b/Marlin/src/pins/pins_BIGTREE_SKR_MINI_E3.h new file mode 100644 index 0000000000..34f686ef68 --- /dev/null +++ b/Marlin/src/pins/pins_BIGTREE_SKR_MINI_E3.h @@ -0,0 +1,139 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program 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. + * + * This program 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 this program. If not, see . + * + */ + +#ifndef TARGET_STM32F1 + #error "Oops! Select an STM32F1 board in 'Tools > Board.'" +#endif + +#ifndef BOARD_NAME + #define BOARD_NAME "BIGTREE SKR MINI E3" +#endif + +// Release PB3/PB4 (E0 STP/DIR) from JTAG pins +#define DISABLE_JTAG + +// Ignore temp readings during develpment. +//#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE + +// +// Servos +// +#define SERVO0_PIN PA1 + +// +// Limit Switches +// +#define X_STOP_PIN PC0 +#define Y_STOP_PIN PC1 +#define Z_STOP_PIN PC2 + +// +// Z Probe must be this pins +// +#define Z_MIN_PROBE_PIN PC14 + +// +// Filament Runout Sensor +// +#ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN PC15 +#endif + +// +// Steppers +// +#define X_ENABLE_PIN PB14 +#define X_STEP_PIN PB13 +#define X_DIR_PIN PB12 + +#define Y_ENABLE_PIN PB11 +#define Y_STEP_PIN PB10 +#define Y_DIR_PIN PB2 + +#define Z_ENABLE_PIN PB1 +#define Z_STEP_PIN PB0 +#define Z_DIR_PIN PC5 + +#define E0_ENABLE_PIN PD2 +#define E0_STEP_PIN PB3 +#define E0_DIR_PIN PB4 + +#if HAS_DRIVER(TMC2209) + /** + * TMC2209 stepper drivers + * Hardware serial communication ports. + */ + #define X_HARDWARE_SERIAL Serial4 + #define Y_HARDWARE_SERIAL Serial4 + #define Z_HARDWARE_SERIAL Serial4 + #define E0_HARDWARE_SERIAL Serial4 +#endif + +// +// Temperature Sensors +// +#define TEMP_0_PIN PA0 // Analog Input +#define TEMP_BED_PIN PC3 // Analog Input + +// +// Heaters / Fans +// +#define HEATER_0_PIN PC8 // EXTRUDER +#define HEATER_BED_PIN PC9 // BED +#define FAN_PIN PA8 + +// +// USB connect control +// +#define USB_CONNECT PC13 +#define USB_CONNECT_INVERTING false + +#define SD_DETECT_PIN PC4 + +/** + * _____ + * 5V | · · | GND + * (LCD_EN) PB7 | · · | PB8 (LCD_RS) + * (LCD_D4) PB9 | · · | PA10 (BTN_EN2) + * RESET | · · | PA9 (BTN_EN1) + * (BTN_ENC) PB6 | · · | PB5 (BEEPER) + * ----- + * EXP1 + */ +#if HAS_SPI_LCD + #define BEEPER_PIN PB5 + #define BTN_ENC PB6 + + #if ENABLED(CR10_STOCKDISPLAY) + #define LCD_PINS_RS PB8 + + #define BTN_EN1 PA9 + #define BTN_EN2 PA10 + + #define LCD_PINS_ENABLE PB7 + #define LCD_PINS_D4 PB9 + + #else + #error "Only CR10_STOCKDISPLAY is currently supported on the BIGTREE_SKR_MINI_E3." + #endif + +#endif // HAS_SPI_LCD diff --git a/Marlin/src/pins/pins_BIGTREE_SKR_MINI_V1_1.h b/Marlin/src/pins/pins_BIGTREE_SKR_MINI_V1_1.h index d2f6d8dbae..3f34a28e22 100644 --- a/Marlin/src/pins/pins_BIGTREE_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/pins_BIGTREE_SKR_MINI_V1_1.h @@ -48,10 +48,6 @@ // Steppers // -/** - * TODO: Currently using same Enable pin for all steppers. - */ - #define X_STEP_PIN PC6 #define X_DIR_PIN PC7 #define X_ENABLE_PIN PB15 @@ -84,8 +80,8 @@ // // Temperature Sensors // -#define TEMP_BED_PIN PB1 // Analog Input -#define TEMP_0_PIN PA0 // Analog Input +#define TEMP_BED_PIN PB1 // Analog Input +#define TEMP_0_PIN PA0 // Analog Input // // LCD Pins @@ -166,19 +162,19 @@ #if ENABLED(STM32_SD_LCD) #define ENABLE_SPI3 - #define SD_DETECT_PIN PB9 - #define SCK_PIN PB3 - #define MISO_PIN PB4 - #define MOSI_PIN PB5 - #define SS_PIN PA15 + #define SD_DETECT_PIN PB9 + #define SCK_PIN PB3 + #define MISO_PIN PB4 + #define MOSI_PIN PB5 + #define SS_PIN PA15 #else #define SDCARD_CONNECTION ONBOARD #define ENABLE_SPI1 - #define SD_DETECT_PIN PA3 - #define SCK_PIN PA5 - #define MISO_PIN PA6 - #define MOSI_PIN PA7 - #define SS_PIN PA4 + #define SD_DETECT_PIN PA3 + #define SCK_PIN PA5 + #define MISO_PIN PA6 + #define MOSI_PIN PA7 + #define SS_PIN PA4 #endif #ifndef ST7920_DELAY_1 diff --git a/Marlin/src/pins/pins_BIGTREE_SKR_V1.3.h b/Marlin/src/pins/pins_BIGTREE_SKR_V1.3.h index dc3531025c..8ec4a5bdb5 100644 --- a/Marlin/src/pins/pins_BIGTREE_SKR_V1.3.h +++ b/Marlin/src/pins/pins_BIGTREE_SKR_V1.3.h @@ -169,16 +169,16 @@ #define FAN_PIN P2_03 #define HEATER_BED_PIN P2_05 -/* -| _____ _____ -| NC | · · | GND 5V | · · | GND -| RESET | · · | 1.31(SD_DETECT) (LCD_D7) 1.23 | · · | 1.22 (LCD_D6) -| (MOSI)0.18 | · · | 3.25(BTN_EN2) (LCD_D5) 1.21 | · · | 1.20 (LCD_D4) -| (SD_SS)0.16 | · · | 3.26(BTN_EN1) (LCD_RS) 1.19 | · · | 1.18 (LCD_EN) -| (SCK)0.15 | · · | 0.17(MISO) (BTN_ENC) 0.28 | · · | 1.30 (BEEPER) -|  ̄ ̄  ̄ ̄ -| EXP2 EXP1 -*/ +/** + * _____ _____ + * NC | · · | GND 5V | · · | GND + * RESET | · · | 1.31(SD_DETECT) (LCD_D7) 1.23 | · · | 1.22 (LCD_D6) + * (MOSI)0.18 | · · | 3.25(BTN_EN2) (LCD_D5) 1.21 | · · | 1.20 (LCD_D4) + * (SD_SS)0.16 | · · | 3.26(BTN_EN1) (LCD_RS) 1.19 | · · | 1.18 (LCD_EN) + * (SCK)0.15 | · · | 0.17(MISO) (BTN_ENC) 0.28 | · · | 1.30 (BEEPER) + * ----- ----- + * EXP2 EXP1 + */ #if HAS_SPI_LCD #define BEEPER_PIN P1_30 // (37) not 5V tolerant #define BTN_ENC P0_28 // (58) open-drain