Duet 3 Firmware configuration issues

  • Hi everyone,
    I am currently working on a project of building a dual extruder (Filament and pellets) machine, using a Duet 3 Mainboard 6HC and one (or two) Expansion 3HC board.
    Due to numberous heaters and temperature sensors, configuring the firmware is getting harder than I originally thought. I am using the firmware configuration tool for the first part then I know I'll need to do my own gcodes.
    I need to implement: (The "XXX" represent my issues)

    • Filament extruder Heater, Mainboard's Out 0, PT100 Daughterboard 0.spi.cs0

    • Heated bed Relay, Mainboard's Out 1, PT100 Daughterboard 0.spi.cs1

    • Pellets Extruder Heater 1 Relay (out of 2), Mainboard's Out 1, PT100 Daughterboard 0.spi.cs2

    • Pellets Extruder Heater 2 Relay (out of 2), XXXX, PT100 Daughterboard 0.spi.cs3. The configuration tool doesn't let me use Out 2.

    • Chamber Heater Relay, Expansion 1 Out 2, Should be on the 1.spi.cs0 but I can't configure it online.

    • Local Heater Relay 1 , Expansion 1 Out 0, Should be on the 1.spi.cs1 but I can't configure it online (doesn't show the Daughterboard on the Expansion).

    • Local Heater Relay 2 , Expansion 1 Out 1, Should be on the 1.spi.cs2 but I can't configure it online (doesn't show the Daughterboard on the Expansion).

    SO my questions are:

    • How can I use the 0.Out 2 (mainboard) as a heater output (using relay so no current) ?

    • Why can't i choose the Pt100 Daughterboards on the Expansion board?

    • How can I include the Pellets heater relay in one Tool ?

    Thank you in advance for any help you can provide


  • @Pierrelito For your first question - use M950 to create the heater https://duet3d.dozuki.com/Wiki/Gcode#Section_M950_Create_heater_fan_or_GPIO_servo_pin

    I don't know the answer to your second question

    For you third question, create the heater using M950, then assign that heater to a tool using M563 https://duet3d.dozuki.com/Wiki/Gcode#Section_M563_Define_or_remove_a_tool

    As a general observation, heaters are controlled by using PWM switching the ground or negative side. So a mechanical relay is unlikely to work and you would like need to use a low PWM frequency with a solid state relay (the "Q" parameter in M950).

  • You can drive a relay with low side switching, but you're right mechanical relays isn't the best choice, even with low PWM frequencies they'll be switching under load which isn't ideal. Solid state relays, or using the heater outputs as is would likely last longer. (Ouputs 1 through 9 have diodes to protect against back emf from driving relays and other inductive loads directly).

    Not sure if the limitation of using PT100 daughterboard on expansion is one of the web configurator (its made to give you a starting poing and support the most common setups, not every possible setup) or if the limitation of needing to have the sensor on the same board as the output is still not resolved (thought it was, but not sure)

  • @deckingman I wrote relay but I meant SSR. They worked on the previous configuration.

  • @Pierrelito That should be fine but remember to set the PWM frequency to something like 10Hz. I'm not sure what the default frequency is. It used to be 10Hz for bed heaters using the bed output and (I think) 500Hz for everything else.

  • in RRF3 the default is 500Hz for all outputs currently 250hz for all heaters, 500hz for all fans, and 50hz for all sevos. so still a good idea to specify Q10 for the SSRs (which was the default for bed output in RRF2), and use zero cross detection SSRs for minimal EMI.

  • @bearer said in Duet 3 Firmware configuration issues:

    in RRF3 the default is 500Hz for all outputs, .......................

    Are you 100% sure about that? My memory is crap these days but I thought I remember reading somewhere that when creating a bed heater (H0), the frequency would be set to 10Hz by default, for backwards compatibility. Could be wrong - most likely am. But this prompted me to check my config and I haven't specified a "Q" value for my bed heater which is mains via an SSR and it's been working fine since I converted to gen 3 last July(ish).

    I'll add a Q10 to my M950 H0 in any case.

    Edit. But if there is a 10Hz default, it might be applied to out.0 rather than to H0.

  • @deckingman said in Duet 3 Firmware configuration issues:

    Are you 100% sure about that?

    i thought i was; but its 250hz for heaters and 500hz for fans and 50hz for servos. An any case no ouputs defaults to 10z after RRF3, not even !bedheat on a duet2 as H0.

  • @bearer Ah, OK (but it's a little surprising). I'll see if I can get one of the moderators to highlight those defaults in the documentation.

  • But back on topic, OP should be able to define the sensors withM308 first, then heaters with M950 after and see if the sensor on a expansion is giving you trouble or not. Refer to the linked docs and the partial config you're able to generate with the web tool.

    Edit: thats the one I was looking for 👇 👍

  • Also back on topic, the OP should be aware of the limitations regarding heaters, sensors and combinations thereof, with regard to expansion boards as documented here https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations

  • @deckingman Thank you very much for this document. Never saw it before, it will come in handy.

Log in to reply