firmware_configurations/klipper: MKS Eagle V1.0 (#680)

This config also works for MKS Robin Nano V3.1.

- V0.1 example config
- MKS Eagle/Robin Nano V3.1 board pin aliases
- new README with `make menuconfig` screenshot
This commit is contained in:
Chris Lee 2022-04-11 14:13:58 -06:00 committed by GitHub
parent 18c7940976
commit 108ae601b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 365 additions and 0 deletions

View File

@ -28,6 +28,7 @@ like so:
| Creator | Config title | Description | V0 | V1.8 | V2.4 | VSW | VT |
| --- | --- | --- | --- | --- | --- | --- | --- |
| clee | [Fysetc S6 V2.1 for V0.1](./klipper/clee/fysetc_s6) | Example configuration and board pin aliases for the Fysetc S6 V2.1 for V0.1 | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| | [Makerbase Eagle V1.0/Robin Nano V3.1](./klipper/clee/mks_eagle) | Example configuration and board pin aliases for the MKS Eagle/Robin Nano V3.1 for V0.1 | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| jaeger | [FYSETC Spider on V1.8](./klipper/jaeger/Spider_1.1_V1.8) | Example configuration and wiring diagram for a FYSETC Spider 1.1 board on the V1.8 | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| MarcPot | [Fysetc Spider Board Pins](./klipper/MarcPot/fysetc_spider_pins) | Defines a set of `[board_pins]` aliases for use with the Fysetc Spider controller | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Mellow | [Fly-Super8 on V2.4](./klipper/Mellow/FLY-Super8) | Example configuration and wiring diagram for a FLY-Super8 board on the V2.4 | :x: | :x: | :heavy_check_mark: | :x: | :x: |

View File

@ -0,0 +1,10 @@
# clee's MKS Eagle V1.0 / Robin Nano V3.1 klipper config
This klipper configuration uses pin aliases. See below for the menuconfig options that worked for me.
![make menuconfig: STM32F407, 48KiB bootloader, 8MHz crystal, USB on PA11/PA12](mks_eagle_v1.0-make_menuconfig.png "make menuconfig screenshot")
The Eagle can be flashed with `make flash FLASH_DEVICE=0483:df11` if you hold the BOOT0 button while it's powering up. Otherwise, you can also flash the Eagle via microSD card or USB drive. MBR partition table, FAT32. Make sure to name your new firmware image `mks_eagle.bin` or else it won't flash.
The Robin Nano V3.1 cannot be flashed with `make flash` but instead requires you to flash via microSD card or USB drive. MBR partition table, FAT32. Make sure to name your new firmware image `robin_nano_v3.bin` or else it won't flash.

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -0,0 +1,49 @@
#####################################################################
# Makerbase Eagle V1.0 Pin Aliases
# (identical for Makerbase Robin Nano V3.1)
#####################################################################
[board_pins]
aliases:
# Stepper drivers
MOT0_STEP=PE3, MOT0_DIR=PE2, MOT0_EN=PE4, MOT0_CS=PD5, # X
MOT1_STEP=PE0, MOT1_DIR=PB9, MOT1_EN=PE1, MOT1_CS=PD7, # Y
MOT2_STEP=PB5, MOT2_DIR=PB4, MOT2_EN=PB8, MOT2_CS=PD4, # Z
MOT3_STEP=PD6, MOT3_DIR=PD3, MOT3_EN=PB3, MOT3_CS=PD9, # E0
MOT4_STEP=PD15, MOT4_DIR=PA1, MOT4_EN=PA3, MOT4_CS=PD8, # E1
# Heaters
BED_OUT=PA0,
HE0=PE5,
HE1=PB0,
# Thermistors
TB=PC0,
T0=PC1,
T1=PA2,
# Fans
FAN0=PC14,
FAN1=PB1,
# Endstops
ESTOP0=PA15,
ESTOP1=PD2,
ESTOP2=PC8,
ESTOP3=PC4,
ESTOP4=PE7,
# EXP1 header
EXP1_1=PC5, EXP1_2=PE13,
EXP1_3=PD13, EXP1_4=PC6,
EXP1_5=PE14, EXP1_6=PE15,
EXP1_7=PD11, EXP1_8=PD10,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PE8, EXP2_4=PE10,
EXP2_5=PE11, EXP2_6=PA7,
EXP2_7=PE12, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=<5V>

View File

@ -0,0 +1,305 @@
# This file contains common pin mappings for the Makerbase Eagle / Robin
# Nano V3.
# To use this config, the firmware should be compiled for the
# STM32F407 with a "48KiB bootloader", "8MHz crystal" Clock reference,
# and USB (on PA11/PA12) Communication interface.
# The Eagle can be flashed with `make flash FLASH_DEVICE=0483:df11` by
# booting the MCU with the BOOT0 button pressed. The Robin Nano V3.x cannot
# be flashed with `make flash`, but can instead be flashed from microSD or
# USB disk.
## clee's VORON 0.1 Makerbase board-pins config
## *** THINGS TO CHANGE/CHECK: ***
## MCU path [mcu] section
## Z and Extruder motor currents [tmc2209 stepper_*] sections. Uncomment the stepper motor you have
## Full steps per rotation for Extruder [extruder] section
## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
## Extruder motor currents [extruder] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section
## For more info check https://docs.vorondesign.com/build/startup/#v0
[mcu]
#####################################################################
# Obtain definition by "ls -l /dev/serial/by-id/"
#####################################################################
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_REPLACE_WITH_YOUR_VALUE
[printer]
kinematics: corexy
max_velocity: 200
max_accel: 2000
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 6.0
[include mks_eagle_v1_pin_aliases.cfg]
#####################################################################
# X/Y Stepper Settings
#####################################################################
[stepper_x]
step_pin: MOT0_STEP
## Refer to https://docs.vorondesign.com/build/startup/#v0
dir_pin: MOT0_DIR # Check motor direction in link above. If inverted, add a ! before PB12
enable_pin: !MOT0_EN
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: ^!ESTOP0
position_endstop: 120
position_max: 120
homing_speed: 50 # Can be increased after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_x]
uart_pin: MOT0_CS
interpolate: False
run_current: 0.5
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
[stepper_y]
step_pin: MOT1_STEP
## Refer to https://docs.vorondesign.com/build/startup/#v0
dir_pin: MOT1_DIR # Check motor direction in link above. If inverted, add a ! before PB2
enable_pin: !MOT1_EN
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: ^!ESTOP1
position_endstop: 120
position_max: 120
homing_speed: 50 # Can be increased after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_y]
uart_pin: MOT1_CS
interpolate: False
run_current: 0.5
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# Z Stepper Settings
#####################################################################
[stepper_z]
step_pin: MOT2_STEP
dir_pin: !MOT2_DIR # Remove the ! before PC5 if motor direction is inverted.
enable_pin: !MOT2_EN
rotation_distance: 8 # For T8x8 integrated lead screw
microsteps: 32
endstop_pin: ^ESTOP2
position_endstop: -0.10
position_max: 120
position_min: -1.5
homing_speed: 10
second_homing_speed: 3.0
homing_retract_dist: 3.0
[tmc2209 stepper_z]
uart_pin: MOT2_CS
interpolate: False
## For OMC (StepperOnline) 17LS13-0404E-200G 0.4A
#run_current: 0.2
## For LDO-42STH25-1004CL200E 1.0A
#run_current: 0.37
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# Thermistor definitions
#####################################################################
[thermistor Trianglelab NTC100K B3950]
## values calibrated against a PT100 reference
temperature1: 25.0
resistance1: 103180.0
temperature2: 150.0
resistance2: 1366.2
temperature3: 250.0
resistance3: 168.6
#####################################################################
# Extruder
#####################################################################
[extruder]
step_pin: MOT3_STEP
dir_pin: MOT3_DIR # Add ! if moving opposite direction
enable_pin: !MOT3_DIR
#full_steps_per_rotation: 200 # Set to 200 for LDO 1.8° stepper motor, and set to 400 for OMC(StepperOnline) 0.9° stepper motor
rotation_distance: 22.23 # See calibrating rotation_distance on extruders doc
gear_ratio: 50:10 # For Mini Afterburner
microsteps: 32
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: HE0
## 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: Trianglelab NTC100K B3950 # Adjust for your hotend thermistor.
sensor_pin: T0
control: pid # Do PID calibration after initial checks
pid_Kp: 28.182
pid_Ki: 1.978
pid_Kd: 100.397
min_temp: 0
max_temp: 270
min_extrude_temp: 170
max_extrude_only_distance: 150
max_extrude_cross_section: 0.8
pressure_advance: 0.0 # See tuning pressure advance doc
pressure_advance_smooth_time: 0.040
[tmc2209 extruder]
uart_pin: MOT3_CS
interpolate: False
## For OMC (StepperOnline) 14HR07-1004VRN 1A 0.9°
#run_current: 0.5 # for OMC 14HR07-1004VRN rated at 1A
## For LDO LDO 36STH17-1004AHG 1A 1.8°
#run_current: 0.3 # for LDO 36STH17-1004AHG
stealthchop_threshold: 0 # Set to 0 for spreadcycle, avoid using stealthchop on extruder
#[extruder1]
#step_pin: MOT4_STEP
#dir_pin: !MOT4_DIR
#enable_pin: !MOT4_EN
#heater_pin: HE1
#sensor_pin: T1
#[tmc2209 extruder1]
#uart_pin: MOT4_CS
## For OMC (StepperOnline) 14HR07-1004VRN 1A 0.9°
#run_current: 0.5 # for OMC 14HR07-1004VRN rated at 1A
## For LDO LDO 36STH17-1004AHG 1A 1.8°
#run_current: 0.3 # for LDO 36STH17-1004AHG
#stealthchop_threshold: 0
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
heater_pin: BED_OUT
## 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 # For Keenovo, verify yours
sensor_pin: TB
smooth_time: 3.0
#max_power: 0.6 # Only needed for 100w pads
min_temp: 0
max_temp: 120
control: pid # Do PID calibration after initial checks
pid_kp: 68.453
pid_ki: 2.749
pid_kd: 426.122
#####################################################################
# Fan Control
#####################################################################
[heater_fan hotend_fan]
# FAN1
pin: FAN0
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
#fan_speed: 1.0 # You can't PWM the delta fan unless using blue wire
[fan]
# FAN2
pin: FAN1
max_power: 1.0
kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start
off_below: 0.13
cycle_time: 0.010
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
[safe_z_home]
home_xy_position: 120,120
speed: 50.0
z_hop: 5
## To be used with BED_SCREWS_ADJUST
[bed_screws]
screw1: 60,5
screw1_name: front screw
screw2: 5,115
screw2_name: back left
screw3: 115,115
screw3_name: back right
#####################################################################
# Macros
#####################################################################
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - please customize for your slicer of choice
gcode:
G28 ; home all axes
G1 Z20 F3000 ; move nozzle away from bed
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customize for your slicer of choice
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-4.0 F3600 ; retract filament
G91 ; relative positioning
# Get Boundaries
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}
# Check end position to determine safe direction to move
{% if printer.toolhead.position.x < (max_x - 20) %}
{% set x_safe = 20.0 %}
{% else %}
{% set x_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.y < (max_y - 20) %}
{% set y_safe = 20.0 %}
{% else %}
{% set y_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.z < (max_z - 2) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - printer.toolhead.position.z %}
{% endif %}
G0 Z{z_safe} F3600 ; move nozzle up
G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing
TURN_OFF_HEATERS
M107 ; turn off fan
G90 ; absolute positioning
G0 X60 Y{max_y} F3600 ; park nozzle at rear
[gcode_macro LOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
G1 E30 F300 ; load
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
[gcode_macro UNLOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-40 F1800 ; retract some, but not too much or it will jam
M82 ; set extruder to absolute