Klipper: BTT SKR e3Turbo

Created on 17 Nov 2020  路  17Comments  路  Source: KevinOConnor/klipper

Hello
I have problems getting klipper to work on the new SKR e3 turbo.
klippy(5).log

I have this error message: Unable to read tmc uart 'stepper_x' register IFCNT
Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.
Printer is halted

please help me

All 17 comments

#tx_pin:
#   If using separate receive and transmit lines to communicate with
#   the driver then set uart_pin to the receive pin and tx_pin to the
#   transmit pin. The default is to use uart_pin for both reading and
#   writing.

thank you but how i do that?

Remove the line tx_pin:xxx on all tmc

I'm sorry, that was just an attempt, it doesn't work even without this entry.

AUTOCREATED BY KIAUH

[include kiauh.cfg]

[stepper_x]
step_pin: P1.4
dir_pin: P1.8
enable_pin: !P1.0
step_distance: .0125

step_distance: 0.00625

endstop_pin: ^P1.29
position_endstop: 0
position_max: 235
homing_speed: 50

[tmc2209 stepper_x]
uart_pin: P1.1
microsteps: 16
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 250

[stepper_y]
step_pin: P1.14
dir_pin: P1.15
enable_pin: !P1.9
step_distance: .0125

step_distance: 0.00625

endstop_pin: ^P1.28
position_endstop: 0
position_max: 235
homing_speed: 50

[tmc2209 stepper_y]
uart_pin: P1.10
microsteps: 16
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 250

[stepper_z]
step_pin: P4.29
dir_pin: !P4.28
enable_pin: !P1.16
step_distance: .0025

step_distance: 0.00125

endstop_pin: ^P1.27
position_endstop: 0.0
position_min: -0.5
position_max: 250

[tmc2209 stepper_z]
uart_pin: P1.17
microsteps: 16
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 5

[extruder]
step_pin: P2.6
dir_pin: !P2.7
enable_pin: !P0.4
step_distance: .007143

step_distance: .0035715

nozzle_diameter: 0.400
filament_diameter: 1.750
Pressure_advance: 0.3

max_extrude_only_accel: 3000

heater_pin: P2.3
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.24
control: pid
pid_Kp: 26.772
pid_Ki: 1.803
pid_Kd: 99.390
min_temp: 0
max_temp: 250

[tmc2209 extruder]
uart_pin: P0.5
microsteps: 16
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 0

[heater_bed]
heater_pin: P2.5
sensor_type: ATC Semitec 104GT-2
sensor_pin: P0.25
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: P2.1

[mcu]
serial: /dev/serial/by-id/usb-Klipper_lpc1769_06100005A49869AFEADE3E5EC22000F5-if00

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[board_pins]
aliases:
# EXP1 header
EXP1_1=P2.8, EXP1_3=P0.19, EXP1_5=P0.20, EXP1_7=P0.17, EXP1_9=,
EXP1_2=P0.16, EXP1_4=, EXP1_6=P0.15, EXP1_8=P0.18, EXP1_10=<5V>

[display]
lcd_type: st7920
cs_pin: EXP1_7
sclk_pin: EXP1_6
sid_pin: EXP1_8
encoder_pins: ^EXP1_5, ^EXP1_3
click_pin: ^!EXP1_2

[virtual_sdcard]
path: ~/sdcard

[pause_resume]
[display_status]

IMG_20201117_180540

Are the settings for the flash correct?

It looks like this board has a new "low power standby" feature which might require some pins to be set at microcontroller startup in order for the TMC drivers to work. Someone more knowledgeable than me will need to take a look.

https://github.com/MarlinFirmware/Marlin/pull/19500

The list of standby pins is here.

It looks like they need to be pulled low during startup if I'm understanding the Marlin PR correctly.

Thank you
How can I control the pins?
Yes, I think the standby feature will trigger this problem

I did it, I entered the GPIO pins of the standby in the make menuconfig and it works!

BTT SKR E3 Turbo
LPC1769 120 MHZ####
GPIO pins in Menuconfig !P.3.26, !P3.25, !P1.18, !P1.19
Standby Pins X:3.26 Y:3.25 Z:1.18 E0:1.19 E1:2.13 #####

[include kiauh.cfg]

[tmc2209 stepper_x]
uart_pin: P1.1
microsteps: 16
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 250

