Resolved Print hangs



  • Hi all,

    I have just wired up my new duetwifi to my Hadron ordBot as a replacement for a old printrboard.

    When the printer starts to print it just freezes after what seems a random but short time.

    I've double checked wireing and 12v supply. The diagnostics via M111, just freezes, and M122 says last restart was a software reset.

    Can anyone point me at further diagnostics?


  • administrators

    In the M122 report, does the last reset time correspondence with when the print stopped, or before the print started?

    Are you printing from the SD card or via USB?



  • I've tried both SD card and form USB via OctoPi. I've just run a test print, using 12 volt line only connection, ie no USB, and its stopped about 1cm into print. Set the job to not use the hot bed.

    === Diagnostics ===
    Used output buffers: 2 of 32 (4 max)
    === Platform ===
    Memory usage:
    Program static ram used: 19736
    Dynamic ram used: 84472
    Recycled dynamic ram: 2288
    Current stack ram used: 2792
    Maximum stack ram used: 3616
    Never used ram: 20960
    Last reset 00:00:28 ago, cause: software
    Error status: 0
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 29.5, current 31.7, max 35.3
    Supply voltage: min 12.1, current 12.2, max 12.3, under voltage events: 0, over voltage events: 0
    Driver 0: standstill
    Driver 1: stalled standstill
    Driver 2: stalled standstill
    Driver 3: stalled standstill
    Driver 4: standstill
    Current date and time: 2016-12-07 12:57:19
    Slowest main loop (seconds): 0.806459; fastest: 0.000040
    === Move ===
    MaxReps: 0, StepErrors: 0, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, Completed moves: 0
    === Heat ===
    Bed heater = 0, chamber heater = -1
    === GCodes ===
    Move available? no
    Stack pointer: 0 of 5
    macro is idle
    http is ready with "M122"
    telnet is idle
    serial is idle
    aux is idle
    file is idle
    queue is idle
    Internal code queue is empty.
    === Network ===
    WiFiServer is running
    SPI underruns 0, overruns 0
    === Webserver ===
    HTTP sessions: 2 of 8

    Going to re-run via USB and pronterface



  • Just tried running the same test again but via USB through OctoPrint, reset before the hot end even got up to temp.

    Note During a previous crash I monitored the Vin via a multi meter and saw a constant 12.05 Volts. With a slight drop up (0.02Volts) until the hot end was at temp.

    === Diagnostics ===
    Used output buffers: 2 of 32 (2 max)
    === Platform ===
    Memory usage:
    Program static ram used: 19736
    Dynamic ram used: 84472
    Recycled dynamic ram: 2288
    Current stack ram used: 2792
    Maximum stack ram used: 3616
    Never used ram: 20960
    Last reset 00:00:20 ago, cause: software
    Error status: 0
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 31.6, current 34.0, max 36.0
    Supply voltage: min 12.1, current 12.2, max 12.3, under voltage events: 0, over voltage events: 0
    Driver 0: standstill
    Driver 1: stalled standstill
    Driver 2: stalled standstill
    Driver 3: stalled standstill
    Driver 4: standstill
    Current date and time: 2016-12-07 13:21:56
    Slowest main loop (seconds): 0.002305; fastest: 0.000041
    === Move ===
    MaxReps: 0, StepErrors: 0, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, Completed moves: 0
    === Heat ===
    Bed heater = 0, chamber heater = -1
    === GCodes ===
    Move available? no
    Stack pointer: 0 of 5
    macro is idle
    http is ready with "M122"
    telnet is idle
    serial is idle
    aux is idle
    file is idle
    queue is idle
    Internal code queue is empty.
    === Network ===
    WiFiServer is running
    SPI underruns 0, overruns 0
    === Webserver ===
    HTTP sessions: 1 of 8



  • Just re-run again from SD card with M111 S1 (P1& P2 disabled)

    end of the log looked like this

    Recv: file: G1 X180.065 Y4.614 E8.23246
    Recv: file: G1 X181.003 Y6.815 E8.33197
    Recv: file: G1 X181.203 Y8.500 E8.40257
    Recv: file: G1 X181.203 Y161.500 E14.76737
    […]
    Unexpected error while reading serial port, please consult octoprint.log for details: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:1619
    Changing monitoring state from 'Operational' to 'Offline: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:1619'
    Connection closed, closing down monitor



  • @dc42:

    In the M122 report, does the last reset time correspondence with when the print stopped, or before the print started?

    Are you printing from the SD card or via USB?

    The reset time was the same as when the print stopped, tried both


  • administrators

    Try with the USB cable disconnected in case the ground loop is transmitting interference to the Duet. Use the web interface to control it instead.



  • @dc42:

    Try with the USB cable disconnected in case the ground loop is transmitting interference to the Duet. Use the web interface to control it instead.

    Same results. Is there anything I need to look at regarding interference? I've tried a number of different setups, with/without USB, from SD card, via Octopi (USB).

    I've got a stabalised bench PSU, that should deliver enough power, so probably try that so as to eliminate by LED 12v PSU.


  • administrators

    It's odd that you are getting a software reset. Please post your config.g file just in case I can spot anything.



  • So PSU ruled out, exactly the same results with a Stabilised 12v bench supply, with and without USB



  • @dc42:

    It's odd that you are getting a software reset. Please post your config.g file just in case I can spot anything.

    Note: I added in the heat calibration at the end as I did get some messages about taking to long.

    ; Configuration file for Duet WiFi
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Nov 23 2016 20:59:26 GMT+0000 (GMT Standard 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 Y170 Z180 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S0 ; Define active low and unused microswitches
    M558 P1 X0 Y0 Z1 H10 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y12 Z1.0 ; Set Z probe trigger value, offset and trigger height

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I0 ; Configure microstepping without interpolation
    M92 X78.7402 Y78.7402 Z2133.3333 E106.707 ; Set steps per mm
    M566 X600 Y600 Z0 E180 ; Set maximum instantaneous speed changes (mm/min)
    M203 X30000 Y30000 Z300 E2700 ; Set maximum speeds (mm/min)
    M201 X3000 Y3000 Z100 E3000 ; Set accelerations (mm/s^2)
    M906 X687 Y687 Z687 E687 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S275 ; Set maximum heater temperature to 275C
    M305 P0 T100000 B4092 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4092 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 1

    ; 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

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

    ; 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
    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
    ; set my PID values
    M307 H1 A319.6 C149.5 D11.9 B0
    M307 H0 A138.4 C425.4 D11 B0



  • Finally getting prints, looking like I had the config wrong. Id tried to take the figures used in marlin and translate them to RepRapFirmware. Strange there were no errors as such. Still not got reliable prints yet. But it's not crashing


  • administrators

    I am glad you solved it. The only odd thing I can see in your config.g file is the zero jerk speed for the Z axis in the M566 command. I've never tried using a value of zero, so I am wondering whether rounding errors could make the lookahead mechanism keep recalculating to try to meet it. What value are you using now?



  • Spoke to early, froze again halfway through a 50mm test tower



  • @dc42:

    I am glad you solved it. The only odd thing I can see in your config.g file is the zero jerk speed for the Z axis in the M566 command. I've never tried using a value of zero, so I am wondering whether rounding errors could make the lookahead mechanism keep recalculating to try to meet it. What value are you using now?

    I'll upload a little later, but starting to think my config errors maybe just disguising a hardware issue. Just not sure how I can be certain. It's only the controller I've changed.


  • administrators

    @X4TEC:

    @dc42:

    I am glad you solved it. The only odd thing I can see in your config.g file is the zero jerk speed for the Z axis in the M566 command. I've never tried using a value of zero, so I am wondering whether rounding errors could make the lookahead mechanism keep recalculating to try to meet it. What value are you using now?

    I'll upload a little later, but starting to think my config errors maybe just disguising a hardware issue. Just not sure how I can be certain. It's only the controller I've changed.

    I am inclined to agree. I'm also wondering whether it is time for us to swap your Duet WiFi. However, I would like you to do one more thing. I will shortly release firmware 1.17dev8 and this includes a report of the last software reset code in the M122 report, which previously wasn't working on the Duet WiFi. So please update your firmware to 1.17dev8 later today, do a print, and assuming it fails again, run M122, check that the "Last reset" cause is again software and the reset time corresponds to when the print stopped, and extract the "Last software reset code…" line.



  • @dc42:

    @X4TEC:

    @dc42:

    I am glad you solved it. The only odd thing I can see in your config.g file is the zero jerk speed for the Z axis in the M566 command. I've never tried using a value of zero, so I am wondering whether rounding errors could make the lookahead mechanism keep recalculating to try to meet it. What value are you using now?

    I'll upload a little later, but starting to think my config errors maybe just disguising a hardware issue. Just not sure how I can be certain. It's only the controller I've changed.

    I am inclined to agree. I'm also wondering whether it is time for us to swap your Duet WiFi. However, I would like you to do one more thing. I will shortly release firmware 1.17dev8 and this includes a report of the last software reset code in the M122 report, which previously wasn't working on the Duet WiFi. So please update your firmware to 1.17dev8 later today, do a print, and assuming it fails again, run M122, check that the "Last reset" cause is again software and the reset time corresponds to when the print stopped, and extract the "Last software reset code…" line.

    Will do thanks

    Heres the current config

    ; Configuration file for Duet WiFi
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Nov 23 2016 20:59:26 GMT+0000 (GMT Standard 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 X190 Y170 Z180 S0 ; Set axis maxima

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

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation ab i0-1
    M92 X78.7402 Y78.7402 Z2133.3333 E106.707 ; Set steps per mm
    M566 X600 Y600 Z30 E20 ; Set maximum instantaneous speed changes (mm/min) ab 8/12 ( Z0 - Z30; E180 - E20)
    M203 X15000 Y15000 Z300 E3600 ; Set maximum speeds (mm/min) ab 8/12 (x30000 - 15000 y30000-15000, E2700-3600
    M201 X800 Y800 Z15 E1000 ; Set accelerations (mm/s^2) ab 8/12 ( x 3000-800 y 3000-800, z100-15 E3000 - 1000)
    M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent AB 08/12 changed current all form 678 - 800
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S275 ; Set maximum heater temperature to 275C
    M305 P0 T100000 B4092 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4092 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 1 AB 08/12 B4096-4388
    ;M301 H0 P10 I0.10 D100 T0.50 S1.0
    ;M301 H1 P10 I0.10 D100 T0.50 S1.0
    M570 S120; Increase to allow extra heating time if needed AB 08/12

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

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

    ; 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
    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
    ; set my PID values
    ;M307 H1 A319.6 C149.5 D11.9 B0 ; Disabled AB 08/12
    ;M307 H0 A138.4 C425.4 D11 B0 ; Disabled AB 08/12
    T0 ; Select first tool


  • administrators

    I have just released the 1.17dev8 build.



  • @dc42:

    I have just released the 1.17dev8 build.

    Just updated and run a test job. I may have been a little zealous in declaring the last failure. I'm used to the job finishing and parking the print head to one side, where as it doesn't look like the firmware does that for you. So when I came back to my tower, the head was sat at the top, as if it had crashed.. I'm still not getting very good print out put maybe down to configuration rather than faults.

    BTW, really appreciate your help.


  • administrators

    To park the head when the print finished, add appropriate moving and/or homing commands at the end of your slicer end gcode, just before the M0 at the end. Alternatively, just put M0 in your slicer end gcode and define the shutdown sequence in /sys/stop.g.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.