This week's Bing time was spent on the following items:
After finishing the design of the servo interface board, I sent
it off to ExpressPCB for
fabrication. It came back just as I designed it (I am very
happy with the job they did), so I set out to solder it
together. Unfortunately, I made several errors in the board
design (my first attempt was bound to be imperfect I suppose).
First error: the holes for the connecting pins weren't big
enough. Second error: I somehow reversed the power and ground
connections for six of the op-amps. After blowing one set out,
I tore them off and went to work rerouting traces. Frustrating
work, but eventually I got it all together and it works! The
purpose of the board is to route power and control signals to 12 of
Bing's servos, as well as get two different types of feedback from
each servo: position and "torque" (approximated by
servo current use).
To measure servo position, I will solder a lead onto the center
lead of the potentiometer that is used inside the servos to measure
position. I then feed this into an op-amp configured as a
voltage follower to isolate it from the circuit, and then the result
is fed into one of the MPC555's A/D converters. In total, this
board requires 12 PWM channels to run, and 24 A/D channels to
capture the feedback (25 actually, as I will need to capture the
servo power voltage in order to scale the position measurements).
To measure current use, I use a little chip from Linear Tech
called the LT1787 Current Sense Amplifier; I then feed the output
into the other side of the op-amp, again to isolate it from the
other circuitry before feeding it into another A/D converter.
The voltage is biased upwards to get it away from the zero volt
ground rail using two resistors (thanks again to HarryWLewis for his
assistance in getting the circuit to work!). Here is the
circuit. Most of the components are surface-mount parts which are
tiny and a little bit tricky to work with (do not sneeze
while working!), but their small size makes a circuit like this
practical for use in a small robot. This circuit is replicated
12 times on the board:

I also assembled Bing's right foot. There are a few
problems still at present. The contact "switches"
built into the foot pads are malfunctioning and will need to be
retooled a little bit. Also, the toe section is not quite
stable enough when the main foot pad is off the ground; I will fix
this with one or two small rubber pads added to the toe. In
case the picture on the main page isn't enough, here is another one:

Finally, I am making progress on the new vision board.
Well, a little bit of progress, anyway. I got the MPC555
microcontroller to talk to the external dual-port SRAM that will be
used to communicate the images between the dedicated Atmel AVR board
and the MPC555. This wasn't too difficult; the hardest part
was making a cable for it. Here is a bizarre picture of that
cable, along with other messes:

|