Duet 3 Extruder control disabled



  • Hi everyone,

    I've recently adquired a Duet board for the first time and overall I'm really happy with it.

    After spending probably around 15h creating new cables and so on I have everything sorted however I'm running into a blocker to run my first test print.

    I can control everything in the machine using the Duet Web interface, except the Extrusion Control buttons.

    I've doubled checked everything, the Tools seems to be set correctly, it's heated up and still "Extrusion control" is greyed out not allowing me to validate that the extruder stepper motor is working properly.
    a66a69b6-aa44-493c-b452-59c875b711cf-image.png

    e85fd5a1-51aa-4ac8-86b0-45468caa77ca-image.png

    My printer is a Cartesian style(CR10S base).
    Most of the config is default using the Reprap configurator, however I've been adding line by line as I got things wired.

    Here is the current config:

    
    ; General preferences
    G90                                                   ; send absolute coordinates...
    M83                                                   ; ...but relative extruder moves
    M550 P"Duet"                                          ; set printer name
    
    ; Enable network
    M552 P0.0.0.0 S1
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                      ; set axis minima
    M208 X280 Y280 Z300 S0                                ; set axis maxima
    
    ; Drives
    M569 P0.0 S1                                 ; physical drive 0.0 goes forwards
    M569 P0.1 S1                                 ; physical drive 0.1 goes forwards
    M569 P0.2 S0                                 ; physical drive 0.2 goes backwards
    M569 P0.3 S1                                 ; physical drive 0.3 goes forwards
    M569 P0.4 S0                                 ; physical drive 0.4 goes backwards
    M584 X0.0 Y0.1 Z0.2:0.4 E0.3                 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E95.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 Z180.00 E1200.00      ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.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
    
    ; Endstops
    M574 X1 S1 P"^io0.in"                        ; configure active-high endstop for low end on X via pin ^io0.in
    M574 Y1 S1 P"^io1.in"                        ; configure active-high endstop for low end on Y via pin ^io1.in
    M574 Z1 S1 P"^io2.in"                        ; configure active-high endstop for low end on Z via pin ^io2.in
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138          ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                                    ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B1 S1.00                                      ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                               ; map heated bed to heater 0
    M143 H0 S120                                          ; set temperature limit for heater 0 to 120C
    M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1                                    ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00                                      ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 S280                                          ; set temperature limit for heater 1 to 280C
    
    ; Heater model parameters
    M307 H0 A91.9 C635.7 D1.0 S1.00 V12.0 B1
    M307 H1 A302.2 C97.6 D1.7 S1.00 V12.0 B0
    
    ; Fans
    M950 F0 C"out7" Q500                         ; create fan 0 on pin out7 and set its frequency
    M106 P0 S1 H1 T45                            ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"out8" Q500                         ; create fan 1 on pin out8 and set its frequency
    M106 P1 S0 H-1                               ; set fan 1 value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F1                                      ; define tool 0
    G10 P0 X0 Y0 Z0                                       ; set tool 0 axis offsets
    G10 P0 R0 S190                                        ; set initial tool 0 active temp to 190 and standby temperatures to 0C
    

    Any guidance would be very apreciated.
    Thank you.
    Ralms.



  • Can you share output of M122 command and try cold extrude using M302 P1 it'll enable extrude button. Check if extruder motor making any noise.



  • @Saurabh said in Duet 3 Extruder control disabled:

    Can you share output of M122 command and try cold extrude using M302 P1 it'll enable extrude button. Check if extruder motor making any noise.

    Hi Saurabh,

    Here is M122:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
    Board ID: 08DJM-956L2-G43S8-6JKDJ-3S46K-9S2YDUsed output buffers: 1 of 40 (11 max)
    === RTOS ===
    Static ram: 154572
    Dynamic ram: 161620 of which 44 recycled
    Exception stack ram used: 512
    Never used ram: 76468
    Tasks: NETWORK(ready,92) ETHERNET(blocked,444) HEAT(blocked,1184) CanReceiv(suspended,3824) CanSender(suspended,1436) CanClock(blocked,1428) TMC(blocked,80) MAIN(running,4532) IDLE(ready,80)
    Owned mutexes:
    === Platform ===
    Last reset 00:06:07 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 76764 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 25.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 30.6, current 31.0, max 31.3
    Supply voltage: min 11.9, current 12.1, max 12.3, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 11.0, current 11.2, max 11.4, under voltage events: 0
    Driver 0: standstill, reads 36869, writes 17 timeouts 0, SG min/max 0/336
    Driver 1: standstill, reads 36870, writes 17 timeouts 0, SG min/max 0/323
    Driver 2: standstill, reads 36870, writes 17 timeouts 0, SG min/max 0/421
    Driver 3: standstill, reads 36874, writes 14 timeouts 0, SG min/max 0/0
    Driver 4: standstill, reads 36871, writes 17 timeouts 0, SG min/max 0/124
    Driver 5: standstill, reads 36878, writes 11 timeouts 0, SG min/max 0/0
    Date/time: 1970-01-01 00:00:00
    Slowest loop: 4.29ms; fastest: 0.15ms
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 373, MaxWait: 287920ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 5, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP is ready with "M122 " in state(s) 0
    Telnet is idle in state(s) 0
    File is idle in state(s) 0
    USB is idle in state(s) 0
    Aux is assembling a command in state(s) 0
    Trigger is idle in state(s) 0
    Queue is idle in state(s) 0
    LCD is idle in state(s) 0
    SBC is idle in state(s) 0
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 5.41ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    - Ethernet -
    State: active
    Error counts: 0 0 0 0 0
    Socket states: 5 2 2 2 2 0 0 0
    === CAN ===
    Messages sent 1471, longest wait 0ms for type 0
    === Linux interface ===
    State: 0, failed transfers: 0
    Last transfer: 367147ms ago
    RX/TX seq numbers: 0/1
    SPI underruns 0, overruns 0
    Number of disconnects: 0
    Buffer RX/TX: 0/0-0
    

    I'ved also tried the "M302 P1" to cold extrude but doesn't do anything, the buttons remain greyed out.



  • I've also just tested the following:

    • Using the X axis cable on the Extruder motor which worked fine.
      (Edit: Essentially controlling the Extruder motor as it was the X axis, using X axis driver and cable)
    • Switching the cable from the extruder motor to the X axis and worked also.

    So it's neither the motor or the cable.

    I really think it's some sort of configuration, I just can't figure out what.



  • @Ralms has try to heat?

    Until Duet have not reached the config temp, can't extrude



  • @peirof yes.
    I took the first screenshot with the hotend at 190.

    I've also had it at 220 and no diference.



  • @Ralms another try it's check the tools Config... That you have assigned all ok...



  • @peirof said in Duet 3 Extruder control disabled:

    @Ralms another try it's check the tools Config... That you have assigned all ok...

    I think it is.
    I've shared the entire config on the original post.

    Also, I've just tried to do a print and the extruder works fine while printing.
    I just don't seem to be able to control it with the web control panel.
    Edit: which is a bit of a problem, as I won't be able to properly calibrate it.



  • Hi,

    Just to be sure turn the bed heat on along with the extruder heat and see if that changes anything.

    Since you can print something is wrong with your config but I cannot see it (yet)

    Frederick



  • @fcwilt said in Duet 3 Extruder control disabled:

    Just to be sure turn the bed heat on along with the extruder heat and see if that changes anything.

    Hi there,

    Doesn't make a diference.

    8ae6be9a-f772-454a-a1c5-94458e19e72b-image.png

    I've now managed to calibrate my Steps/mm of the extruder by manually issuing G1 commands.

    Still a bit annoying I can't just use the UI.


  • Moderator

    @Ralms said in Duet 3 Extruder control disabled:

    RepRapFirmware for Duet 3 MB6HC version 3.01-RC9

    Update firmware and DWC to 3.1.1, I seem to remember this issue with some of the release candidate versions.

    Ian



  • @droftarts said in Duet 3 Extruder control disabled:

    @Ralms said in Duet 3 Extruder control disabled:

    RepRapFirmware for Duet 3 MB6HC version 3.01-RC9

    Update firmware and DWC to 3.1.1, I seem to remember this issue with some of the release candidate versions.

    Ian

    Hm, ok, quick question, I don't have yet a Raspberry Pi to control the Duet.

    How straight forward / safe is it to do when using the duet directly over the network?


  • Moderator

    @Ralms said in Duet 3 Extruder control disabled:

    Hm, ok, quick question, I don't have yet a Raspberry Pi to control the Duet.
    How straight forward / safe is it to do when using the duet directly over the network?

    Should be fine. You should be able to upload the Duet2and3Firmware-3.1.1.zip
    file in DWC from https://github.com/Duet3D/RepRapFirmware/releases/tag/3.1.1 to update firmware and DWC at the same time. 3.1.1 is a very stable release, but do read the update notes.

    Ian



  • Did you select a tool running T0 or clicking on the blue text of the extruder tool in the DWC UI?

    RRF does not default to activating a single tool setup.


  • Moderator

    @oliof his screenshot shows the tool active, at 200C, and the extruder buttons greyed out.

    Ian



  • @droftarts sorry I didn't look at the screenshot closely enough



  • @droftarts said in Duet 3 Extruder control disabled:

    @Ralms said in Duet 3 Extruder control disabled:

    Hm, ok, quick question, I don't have yet a Raspberry Pi to control the Duet.
    How straight forward / safe is it to do when using the duet directly over the network?

    Should be fine. You should be able to upload the Duet2and3Firmware-3.1.1.zip
    file in DWC from https://github.com/Duet3D/RepRapFirmware/releases/tag/3.1.1 to update firmware and DWC at the same time. 3.1.1 is a very stable release, but do read the update notes.

    Ian

    Man, this was stressfull...

    Ok after trying 3 times to upgrade the firmware, it eventually did it successfully.

    First, Bossa got stuck saying "Writing Page 0 (0%)".
    I've waited around 5 mins and nothing, so I decided to stop it.

    Turn everything back off, turn back on, then Bossa didn't want to write, then was crashing....
    Eventually, restarted Bossa, reselected everything including the bin file.

    Tried to do "Read", which it did. So I was like: Ok, lets try to Write then and Verify.
    Bossa Wrote the firmware and verify was successfully, however I noticed that the .bin file had it's Modified Date changed and was significantly bigger.
    Try to boot the Duet and nothing, stuck in Diag mode.

    Ok, lets do this a third time.
    Download the firmware again.
    Erase everything, connect the USB cable, click Reset, Duet connected to the PC.
    Restart Bossa, Select the COM port, new download firmware file, tick the boxes, Write, Verify, success.
    Press Reset and Duet booted.

    Takeaways from this:
    The documentation for the Duet 3 on this part could be a bit better, in terms of what is the expected behaviors.
    Also, please make it more clear that you have to have the duet PSU on while doing this, initially I wasn't sure.
    And add a note saying that if you Read, it will overwrite the file you have selected in "Browse", Bossa is not very clear on this.

    Moving forward:
    I can't find any information on how to update the Duet Web Control and I'm still in 2.1.0.
    Can anyone provide a link on how to do it?
    I assume I will have to do it with an micro SD card reader which I have, just would like to know the steps to achieve it.

    Thanks,
    Ralms.

    P.S.: Here is my updated M122 command output:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (standalone mode)
    Board ID: 08DJM-956L2-G43S8-6JKDJ-3S46K-9S2YD
    Used output buffers: 2 of 40 (11 max)
    === RTOS ===
    Static ram: 154604
    Dynamic ram: 161152 of which 20 recycled
    Exception stack ram used: 296
    Never used ram: 77144
    Tasks: NETWORK(ready,364) ETHERNET(blocked,436) HEAT(blocked,1416) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1424) TMC(blocked,204) MAIN(running,5368) IDLE(ready,76)
    Owned mutexes:
    === Platform ===
    Last reset 00:00:30 ago, cause: power up
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 76324 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
    Error status: 0
    MCU temperature: min 21.7, current 26.8, max 26.8
    Supply voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 11.2, current 11.3, max 11.3, under voltage events: 0
    Driver 0: standstill, reads 19049, writes 11 timeouts 0, SG min/max 0/0
    Driver 1: standstill, reads 19050, writes 11 timeouts 0, SG min/max 0/0
    Driver 2: standstill, reads 19050, writes 11 timeouts 0, SG min/max 0/0
    Driver 3: standstill, reads 19051, writes 11 timeouts 0, SG min/max 0/0
    Driver 4: standstill, reads 19052, writes 11 timeouts 0, SG min/max 0/0
    Driver 5: standstill, reads 19052, writes 11 timeouts 0, SG min/max 0/0
    Date/time: 2020-08-10 20:32:37
    Slowest loop: 5.14ms; fastest: 0.14ms
    === Storage ===
    Free file entries: 10
    SD card 0 detected, interface speed: 25.0MBytes/sec
    SD card longest read time 2.4ms, write time 0.0ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    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
    USB is idle in state(s) 0
    Aux is idle in state(s) 0
    Trigger is idle in state(s) 0
    Queue is idle in state(s) 0
    LCD is idle in state(s) 0
    SBC is idle in state(s) 0
    Daemon is idle in state(s) 0
    Aux2 is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 11.53ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
    HTTP sessions: 1 of 8
    - Ethernet -
    State: active
    Error counts: 0 0 0 0 0
    Socket states: 5 2 2 2 2 0 0 0
    === CAN ===
    Messages sent 0, longest wait 0ms for type 0
    === Linux interface ===
    State: 0, failed transfers: 0
    Last transfer: 30662ms ago
    RX/TX seq numbers: 0/1
    SPI underruns 0, overruns 0
    Number of disconnects: 0
    Buffer RX/TX: 0/0-0
    


  • Ok,
    Decided to give it a try to what the Duet 2 documentation mentioned and it updated.
    https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_If_your_Duet_2_WiFi_is_running_main_firmware_1_19_or_later

    Now on Duet Web Control 3.1.1

    With the increasing number of boards from Duet, it would be a good move to centralize some of the information on the Wiki, like having a location for the Web control update instead of being mixed in the middle of specific boards docs.

    At last but not least, I'm happy to report that after updating Duet Web Control, that the Retract/Extrude button is fixed 🙂

    Thank you everyone for the assistance.

    Into the next challenge on figuring out how to do manually mesh bed level like I used to do on Marlin 😖


  • Moderator

    Thanks for the feedback. I think you chose the hardest path possible to update unfortunately.

    It should have been made more clear that all you had to do to update the firmware was upload the 3.1.1 zip file as is to the /sys folder via DWC. Generally no need for Bossa unless you don't have access to the board via network or USB terminal.

    The zip file contains all the files necessary for firmware and DWC and when uploaded it gets detected and extracted and installed automatically.


  • Moderator

    @Phaedrux I said https://forum.duet3d.com/post/171768:

    You should be able to upload the Duet2and3Firmware-3.1.1.zip
    file in DWC from https://github.com/Duet3D/RepRapFirmware/releases/tag/3.1.1 to update firmware and DWC at the same time.

    Not sure why @Ralms took the Bossa route!

    Ian



  • @Phaedrux said in Duet 3 Extruder control disabled:

    Thanks for the feedback. I think you chose the hardest path possible to update unfortunately.

    I just followed what the documentation said to do, didn't know that was an option.

    @droftarts said in Duet 3 Extruder control disabled:

    @Phaedrux I said https://forum.duet3d.com/post/171768:

    You should be able to upload the Duet2and3Firmware-3.1.1.zip
    file in DWC from https://github.com/Duet3D/RepRapFirmware/releases/tag/3.1.1 to update firmware and DWC at the same time.

    Not sure why @Ralms took the Bossa route!

    Ian

    When I searched for how to update the firmware I got to here:
    https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware

    Which mentioned right at the start "The Duet 3 stand-alone process is similar; the Duet 3 + Pi process is quite different. See Getting Started with Duet 3 for more information."

    So I followed the link "Getting Started with Duet 3" which sent me to:
    https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Updating_Duet_3_main_board_firmware

    Where mentions 3 ways:

    • "Raspberry Pi SBC" - Don't have one right now, doing standalone.

    • "Use Duet Web Control" as usual - When checking that link, mentioned about going to Settings, then General Tab, and upload the files.
      Neither on DWC 2 or 3 this matches the real options on my board.
      First there are no tabs, just the menu on the left.
      And in "Settings -> General" there is no upload button.
      As I was in the version 2.1, I assumed it was something new on Version 3, so this wouldn't work for me.
      I do see now the note of "(For DWC2, go to the system page)", but these shouldn't be layed out like this.
      Instead should be DWC1 + Steps
      Then DWC 2 or 3 + steps.

    • "As a 'fallback' recovery, update firmware via BOSSA on USB" - This was the last and only option that fits my scenario, that is why I took it.

    This is mainly the reason on my criticism with the documentation.
    Although I'm fairly handy with PCs and electronics, getting a Duet board for the first time is still scary at first due to being an expensive part considering the average Chinese printer price or even something like a Prusa Mini, as such I didn't want to make any mistakes.
    The fact that the documentation is so fragmented resulted on a lot of questions. For example almost all docs about Update firmware clearly mentions on the start to be for "Duet 2 WiFi, Ethernet and Maestro", so as a user I was like: So where is Duet 3?

    Like I've recommended, I would be to try centralize everything that is possible, such as Microsoft does with their docs.microsoft.com.

    Windows articles will say on the top: Applies to X, Y and Z Windows.
    Then any particularity is mentioned as a note or as sections on that document, but that topic is all in the same place.


  • Moderator

    @Ralms Thanks for the feedback, I see where it's not clear and will aim to rectify this tomorrow. We're in the process of updating a lot of the documentation (and there is a lot!) for Duet 3, RepRapFirmware 3, and DWC 2/3.

    Windows articles will say on the top: Applies to X, Y and Z Windows.

    That seems like a good approach. Will confer with my colleagues. 3-axis Windows!

    Ian



  • @droftarts You welcome.
    I'm glad to provide feedback.

    So far I've been pretty happy with the product, even though I was one of the unlucky guys with a board that had those defective diodes pin solders.

    Here is a better example of what I've mentioned regarding Microsoft documentation.
    Is more common with developer stuff:
    https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.button?view=netcore-3.1

    In the end there is almost 2 options:

    • On top left there is the drop down to select a version.
      Although this option, depending on how the wiki is organized, might result on a bigger overhead with duplicated pages.

    • On the top middle of the page, clearly identifying the applicable stuff.
      In my example page is a Namespace, Assemblies, Classes inheritance, etc, but it can be adapted in this case for multiple products.

    You got the point 🙂

    Thanks,
    Ralms.


  • Moderator

    @Ralms Thanks for the example. Unfortunately, we are rather limited by the Dozuki software (developed and used by ifixit.com) we use for documentation. There's no drop down selection, tabbed content or even ability to hide sections. It would be good to have documentation specific for each board and RRF version, but that would mean a lot of duplication of pages, so it's a case of putting the most relevant information first, then having notes for other variations. Not ideal, but all that can be done within the current limitations.

    We're always on the look out for alternatives (preferably open source or at least with a low cost of entry), particularly if the existing documentation can be ported easily, so welcome any suggestions.

    Ian


Log in to reply