Mosfet board vs SSR vs onboard

  • Just for context, there's a reason those external mosfet boards are all the rage right now, and that reason is that the really cheap Melzi boards the Wanhao Di3 & clones have been shipping with have this nasty tendency to burn up their power connectors (this may be a problem with other cheap printers too, but the Di3 line is the one I'm familiar with, and it's a huge deal), because they used really crappy components that simply weren't rated for the load that the printers place on them in practice. That's why people are buying these things up: if they don't, they risk a meltdown on their controller board.

    That doesn't seem to be an issue with the Duet Wifi.

  • administrators

    So you are right that any high current will stress any electronics. We had thermal testing conducted on the prototype boards which the results are written up here :

    That is where we get the 15A limit from. You will be interested to see the limit is due to the board copper traces rather than the connectors (which are rated to 35A).

    We have commissioned further testing to continue to check on our production boards so will publish an update. We may be able to raise the stepper driver software limit from 2A to 2.5A but let's see how the testing goes. We are also looking at the bed traces.

  • Why do the external mosfet boards and stepper driver boards and whatnot have these massive heatsinks on them, and yet the controllers and chips on the Duet Wifi board don't have any heatsinks, and do just fine?

    Is it a quality thing, where the controllers and mosfets and whatnot used by the Duet Wifi just aren't dissipating that much heat?

  • administrators

    Its not one single factor, for example some of the external boards can handle a lot more current than the DuetWifi.

    Stepper drivers and FETs come with a wide variety of specifications, including on resistance and switching time these effect how much power is dissipated while on, or while turning on/off. There are important interrelating factors - you can get a FET that turns on/off very very quickly (so dissipates less power in the process) but then that very quick on/off switch generates high frequency EMI.

    You will see from the thermal testing that we have done we know how much current the drivers and FETs (and other components) can take before they reach certain temperatures. We also use a thick copper PCB to help transfer the heat away from the FETs/drivers - the PCB is acting as a heatsink. That's why we recommend a fan blowing on the back of the board for cooling if you are using the drivers/FETs at the top of their power range.

  • I'm getting some heatsink adhesive for a different purpose. Would it be worth it to buy some of those tiny copper heatsinks that people put on ram chips on video cards or whatever and gluing them on to the stepper drivers and the mosfet?

  • administrators


    I'm getting some heatsink adhesive for a different purpose. Would it be worth it to buy some of those tiny copper heatsinks that people put on ram chips on video cards or whatever and gluing them on to the stepper drivers and the mosfet?

    Modern surface mount chips have thermal pads underneath them so that heat is transferred to the PCB. The top of the chip is made of plastic and doesn't conduct heat well. So if you are running at high currents close to the limits of the board, use a fan to blow cool air over both sides of the board. Putting heatsinks on top of the chips might actually make things worse if they restrict the flow of air over the PCB.

  • Thanks! As we speak I'm working through either a new mount box or a remix of an existing mount for my D-bot. There's one box I like a lot that has good fan provisions, and another box I like better except that the airflow/fan considerations aren't nearly as good. I may have to roll my own and try to have the best of both worlds.

  • My mount box is here which takes an internal fan blowing on to the back of the board or this one which takes both the duet wifi and the expansion board. I included the OpenScad files so you can hack then about to suit. I stuck thermistors on one of the stepper chips on each board and have the fans set thermostatically to come on at 45deg C which makes it silent when idle. HTH

  • I hope this is the right place for this. I currently have one of the bigger mosfets delivering power to my heated bed controlled by a Duet Wifi. The bed heats great and everything works well. But I found when the heater cycles it does something that causes my extruder to run slower (?) I get a fairly regular thick and then thin extrusion pattern. When I turn off the heated bed, the effect goes away. Is there something I can fix here? I have verified all the wiring and connections.

  • Voltage drop? Running M122 will show if that is the case or not.

  • administrators

    I agree, it's probably caused by the voltage at the VIN terminals of the Duet dropping when the bed heater cycles. Some suggestions:

    1. Make sure that the screws in the power input terminal block on the Duet are tight.

    2. Use a multimeter to measure the voltage at the power supply output terminals with the bed heater both on and off, and also the voltage at the VIN terminal block. If the voltage at the PSU output drops significantly, get a better power supply (cheap ATX power supplies are not very good in this respect). If the voltage at the PSU output remains stable but the voltage at the VIN terminal block drops significantly more, use shorter and/or thicker wires between the PSU and the VIN terminal block.

    If you don't have a multimeter, then as Ian mentioned you can use M122 to read the voltage at the VIN terminal block.

    3. Switch the bed heater to PID mode.

    You've just given me an idea: I could adjust the extruder PWM automatically to compensate for VIN voltage changes.

  • I have the power supply at the base of the tool and the Duet in the top (converted Rostock Max V2 to V3) I measured the voltage at a terminal strip near the Duet (12 in wire between Duet and terminal strip) during bed heating and I did see a variation 12.01 to 12.05. The heater is in bang bang mode.
    I have a meanwell 350W supply
    From M122:
    Supply voltage: min 11.8, current 12.1, max 12.2, under voltage events: 0, over voltage events: 0
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.4

    I have 12 gauge wire from the PS to the terminal block and to the Duet

    With the heater just turned on voltage at the terminal strip, Vin and Bed out all read the same at 12.05
    I have 12.66 amps running to the bed through the Mosfet when it is on. There does not seem to be any current running on the control lines from the Duet to the Mosfet. I have 22 gauge wire for the control wires.

  • administrators

    OK I misunderstood, I didn't get that you were using an external mosfet to control the bed heater. If the voltage at the Duet really only varies between 12.01 and 12.05 with the bed heater off and on, then I am surprised that it has that much effect on extrusion. OTOH the Duet's own voltage monitor is recording a much bigger variation. If that's the first time you have run M122 since starting the Duet, then the 11.8V figure could be the voltage just after startup. The maximum and minimum recorded voltages are reset whenever you run M122.

    Anyway, if the extrusion variation really is caused by power voltage fluctuations affecting the hot end temperature, then switching the bed to PWM should solve it.

    If the issue only happens or the first layer or two, then another explanation is that the variation in bed temperature is affecting how the filament flows when it is extruded. Again, switching the bed to PID will solve this.

  • So switching to PID did solve the problem.

    You don't have to read the rest.

    I am curious why this happens. On the SeeMeCnc forum one person attributed it to the hot end temperature changing, but my hot end temperature was steady. This is why I assumed there was a changing speed on the extruder.

    I am also using a Bondtech extruder, so I wonder if it is more noticeable on a geared extruder.

    Does it only happen when you run an SSR or Mosfet? Using these the current on the Duet for the bed heater is very small. Does it happen when running the heater through the Duet?

    Anyway, I am finally getting decent prints (I introduced and fixed several issues when converting a Rostock V2 to V3)
    I am loving the Duet Wifi.

  • I'd guess it isn't the extruder speed changing, it is something flexing due to heating of the heated bed, pushing the heated bed up/down which looks like over/under extrusion.

    PID holds the temperature more steady as compared to bang/bang.


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