Jon's Place

Friday, March 30, 2007

IMU Boards

So, I picked up my new IMU board order today. One hundred of the little critters, which should keep me busy for a while...

Thursday, March 29, 2007

Custom PCB for Reflow Oven

So, I decided to make a custom PCB for my reflow oven. I'm going to be using it a lot, and I didn't really want it to die half-way through a job and end up ruining hundreds of dollars worth of boards and components.

The whole thing went pretty well, and I now have two of these boards (one is going in the mail out to my brother).

You can get the source code for this from my brother's SVN repository. The hex file is available for the ATmega168 or the ATmega88. You can get the gerber files for the board here.

For populating the board, here is a list of the Digikey part #'s for the components:

67-1781-ND - 16x2 LCD
255-1537-ND - 20 amp solid state relay
AD595AQ - AD595 K type thermocouple op-amp
TP-29-ND - K type thermocouple (edit - this one does't work - see comment)
CT6EX103-ND - 10K pot
LM2940CT-5.0-ND - 5 volt LDO regulator
399-4309-ND - 0.47 uF cap for LM2940
399-3574-ND - 22 uF cap for LM2940
BS170-ND - n-channel MOSFET in TO-92
ATMEGA88-20PU-ND - ATmega88
ED3128-ND - 28 pin socket for ATmega88
ED3114-ND - 14 pin socket for AD595
ED7636-ND - 36 pin SIP socket (handles molex square pins)

You need a few other components, like three 0.1 ceramic uF caps, a couple 10K resistors, a 100 uF electrolyte cap, an integrated resistor LED, a 6-pin molex header for programming, and three 2-pin molex right angle plugs.

Saturday, March 24, 2007

Reflow Oven - Done

So, I finished everything last night and this morning, and I now have a nice little reflow oven. It was an easy job to port my friend Julian's code to the AVR (he controls his oven with a PIC). I've run it through one cycle, and it works exactly as you would expect.

Big kudos on this project go to Julian, for providing the inspiration (and oven control code), and my brother Dave, for helping with countless embedded problems, not to mention some nice support libraries for the AVR.

Friday, March 23, 2007

Reflow Oven

For the past few days, I've been working on building a simple reflow oven for soldering surface mount boards like the one in the previous post. That one was soldered in my friend Julian's reflow oven, but I have to drive thirty minutes to get to his place, and given the quantity of boards I'm planning on building over the next few months, having my own oven will definitely be worthwhile.

Julian's oven was built from a Circuit Cellar contest entry. He used a PIC 16F876, and had a nice PCB printed from APCircuits. I decided ahead of time that since I'm undergoing the switch from PICs to AVRs, that I would use an ATmega168 based controller board instead of a PIC.

I also, after talking to my brother, realized that I could use a much cheaper parallel LCD panel ($7.30 from Digikey) instead of a much more expensive (but easier to interface to) serial LCD panel. Turns out you can interface to one of these LCD panels using 7 wires. Much thanks to Dave for his excellent LCD driver code.

So, I did a Digikey order, and got a bunch of stuff, including a 20 amp solid state relay, a K-type thermocouple, and an AD595 thermocouple op-amp chip. The thermocouple is basically a temperature probe, and the op-amp provides a 0-5 volt analog signal based on the temperature at the tip of the probe. I also picked up a nice Black & Decker toaster oven at Canadian Tire.

I put together a controller board, which at this point isn't finished - I don't have the AD595 wired in, nor do I have the connection for the relay. But the ATmega88 (which is a smaller memory size version of the ATmega168) is running, driving the LCD panel, and flashing a status LED.

Next up, I have to add in support for the relay, and then the thermocouple. Then I need to take apart the side/back of the oven, and cut into the wiring so I can control the oven using the relay. Once that is done, I take Julian's C code for the PIC, alter it to run on my ATmega88, and I'm all set...

Thursday, March 15, 2007

6 Axis IMU

Well, its been a couple weeks since I last updated here. I've been pretty busy, working on a number of pieces of electronics for BrainBot* and MicroRaptor. The biggest achievement came today, when I got my 6-axis IMU bus sensor working. In my last post two weeks ago, I had the prototype board working, but since then I have had a proper PCB printed, mounted a bunch of very tiny surface mount parts, and got it all working.

This is a very small board. It measures 1.15" x 0.75" (about 29mm x 19mm). It has a 16 MHz ATmega168 onboard (the small square chip in the middle), two voltage regulators (3.3 volts and 5 volts), a bunch of capacitors and resistors, a couple LEDs, and a Bioloid bus plug. It also has a couple sockets where a Sparkfun 5-axis IMU board and a Sparkfun 1-axis gyro board can plug in.

You can see some more pictures of the IMU board here.

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute