Thursday, January 22, 2009


Introductions and Thermal measurements

Being that this is my first post, I'll introduce myself a bit. I'm an Electronics Technologist, working as an electronics designer for 5 years. I'm back in school, working on an Electronic Engineering degree. My initial interest in RepRap was piqued when I saw the plans for RepRap II, and circuit printing. I set about trying to find a better method than low-melt metal because of the problems that I, as an electronics designer, see with that solution.

I decided that I'd put together a RepStrap in my own unique way: I want to use largely reprap components, but I want to tie it all together with some electronics that I already have around, most notably, I intend to use an embedded 486 processor card running Linux as my RepRap controller, with an attached FPGA expansion card to do all my I/O. I already have both of these cards and no other practical use for them, so it just makes sense to me.

To that end, I started looking over the RepRap electronics, and immediately noticed one improvement that would be necessary if we are to continue with swappable toolheads: Toolhead controllers. There is quite a nexus of control and measurement right on the toolhead. It doesn't make sense to me to be mixing analog, PWM, quadrature, etc., all on a thick cable and sending them back to a controller. It makes far more sense to put a secondary controller right on the toolhead and then ship the information back using RS-485.

So in an effort to revamp the toolhead electronics, I've been going step by step through the parts of the toolhead, trying to do things better, faster, cheaper. I'll take a moment here to say that I don't think the work that has been done on RepRap is bad. I think it's excellent. I think that a move away from the token-ring style network of controllers was absolutely necessary, and the gen2 electronics are great. But I think it is important to move back towards a modular approach for the toolhead since the toolhead is going to become modular.

My first point is the thermal sensing system. Thermocouples are the route we need to go for higher temperatures, I think most people agree on that. However, I disagree with the implementation of the thermocouple reader. It's expensive, and noise prone (think long analog line near PWM signals, here). I have an alternative which I've discussed in the forums, and here it is! The MAX6675 thermocouple reader board.

The parts cost is minimal, (Digikey part numbers shown for ease of use, single unit prices shown on all but the MAX6675, which is priced from Maxim's online store) $0.86 for connectors (A98333-ND + 708-1028-ND), $7.18 ($3.88 @ 1000 units) for the MAX6675, and $0.54 for the filter capacitor (399-3526-ND)

I've tested this board on an ATmega162, and the temperature readings are accurate. The interface is quite simple, just a left-justified two-byte SPI frame, with a 12-bit temperature code, in 0.25C increments, and a flag for detecting open thermocouples

In one shot, the temperature sensing will be cheaper, smaller and more reliable.

By popular demand, here is the schematic!

Labels: ,


Most excellent.

Any chance of kicad schematics etc....


Honestly, it's so trivial that there's not much point in schematics.

VCC, GND, SCK, CS, MISO are all wired to the closest pin of the SIP, and T+, T- are wired to the closest pin of the terminal block. T- is strapped to GND, and there's a 0.1uF capacitor between VCC and GND. Check the datasheet of the MAX6675 for pinout details.
Sparkfun have a breakout board for this chip too
Making the sparkfun board work for this application requires a little ingenuity. The terminal block needs to be mounted to the same board as the MAX6675, and as physically close as possible to it. This is so that the IsoThermal block requirements of the MAX6675 are met.

Provided you can make that work, it should work well. Don't forget that there needs to be a decoupling cap in close proximity to the MAX6675
"Honestly, it's so trivial that there's not much point in schematics."

I think it's best to draw a schematic for this anyways. There are a lot of people here who are not big into electronics that are very visual. I for one did not understand your explaination of how to wire this chip. So if it's not too much to ask could someone still generate a schematic?
Well, since several of you seem to want schematics, I'll make some up today and put them up a little later on.
In case anyone is following this comment thread by email updates, the schematic is now posted.

Many thanks that is great. Simple is often beautiful.


Hello! I use the max6675 ( actually two of them) on another project that I finished about a year ago, and I've been using them both successfully for the duration. it's a great little chip. I actually got mine by requesting a sample from maxim, and they sent me a couple for free. :-)

Very nice! Perhaps you can talk Zach into updating the thermocouple board with this design?
The problem with this board in existing applications is that you need to run SPI signals to the MAX6675. If you do that over a cable, you need to isolate each signal with a ground to prevent crosstalk. This means that the 6675 should ideally be near the microcontroller, but that means a long run of thermocouple wire, which has its own related problems.

In short, this will likely work better with toolhead controllers, where there will be a power/data cable connected between the primary reprap controller and the toolhead controller--which is where I'm trying to push development anyway.

I'll have some posts about toolhead controllers in the nearish future.
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]