Initial pull request for BTT SKR v2 config (#574)

* Initial work for BTT SKR2

* Fix typo in file name

* Remove old file

* Beautify README

* Cleanup PINs definition

* Revert back commented stuff for build size

* Remove the Rev.B in the name

* Remove old files

* Add wiring diagram for MCU X/Y/E

* Update readme file

* Add wiring diagram for MCU Z

* Add Klipper menuconfig selection

* Change instructions order

* Merge latest updates from master

* Add line return

* Update recommended settings

* Comment out recommended sensor

* Comment bed sensor

* Use controller fan instead

* Remove old thermistor types

* Put back heater_bed

* Add heater and stepper relation for controller fans

* Remove stepper and space

Co-authored-by: Marc Bernard <marc.guy.bernard@gmail.com>
This commit is contained in:
technophreak 2022-01-17 21:54:37 -05:00 committed by GitHub
parent fafc8b8e4f
commit 6d339c23ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 639 additions and 1 deletions

View File

@ -33,6 +33,8 @@ like so:
| Mellow | [Fly-Gemini on v0](./klipper/Mellow/FLY-Gemini) | Sample configuration and wiring diagram of Fly-Gemini Linux integrated motherboard in v0 and v0.1 | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| revnull | [BTT Octopus Board Pins](./klipper/revnull/btt_octopus_pins) | Defines a set of `[board_pins]` aliases for use with the BTT Octopus controller | :grey_question: | :grey_question: | :heavy_check_mark: | :grey_question: | :x: |
| RealDeuce | [MKS Makerbase Monster8 v1.0_003](./klipper/RealDeuce/MKS-Makerbase/Monster8_v1.0_003/) | Configuration and instructions for installing an MKS Makerbase Monster8 board | :x: | :x: | :heavy_check_mark: | :x: | :x: |
| TechnoPhreak | [BTT SKR v2 for V2.4](./klipper/TechnoPhreak/BTT_SKR_v2) | Example configuration, wiring diagram and special instructions for the BTT SKR v2 controllers | :grey_question: | :grey_question: | :heavy_check_mark: | :grey_question: |
---
## RepRapFirmware
@ -42,4 +44,4 @@ like so:
| DorjeDorf | [Duet 3 Config](./reprapfirmware/DorjeDorf) | RRF 3.3 example config | :x: | :x: | :heavy_check_mark: | :x: |
| fulg | [Duet 2 Config](./reprapfirmware/fulg) | RRF 2.05 example config | :x: | :x: | :heavy_check_mark: | :x: |
---
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

View File

@ -0,0 +1,40 @@
<B>Voron V2.4 SKR 2 Config</b>
This config file is for using two BigTreeTech SKR v2 boards on the Voron V2.4. For additional reference material, please reference BigTreeTech's Github page:
https://github.com/bigtreetech/SKR-2/
## Design Goals ##
* Provide working & tested configuration for using 2 x BigTreeTech SKR v2 mainboards
* Use SKR v2 pins as they were intented when possible
* Use same pins as SKR v1.4 when possible
## IMPORTANT NOTES ##
* The SKR v2 Board does not require cutting any pins on the drivers for sensorless homing.
* It is recommended to always remove power to the SKR Boards before adding/removing a stepper driver daughterboard.
* Please make sure that you have Rev.B board since BTT released a bad board initially and there is a revision on the initial SKR v2 board.
BTT apparently offers full refund for the bad boards, or you can also fix it yourself.
This guy Chris knows his stuff and explain this in details in this video.
https://www.youtube.com/watch?v=1PPBHn-jU0k
Thanks Chris !
## Wiring Instructions ##
![SKR2 - MCU X/Y/E Wiring](SKR2-MCUXYE-wiring.jpg)
![SKR2 - MCU X/Y/E Wiring](SKR2-MCUZ-wiring.jpg)
## Compiler Instructions ##
When building the Klipper firmware image, select the correct processor options as follow:
* Micro-controller Architechture: STMicroelectronics STM32
* Processor Model: STM32F407
* Bootloader offset: 32KiB bootloader
* Clock Reference: 8Mhz crystal
![Klipper Build Menuconfig](Klipper-menuconfig.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 KiB

View File

@ -0,0 +1,596 @@
## Voron Design VORON2 250/300/350mm SKR v2 TMC2209 UART config
## *** THINGS TO CHANGE/CHECK: ***
## MCU paths [mcu] section
## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
## Z Endstop Switch location [safe_z_home] section
## Homing end position [gcode_macro G32] section
## Z Endstop Switch offset for Z0 [stepper_z] section
## Probe points [quad_gantry_level] section
## Min & Max gantry corner postions [quad_gantry_level] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section
##========================== Pin Definitions ========================
## X_STEP_PIN PE2
## X_DIR_PIN PE1
## X_ENABLE_PIN PE3
## X_STOP_PIN PC1
## E0_DET_PIN PC6
## X_UART_PIN PE0
## Y_STEP_PIN PD5
## Y_DIR_PIN PD4
## Y_ENABLE_PIN PD6
## Y_STOP_PIN PC3
## E1_DET_PIN PC6
## Y_UART_RX PD3
## Z_STEP_PIN PA15
## Z_DIR_PIN PA8
## Z_ENABLE_PIN PD1
## Z_STOP_PIN PC0
## PWR_DET_PIN PC15
## Z_UART PD0
## E0_STEP_PIN PD15
## E0_DIR_PIN PD14
## E0_ENABLE_PIN PC7
## E0_UART PC6
## E1_STEP_PIN PD11
## E1_DIR_PIN PD10
## E1_ENABLE_PIN PD13
## E1_UART_RX PD12
## HE0 PB3
## HE1 PB4
## BED PD7
## TH0 (H0 Temp) PA2
## TH1 (H1 Temp) PA3
## TB (Bed Temp) PA1
## FAN2 PB5
## FAN1 PB6
## FAN0 PB7
## SERVO PE5
## PROBE PE4
##===================================================================
[mcu]
## MCU for X/Y/E steppers main MCU
## [X in X] - B Motor
## [Y in Y] - A Motor
## [E in E0] - Extruder
## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
##--------------------------------------------------------------------
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_00000-if00
##--------------------------------------------------------------------
[mcu z]
## MCU for Z steppers
## [Z in X] - Front Left
## [Z1 in Y] - Rear Left
## [Z2 in Z] - Rear Right
## [Z3 in E0]- Front Right
## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
##--------------------------------------------------------------------
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_00000-if00
##--------------------------------------------------------------------
[printer]
kinematics: corexy
max_velocity: 300
max_accel: 3000 #Max 4000
max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V
max_z_accel: 350
square_corner_velocity: 5.0
#####################################################################
# X/Y Stepper Settings
#####################################################################
[stepper_x]
## Connected to X on mcu_xye (B Motor)
step_pin: PE2
dir_pin: !PE1
enable_pin: !PE3
rotation_distance: 40
microsteps: 32
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: ^PC1
position_min: 0
##--------------------------------------------------------------------
## Uncomment below for 250mm build
#position_endstop: 250
#position_max: 250
## Uncomment for 300mm build
#position_endstop: 300
#position_max: 300
## Uncomment for 350mm build
#position_endstop: 350
#position_max: 350
##--------------------------------------------------------------------
homing_speed: 25 #Max 100
homing_retract_dist: 5
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_x]
uart_pin: PE0
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
[stepper_y]
## Connected to Y on mcu_xye (A Motor)
step_pin: PD5
dir_pin: !PD4
enable_pin: !PD6
rotation_distance: 40
microsteps: 32
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: ^PC3
position_min: 0
##--------------------------------------------------------------------
## Uncomment for 250mm build
#position_endstop: 250
#position_max: 250
## Uncomment for 300mm build
#position_endstop: 300
#position_max: 300
## Uncomment for 350mm build
#position_endstop: 350
#position_max: 350
##--------------------------------------------------------------------
homing_speed: 25 #Max 100
homing_retract_dist: 5
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_y]
uart_pin: PD3
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Z Stepper Settings
#####################################################################
## Z MCU - In X Position
## Z0 Stepper - Front Left
[stepper_z]
step_pin: z:PE2
dir_pin: !z:PE1
enable_pin: !z:PE3
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
endstop_pin: ^z:PC0
## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
## (+) value = endstop above Z0, (-) value = endstop below
## Increasing position_endstop brings nozzle closer to the bed
## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config
position_endstop: -0.5
##--------------------------------------------------------------------
## Uncomment below for 250mm build
#position_max: 230
## Uncomment below for 300mm build
#position_max: 280
## Uncomment below for 350mm build
#position_max: 330
##--------------------------------------------------------------------
position_min: -5
homing_speed: 8
second_homing_speed: 3
homing_retract_dist: 3
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z]
uart_pin: z:PE0
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z MCU - In Y Position
## Z1 Stepper - Rear Left
[stepper_z1]
step_pin: z:PD5
dir_pin: z:PD4
enable_pin: !z:PD6
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z1]
uart_pin: z:PD3
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z MCU - In Z Position
## Z2 Stepper - Rear Right
[stepper_z2]
step_pin: z:PA15
dir_pin: !z:PA8
enable_pin: !z:PD1
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z2]
uart_pin: z:PD0
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z MCU - In E0 Position
## Z3 Stepper - Front Right
[stepper_z3]
step_pin: z:PD15
dir_pin: z:PD14
enable_pin: !z:PC7
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z3]
uart_pin: z:PC6
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Extruder
#####################################################################
# E0 on MCU X/Y
[extruder]
step_pin: PD15
dir_pin: !PD14
enable_pin: !PC7
## Update value below when you perform extruder calibration
## If you ask for 100mm of filament, but in reality it is 98mm:
## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100
## 22.6789511 is a good starting point
rotation_distance: 22.6789511 #Bondtech 5mm Drive Gears
## Update Gear Ratio depending on your Extruder Type
## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio)
## Use 80:20 for M4, M3.1
gear_ratio: 50:17 #BMG Gear Ratio
microsteps: 32
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
nozzle_diameter: 0.400
filament_diameter: 1.75
heater_pin: PB3
## Validate the following thermistor type to make sure it is correct
## See https://www.klipper3d.org/Config_Reference.html#common-thermistors for additional options
#sensor_type: ATC Semitec 104GT-2
sensor_pin: PA2
min_temp: 10
max_temp: 270
max_power: 1.0
min_extrude_temp: 170
control = pid
pid_kp = 26.213
pid_ki = 1.304
pid_kd = 131.721
## Try to keep pressure_advance below 1.0
#pressure_advance: 0.05
## Default is 0.040, leave stock
#pressure_advance_smooth_time: 0.040
## E0 on MCU X/Y
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 extruder]
uart_pin: PC6
interpolate: false
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
## SSR Control - Z board, BED Pin
heater_pin: z:PB7
## Validate the following thermistor type to make sure it is correct
## See https://www.klipper3d.org/Config_Reference.html#common-thermistors for additional options
#sensor_type: Generic 3950
sensor_pin: z:PA1
## Adjust Max Power so your heater doesn't warp your bed
max_power: 0.6
min_temp: 0
max_temp: 120
control: pid
pid_kp: 58.437
pid_ki: 2.347
pid_kd: 363.769
#####################################################################
# Probe
#####################################################################
[probe]
## Inductive Probe
## This probe is not used for Z height, only Quad Gantry Leveling
## Z_MAX on mcu_z
## If your probe is NO instead of NC, change pin to !^z:PE4
pin: ^z:PE4
x_offset: 0
y_offset: 25.0
z_offset: 0
speed: 10.0
samples: 3
samples_result: median
sample_retract_dist: 3.0
samples_tolerance: 0.006
samples_tolerance_retries: 3
#####################################################################
# Fan Control
#####################################################################
[heater_fan hotend_fan]
## Hotend Fan - XYE board, FAN0 Connector
pin: PB7
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
## If you are experiencing back flow, you can reduce fan_speed
#fan_speed: 1.0
[fan]
## Print Cooling Fan - XYE board, FAN1 Pin
pin: PB6
kick_start_time: 0.5
## Depending on your fan, you may need to increase this value
## if your fan will not start. Can change cycle_time (increase)
## if your fan is not able to slow down effectively
off_below: 0.10
[controller_fan controller_fan]
## Controller fan - XYE board, FAN2 Connector
pin: PB5
fan_speed: 0.3
kick_start_time: 0.5
heater: heater_bed,extruder
[controller_fan controller_fan1]
## Controller fan - Z board, FAN2 Connector
pin: z:PB5
fan_speed: 0.3
kick_start_time: 0.5
heater: heater_bed,extruder
#[heater_fan exhaust_fan]
## Exhaust fan - Z board, FAN1 Connector
#pin: z:PB6
#max_power: 1.0
#shutdown_speed: 0.0
#kick_start_time: 5.0
#heater: heater_bed
#heater_temp: 60
#fan_speed: 1.0
#####################################################################
# LED Control
#####################################################################
#[output_pin caselight]
# Chamber Lighting - Bed Connector XYE Board (Optional)
#pin: PD7
#pwm:true
#shutdown_value: 0
#value:1
#cycle_time: 0.01
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
[safe_z_home]
## XY Location of the Z Endstop Switch
## Update -10,-10 to the XY coordinates of your endstop pin
## (such as 157,305) after going through Z Endstop Pin
## Location Definition step.
home_xy_position:-10,-10
speed:100
z_hop:10
[quad_gantry_level]
## Use QUAD_GANTRY_LEVEL to level a gantry.
## Min & Max gantry corners - measure from nozzle at MIN (0,0) and
## MAX (250, 250), (300,300), or (350,350) depending on your printer size
## to respective belt positions
#--------------------------------------------------------------------
## Gantry Corners for 250mm Build
## Uncomment for 250mm build
#gantry_corners:
# -60,-10
# 310, 320
## Probe points
#points:
# 50,25
# 50,175
# 200,175
# 200,25
## Gantry Corners for 300mm Build
## Uncomment for 300mm build
#gantry_corners:
# -60,-10
# 360,370
## Probe points
#points:
# 50,25
# 50,225
# 250,225
# 250,25
## Gantry Corners for 350mm Build
## Uncomment for 350mm build
#gantry_corners:
# -60,-10
# 410,420
## Probe points
#points:
# 50,25
# 50,275
# 300,275
# 300,25
#--------------------------------------------------------------------
speed: 100
horizontal_move_z: 10
retries: 5
retry_tolerance: 0.0075
max_adjust: 10
#####################################################################
# Misc
#####################################################################
## Enable motor power on MCU
[output_pin motor_power]
pin: PC13
value: 1
## Enable motor power on MCU:z
[output_pin motor_power_z]
pin: z:PC13
value: 1
#####################################################################
# Displays
#####################################################################
## Uncomment the display that you have. Display connects to Z MCU
#--------------------------------------------------------------------
#[display]
## RepRapDiscount 128x64 Full Graphic Smart Controller
#lcd_type: st7920
#cs_pin: z:PB9
#sclk_pin: z:PE10
#sid_pin: z:PB1
#menu_timeout: 40
#encoder_pins: ^z:PE7, ^z:PB2
#click_pin: ^!z:PB0
#[output_pin beeper]
#pin: z:PC5
#--------------------------------------------------------------------
#[display]
## mini12864 LCD Display
#lcd_type: uc1701
#cs_pin: z:PB1
#a0_pin: z:PB9
#encoder_pins: ^z:PB2,^z:PE7
#click_pin: ^!z:PB0
#contrast: 63
#[neopixel fysetc_mini12864]
## To control Neopixel RGB in mini12864 display
#pin: z:PE11
#chain_count: 3
#initial_RED: 0.1
#initial_GREEN: 0.5
#initial_BLUE: 0.0
#color_order: RGB
## Set RGB values on boot up for each Neopixel.
## Index 1 = display, Index 2 and 3 = Knob
#[delayed_gcode setdisplayneopixel]
#initial_duration: 1
#gcode:
# SET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0
# SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
# SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3
#--------------------------------------------------------------------
#####################################################################
# Macros
#####################################################################
[gcode_macro G32]
gcode:
BED_MESH_CLEAR
G28
QUAD_GANTRY_LEVEL
G28
## Uncomment for for your size printer:
#--------------------------------------------------------------------
## Uncomment for 250mm build
#G0 X125 Y125 Z30 F3600
## Uncomment for 300 build
#G0 X150 Y150 Z30 F3600
## Uncomment for 350mm build
#G0 X175 Y175 Z30 F3600
#--------------------------------------------------------------------
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - please customise for your slicer of choice
gcode:
G32 ; home all axes
G1 Z20 F3000 ; move nozzle away from bed
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customise for your slicer of choice
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-10.0 F3600 ; retract filament
G91 ; relative positioning
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
TURN_OFF_HEATERS
M107 ; turn off fan
G1 Z2 F3000 ; move nozzle up 2mm
G90 ; absolute positioning
G0 X125 Y250 F3600 ; park nozzle at rear
BED_MESH_CLEAR