Extruder motors not working?

  • I've connected the extruder motor to E0 on the Duet.

    config.g has:
    M563 P0 D0 H1 ; Define tool 0 (T0)
    M906 E900

    I select the tool in DWC, either by entering T0, or by clicking "Heater 1" - it says "active" under "Heater 1" after I do this.

    I enter M302 to allow cold extrusion.

    I scroll down in DWC to retract or extrude, but although the printer state changes from Idle to Busy for a moment, the extruder motor doesn't move or make any noise.

    To troubleshoot, I plugged the X motor wires into the E0 position on the Duet and retried, but the X motor did not move. I'm not sure if its my imagination or not, but I hear a very tiny noise temporarily for 2 seconds (and config.g has M84 S2).

    Any other troubleshooting ideas? I really hope it is not the board! But how to know for sure?

  • administrators

    @jml what's your steps/mm jerkand acceleration set to for that axis?

  • And btw, there are no messages in the g-code console other than normal stuff such as:

    G1 E-5 F300

  • @t3p3tony Thanks for the quick reply. I've copied and pasted what you've asked for in the order they appear in config.g

    M92 X1600 Y1600 Z1600 U1600 V1600 E645 ; Set steps per mm ;
    M566 X900 Y900 Z12 U12 V12 E120 ; Set maximum instantaneous speed changes (mm/min) (jerk);
    M201 X500 Y500 Z100 U100 V100 E250 ;

  • When I switch the motor connectors for the Extruder motor and the X motor on the Duet, and set both motor currents to 900 mA, the Extruder motor will move when I "home" X and send G1 X# commands. But if I try to retract or extrude, the actual X motors won't move.

  • Moderator

    @jml said in Extruder motors not working?:

    M92 X1600 Y1600 Z1600 U1600 V1600 E645 ; Set steps per mm ;

    This seems very off. Are all of your axis really using 1600 steps per mm? Or have you just not set those yet? The extruder value is different, but are you sure that's what your extruder would be using?

    What kind of extruder do you have?

    You can calculate your expected esteps using this formula.
    e_steps_per_mm = (motor_steps_per_rev * driver_microstep) * (big_gear_teeth / small_gear_teeth) / (hob_effective_diameter * pi)

  • @phaedrux The axes move as expected. They move the expected amount when I give it movement commands.

    The extruder is this: https://dyzedesign.com/helpdesk/faq/how-can-i-setup-and-install-my-new-dyzextruder-gt-extruder/
    and its steps are 645 steps per mm when set to 1/16 microstepping according to the link. Hmmmmm

  • Moderator

    So just to be clear, when you put the extruder motor on the X axis driver, the motor worked, and when you put the X motor on the extruder axis driver, it didn't work?

    If that is the case, the driver may be damaged.

  • Luckily I have 3 more motor drivers that are unused so I'll test those too. I think I tested one yesterday and it didn't work, but I'll test the others. What are the chances multiple drivers become damaged? I checked my input voltage to the Duet and its 24.15V, so that should be ok.

    Is there a way I can use my multimeter and/or g-code commands to know for certain if the stepper driver is bad or to rule that possibility out?

    I have a feeling though that maybe its some config.g thing, or maybe something to do with disconnected heaters. So if trying the other extruder drivers doesn't work, I will redo the config.g file to be as simple as possible for 1 extruder instead of 3, then expand to 3 once 1 is working.

  • @phaedrux Yes, when I put the extruder motor on the X axis driver it worked. And when I put the x motor on the extruder axis driver, it didn't work. I'll repeat that test with the spare extruder drivers making sure to set up config.g correctly.

  • Moderator

    Double check your wiring and crimps and only unplug a motor when powered down, just to be extra safe that a bad motor or wiring is causing the damage.

  • @phaedrux Yes I've been careful about turning the printer off before disconnecting/connecting anything at all really.

    Another idea I had for troubleshooting is to map the X motor to the E0 driver (and plugging the x motor into the E0 terminal). To do that, I would use M584 X4, right??? If the X motor turns, then we know that the E0 driver works, and that the problem must be a config.g thing.

    Will test soon.

  • @phaedrux I think a wiring/crimping issue can be ruled out because of the test where I switched the extruder motor wire with the X motor (I switched them at the Duet side, not the motor side). Since the extruder motor turned in this case, it shows no issue with the extruder motor's wiring to the Duet.

  • FIXED IT. All I did to fix it was add E3 to M584. It appears that with M584, I only assigned axis motors, but not any Extruder motors. I knew never to doubt the board!

    But why did I neglect to assign it? Because I thought that M563 is how you assign a motor driver to an extruder. Oops.

  • Moderator

    Glad you got it sorted out

Log in to reply