Wednesday, March 22, 2017

The Melzi Problem, or, Why Did My Wanhao i3 Duplicator Catch on Fire?

Hey folks, Crow here. While I personally do not own this popular low-cost 3D printer, a number of friends do and they all have run into the same problem: the controller board overheats at the power and hotbed connectors, often resulting in melted pins or wires. As this seemed to be a systemic failure, I decided to look into the board design to see what might be done.

I obtained the open-source Eagle CAD files from the reprap.org github for the Melzi version using the A4988 motor driver chips. Immediately several problems became obvious:

#1) Never use thermals on high-current connectors.  Thermals are handy for isolating heat dissipation during soldering for low-current applications, but for high-current applications they become a liability as you want the best heat dissipation as possible on such connectors.  For example, here is a failed set of connectors on a stock i3 Melzi control board:

The damage is to the ground-return pin of the main power connector and the PWR pin for the hot bed.  Examining the board layers one will note the thermals circled in light blue that correspond to the pins shown above:

Thermals are the small traces leading from the green pad to the red (and hidden blue) copper layers that provide heat isolation.  The reason these are a bad idea for power is that the overall copper width becomes an issue.  Instead of the current being directly delivered into the 240mil-wide red/upper and blue/lower copper pours for power, all of the current has to go through the thermal traces.  This means the main power GND return has a total of four red and (again, hidden) four blue 20 mil thermal traces for a total of 160 mils and even worse the PWR pin for the hotbed had only two 20 mil traces!  This board was made using “1 oz.” copper weight, which means one ounce of copper per square foot of board material for a layer thickness of 1.27 mils or about 35 microns (0.035 mm).  160 mil of copper width is far too little for the 10 Amps a hot bed alone uses at 12VDC.  These thermal traces overheat to several hundred degrees C and ultimately fail by either melting open, melting the connector body until the contact is broken, or the wires attached to the connector overheat and fail.  All of these are fire hazards.  This brings us to the next caveat for high current board design:

#2) Never use 1 oz. copper weight for high-current applications.  It is simply too thin and requires a wide pour–wider than what is on this board. The copper will overheat at these currents resulting in the discoloration shown here:

The brown smudges are the result of the solder mask discoloring due to excessive heat for prolonged periods of time. Note the thermals on the power connectors.

For high-current applications such as this a third caveat can be stated:

#3) Always use screw terminals of the proper current rating for uses that exceed 3 Amps.  I personally prefer a 50% safety margin, meaning a 15-Amp connector for 10-Amp use.

I should note the connectors used on this board are 15-Amp rated, and are a part similar to the On-Shore Technology part number EDSTL955/2.

 

So, how to fix all this?  Time to rework the board.  No more high current thermals, and make certain both layers are used for power and ground in these areas:

I am also placing a DS1822Z temperature sensor in the high-current area to measure the board temperature while it is printing.  This is to make sure the board does not exceed 140C.  This will need a small firmware tweak to Marlin or whatever flavor of code a Melzi runs, but this is the sort of thing that will keep your board from burning up again.

 

Other tweaks include rerouting the entire board, improving the power connections to the motor driver ICs (10 mil power, really?), adding headers to allow the use of external SD card readers and USB cables, adding connectors for 3.3v serial to enable the use of things like a BLE board, some extra work on the Z-stop switch input to allow the use of an inductive bed sensor for auto bed-tramming (leveling), use of all screw terminals and finally replacing the ceramic resonator on the ATMEGA1284P with a 50ppm quartz crystal.  The resonator the old board used has a 0.5% tolerance, which might be a possible  source of layer consistency issues.  Thus I ended up with this:

Now to get some made. Well, not by OSHPark, alas.  For some reason if you specify 2 oz. copper they make the board from 0.8mm FR4 instead of the usual 1.6mm.  I know other versions of this board exist that (hopefully) address the problems I’ve outlined here, but this project is to get friends’ printers back up and running with a drop-in replacement as soon as possible.

Cheers, Crow

/**/

 

No comments:

Post a Comment