Tuesday, February 4, 2014

Peeling Up: An Up Mini Temperature Hack

Just purchased a 3D Printer for a certain special course that I am TA for this spring term. See below, its an Up Mini!

These guys had great reviews off the MAKE Magazine 3D Printer guide for 2014 and with a nominally low cost we were interested in making these become the primary workhorse of the course. The Form-1's and Mojo's may feel a bit sad.

There is a lot of good to say about this guy; nearly plug-and-play operation for Windows 8*, a superb software that considers the end user (except their ears), and a PCB print surface that enhances adhesion during the print but also facilitates easy removal after the job.

The one bad part is the warping for ABS materials. I made several calibration test prints and anything with gratuitous flat surface came up with nasty warping on one side. The Up Plus that my buddy Charles has never suffered from this issue and its hard to imagine that they downgraded between revisions.

Investigation showed the bed temperature was 60 deg C for both ABS and PLA. Two things strange about this. PLA doesn't need temperature stability to print well (especially on this perforated surface) and the bed temperature for ABS is half that of what other machines report as an ideal setting.

So how do I change it? In the Up Plus, the user could view the temperature settings under the "Maintenance" options. The bed temperature displays under the extruder temperature in the upper right of the window. However, when connected to the Up Mini the temperature option disappears! Stratasys holds a patent on heated enclosure systems, a feature that happens to be advertised by others when considering this machine. Is this Up's hilarious method of avoiding legal?

Okay, how about hardware fixes? I remove two screws and a ribbon cable to access the heated bed itself. The ribbon cable presumably connects to a heating element, the temperature sensor, etc...

NOPE. The bed is a routed circuit board resistive heater with a SINGLE component on it. Its not even a magical IC, its a single transistor. This engineer is good at saving money.

Investigation of this KSD-01F shows that a) it is native chinese and b) is nothing more than a temperature switch (thermostat). The controller pumps current into the board until it reaches a temperature threshold. Then the transistor shuts off and the board is assumed to maintain steady state as it switches on and off and temperature fluctuates about the cutoff. These thermostats appear to sell in a variety of different temperature cutoffs.

This is so ghetto, I decided to hack it. Using the Up Plus as the paragon of 3D printing, I set my target temperature to 100 deg C. I purchased a higher temperature model from amazon and soldered it onto the board in place of the old one.

As a simple test, I allowed the bed to preheat for and hour and began a print. The result was simply phenomenal. No warping at any section of the part. Subsequent prints of various size and shape also returned similar results.



Before you declare this a godsend and perform this on your printer consider this piece of heat transfer; the preheat is now absolutely necessary to achieve the higher bed temp. The printer has no feedback mechanism to monitor bed temp so if you hit "Print" the printer will not heat for longer to accommodate the higher temperature threshold; the heating cycle is likely hard-coded into the printer ROM which I do not yet know how to change. Also, given the printer dumps constant current into the bed means the input energy rate is constant; to achieve max temperature the time of heating needs to be increased. This assumes the ambient heat loss rate does not cause the bed temperature to reach steady state before the temperature threshold...

Later science posts regarding Up Mini:

  1. transient temperature profile for
  2. input current hack for heated bed (and temperature profile after)
  3. hack to lower or remove annoying buzzer