Friday, June 4, 2010

Mad Extruder

We got the entire machine up and running for about two days. After a perfectly ordinary print, powerdown and sleep cycle (my sleeping), the machine started reading the temperature sensor wrong.
Completely wrong. With no thermistor attached the machine reads assorted temperatures between 100 and 220, but not the expected 255. After I tested the pins with a voltmeter (sensor attached), the readings were correct... for a short period. After 1-2 seconds of reading correctly the "temperature" skyrocketed back to 2XX. The same results can be had with another thermistor, so it is definitely on the board. An interesting note was that when heated to around 200 degrees Celsius the board begins to read the temperature correctly, and is able to regulate it fine.
However, given the complete unreliability of such performance I deemed that unacceptable.
A little help on the IRC indicated that either the resistor (4.7kohm) or capacitor (10uF) was damaged. I have no way to know what damaged them, but evidently something is broken. I probed the resistor, and got the correct resistance, but I managed to damage it by trying to re-seat it on the pads -- knocking off the soldering pads on the component itself. As I do not have spares of the parts, I scrounged and found the needed bits on some assorted and functional boards in the scrap pile, and replaced the capacitor and the resistor.

The board runs the extruder test program fine, and takes reprogramming correctly. However, it no longer communicates with the mainboard. This could be the side effect of re-seating a number of the components, as I felt like some were not well seated. I have yet to test the pins on the chip used to communicate over the cat-5 cable.

The timing could not be worse, because our PLA is now just sitting there, waiting, begging to be used.

4 comments:

  1. the issue visn't hardware, it's software. THere is a hard upper limit of 255degrees returned from the getTemperature() function call, irrespective of the readAnalog() values read from the thermistor pin. there is a bug in the login that means an open-circuit floating pin, can read very, very wrong, at either 100ish, or 255degs, but not the 800degs it might represent otherwise.

    ReplyDelete
  2. Thanks Buzz!
    Is this something that I can fix easily, or what should I do?
    It sounds like the "open-circuit floating pin" (I assume this means no connection to the controller?) is a hardware issue, but I do not know what it really means.

    ReplyDelete
  3. Err... I remember fixing that in my firmware a long time ago, setting the temperature cast from byte to int.

    ReplyDelete