Duet sometimes does not start to print after heatup

  • Hey,

    I'm facing the problem, that sometimes after heating up, the printer just idles, doing nothing.
    It is connected via Network and print is controlled via USB (Simplify3D).

    The M117 command at the end of my starting script is seen in the Webinterface, but cannot recall to see it on the PanelDue.

    Here is the starting code, the M122 and the config.g

    Maybe another set of eyes can point me to a place...

    I know in the heat up section, there is the M140 for the Bed followed by M116, then the G10 for the heater follower by another M116.
    I want to have it in a sequence, not heating up in parallel.

    I have the impression, with the old style code for setting the temperature (was it M190) it did not happen.

    Enabling the 'Verbose Output' in Simplify3D after the printer idles does not show any output. M122 was run during the idle state, so at least there was a response from the Duet.
    No Entry in the event log, debugging not enabled.

    M106 S0

    M80 ; Enable Power
    M140 S-273.15 ; Switch Bed off

    G10 P0 R-273.15 S-273.15 , Switch heater off

    G28 ; home all axes
    G29 S1 ; Load Mesh
    G1 X0 Y0 Z5 F4000 ; Move closer to the Bed
    G4 S1 ; Pause
    G30 ; Single Probe
    G0 X0 Y100 Z10 F4000 ; Get out of my way

    M140 S60 ; get bed heating up
    M116 ; and wait
    G10 P0 S210 R60 ; set extruder temp
    M116 ; and wait

    M400 ; clear buffer
    G4 S1 ; pause
    M117 Gettin' it on... ; LCD status message

    ; process PLA - Silk Copper
    ; layer 1, Z = 0.100
    G92 E0.0000
    G1 E-6.5000 F6600
    ; feature skirt
    ; tool H0.200 W0.400
    G1 Z0.300 F1200
    G1 X-14.382 Y22.043 F9000
    G1 Z0.100 F1200
    G1 E0.2000 F6600
    G92 E0.0000
    G1 X-19.190 Y22.370 E0.1603 F900
    G1 X-21.407 Y21.591 E0.2385
    G1 X-22.204 Y21.398 E0.2657
    G1 X-23.476 Y20.930 E0.3108
    G1 X-24.292 Y20.520 E0.3412
    G1 X-24.545 Y20.643 E0.3505
    G1 X-24.864 Y20.786 E0.3622
    G1 X-25.501 Y21.051 E0.3851

    12:24:30 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02(RTOS) running on Duet Ethernet 1.02 or later
    Board ID: 08DGM-95BLL-N6PSS-6JKD0-3S46R-9JSML
    Used output buffers: 1 of 20 (16 max)
    === RTOS ===
    Static ram: 25524
    Dynamic ram: 98332 of which 0 recycled
    Exception stack ram used: 456
    Never used ram: 6760
    Tasks: NETWORK(ready,648) HEAT(blocked,1232) MAIN(running,3860) IDLE(ready,200)
    Owned mutexes:
    === Platform ===
    Last reset 02:59:55 ago, cause: software
    Last software reset at 2019-01-18 09:24, reason: User, spinning module GCodes, available RAM 6696 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 3.9ms, max retries 0
    MCU temperature: min 29.6, current 37.0, max 42.6
    Supply voltage: min 0.4, current 24.3, max 24.5, under voltage events: 4, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/186
    Driver 1: standstill, SG min/max 1/238
    Driver 2: standstill, SG min/max 0/158
    Driver 3: standstill, SG min/max 0/1023
    Driver 4: standstill, SG min/max not available
    Date/time: 2019-01-18 12:24:26
    Cache data hit count 4294967295
    Slowest loop: 15.20ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 120, MaxWait: 9490025ms, Underruns: 0, 0
    Scheduled moves: 7792, completed moves: 7792
    Bed compensation in use: mesh
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.1
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 7.33ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex

    ; Configuration file for Duet Ethernet (firmware version 1.20 or newer)
    ; executed by the firmware on start-up

    ;M0 ;Power off & everything

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    M665 L288.160 R140 H285 B120.0 X0 Y0 Z0.000 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 A0 B0 ; Put your endstop adjustments here, or let auto calibration find them

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z80 E476.55 ; Set steps per mm -> BONDTECH DEFAULT: 476.55
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1300 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z0 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S1 ; Set active high endstops

    ; Z probe and compensation definition
    M558 P8 R0.4 T10000 F800 H3 A1 S0 B1
    G31 P999 X0 Y0 Z-0.24

    M557 R100 S25 ; Setup Mesh Bed Compensation grid. R: Mesh Radius, S: Cell Size

    ; >>>> Bed ----------------------------------------------------------------------------------------
    M305 P0 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction

    ; >>>> Hotends ------------------------------------------------------------------------------------
    M305 P1 T100000 B4388 R4700 H0 L0 -

    M143 H0 S120 ; Set temperature limit for heater 0 to 85C
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P1 T60 S1 H1 C"Hotend" ; Set fan 1 value
    M106 P2 I0 F100 H100:101:102 T50 C"Board" ; Set fan 2 value

    ; Tools
    M563 P0 D0 H1 ; 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 power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    M562 ;Reset Heater Faults

    ; Miscellaneous
    M912 P0 S-9 ;CPU Temp Calibration Offset
    M501 ; Load saved parameters from non-volatile memory


    M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt

  • administrators

    One problem that may cause prints not to work is not having a T0 command at the start of the GCode file you are trying to print. the T0 in your config.g file will mean that the first print will work, but subsequent prints might not if tool 0 is deselected when the print finishes or is cancelled.

    We recommend that you upload the file produced by S3D to the SD card, and print from SD card. You can automate uploading from S3D, see https://forum.duet3d.com/topic/867/duet-wifi-s3d/14.

  • Thanks for the reply.

    I checked both of my config.g and the .gcode, as well as the additional starting script for the T0 and it was always there, not only in the config.g

    I tried to put it into several places, had T-1 in the ending script, beginning of the start script a T-1 followed by a T0, just played around a bit.

    When I use this sequence:

    M140 S[bed0_temperature] ; get bed heating up
    M116 H0 ;wait for bed heater
    G10 P0 S[extruder0_temperature] R60 ; set extruder temp
    M116 P0 ; and wait for extruder

    T0 ; Activate Tool 0

    It waits for the bed to heat up, then the tool becomes active, started heating and moving, not waiting until the hotend reached its temperature:
    Warning: Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault

    Even if I try the M116 without additional parameter, it does the same when I have the T0 after the heating section.
    If I have the T0 before the section, every print which is not the first print after a reset waits forever.

    I have multiple printers (not all Duet based), so I prefer to use my old way of working.

    If this is a feature I have to deal with it, but maybe it is not ... 🙂

  • administrators

    The T0 command needs to be before the M116 command, because tool heating does not start until the tool is selected.

Log in to reply