Sunday 26 September 2010

Problem with Extruder heater - Solved

In recent days I have been trying all sorts of things to get my RepRap Mendel working. After initial tests which were successful, the machine electronics proved to be very unreliable.

I have used over 3Kg of ABS without a single successful complete print. The problem was that at some point during the print the extruder controller would shut off the extruder heater for no apparent reason. Obviously this stopped molten ABS from flowing out of the extruder and I had to abort the print.

I tried all sorts of settings when generating the GCode cos folks on the RepRap forums indicated that the problem might be with the code, but had no luck there. I was quite sure that the problem lied within the hardware and when I exhausted all my other options I fired out an e-mail to Kimberley of Techzone asking for help in solving this issue. She did promptly come back to me as usual, but the answer was that I need to wait till Tuesday when the guy that can help me returns from an exhibition they are attending.

As they say, necessity is the mother of invention. I thought to myself that building an independent heater controller shouldn't be rocket science (even if it was I was determined to succeed). A quick scavenge through my pile of junk and the neatly packed stuff that my girlfriend owes (she is also an electrical engineer) resulted in an interesting find. A couple of TIP3055 (Data-sheets http://www.bourns.com/pdfs/tip3055.pdf) capable of handling 10 Amps. True, this transistor is an overkill but there again, I'm eager to get a complete print.

A couple of quick calculations led to the following circuit diagram which I built on a "breadboard" (technical term for prototyping board), connected to the extruder heater and fired it up..... Fantastic!! Seems to work!
The components in blue are off-board and I inserted scavenged connectors on the strip board I set out to build. Below are images of both the front and rear of the board for anyone that wishes to build one. The idea behind this circuit is that when the Thermistor (which is an NTC - Negative Temperature Coefficient - which means that with rising temperature the resistance decreases) is heated up, and its resistance decreases, the voltage across the resistor decreases until it switches off the transistor. With the transistor off, the extruder heater is also off so it begins to cool. This results in the thermistor increasing its resistance and hence voltage drop which triggers the transistor again. The result is that the transistor/thermistor combination find a happy medium and settle at an ideal state where the temperature is roughly constant. This is also known as a Proportional Controller. The LED is a simple indicator of when the temperature is at its pre-set state since when the transistor switches off, the current flows through the LED turning it on. The LED is dimmer than usual when the transistor/thermistor are in equilibrium. If the LED is brightly on, then the temperature is too high and the transistor (and hence the heater) would be turned off at that time.

Component Side
Solder side
I mounted the board on my RepRap and started testing with just the new board powered on. I observed that the molten ABS was actually much wetter even if I set the temperature (by turning the variable resistor VR1) and much stickier too. My assumption is that since the techzone electronics control the temperature by turning the power on or off in a digital manner this was causing high fluctuation in temperature. On the other hand my Proportional Controller varies the power in an analogue and smoother manner thus resulting in a consistent flow of molten plastic. This theory still needs to be proven, but that's for a later date. At the moment I'm over the moon that it works.

Loaded the GCode and hit print..... All was well up to layer 23 when the extruder motor stopped working, but at the next layer it started again so no great loss there. At layer 48 it did it again, but this time it didn't restart at the next layer and neither the following (see gap in finished product) I waited until the printer went to its zero position between layers and hit the Reset button on the extruder controller. Luckily it started extruding again.

At layer 97 it did it again, but this time I hit the reset button immediately as it went to the zero position. It worked and the printer continued to finish the product....

Finally an entire print, although I had messed up the settings so much that it will be binned anyway. Hopefully by tomorrow I'll have a decent print to post as this is no looker.

A somewhat finished product

Ooh, almost forgot! I also inserted a link to short the two terminals where I use to connect the thermistor before (on the Techzone extruder board) this fools the board into thinking that the temperature is high enough and that it doesn't need to switch on the heater MOSFET.

3 comments:

  1. Please excuse the possibly ignorant question, but from how I read this, you have negated the thermistor in the Techzone board, so I assume that you have another means of measuring the temperature in order to calibrate your VR1? If this is much better and people are switching to proper stepper controllers instead of the PWM switched stepper, then it can't be far off making a total replacement for the extruder controller. (I'm not here yet, and still trying to get my head around the electronics).

    ReplyDelete
  2. I'm very interested in building one of these. I just came across your blog after many frustrating hours of working on my mendel. After reading your first post I can say I whole heartedly agree that the complete lack of organized useful information for the reprap project is staggering.

    I have burned up 2 techzone extruder boards, probably mostly my fault... but i'm looking for a way to make my mistakes less expensive. The first one blew an H-bridge from the pot being cranked when I got it and I didn't realize. The second one blew because I had a wire terminated in the wrong spot. I did the best I could to make 2 bad boards into 1 working board...

    I built a pololu stepper driver board, so i'm not using the extruder for the motor anymore. Now my temperature readback on one extruder board says 2000 degrees all the time and it won't heat the end. The other extruder board says 2 degrees all the time, it heats up but the readback never changes so it's got no control.

    Same question as above... if i built this, how would I calibrate VR1? Trial and error i suppose?

    ReplyDelete
  3. Hi Jeff,
    Apologies for the late reply to your comment. I was out of action for a while until I finished my exams. Should be back on the reprap case this summer so hopefully lots of new experiments and modifications to post.

    In answer to your question, there are two ways to determine the temperature of the extruder for correct calibration of VR1.
    1. Constant voltage readout with a volt meter in parallel to the NTC, plotted and RMS or best-fit taken as final readout.
    2. IR Thermometer pointing at the Brass part not the kapton tape and will give you a pretty good temperature readout of the extruder. This is the method I use now since its less time consuming and complicated than method 1 while the error is minimal.
    Hope this helps (although I think you've figured it out but now). In any case please let me know if I can be of any help.

    ReplyDelete