Extruder stopped working



  • Hi All,

    My extruder motor has stopped working in the middle of a print, and now will not spin for any command.

    I have tried an exact replacement stepper motor I have here with no success. I don't think it is the motor.

    I've tried "macro" settings, "load" and "unload" filament (with hotend up to temp), and I've tried the extrusion menu as well. No go.

    I haven't changed any settings etc, nor updated anything. It has worked brilliantly for a couple of years now.

    Could someone please tell me if there is a code I can enter to check the extruder circuit, or if there's a known fault that occurs?

    I'd like to try something like that before I get pulling the printer apart to check the cable continuity.

    Cheers for any help in advance.



  • Is there anyone out there who could help with this?

    Of course these things only happen when I need to use the printer lol...



  • Your extruder driver could be blown, try remapping the extruder to the E1 and see if that fixes your problem.
    Also make sure that the cable to the extruder is intact (put a motor with a different cable on the board)



  • OK, thank you.

    How do I "remap" the extruder? In the config file?

    I'm assuming my extruder is running on E0 right now? That's actually a nice idea if one driver's gone, to use the other. Saves replacing the board.

    Of course yes I need to clear off the bench and check the wiring as well. Good Idea to connect it directly to the board via a different cable to test it. I was intending to use a multimeter to check the wiring.

    Considering I'm crap with the programming and haven't updated anything, this thing has just pounded tons (almost literally) of filament through it over a couple of years now. I can forgive it if something's finally died to be honest.

    If I work it out I'll report back in case someone has the same issue.

    Cheers again.



  • https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping
    To remap a driver you'll need to edit the M584 command in your config.g file. And change the plug over obviously.



  • Hi all and thanks so far.

    I've had a bit of a look today, and tested the continuity of the wires with a meter. All good there it seems.

    I've looked into using the other extruder motor driver with no luck, but I'm pretty sure I've missed something here.

    For a start I don't see M584 there at all. I've tried changing the plug on the board across to E1 and changing M563 from this:

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    T0

    To this:

    ; Tools
    M563 P1 D1 H1 ; Define tool 0
    G10 P0 X0 Y0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    T0

    It's only a single extruder machine, so I'd just like to know for sure that using the E1 driver will or won't help.

    I'd really appreciate some help here, cheers in advance.

    Full config.g below:

    ; Configuration file for Duet WiFi
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time)

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X195 Y195 Z175 S0 ; Set axis maxima
    M557 X20:180 Y20:180 S40

    ; Endstops
    M574 Z0 S0 ; Define active low and unused microswitches
    M574 X1 Y1 S1 ; Define active high microswitches
    M558 P1 X0 Y0 Z1 H5 F600 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y0 Z2.4 ; Set Z probe trigger value, offset and trigger height

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
    M92 X80 Y80 Z800 E127 ; Set steps per mm
    M566 X1600 Y1600 Z12 E800 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z1200 E8000 ; Set maximum speeds (mm/min)
    M201 X1200 Y1200 Z20 E1200 ; Set accelerations (mm/s^2)
    M906 X1100 Y1100 Z800 E600 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S280 ; Set maximum extruder temperature to 280C
    M143 H0 S140 ; Set maximum bed temperature to 140C
    M305 P0 T100000 B4000 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4138 C0 R4700 L0 H0 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200
    M307 H0 A144.9 C625.3 D1.0 B0
    M307 H1 A999.7 C377.6 D13.5 B0

    ; Tools
    M563 P1 D1 H1 ; Define tool 0
    G10 P0 X0 Y0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    T0

    ; Network
    M550 PZortrax M200 ; Set machine name
    M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured



  • Not having a M584 in your config means that the firmware is using the default mappings for the drivers.

    To switch from using E0 to E1 you'll have to swap the plug for starters, and then you'll have to add an M584 line to your config.g that remaps the extruder to E1. Note that M584 must come earlier in config.g than any M350 and M906 commands.

    M584 X0 Y1 Z2 E4

    X Y and Z stay the same, and E moves from driver 3 to driver 4.

    You can send that command in the gcode console to test it. You will either need to heat up to temp or allow cold extrusion with M302 P1 to get the extruder motor to move with a G1 E1 command.



  • Thanks Phaedrux,

    I've had a good look today, and it does look like there's a fair bit of corrosion damage all over the board. We live literally 100m from the beach and get salt spray everywhere. The wiring continuity was all tested thoroughly OK.

    In messing around with the thing I've also hit the reset button as well, so now it's stone dead. To be honest it's been acting funny for a while now, not just the extruder. I don't even mind fitting up the new board, as it's lasted longer than most electronics do at my place with all the salt.

    I've actually always had a brand new board sitting here, as I was going to build 2 of these, so I've pulled it out and managed to get it all updated to the latest firmware and connected to a different wifi account. Given my lack of computer skills it's been a big achievement.

    Bit worried I've used the wrong firmware or something though...My DWC is called MiniKosselWifitest, and everything in the config file seems to be about a delta...is this just a setting issue or have I installed the wrong thing?

    Can it be as simple as me cutting and pasting my old config/bed/home files, or has it all changed with the later versions (I was literally running 1.15 or something like that)?

    Or is there a "setup wizard" I can just enter my old settings into at least?

    I'd like to just plug in the new board and get going again. I can play around with the old one later, but I'm pretty sure it's buggered.

    I appreciate your replies by the way, thanks very much.



  • If you have your old config files on the SD card, you might be able to upload the config.json file to the web configurator, but 1.15 is quite old.

    If you use the same SD card and config file on the new board it may work, but it would depend on what firmware is on the new board as many things have changed since 1.15.

    I think your best bet may be to follow this guide for getting the latest firmware onto the board, and then using the web configurator to generate a new set of config files.

    https://duet3d.dozuki.com/Guide/1.)+Getting+Connected+to+your+Duet/7

    https://configtool.reprapfirmware.org/Start



  • Cheers again.

    I think I'd be best off running the configurator, and using the old config file for reference.

    I'll give that a go, and thanks very much for your help.



  • Ok...so this just gets stranger.

    I did upload the json file into the configurator and it worked, at least for dimensions and directions. The bed heater temp is OK, but the extruder is reading 2000degC. I've got a feeling that it's thinking I've got a PT1000 installed, not a PT100?

    But I've still got the same problem with the extruder...nothing. This is with a brand new board, fully updated. I've checked the continuity of the wiring continuously, and today I made a short harness which I (after rechecking its continuity) fitted straight to the board with 2 different steppers. Same thing, won't extrude via extrusion menu or load filament option.

    How is this possible??

    I guess now I've got to check the output direct from the board...what would volts (ac/dc?) would I be looking for at the pins when stepper is activated?

    Would there be a wiring fault in another part of the board that could cause this?

    Bear in mind that this machine has never broken down in 3 years, and while my programming is crap I have a very big background in wiring harnesses and looms, and all the right equipment. I just can't see now how this is happening.

    David/Staff...could you please help me out here, as this is getting tricky?



  • This new board won't hold the wifi connection either...keeps dropping out unless I've start the wifi module with YAT.



  • @Corexy said in Extruder stopped working:

    won't extrude via extrusion menu or load filament option.

    See my note above about cold extrusion. You either need to heat up the extruder or send the command to allow the extruder motor to move without being at temp.

    I've start the wifi module with YAT.

    Do you have a command in your config.g to enable networking?

    Can you post your config.g file?



  • Thanks Phaedrus,

    I do appreciate your continued and patient help.

    The loss of connection is simply wifi range. I've moved the machine into the living area where signal is strong, and it's staying connected. On the previous motherboard I had a dongle in the garage (which costs and extra plan), and this time I was trying to connect to the house wifi which is unlimited. We have a range extender in the hall to the garage, but it's not helping unfortunately.

    I was aware of the heat to extrude rule, but the machine broke down while hot and in the middle of a print, and before I stripped it down I heated the extruder to try and test it. Right now the extruder temp is reading 2000.0 by the way. If you want to add a command to ignore extruder temp for now, that's fine with me and will probably be helpful.

    Here's my config.g file. I don't think I've changed anything since the configurator.

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Mon Nov 18 2019 18:31:11 GMT+1100 (Australian Eastern Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Zortrax M200" ; set printer name

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S1 ; physical drive 0 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I0 ; configure microstepping without interpolation
    M92 X80.00 Y80.00 Z800.00 E420.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z300.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z250.00 E250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X195 Y195 Z175 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 S1 ; set active high endstops
    M574 Z1 S2 ; set endstops controlled by probe

    ; Z-Probe
    M558 P1 H5 F300 T6000 ; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X15:195 Y15:195 S20 ; define mesh grid

    ; Heaters
    M305 P0 T100000 B4000 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M305 P1 X201 ; configure PT100 for heater 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined



  • @Corexy said in Extruder stopped working:

    M305 P1 X201

    If your PT100 is connected to the first port on the daughterboard this command should be M305 P1 X200

    That might solve your -2000 temp problem, which may solve the no extruding problem.



  • That got it (thank you), but I'm not convinced we got the root cause. Temp is now correct. Obviously the json file doesn't upload exactly to the configurator, but I'll take what it's given me.

    When I first fired it up, I got a "driver phase disconnected" message, something to that effect.

    I plugged in my test motor/lead and it worked in reverse and too fast, so I dialled back my steps/mm and reversed it, all good. I plugged in the usual motor/wiring, and it worked this time. I wiggled the wiring around, but can't reproduce the fault (intermittent, the worst kind). If it goes out to lunch again in the middle of a print I know I have to rerun the long and difficult extruder wires. I recrimped the ends (but it didn't work for a while still), or maybe there was a dirty connection after all these years, but if it does it again it's a rewire for sure.

    Are you staff Phaedrux? Do you mind taking me through some other things? I'd greatly appreciate it. Once I've got it up and running I'll be fine to adjust my bed height etc, and I'll go back to old posts to see what I did with probing etc.

    I'll start with Z homing...won't do it. Homes X and Y correctly, but Z won't home or respond to commands. I'll post my homing files. I haven't set my IR sensor yet either.



  • Homeall:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Mon Nov 18 2019 18:31:12 GMT+1100 (Australian Eastern Daylight Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-200 Y-200 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G90 ; absolute positioning
    G1 H2 X97.5 Y97.5 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    G91 ; relative positioning
    G1 S2 Z5 F100 ; lift Z relative to current position
    G90 ; absolute positioning

    Homex:

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Mon Nov 18 2019 18:31:12 GMT+1100 (Australian Eastern Daylight Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-200 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 H2 X5 F6000 ; go back a few mm
    G1 H1 X-200 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    Homey"

    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Mon Nov 18 2019 18:31:12 GMT+1100 (Australian Eastern Daylight Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Y-200 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 H2 Y5 F6000 ; go back a few mm
    G1 H1 Y-200 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    Homez:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Mon Nov 18 2019 18:31:12 GMT+1100 (Australian Eastern Daylight Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 H2 X15 Y15 F6000 ; go to first probe point
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    G91 ; relative positioning
    G1 H2 Z5 F100 ; lift Z relative to current position
    G90 ; absolute positioning



  • @Corexy said in Extruder stopped working:

    driver phase disconnected

    Yes that could indicate exactly what it says, a disconnected phase of the motor wiring, either a bad wire, corroded connector, or even possibly a bad driver. But the fact that this is a different board than the one you started with I would suspect that it's not the driver but actually the wiring. And from the salt air comments, I'd think corrosion. Unfortunately, disconnecting a motor while it's running like that is a good way to damage the driver chips, so best to get that sorted before doing too much heavy testing.



  • You may need to test your z motor movement by itself to see if it needs to be reversed or if the steps per mm are correct.

    You can send G92 Z0 in the console to force the Z axis to act as homed and at Z0 position. Then you can use the jogging buttons to attempt to move it up and down. Start slowly. If possible, adjust the z axis manually to get it clear of the physical endstops first.



  • Yes...I'm with you on that. I'm thinking corrosion as there's no movement of the cables at the plug ends. There was certainly plenty of corrosion on the second/unused extruder driver pins. I've got plenty of slack there, so I might drag the cables through a bit and redo the crimps/plugs both ends.

    You're talking about the Z sensor height setting procedure? Yes I can do that. I'd forgotten about G92 Z0 allowing it to move "unhomed".

    Another issue is that I can't use the house wifi as it's too weak in the garage, and I want to cancel the contract on the dongle I've used in the past. My phone has a 5gb monthly quota that I never use, and when I tested it's signal as a hotspot it was much stronger than the dongle. I would like to use that, but I've already connected this board to the house wifi via YAT, and it doesn't seem to want to change by the same method.

    Can I do it via the DWC?


Log in to reply