unfinished,5 DOF Robotic Mechanical ARM Answered
5 DOF Robotic Mechanical ARM
Required Material of project:-
1. Basic Servo Tower pro 9g*4
2. Header pins Male female*2
3. Arduino Nano*1
4.10kΩ Resistor resistance*2
5. Trimmer Potentiometer track Linear; maximum resistance 10kΩ*4
6. Tactile push button*2
7. Blank circuit board*1
8. Acrylic strips for Robot & potentiometer body*2
9. Wires, Button, Switch
10.Balsa wood, Metal, Plastic
Arrange all necessary items..
Please go through the attached images for better understanding..
I divide whole project in two parts
1) Servo Motor assembly
2) Potentiometer assembly
1) Servo motor assembly: – Servo motor as J1, J2, J3, J4 fix the servo motors as shown in image use 3M tape to glue servo, use thin flexible plastic strip to make griper, make hole in center of each finger tie thread in that hole pass this thread from center hole and tie knot at the other end of thread with 4th servo motor’s knob, as you stretch thread finger get close vise versa. Fix whole arrangement on strong rigid base.
2) Potentiometer assembly: – Fix potentiometer as shown in figure name potentiometer as do previous R3, R4, R5, R6 this time place R6 separately for easy access this potentiometer control gripper to pick and place. Potentiometer arrangement symmetry must be same as servo arm. Fix whole arrangement on strong rigid base.
Moving a little bolt from one side to the other side:-
1. Actuators / output devices: 4 micro servos
2. Control method: controlled by a PIC16F690 assembler firmware
3. CPU: PIC16f690 micro controller
4. Operating system: self made assembler code
5. Power source: 4.8V to 6V from 4 battery cells
6. Programming language: PIC Assembler
7. Sensors / input devices: teach in system with
The Potis are standard types and are screwed to the white plastic parts with their nuts. The axles are pressed into the transparent plastic part. The handle to move the teach-in-arm is a M3-Spacer and the socket is a plastic part with is normally used to fix balloons on a stick to hold it.
move the motor itself by hand a little force is needed due to its permanent magnets, which create a small holding force.
But inside the servo a lot of gears increase the force which you have to apply. If you move the servo by hand, you have to apply a much higher force. If you overcome the motors holding force, it starts to rotate an acts as a flywheel. So moving a servo by hand needs a high torque and its not easy to turn it to the position where you want it.
( Fan control modules for engine cooling of real cars have some extra parts to clamp the voltage which is generated, when you drive at higher speeds. In that case the fan works like a windmill and creates higher voltages than normal inside the power stage of the module.)
And there were also a lot of other "problems" which had to be solved using my PIC Controllers.
i.e. self made electronics for a RC-Excavator which works similar to the digital system used in slot cars. To replace a lot of wires between the rotating part of the excavator and the track unit, a small PIC 12F629 reads the pulses from up to 5 channels of a RC-Receiver and leads their information via a 2 wire connection to a second PIC12F629. At the second board the power is separated from the data. The PIC is reading the data, and generates the PWM output for the 5 Servo output connector. the 2 wire connection is made with a cheap 6,3mm mono microphone plug which is also used as the axle for the rotating part.
The arm of the excavator is also powered by standard servos and so it was necessary to change the control behavior from proportional to integral so that the servos move like real hydraulic cylinders which are controlled by valves.
I used the same 12F629 type for that job and added some features like adjustable limit positions and starting point programmable by one jumper, and automatic return to park position when missing the pulses for some seconds.
The Software is simple:- Its working like a servotester for four axis. That means, every poti is connected to an analog in of the controller and all servos are connected to GPIOs. The controller reads each poti, does some scaling, so that the angle of the poti equals to the angle of the axis and finally he creates the PWM output 1-2ms pulse every 20ms for all servos.
Teach mode:- After a reset the robot arm follows the teach in arm while simple mapping the analog inputs every 25ms to the servo motors. Pressing the button stores each servo position in a array.
Play mode: The sketch reads the array step by step and moves the robot arm. For cool looking movements I added a routine calculates different micro steps for each servo to have moving start and end sync on all axis. Also added a ramp for soft increase/decrease velocity. Shorter travel distances the robot does slow, longer distances with faster speed.
The program moves the servos at full speed to the next position and a short delay time after each command allows all of the servos to reach their final position.
That means that it is possible to increase the speed a little bit more by doing some fine tuning of the delay times after each command.
The final thing which is still not implemented is the routine which saves the "Teach In" data 5 or 10 times per second, so that the controller is able to replay it in a loop with the original speed or with a lower or higher speed.
Provide separate power supply (5V DC 1amps) to the Servo motors
. Don’t forget to short ground of both power source ( arduino + servo)
5 DOF Robotic Mechanical ARM :-
1. Use of Fiber
on upper side
2. wooden spoon is a part of side body
3. cable tie *12 pieces use the robotic.
4. Some pices of wires
5. use scraw*4
7. some small clips Because to attached body
8. small size of plastic box
9. One pieces of square fiber stand and one pieces small & medium circular fiber
10. L293D Motor Driver IC+IC Base KG143
11. Generic Elementz High Quality Nickel Plated 24*18 Points Bread Board*(2 pieces) and one plastic
12. Push Button Switch.
Play Mode version 1.1 The gripper input is used to set the delay (0,1,3,15,60,300 seconds) after a loop is done. The switch (it was left from the project start) pauses the robot.