BEAM Phototropic Single Motor Walker
I have been working on this one motor walker the last month on an off. It was inspired by Jerome Demers' single motor walker, but with a few differences. I used a gear motor instead of a modified servo, and although I'm using a similar circuit based on one by Wilf Rigter, this one has photodiodes and can turn towards light.
I made the frame first, using plumbers strap, a small 6V gear motor, emergency cell phone charger and the two big gears. By the time I had that figured out I had got an order in from Jameco. I ordered on a Friday and they have a free item on Fridays. That day's item was a grab bag of LEDs. Looking at the one big 12 pin LED, I knew I had to use it on this bot. From that point I found a round pcb that was the same footprint as the LED and I started in on the circuit layout.
The 74AC240 is a tri-state octal inverting line driver, but in this case we use it to form two oscillators called bicores. The first one is connected to the photodiodes and called a phototropic suspended bicore. It operates at a 'high' frequency from 100Hz to 100kHz depending on absolute light level. The two outputs from the photo-bicore are complementary rectangular waveforms whose duty cycles are determined by the ratio of light on the two photodiodes. These two waveforms PWM the current through the two 1M timing resistors of the grounded bicore (which controls the motor). As the PWM duty cycle of the two signals varies, the effective value of the timing resistors does as well, changing the duty cycle of the grounded motor bicore, but not it's frequency. The remaining 4 inverters are used to drive the motor. Why to go to these lengths when you could just connect the photodiodes directly to the motor bicore instead? Because the frequency of the motor oscillations will vary based on total light level. Your walker would not work predictably in various light levels. Why use a bicore at all? It provides motor feedback, if the motor stalls it will reverse automatically. It provides direct environmental input into the 'brain' through this motor feedback along with the light sensors. It drives the motor directly, requires no programming and is completely analog.
The blue cylinder in the photos is an emergency cell phone charger. It houses a single AA battery and boosts it to about 5v @ 700mA... More than ample (pun intended) for the motor I am using. A good battery lasts about an hour.
The big LED in front is a 6 led package with 12 pins. I used four to display the state of the oscillators or what the bot is 'thinking'. The top two display the motor control signals and the bottom two display the phototropic bicore signals. The ladder of which are too fast to discern visually, so they appear to be constant on. There is also a green/orange bi-color LED attached to the motor bicore's outputs. I cut off the top of the led close to the die, superglued on a few strands of fiber optic cable and applied heat shrink.
The two large gears were scavenged from technoscrap. I used 'European terminal strips' (RadioShack) for the leg mounts, you just bust them out of the strip. They have 2 screws for tightening on wire, I drilled the gears out to match. The legs are cut from a metal coathanger with a plastic covering. I used inkjet printer ink tubes for the rubber grips on the feet. The current leg design, although working, is still under review. I will probably end up making some changes to their length. There are two high strength magnets superglued to the back of the circuit board along with the SMD 74AC240. These allow the head to be held in place securely yet removed easily. I used machine pin headers for the big LED and the motor bicore's timing resistors and adopted a freeform type of circuit construction along with standard thru hole practices.
Sorry, I did not take any pictures during construction...
I'll add a video as soon as I can get to it.
I'll add some more video soon.