right elbow

i did not do much today.

20130316_173826 20130316_173838

 

i sanded down the worm to make it run smooth and insert the brass stick to make it more stable.

the arm is mounted with a knitting needle for now

I added the 3rd motor to the shoulder right

 

 

20130315_165932

A look inside the sanded gear. I sanded all down till it ran smooth. Then I added a lot of lube. Closed it and attached the arcs to the part. Then i attached the part to the torso. ( i had to remove my arcs form the torso, one broke it is glued now with UHU easy tip system the pother glue i mentioned before was useless.  i hope it lasts)

20130315_203056_20130315_203114

it is better to mount the arcs to the torso at the end

motors in action:

20130315_203128

activating right shoulder

20130312_173556

this is how i made the servo work properly. I had some problems mounting the potimeter it must be connected crossed. it is very important it never go over 80 or it will break.

20130312_203710

 

finished working shoulder

here is the video of the right should as it is now:

 

20130312_203631

 

 

 

this is the script for the movement on the video:

 

// Based on File > Examples > Servo > Knob
// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

// mod by d-oo-b.cc

#include <Servo.h>

Servo shoulder_rot; // create servo object to control a servo 0 180
Servo shoulder_lift; // MAX 80!!!!!!
int val_rot; // variable to SET VALUE
int val_lift; // variable to SET VALUE

void setup()
{
Serial.begin(9600);
shoulder_rot.attach(9); // attaches the servo on pin 9 to the servo object
shoulder_lift.attach(3); // attaches the servo on pin 3 to the servo object
}

void loop()

{

val_rot = 50; // scale it to use it with the servo (value between 0 and 80)
val_lift= 50; // NEVER MORE THAN 80!!!!!!!
shoulder_rot.write(val_rot); // sets the servo position according to the scaled value
shoulder_lift.write(val_lift); // sets the servo position according to the scaled value
delay(15000); // waits for the servo to get there
val_rot = 180; // scale it to use it with the servo (value between 0 and 80)
val_lift =5; // NEVER MORE THAN 80!!!!!!!
shoulder_rot.write(val_rot); // sets the servo position according to the scaled value
shoulder_lift.write(val_lift); // sets the servo position according to the scaled value
delay(15000);

}

hacking a Hitec HS-805BB servo

20130312_103555

I start with the white plate attached to the servo.

20130312_103605

 

then i open the 5 bolts on the bottom

20130312_103815

there is a little rubber band it prevents the servo gear from dust

20130312_103946 (1)

then i lift the top carefully the gear is separated in 2 (thats why i left the white plate on)

20130312_104030

I take one gear out and am careful i wont waste the grease inside.

20130312_104052

then the second

20130312_104129

i remove the little  white plate

20130312_104300

then i push the motor down.  the motor is the brass looking gear

20130312_104318

20130312_104403

i unscrew the poti

20130312_104529

then i crave a bigger whole for the poti wires

20130312_105859

i unscrew the white plate

20130312_105954

then i take carefully the gear out and leave the other 2 in place

20130312_110119

then i remove the stopper of the gear we want the motor to turn many times till we have a 180 position. first i cut form top and be careful i wont cut the spikes of the gear

20130312_110216

then i use this tool to cut it horizontally

20130312_110904

then i carve properly to a 90 angle ( this important other wise the neighbour gear will scratch on it)

20130312_104743

i put the gear back in place and attach the plate again so the gear  is stable and put the little white plate in the gear ( i might want to remove my hack later)

20130312_104900

then i put the dust protector ribbon around the box

20130312_104944

close it and make sure the ribbon is tight beween the 2 parts

20130312_105048

then i put the other ribbon like this

20130312_105336

and close the servo almost put the ribbon inside and close it

20130312_105508

i make sure it is a tight fit

20130312_111243

finished ( there can dust enter where the wires come out that is something to be fixed some day but not today i could add some silicon or glue i will see.

 

032

atm i am printing 028

and i relize i need 032 now so i can continue assembling meanwhile i take another poti out of the servo 🙂

so next print will be 032.

poti attached to right shoulder

i connected the poti 1:1 (no crossing of green and red wires)

well i wanted to cross it first so its crossed at wire connection. then it did not work. i recommend to simulate without poti mounted so and think if its behaving correctly. so if you see a crossing on my fotos its because i crossed already in the wires and had to cross back :P.

 

well so much for confusion for today.

 

but it works properly

 

i uploaded a new script for the arduino:

// Based on File > Examples > Servo > Knob
// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

// modified by d-oo-b.cc

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int val; // variable to set value

{
Serial.begin(9600);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop()

{

val = 0; //  value between 0 and 180
myservo.write(val); // sets the servo position according to the scaled value
delay(15000); // waits for the servo to get there
val = 180; // value between 0 and 180
myservo.write(val); // sets the servo position according to the scaled value
delay(15000); // 3 seconds

}

 

and here is the video of the  part in motion:

 

20130312_094805

 

 

assembling piv

 

just started 026

20130311_072113

these are the new parts till 023 this morning

20130311_074315

i shape the part till it runs smooth

front

front and back plate mounted on the stand

 

back

and view from the back

side_02

side view

 

side_01

 

 

 

20130311_095013

i had to drill a hole, so the screw head can move smooth. i took the potimeter out of the servo as described here : http://inmoov.blogspot.ch/p/assembly-help.html but i did no soldering yet. I plan to cut the cable and insert a cable between the cables and not solder on the print. Its seems safer to me as i am not so experienced with soldering and i only have a heavy duty solder iron.

 

20130311_095146

this is how i cut my screws

20130311_104537

i adjusted the gear to make it run smooth

20130311_105305

mounted gear  with open case

i add a lot of grease before i close it

20130311_110402

connecting the servo to arduino

test script for servos (upload to arduino):

// Based on File > Examples > Servo > Knob
// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>

// modified by d-oo-b.cc

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int val; // variable to set value

{
Serial.begin(9600);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop()

{

val = 20; //  value between 0 and 180
myservo.write(val); // sets the servo position according to the scaled value
delay(3000); // waits for the servo to get there
val = 180; // value between 0 and 180
myservo.write(val); // sets the servo position according to the scaled value
delay(3000); // 3 seconds

}

 

videos of servo in action:

20130311_110409 20130311_110437 20130311_110510 20130311_110536

20130311_110553

other side of closed  part

20130311_111324

finally i run a test for 6 hours –  all works smooth and fine 🙂