3
$\begingroup$

I replaced the fans of my ender 3v2 with Noctuas & Buck converters. During the replacement, I made a mistake and burnt the motherboard (shorted one of the fans). I replaced the motherboard, finished the wiring. The new motherboard is the Creality Ender 3 V2 V4.2.7 Silent Motherboard 32 Bit Mainboard with TMC 2225 Drivers from amazon. The old board with the exact same, but in version 4.2.2

The printer works and auto-home runs normally with marlin (all options by default). Name of the binary: Ender-3 V2_32bit_4.2.7_BLTouch_Marlin_2.0.1_V1.1.1_TMC2225

Klipper version: FIRMWARE_VERSION:v0.9.1-160-g8a6619d1 FIRMWARE_NAME:Klipper When the printer is running Klipper, controlled by an Octoprint, the steppers dont spin. I can hear the gentle "thud" of the motors being energized when I send a "auto-home" command, they rotate for like a baby step (feels like a single vibration more than a spin, like they're "trying" but don't have the power to actually move) and stay stuck there until the auto-home times-out.

I tried running STEPPER_BUZZ STEPPER=stepper_x and the same for the Y axis, but it doesn't look like anything is happening.

I am more or less sure this is a software problem, since the printer works just fine with Marlin but I never had this problem with Klipper before I replaced the motherboard.

I have put aside my custom config and am using the "default" printer.cfg config that I found here (copy/pasted below)

# This file contains pin mappings for the stock 2020 Creality Ender 3
# V2. To use this config, during "make menuconfig" select the
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9)
# communication.

# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC

# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.

# See docs/Config_Reference.md for a description of parameters.

[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: ^PA7
position_endstop: 0.0
position_max: 250

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
microsteps: 16
rotation_distance: 34.406
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command

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

What could be causing the steppers to be stuck with Klipper, but work with Marlin ?

What I tried, with no success (as advised by the internet):

  • Untighten the belts
  • Remove the ! from enable_pin: !PC3 in the config
  • Re-build & flash the firmware instead of reusing the old bin I had kept
$\endgroup$
1
  • $\begingroup$ Doublecheck your microsteps to make sure they are the same between software. 200 steps != 200 steps w/ microsteps @ 4 != 200 steps w/ microsteps @ 16. $\endgroup$ Apr 12, 2021 at 23:38

1 Answer 1

5
$\begingroup$

It seems the pinout scheme changed on the Creality board between the versions V4.2.2 and 4.2.8. For example, PB9 & PC2 were inverted between step_pin and dir_pin.

Using the following Klipper config (found here) allows the motors to do their job again.

[stepper_x]
step_pin: PB9
dir_pin: PC2
enable_pin: !PC3
step_distance: .0125
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB7
dir_pin: PB8
enable_pin: !PC3
step_distance: .0125
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB5
dir_pin: !PB6
enable_pin: !PC3
step_distance: .0025
endstop_pin: ^PA7
position_endstop: 0.0
position_max: 250

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB3
dir_pin: PB4
enable_pin: !PC3
step_distance: 0.010752
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

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

[display]
lcd_type: st7920
cs_pin: PB12
sclk_pin: PB13
sid_pin: PB15
encoder_pins: ^PB14, ^PB10
click_pin: ^!PB2 
```
$\endgroup$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .