diff --git a/firmware_configurations/README.md b/firmware_configurations/README.md index d21339973..8affd985b 100644 --- a/firmware_configurations/README.md +++ b/firmware_configurations/README.md @@ -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: | ---- +--- \ No newline at end of file diff --git a/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/Klipper-menuconfig.png b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/Klipper-menuconfig.png new file mode 100644 index 000000000..2e3c6e6f3 Binary files /dev/null and b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/Klipper-menuconfig.png differ diff --git a/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/README.md b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/README.md new file mode 100644 index 000000000..02b26037e --- /dev/null +++ b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/README.md @@ -0,0 +1,40 @@ +Voron V2.4 SKR 2 Config + +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) + diff --git a/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/SKR2-MCUXYE-wiring.jpg b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/SKR2-MCUXYE-wiring.jpg new file mode 100644 index 000000000..f10b87e28 Binary files /dev/null and b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/SKR2-MCUXYE-wiring.jpg differ diff --git a/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/SKR2-MCUZ-wiring.jpg b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/SKR2-MCUZ-wiring.jpg new file mode 100644 index 000000000..a44cbb991 Binary files /dev/null and b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/SKR2-MCUZ-wiring.jpg differ diff --git a/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/printer.cfg b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/printer.cfg new file mode 100644 index 000000000..1222ba4ed --- /dev/null +++ b/firmware_configurations/klipper/TechnoPhreak/BTT_SKR_v2/printer.cfg @@ -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 = * / 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 +