Saturday, August 27, 2011

Remembering Jim Williams .... Dead Bug Style!

I just finished reading Jim's last EDN article he wrote before he past away in June.

It is a great article that describes how to design a 2KHz Sine Wave Generator with less than 3ppm distortion that could be used as a signal source for ADC benchmarking. After reading I thought, man it would be fun to build this circuit up. I just didn't have many of the precision components just lying around in my junk box, so I settled for building up a less impressive 1KHz Sine Wave Generator with a whole lot more than 3ppm distortion.

While surfing the internet I came across a project on where he built up a function generator based around a LM324N. This looked like a great starting point for my project.

I jumped in and started up LTSPICE and got a circuit simulating based around the LT1001 opamp from Linear Tech. Jim worked at Linear Tech and I had a bunch of LT1001's lying around, so it seemed like a good part to base the circuit around.

R1 & R2 set the common mode voltage at 1/2 the supply. U1 is used as a threshold comparator and generates a square wave. U2 integrates the square wave and creates a triangle wave form with a period set by C1 & R4. D1-D4 provide some non-linear wave shaping to turn the triangle wave in to a pseudo sine wave.  U3 amplifies the sine wave and U4 provides a bit of buffering/drive.

I wanted to fit the 1KHz Sine Wave Generator in an Altoids box and run it off a 9V battery, so I carved up a piece of FR-4 and started soldering up the circuit using a "Dead Bug" style that Jim Williams used often. This style of prototyping is actually pretty quick; the base PCB is gnd and the ICs are flipped upside-down and glued in place. The wiring goes really fast and I had this built up in about an hour.

This circuit won't win any awards for being a super clean Sine Wave, but it will work perfectly good for a nice audio test signal or base band signal source for an RF project.

There is something just satisfying with soldering up a circuit and seeing it do what it is suppose to do without a single line of Assembly or C code being written.... R.I.P. Jim Williams!

1 comment: