Archive for the analog Category

Freeform analog circuit

Posted in analog, Hot glue is the best thing in the universe. Deal with it. on May 5, 2010 by raphaelabrams

I finally settled on a circuit for the analog section of the lip syncing circuit. There’s a dual op-amp, a few resistors, two capacitors, a potentiometer and a diode. It was getting to be a hassle to keep it on the breadboard, but we didn’t have time to make printed circuit boards. So I soldered it all together free form. Here’s an air-wire sketch:

Here’s the mostly finished circuit (without the potentiometer) top and bottom.

Finally I encased the whole thing in hot glue. It keeps the parts from bending and breaking, and it’s pretty much waterproof.


Analog Creep

Posted in analog, software on April 29, 2010 by raphaelabrams

Uh oh! Once I get started on an analog design, I just can’t stop tweaking! I took that envelope follower circuit and added an inverting amplifier to its input. This let me eliminate the DC offset voltage and also increase the amplitude of the signal before it gets “followed”. The response is much better! I also now use both amplifiers in the eight pin DIP. The second one is a unity gain non-inverting amp, just to bring the output impedance way down so that the ADC can handle it. The AVR likes no more than about 2kΩ of impedance on its analog inputs.

Analog designs do this. They slowly get bigger and bigger as you realize that you can make the signal just a little bit better/cleaner/niftier. Be careful!

Also, I made one of the classic C mistakes in the software filter: an “=” in the place of a “==”. Mock me, if you must. I’m not ashamed.

We got it this time!

Posted in analog, sound on April 27, 2010 by raphaelabrams

See that black rectangular blob in the middle of the picture above? That’s an operational amplifier, or op-amp. It’s a very common device that has a whole bunch of uses in the analog domain. Here I have it configured as a simple non-inverting amplifier, with a basic envelope follower circuit on its positive input. The envelope follower strips out the frequency from the microphone signal and outputs a voltage that is proportional to the amplitude of the original signal. This is almost enough to solve our problem, but the output signal is too weak for the AVR to read correctly. That’s where the op-amp comes in. It amplifies the signal before it goes into the AVR, overcoming noise issues. Fifty cents well spent! Now, instead of rapidly reading and analyzing the waveform, all the AVR needs to do is sample the output from the op-amp once in a very leisurely 11 milliseconds or so.

I was a little afraid of going back to 1970s era analog circuitry to solve this problem, but I’m glad I did. It works amazingly well. Now we get convincing, smooth servo response. And we don’t have to glue a pile of mechanical sensors to the dancer’s faces every two hours!

Here’s the circuit, drawn in SHARPIE CAD:

Wiggly minions, I bring you LIFE!

Posted in analog, arduino, robotics, servos, sound, Uncategorized, update on April 26, 2010 by raphaelabrams

Hi folks! This is Raphael Abrams here! I’m an artist living in Brooklyn, doing all kinds of odd skilled labor to make a living. I teach electronics at NYC Resistor (I’m a co-founder), design open source electronic kits, do contract electrical engineering and when I get the chance I try to make art.

This blog will serve as a record of my new adventures in animatronics and puppetry. I’ll be sharing what I learn, and I hope you might be able to find something useful!