Showing posts with label Testing. Show all posts
Showing posts with label Testing. Show all posts

Friday, 15 July 2016

DuetWifi Thermal Testing

The DuetWifi is our new advanced 3d printing electronics board based on the Duet 0.8.5 but completely redesigned with David Crocker (DC42 on the reprap forums). We are currently running a pre-order which is due to end 17 Jul 2016 with the first boards delivered in the first week of August. We have also had a batch of pre-production beta boards made which are with beta testers right now. We put one of the boards through thermal testing by Andy Hingston (who was part of the Duet 0.6 design team). This blog post will deal with the thermal testing, I have future posts planned to detail the hardware design of the DuetWifi.

The main concern for heat generation on the board are the stepper driver chips. The TMC2660s are rated to 2.8A RMS, however we have limited them in firmware to 2A for now. What our testing has shown is that the TMCs drivers, coupled with the board design mean these drivers will run cool in most "normal" desktop size 3d printers (~1A motor current) and have the capacity to scale for significantly larger printers comfortably (~2A motor current).

In order to do a comprehensive test we decided to test the TMCs with 1A, 1.5A and 2A (RMS) of stepper motor current in three conditions:

  1. With the motors held in a "half step": in this condition there is 100% of the current flowing through half of the stepper driver with 0% through the other half.
  2. With the motors held in a "full step": in this condition there is 1/Sqrt(2) of the current ~70.7% of the maximum current flowing through both halves of the driver.
  3. In a normal microstepping mode with a step frequency of 8000 steps/min at 16 microsteps, interpolated by the drivers to 256 microsteps.
In all cases we allowed the temperature to stabilise for 20 mins from an ambient temperature of ~25C

The results: in summary the drivers and heatsinking design on the board have performed really well. At 2A RMS in the "half step" condition (the worst case) we saw the temperature rise to 87.7C (a 62.7C rise from ambient). In the actual use case of the normal stepping at 2A it was a rise to 71C (a 46C rise from ambient). All these tests were performed powering X,Y and Z drivers on the board at the same time so that the Y driver had hot drivers on either side of it. We expected it to get the hottest but actually Z was generally the hottest by about a degree indicating the importance of the PCB to dissipate the heat.

The thermal camera output is below; click on the pictures for larger images.

1A Half Step hold
DuetWifi Thermal Test 1A Half Step Hold - 48.7C

1.5A Half Step hold
DuetWifi Thermal Test 1.5A Half Step Hold - 62.1C

2A Half Step hold
DuetWifi Thermal Test 2A Half Step Hold - 87.7C - Front View
This view of the back of the board shows just how effective the heatsinking on the back layer is.
DuetWifi Thermal Test 2A Half Step Hold - 71.0C - Back View


1A Full Step hold
DuetWifi Thermal Test 1A Full Step Hold - 51.0C

1.5A Full Step hold
DuetWifi Thermal Test 1.5A Full Step Hold - 62.1C

2A Full Step hold
DuetWifi Thermal Test 2A Full Step Hold - 79.8C




1A Normal Stepping
DuetWifi Thermal Test 1A Normal Stepping - 41.8C

1.5A Normal Stepping

DuetWifi Thermal Test 1.5A Normal Stepping - 55.5C

2A Normal Stepping

DuetWifi Thermal Test 2A Normal Stepping - 71.0C

The other area of interest as far as power dissipation on the bard was the heated bed MOSFET and associated power traces. We wanted to carry at least 15A so I increased the width of the trace and doubled it up (both front and back). With 15A on constantly we saw a stable temperature of 88.5C at the hottest point.

DuetWifi Thermal Test 15A Bed MOSFET - 85.3C on Front power (-) trace, 81.9C on MOSFET

DuetWifi Thermal Test 15A Bed MOSFET - 88.5C on Back power (+) trace

Thursday, 16 January 2014

Duet on board power supply testing

There have been a number of discussions on the reprap forum (1,2,3 for starters) about the effect of electrical noise causing hanging/freezing on the Duet board requiring reset attributed to this. Radian originally highlighted that a significant spike on the 12V line was caused by the switch of of the Heated Bed FET could be the cause.

We have done  quite a bit of investigation now into this particular effect, its causes and options to reduce it which is covered below. All the scope plots were recorded by Andy, one of the Duet designers. Throughout the green trace is the voltage under investigation and the purple trace is the heated bed current.

The relevant portion of the schematic is shown here for quick reference, full design files are on Github:



Bed FET Switching Transient Spike

Due to the fast switch off of the MOSFET, combined with the inductance of the PCB heatbed (average measurements 1uH) there is significant ringing (47.8V pp). The FET is avalanching at that point.


12V at he MOSFET Drain during bed switch off
This noise is relatively local to the MOSFET though, at the 12V input connector it is down to 750mV pp.

12V at the input connector

Once through the buck DC-DC convertor on the 5V line the noise is down to 130mV pp.
5V at buck output

and by the time that goes through the 3.3V regulator its down to 63 mV


3.3V at LDO regulator output
 At this point the 3.3V is further filtered and converted onboard the processor to 1.68V.

Mitigating the Spike

Some of these ideas have come form suggestions on the RepRap forums - thanks for the input!

First Andy added an RC snubber across the FET  with a 10nF capacitor and a 10R resistor. This removed the ringing but the large spike was still evident. Adding a catch diode across the heat bed contact made a small additional difference


RC snubber added across FET (10nF + 10R)


Snubber + catch diode across heat bed contacts
Finally R18 (see schematic at the top) was changed for 470R and 100R added in series with the FET gate. This has the effect of speeding up the turn on and slowing down the turn off of the FET. With all of this in place the spike is still significant but as the second trace below shows the noise on the 3.3V line is now only ~18mV

Snubber + catch diode + R18 changed to 470R and 100R added in series with TR2 gate
3.3V LDO output during heated bed switching
So what?

Our assessment at this point is that the 12V spike caused by the heated bed switching is not, in of itself, causing any negative effects to the Duet processor. In addition the avalanching causes minimal additional heating to the FET when "Bang, Bang" switching or low speed (<1KHz) PWM is used. High speed PWM is bad due mainly to the slow turn on time which causes significant heating.

During this testing we had 3 Duet boards using PWM on the heated bed for a number of days with no modifications, those processors have been subjected to hundreds of millions of these noise spike without a single crash and hang. That is not saying that its not possible but there are probably other contributory factors, see "Further Work" below

Further Work

More investigation is needed into the effects of USB ground loops which may be causing some issues. Other USB noise can also cause problems, the investigation by markbee, posted on the forums is a very useful starting point.

The firmware is being continually updated (special thanks to dc42 for all the work he has already done). This has already fixed some causes of Duets hanging so make sure you are using the most up to date firmware if you are having issues.

I must again thank everyone who is contributing so much on the forums!