[tmc2209 stepper_y]
uart_pin: P1.10
microsteps: 16
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 250

[tmc2209 stepper_z]
uart_pin: P1.17
microsteps: 16
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 5

[tmc2209 extruder]
uart_pin: P0.5
microsteps: 16
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 0

[stepper_x]
step_pin: P1.4
dir_pin: !P1.8
enable_pin: !P1.0
step_distance: .0125

step_distance: 0.00625

endstop_pin: ^P1.29
position_endstop: 0
position_max: 235
homing_speed: 50

[tmc2209 stepper_x]

uart_pin: P1.1

microsteps: 16

run_current: 0.580

hold_current: 0.500

stealthchop_threshold: 250

[stepper_y]
step_pin: P1.14
dir_pin: !P1.15
enable_pin: !P1.9
step_distance: .0125

step_distance: 0.00625

endstop_pin: ^P1.28
position_endstop: 0
position_max: 235
homing_speed: 50

[tmc2209 stepper_y]

uart_pin: P1.10

microsteps: 16

run_current: 0.580

hold_current: 0.500

stealthchop_threshold: 250

[stepper_z]
step_pin: P4.29
dir_pin: P4.28
enable_pin: !P1.16
step_distance: .0025

step_distance: 0.00125

endstop_pin: ^P1.27
position_endstop: 0.0
position_min: -0.5
position_max: 250

[tmc2209 stepper_z]

uart_pin: P1.17

microsteps: 16

run_current: 0.580

hold_current: 0.500

stealthchop_threshold: 5

[extruder]
step_pin: P2.6
dir_pin: !P2.7
enable_pin: !P0.4
step_distance: .007143

step_distance: .0035715

nozzle_diameter: 0.400
filament_diameter: 1.750
Pressure_advance: 0.3

max_extrude_only_accel: 3000

heater_pin: P2.3
sensor_type: EPCOS 100K B57560G104F
sensor_pin: P0.24
control: pid
pid_Kp: 26.772
pid_Ki: 1.803
pid_Kd: 99.390
min_temp: 0
max_temp: 250

[tmc2209 extruder]

uart_pin: P0.5

microsteps: 16

run_current: 0.650

hold_current: 0.500

stealthchop_threshold: 0

[heater_bed]
heater_pin: P2.5
sensor_type: ATC Semitec 104GT-2
sensor_pin: P0.25
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: P2.1

[mcu]
serial: /dev/serial/by-id/usb-Klipper_lpc1769_06100005A49869AFEADE3E5EC22000F5-if00

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[static_digital_output buzzer]
pins: !P2.8

[board_pins]
aliases:
# EXP1 header
EXP1_1=P2.8, EXP1_3=P0.19, EXP1_5=P0.20, EXP1_7=P0.17, EXP1_9=,
EXP1_2=P0.16, EXP1_4=, EXP1_6=P0.15, EXP1_8=P0.18, EXP1_10=<5V>

[display]
lcd_type: st7920
cs_pin: EXP1_7
sclk_pin: EXP1_6
sid_pin: EXP1_8
encoder_pins: ^EXP1_5, ^EXP1_3
click_pin: ^!EXP1_2

[virtual_sdcard]
path: ~/sdcard

[pause_resume]
[display_status]

meine config f眉r das skr e3 turbo !!

printer.zip

This also fixed the communication fault for me. To summarize, when building the firmware for the E3 Turbo, the following GPIO pins need to be named in "make menuconfig" to pull them down on startup:

!P.3.26, !P3.25, !P1.18, !P1.19, !P2.13

FYI, it's better to not modify "make menuconfig" and instead add the following to printer.cfg:

[static_digital_output tmc_standby_pins]
pins: !P3.26, !P3.25, !P1.18, !P1.19, !P2.13

-Kevin

Thanks Kevin I'll give that a shot. Can you elaborate at all on why that's a better way? I am still working to get my head around the klipper ecosystem.

Just that it's easier to modify and view printer.cfg.

-Kevin

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jannoke picture jannoke  路  3Comments

Michael-Bell picture Michael-Bell  路  5Comments

KevinOConnor picture KevinOConnor  路  5Comments

speendo picture speendo  路  3Comments

CHILLYSMOKES picture CHILLYSMOKES  路  5Comments