Pages

Friday, January 11, 2008

Advanced Electronics Thoughts

I've been thinking a lot lately about the Arduino and some of the cool advanced things we could do with it. Some of it was spawned by threads in the forum about servos vs steppers and some of it was because of some problems we've been having with thermistor style temperature measurement (blown thermistors, inaccuracies at high temps, etc.) Anyway, I've been working on a couple new circuits that have the potential to be very useful.

Thermocouple Sensor

This one is a high quality temperature measurement board based on the AD595 chip. It uses a thermocouple to measure temperature, and is specifically designed to be used with Type K thermocouples. The nice thing about a thermocouple is that they can withstand *very* high temperatures. The type K thermocouple is rated for up to 1200C. Thats hot. The sensor board is really just a PCB to house the AD595, an LED, screw terminal, and the interface pins. The vast majority of the work is done by the AD595 which takes the signal from the thermocouple and converts it into an output that is ideally suited for an ADC converter. The way it works is that the AD595 outputs 10mV/C... which means that it is *very* simple to convert a reading from a thermocouple to a Celsius reading.

The circuit is mostly done, but I'd love to get some feedback before I have a prototype run made. Given the small size of the board, a prototype run will still be 100+ boards. Anyone want one to play with?

All the Eagle files are located here: http://svn.reprap.org/trunk/users/hoeken/arduino/electronics/thermocouple-sensor/

Magnetic Rotary Encoder

A rotary encoder is a circuit that allows you to precisely know the rotational position of something. In our case, we'd use it to know the exact position of our motor. This one is a high precision rotary encoder based on the Austria Microsystems AS5040. It uses a magnet on the drive shaft, and a chip that detects magnetic fields (the AS5040) to detect and tell us exactly what position it is in. The AS5040 offers 10-bit resolution (1024 positions/revolution) and offers a TON of outputs: quadrature encoding, PWM output, analog output, and a shift register style output. This board takes the AS5040 and brings all the outputs out to us so that we can use the one that matches our needs.

This circuit is less done. There are still some things to be done in the schematic (help/feedback wanted):

* add a power-on indicator (good idea?)
* add a calibration LED based on using a single pullup with the maginc/magdec pins (not sure how to do this)
* needs to be laid out properly and in such a way that its as small as possible
* figure out the best way to put mounting holes on to make it as easy to use as possible... (right now i'm putting 4 holes... one on each corner.)

All the Eagle files are located here: http://svn.reprap.org/trunk/users/hoeken/arduino/electronics/magnetic-rotary-encoder/

Keep in mind these boards would be intended to make it easier to for people to build and experiment with more advanced technologies that will hopefully someday become part of a core reprap system. Its still very early in the game for these boards, so any feedback now will be greatly appreciated (and used!)

3 comments:

  1. Very nice, Zach!

    What is the plans for communicating from board to board? Or is the plan to plug these boards ala daughterboard style to an Arduino board, and let the arduino boards fight out how to communicate with each other (Be it serial, usb, blue tooth, or some other communication protocol?)

    ReplyDelete
  2. thank you =)

    well, for these boards the idea is to plug them directly into the arduino, daughterboard style. one is just a temperature sensor, and the other just tells the position of a motor. of course the rotary encoder has the optional 'shift register' mode where you can chain them together and then read the data from all 3 serially.

    if you're talking about the arduino system in general, check out this page: http://make.rrrf.org/electronics-2.0

    it details exactly how the current Arduino electronics should be hooked up.

    ReplyDelete
  3. Can you tell me what the maximum distance is at what a standard magnect can still generate a signal?

    ReplyDelete