Let's Make Robots!

Arms for Edward

After lots of thinking about what my next robot should look like, I couldn't resist the temptation of trying to improve Edward. I never really made a good program for him and everybody who sees him ask me to switch him on and let him run around. When they do, i shrug and tell them "the batteries are dead" or "I'm still working on the programming".

So while I was waiting for my circuit boards to arrive, i decided to write a decent program for Edward to be able to properly demonstrate him whenever anyone would ask. But soon I came to the same frustrations I had when I had just made him: His display kept resetting and flashing the backlight when the motors change directions too suddenly and more importantly: he had no arms.

One thing led to another and I started altering his board. Adding more and bigger caps, more pins and so on.

Here is a picture of the new and improved board. See

how I managed to squeeze in two big 470uF caps before and after the voltage regulator? That totally cleaned up the resetting display problem

 

Now I figured I could manage to give Edward arms and hands. I would need extra output pins to control the servo's and I had to add pins to the two remaining analog inputs on Edwards board. To make things worse; I have to fit it all inside this spaghetti you see on the right here.

To provide the needed output pins, I made the smallest 4 channel servo driver I could think of. A picaxe 08M without a board. Pin 3 is used for serial input from the main board and pins 0,1,2 and 4 are used for driving the servos.

 

 

 

 

 

 

 

 

 

The messy bottom of this thing will be "encased" in a ball of hot-glue to prevent shorts. That is important as I intend to chuck it somewhere between the ever growing ball of wires inside Edwards belly. Off course i will hold off the glue until this thing is fully tested. I dont want to find out that I need extra caps or that I have a loose wire after I poored glue all over the contacts and soldering points.

I am currently in the process of writing the program for the servodriver. It needs to be done on a breadboard, because there is no decent way to connect the programming serial jack to this mini contraption.

Edwards arms are done. Mostly glued instead of skrewed, just to keep things smaller. I have yet to decide on how to build the hands. The aluminium pipe I used is reachable in the arm, so there is a possibility of running wires to the hands.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I was thinking of putting an LED and a phototransistor in each hand. When the hands are positioned correctly, the light from the LED will shine directly into the phototransistor in the other hand.

 

This makes it possible to detect an object that is sitting between the two hands. When the light from the left hand doesn't reach the sensor on the right hand, an object is inbetween the hands.

When the hands move towards the object, the photo transistor will pick up the reflection of the object until the hand touches it, blocking the light from the LED to the transistor. Off course, this has to be done without interfering with the IR sensors that monitor the tracks and it has to fit into hands that do not look like Edward is a goalkeeper for the local ice-hockey team.

Anyway: when I have programmed the servo driver and when I have Edward doing some cool moves, I'l update his main page. Any experiments on the hands, will be on a separate blog page.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
isotope's picture

Looks nice! :) How is programming going?

mintvelt's picture

Thanx!

I have the servo driver loaded with a basic program that simply sets the servo positions. Of course I am not satisfied with that and I want to be able to set the speed as well. Given that the servopos command must receive the pin number as a constant and not as a variable (why oh why??) I am not sure I'll be able to fit a program with speed control in the tiny 08M. 

Maybe if I use a single speed variable for all 4 servos, will I be able to fit it in 256 bytes.

One other problem is that the servos stop after you issue a serin command. I forgot about that one. So I have to use an interrupt to start the communication code.

After the servo driver, i need to program gestures into Edwards EEPROM, which will be lots of work.

Chris the Carpenter's picture

Glad to see ol' Edward dusted off and expanded... Remember, you hold the title of first pan and tilt head here at LMR.

OddBot's picture

I love the photo with him looking at his arms as if to say "I'm sure there is something missing here"

rik's picture

D'UH.

Please edit the servo driver picture to be the main (top) photo of your blog. I want it in the Chill zone!

mintvelt's picture

Thats strange. I changed the picture to be the top foto and now I am no longer in the CO-zone.

rik's picture

Once you visit  page, you no longer ee it in the Chill Out zone. LMR rememebrs that you checked it out already. You're done for life.
Hint: behind the logout link lies an alter ego for you that does not keep such a record.

Also: blogs do not have a "main picture" and the CO zone just displays the creator's avatar. Too bad. Thanks for trying.

ezekiel181's picture

Good to see Edward back on the workbench again. The aluminium tube makes the arms look very cool. Can`t wait to see what you decide to do for hands!