Tool was not driven



  • Hello,

    Recently my printer started having problems during the print - extrusion manually works well but during the print, it extrudes just a bit in the beginning and stops everything else.

    G-code console shows that error during the calibration:

    Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault
    

    While temperature is actually okay, stable 60 hotend and 80 bed. I believe it could be linked with non-extrusion during the print as Duet thinks that hotend is too cold.
    Process I use is following - I heat up bed to 80C, then home, then hotend to 60C, then calibration, then hotend to desired temp (currently 240C).

    PID calibration was done
    Any ideas what could be wrong?

    PS: I have tried to add the 4th tower for flying extruder recently, so I believe that could provoke a problem but I have no idea where to start.

    My config:

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sat Feb 02 2019 19:10:31 GMT+0200 (Eastern European Standard Time)
    
    ; General preferences
    G90                                         ; Send absolute coordinates...
    M83                                         ; ...but relative extruder moves
    ; M665 L209:209:209:110 R91.5 H203 B100.0 X0 Y0 Z0.000                    ; Set delta radius, diagonal rod length, printable radius and homed height
    M665 L209:209:209 R91.5 H203 B100.0 X0 Y0 Z0.000
    M666 X0 Y0 Z0             ; Put your endstop adjustments here, or let auto calibration find them
    
    ; Network
    M586 P0 S1                                  ; Enable HTTP
    M586 P1 S0                                  ; Disable FTP
    M586 P2 S0                                  ; Disable Telnet
    
    ; M584 X0 Y1 Z2 U4 E3
    
    ; Drives
    M569 P0 S1                                  ; Drive 0 goes forwards
    M569 P1 S1                                  ; Drive 1 goes forwards
    M569 P2 S1                                  ; Drive 2 goes forwards
    M569 P3 S1                                  ; Drive 3 goes backwards WAS S0
    M569 P4 S0
    M350 X16 Y16 Z16 E16 U16 I1                     ; Configure microstepping with interpolation
    ; M92 X400.00 Y400.00 Z400.00 U400.0 E404.545;         ; Set steps per mm E was 400
    M92 X400.00 Y400.00 Z400.00 E404.545
    ; M566 X1000.00 Y1000.00 Z1000.00 U1000 E3000.00    ; Set maximum instantaneous speed changes (mm/min)
    M566 X1000.00 Y1000.00 Z1000.00 E3000.00
    ; M203 X5000.00 Y5000.00 Z5000.00 U5000 E6000.00    ; Set maximum speeds (mm/min) 3000
    M203 X5000.00 Y5000.00 Z5000.00 E6000.00
    ; M201 X1000.00 Y1000.00 Z1000.00 U1000 E2500.00            ; Set accelerations (mm/s^2) 250
    M201 X1000.00 Y1000.00 Z1000.00 E2500.00
    ; M906 X2000.00 Y2000.00 Z2000.00 U1000 E2000.00 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M906 X2000.00 Y2000.00 Z2000.00 E2000.00 I60
    M572 D0:1 S0.75					; pressure advance
    M84 S30                                     ; Set idle timeout
    
    ; Axis Limits
    M208 Z0 S1                                  ; Set minimum Z
    
    ; M669 X0 Y0 ; FLYING
    
    ; Endstops
    M574 X2 Y2 Z2 U2 S1                               ; Set active high endstops
    
    ; Z-Probe
    M558 P1 H5 I1 R0.4 F300 T6000                       ; P1, Set Z probe type to unmodulated and the dive height + speeds
    G31 Z-0.3 P600              ; Set Z probe trigger value, offset and trigger height
    M557 R30 S9                                 ; Define mesh grid
    
    ; Heaters
    ; NEW? B3950 
    ; OLD B4138 
    ; E3D V6 thermo B4388
    ; M305 P0 T100000 B4138 R4700                 ; Set thermistor + ADC parameters for heater 0
    M305 P0 B4725 C7.060000e-8
    M143 H0 S120                                ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700                 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                                ; Set temperature limit for heater 1 to 280C
    
    ; Fans
    M106 P0 S0.3 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
    
    ; Tools
    M563 P0 D0 H1 F2                               ; 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
    
    ; Automatic saving after power loss is not enabled
    
    ; Custom settings are not configured
    M557 R70 S10 ; probe within a radius of 25mm from the centre with a mesh spacing of 20mm
    M579 X1.015892866 Y1.01156531665572173 ; 1.02
    ;M915 X Y S40 F0 R2
    M501
    

    Config override:

    ; config-override.g file generated in response to M500 at 2020-02-26 11:58
    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L209.000:209.000:209.000:110.000 R90.873 H203.217 B100.0 X-0.717 Y-0.982 Z0.000
    M666 X-0.306 Y-0.158 Z0.464 A0.92 B-0.03
    ; Heater model parameters
    M307 H0 A55.4 C280.2 D4.7 S1.00 V12.4 B0
    M307 H1 A352.2 C136.9 D2.7 S1.00 V12.4 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H3 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00
    

    Firmware version

    M115
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.04 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-11-01b1
    

  • Moderator

    @skayred What firmware version are you running? Send M115 and post response.

    I can't see anything obviously wrong with your config.g, except that your heater tuning isn't in config.g. Can you post your config-override.g? You have M501 at the end of config.g to load it, and any heater tuning will be in that.

    When you start a print, what temperatures do you see? Can you start a print, let it fail, then take a screenshot of the DWC?

    Ian



  • @droftarts hello, please find screenshots attached:priner§1.png printer2.png

    So, it basically starts complaining about the temperature right at the beginning of calibration but plot shows stable picture

    Also, config override and firmware version attached to the first message


  • Moderator

    @skayred I think it's happening because the hot end is quite slow to heat, so the calibration finishes and the print starts before the hot end has got to temperature. Did it used to heat up quicker? Check wiring and connections, or possibly check if the heater is failing.

    There are some warnings before the calibration, which may mean that you have an extruder move in bed.g (or however else you're invoking the calibration), but maybe pressure advance is trying to make the extruder move for some reason.

    Cold extrusion can be enabled, see M302, but is set to disallow any extrusion under 160C. Though I'm not sure you'd want to enable cold extrusion.

    Another option would be to set hot end temperature and wait, using M109 rather than M104, rather than continuing with calibration. Perhaps also re-run the heater tuning with M303 and see if it has changed.

    Can you post the file 'cube-20.gcode', so I can see what's happening at the beginning?

    Probably not hugely important, but you have commented out your M584 command in config.g, however you're using the default mapping, so shouldn't matter. Also, your endstop configuration M574 still includes a U endstop.

    Ian



  • @droftarts well, warnings appear only after 60C was reached and calibration was started, nothing before - on the second screenshot, you can see warnings for each bed touch (I have piezo sensors under).

    About waiting - I also use it, so temperature is reached before any following actions will be done.
    Tuning of the PID I have made right before making the experiment.
    M584 is commented out to keep the 4th tower non-activated for some time, there is some mechanical problems.

    But most importantly, that problem started to appear only after I have made some settings for 4th tower, so I am thinking that it actually could be linked with tool numbering or some other settings that were default and now require additional parameters (maybe heater/thermistor)

    Gcode:
    cube-20.gcode


  • administrators

    @skayred said in Tool was not driven:

    M665 L209.000:209.000:209.000:110.000 R90.873 H203.217 B100.0 X-0.717 Y-0.982 Z0.000

    That line in your config-override.g says there are 4 towers; but you have commented out the M584 command that defined the driver for it. So I think it's trying to use the extruder at the 4th tower.


  • Moderator

    @skayred This is your gcode up to when it's printing the outline around the cube:

    G90
    M82
    M106 S0
    M140 S80 ; set bed temp
    M190 S80 ; wait for bed temp
    G28 ; home all
    M104 S60 ; set calibration extruder temp
    M109 S60 ; wait for extruder temp
    G32 ; auto-level
    G29 S0
    ; G1 X60 F360 ; keep hotend away from the model
    M104 S240 ; set extruder temp
    M109 S240 ; wait for extruder temp
    ; process Process1-4
    ; layer 1, Z = 0.200
    T0
    G1 E-2.0000 F1800
    ; feature outer perimeter
    ; tool H0.200 W0.500
    G1 Z0.200 F1002
    G1 X9.750 Y9.750 F3000
    G1 E0.0000 F1800
    G1 X-9.750 Y9.750 E0.7560 F225
    G1 X-9.750 Y-9.750 E1.5120
    G1 X9.750 Y-9.750 E2.2680
    G1 X9.750 Y9.750 E3.0241
    G1 X9.500 Y9.750 E1.0241 F225
    G1 X4.750 Y9.750 F225
    

    Looking at your gcode, there's only G32 (which should call bed.g) and G29 (which starts bed mesh), none of which should cause extruder movement. So, going back to config.g, can you try changing the following:
    Add M584 X0 Y1 Z2 E3 (to make sure you drives map correctly)
    Remove 'U16' from M350 X16 Y16 Z16 E16 U16 I1 (configuring microstepping for non-existent axis)
    Remove ':1' from M572 D0:1 S0.75 (pressure advance enabled for non-existent extruder drive)
    Remove 'U2' M574 X2 Y2 Z2 U2 S1 (endstop for non-existent axis)

    I'd expect one of the above to be causing the hiccup, but not sure which!

    Edit: and what @dc42 said above! Missed that one...

    Ian



  • @dc42 hmm, thats quite curious as in both files I commented out 4th tower arm length, seems like calibration uses it, but where it gets that information?


  • Moderator

    @skayred said in Tool was not driven:

    @dc42 hmm, thats quite curious as in both files I commented out 4th tower arm length, seems like calibration uses it, but where it gets that information?

    Possibly defining the M350 microsteps would be enough.

    Ian



  • @droftarts still no luck, same warnings still there, as well as 4th tower arms length


  • administrators

    What's in your bed.g file?

    Did you restart after deleting the M665 line in config-override.g?


  • Moderator

    @skayred Did you reset after changing config.g and override-config.g? Can you post your current versions of both?

    Delta parameters in config-override.g should change from:
    M665 L209.000:209.000:209.000:110.000 R90.873 H203.217 B100.0 X-0.717 Y-0.982 Z0.000
    to
    M665 L209.000:209.000:209.000 R90.873 H203.217 B100.0 X-0.717 Y-0.982 Z0.000

    (or delete it, as @dc42 suggests)

    Ian



  • @dc42 @droftarts I have commented out that line and restarted, but seems like file is regenerated after the calibration. Bed.g:

    M561 ; clear any bed transform
    ; Probe the bed at 3 peripheral and 0 halfway points, and perform 3-factor auto compensation
    ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.
    G30 P0 X0.00 Y70.00 Z-99999 H0
    G30 P1 X60.62 Y35.00 Z-99999 H0
    G30 P2 X60.62 Y-35.00 Z-99999 H0
    G30 P3 X0.00 Y-70.00 Z-99999 H0
    G30 P4 X-60.62 Y-35.00 Z-99999 H0
    G30 P5 X-60.62 Y35.00 Z-99999 H0
    G30 P6 X0.00 Y35.00 Z-99999 H0
    G30 P7 X30.31 Y-17.50 Z-99999 H0
    G30 P8 X-30.31 Y-17.50 Z-99999 H0
    G30 P9 X0 Y0 Z-99999 S8
    

  • Moderator

    @skayred So likely something in your config.g is still creating the 4th axis. Please post current config.g.

    Ian



  • @droftarts

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sat Feb 02 2019 19:10:31 GMT+0200 (Eastern European Standard Time)
    
    ; General preferences
    G90                                         ; Send absolute coordinates...
    M83                                         ; ...but relative extruder moves
    ; M665 L209:209:209:110 R91.5 H203 B100.0 X0 Y0 Z0.000                    ; Set delta radius, diagonal rod length, printable radius and homed height
    M665 L209:209:209 R91.5 H203 B100.0 X0 Y0 Z0.000
    M666 X0 Y0 Z0             ; Put your endstop adjustments here, or let auto calibration find them
    
    ; Network
    M586 P0 S1                                  ; Enable HTTP
    M586 P1 S0                                  ; Disable FTP
    M586 P2 S0                                  ; Disable Telnet
    
    ; M584 X0 Y1 Z2 U4 E3
    M584 X0 Y1 Z2 E3
    
    ; Drives
    M569 P0 S1                                  ; Drive 0 goes forwards
    M569 P1 S1                                  ; Drive 1 goes forwards
    M569 P2 S1                                  ; Drive 2 goes forwards
    M569 P3 S1                                  ; Drive 3 goes backwards WAS S0
    M569 P4 S0
    ; M350 X16 Y16 Z16 E16 U16 I1                     ; Configure microstepping with interpolation
    M350 X16 Y16 Z16 E16 I1
    ; M92 X400.00 Y400.00 Z400.00 U400.0 E404.545;         ; Set steps per mm E was 400
    M92 X400.00 Y400.00 Z400.00 E404.545
    ; M566 X1000.00 Y1000.00 Z1000.00 U1000 E3000.00    ; Set maximum instantaneous speed changes (mm/min)
    M566 X1000.00 Y1000.00 Z1000.00 E3000.00
    ; M203 X5000.00 Y5000.00 Z5000.00 U5000 E6000.00    ; Set maximum speeds (mm/min) 3000
    M203 X5000.00 Y5000.00 Z5000.00 E6000.00
    ; M201 X1000.00 Y1000.00 Z1000.00 U1000 E2500.00            ; Set accelerations (mm/s^2) 250
    M201 X1000.00 Y1000.00 Z1000.00 E2500.00
    ; M906 X2000.00 Y2000.00 Z2000.00 U1000 E2000.00 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M906 X2000.00 Y2000.00 Z2000.00 E2000.00 I60
    M572 D0 S0.75					; pressure advance
    M84 S30                                     ; Set idle timeout
    
    ; Axis Limits
    M208 Z0 S1                                  ; Set minimum Z
    
    ; M669 X0 Y0 ; FLYING
    
    ; Endstops
    ; M574 X2 Y2 Z2 U2 S1                               ; Set active high endstops
    M574 X2 Y2 Z2 S1
    
    ; Z-Probe
    M558 P1 H5 I1 R0.4 F300 T6000                       ; P1, Set Z probe type to unmodulated and the dive height + speeds
    G31 Z-0.3 P600              ; Set Z probe trigger value, offset and trigger height
    M557 R30 S9                                 ; Define mesh grid
    
    ; Heaters
    ; NEW? B3950 
    ; OLD B4138 
    ; E3D V6 thermo B4388
    ; M305 P0 T100000 B4138 R4700                 ; Set thermistor + ADC parameters for heater 0
    M305 P0 B4725 C7.060000e-8
    M143 H0 S120                                ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700                 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                                ; Set temperature limit for heater 1 to 280C
    
    ; Fans
    M106 P0 S0.3 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
    
    ; Tools
    M563 P0 D0 H1 F2                               ; 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
    
    ; Automatic saving after power loss is not enabled
    
    ; Custom settings are not configured
    M557 R70 S10 ; probe within a radius of 25mm from the centre with a mesh spacing of 20mm
    M579 X1.015892866 Y1.01156531665572173 ; 1.02
    ;M915 X Y S40 F0 R2
    M501
    
    

  • administrators

    If you reboot (with the M665 line in config-override.g removed) and then send M665 without parameters, does it report 3 rod lengths or 4?



  • @dc42 3 length reported in that case.


  • administrators

    If you now run auto calibration, does it report 3 or 4 after that?



  • @dc42 Surprisingly 3 lengths still o_O While config-override is not updated

    15:57:53 M665
    Diagonals 209.000:209.000:209.000, delta radius 91.146, homed height 203.228, bed radius 100.0, X -0.626°, Y -1.399°, Z 0.000°
    15:57:44 G32
    Calibrated 8 factors using 10 points, deviation before 0.324 after 0.009
    15:57:12 G28
    15:56:41 M665
    Diagonals 209.000:209.000:209.000, delta radius 91.500, homed height 203.000, bed radius 100.0, X 0.000°, Y 0.000°, Z 0.000°
    

  • administrators

    @skayred said in Tool was not driven:

    @dc42 Surprisingly 3 lengths still o_O While config-override is not updated

    15:57:53 M665
    Diagonals 209.000:209.000:209.000, delta radius 91.146, homed height 203.228, bed radius 100.0, X -0.626°, Y -1.399°, Z 0.000°
    15:57:44 G32
    Calibrated 8 factors using 10 points, deviation before 0.324 after 0.009
    15:57:12 G28
    15:56:41 M665
    Diagonals 209.000:209.000:209.000, delta radius 91.500, homed height 203.000, bed radius 100.0, X 0.000°, Y 0.000°, Z 0.000°
    

    So does it auto calibrate now without those error messages?

    config-override.g will only be updated if you send M500.



  • @dc42 yes, cold calibration was without warnings, 40C both hotend and bed as well, now I am going to try an actual Gcode



  • @dc42 yes, it solved also the printing problem. So, in short - if 4th arm is configured, some mechanism prevents the printer from actual printing due to triggering of heater failure


  • Moderator

    @skayred With the fourth arm configured, it's trying to map a driver to it, and erroneously mapping the extruder. Which generates the warning when it's asked to move as the U axis. I'm a little surprised that it does this, but we should test in the latest firmware versions and see if it still does this, and raise it as a bug if it does. I note you're running RRF 2.04, you should consider updating to the latest RRF 2 version, 2.05.1.

    I expect if you'd kept the M584 you originally had, with the U axis defined, it would probably have been okay! Feel free to test...

    Ian



  • @droftarts will test for sure but before I need to reprint the carriage 😄 Due to heavyweight of Titan with its default stepper, my 'arm' for flying extruder probably tilted LM8UU too much so extruder carriage stopped while effector continued its movement... Yeah, it was loud.

    And about bug - pretty easy to reproduce. Set 4th arm in the delta configuration, set some temperature (hotend only should be fine but better both), then run let's say G32. If there is no warning, try some print - in my case it looked like extreme underextrusion or filament clog.


  • administrators

    I've fixed it in RRF 3.01-RC3 so that you can only specify as many rod lengths as there are axes. This means that the M584 command to create the additional axes will need to be earlier in config.g than the M665 command.


Log in to reply