CR-10 V2 Extruder not operating as expected, new Klipper install

Basic Information:

Printer Model: Creality CR-10 V2 w/BL-Touch
MCU / Printerboard: Creality V2.5.2 / AVR atmega2560
octoprint-systeminfo-20221220222239.zip (249.7 KB)
Klipper terminal readout.txt (6.8 KB)

Describe your issue:

Installed OctoKlipper on Raspberry Pi 3B+, flashed klipper to CR-10 V2 printer, ran through klipper3D installation steps and everything works (hotend, bed, x, y, z, mesh bed leveling, PID tune) other than the Extruder. Have tried to research to verify pins for extruder but cannot find much information other than the klipper example files for printer.confg for CR-10 V3 and that the V2 board with the atmega2560 follows the RAMPS pins I believe.

Therefore my pins are as follows:
[extruder]
step_pin: PA4 # ar26
dir_pin: !PA6 # !ar28
enable_pin: !PA2 # !ar24

What happens when I boot up printer and octo-klipper and connect, I home the axis, heat up hotend, hit extrude or send the gcode for it (G1 E5 F600) and nothing happens. Inspecting the printer, the x/y/z motors are locked up as they are powered (should be) but the extruder is free moving and off. When I click motors off or send code M82, the x/y/z motors click and are free to move but the extruder locks up like it is powered.

I have switched the X-axis and extruder plugs and have verified the motor moves, and ran the x-axis with the extruder cable so it is not damaged cable nor motor. My limited knowledge leaves me to believe somehow I have the wrong pin assigned or something isn’t being directed correctly for the extruder to run.

Please help.

Well, on the surface it looks like your enable_pin is logically inverted. Although I am not sure why it would be different that other Creality configurations with the same board.

What happens if you remove the leading ! in the enable_pin definition?

@wilmibo97
Can you please also share the klippy.log ?

klippy.log.2022-12-20.txt (15.9 KB)
Sorry, was a late frustrating night and was not up to researching how to pull that for original post. Hopefully that has the information required.

if I remove the leading ! in the enable_pin definition, it locks up today like it should… wasn’t doing that last night, might have been a result of me changing things too often and forget to reset the firware after one test?

But after running a homing sequence, heating up the hotend and bed, and everything still verified as ā€œlocked upā€, as soon as I click the button to extrude or retrack, the extruder motor doesn’t move and is now move-able. like it’s not being powered but all the other motors are still locked.

hopefully that makes sense.

You may try a different rotation distance:

rotation_distance: 7.7201944 # 16 microsteps * 200 steps/rotation / steps/mm

From here: klipper/printer-creality-cr10-v3-2020.cfg at master Ā· Klipper3d/klipper Ā· GitHub

klippy.log (626.2 KB)
Unfortunately, modifying ā€˜rotation_distance’ did not change anything. (re-uploaded klippy.log to make sure I did it right to change it)

Unfortunately this does not make sense when combined with your original report.

The original description suggested that the extruder stepper was enabled when it was supposed to be disabled and vice-versa - it was disabled when it was supposed to be enabled.

However, your present description suggests that the same behaviour occurs when the enable_pin logic is inverted.

The Creality V2.5.2 board pinout should be identical on the V2 to what it is on V3, as long as the two boards are indeed V2.5.2. Are you sure your board is V2.5.2? I have no idea what else to suggest unless perhaps you have a blown extruder driver?

Maybe I got my response twisted, I apologize.

Right now with the enable_pin inverted, the behavior is as expected for the motor being powered.

as for the board, I am unsure as to what I would be looking for in a blown extruder driver. I see there’s an E1 and E2, but if I remember reading something the other day that the E2 plug doesn’t actually have a driver tied to it… see attached image.

So is your extruder working normally with the enable pin inverted or are you still having issues?

A ā€œblown driverā€ would effectively be a damaged TMC chip that is no longer functioning correctly. It’s typically not possible to tell visually. But the fact that your motor gets enabled and holds torque would be indicative that the driver is functioning correctly.

If you look at your board photo, one of the TMC driver chips is not installed (right next to the SD card slot). This would be the driver position associated with E2.

With the enable pin inverted, the motor holds torque when everything else is powered and moving, but when I send a command to extrude or retract filament with G1 or G0 E20 F600 (for example) the extruder motor does not move and stops holding torque.

Later today when I have access to the printer I’ll try plugging the extruder cable into the x motor and send the same signal and see if the x axis moves. Maybe the motor is dead? Is it possible to fry a motor at any point while trouble shooting? It was working days ago before flashing klipper.

Ok, so if you then remove the pin inverting and return everything back to normal what happens? The overall behaviour still does not seem to make any sense to me.

Have you checked the wiring of the extruder motor? Lose contacts, broken wires?
In worst case, the extruder stepper driver can be broken.

Finally had time to completely wipe firmware from printer and raspberry pi, installed fresh octopi via raspberry pi imager, manually installed klipper using documentation instead of using raspberry pi imager [octoklipper]. Utilized printer-creality-cr10-v3-2020.cfg with uncommented sections for BL-touch, and all stepper motors are responding as expected. I’m not sure what happened but I will chock it up to ā€œdid you try to reinstall the firmware/software?ā€ sort of solution…

1 Like