I am building a standar antropomorph robot arm and have come across a little problem. The arm is going to be quite big and heavy, so I ned a lot of torque at all the joints. So, my plan was to use two servos for the main joint. They would be working synchronous (both rotating the same part of the arm). I am also using external gears, so I also have to use externa potentiometer to controll the servos (I hope that you understand what I am trying to say...). And here is the problem, I have to controll both servos with one potentiometer. Potentiometer is used as a voltage devider. Using one normal potentiometer connected to both servos doesnt work(the voltage doubles). I have tried using a stereo potentiometer (two "pin sets" on one single rotating unit), but it also does not work, when one servo is still the other one rotates very slowly, I am guessing because the voltage deviders on the potentiometer aren't identical (not completly linear).
Any ideas how to make this work, my only idea is to make a circuit that would use the voltage that the servo controller sends to the servo motor as input voltage and would produce two identicall voltages as output for each servo motor, but I dont have a clue on how to do that. Or would a simpler idea work, just amplifying (x2) the output voltage of the servo controller and plugging both of the servo motors on one controller?
Hope you understood what my problem is, thanks for all your answers in advance...
First I think you should make sure the two servo’s are absolutely identical. I’ve seen servo’s from the same manufacturer, same model, that are not completely identical in movement. Get a stable power source and give them the same commands at the exact same voltage and see if they move the same.
If you have established they are exactly the same, then I think the stereo pot should work, though I think controlling them with a uC over PWM would be more accurate.
You didnt completly understand what i am trying to do. I am controlling them with a uC over PWM. But since i have external gears and still want the arm to rotate 180 deg i have installed an external pot to the arm and connected it to the servo instead of the pot that is in the servo. Like this:
So the pot is there to tell the servo controller where the arm is and servo moves until the position of the arm matches the PWM command sent by the uC.
What determines if two servos are exactly the same? Only the pot in the servo? If so, than it shouldnt matter, because I am using external pots(thats why I believe that the stereo pots aren’t exactly identical).
**How have you coupled two modified servos’ gear outputs? **
There is something missing in your problem statement, how have you coupled two modified servos’ gear outputs?
Anyway, one solution might be applying the same PWM to both DC motors via a P-controller (or PID-controller) which the main feedback is the voltage producing by the external potentiometer. It is very important that the characteristic of both motors / gearboxes are as much as possible close to each other (Identical is not possible in practice in real world) so that the power transfered from faster motor to the slower one can be ignored. For better understanding, let’s say that the motor number 1 would be faster than the other, hence the slower motor acts like a load for the faster one.
Another solution is to use the servos original potentiometers as well as the external one. Lets say p1 and p2 are pot of servo 1 and 2 and PWM1 and PWM2 are output PWM signals respectively. We name the external pot as pe while pd is the desired angle,
PWM1 = K1 (pd - pe) + K11 (p2 - p1)
PWM2 = K2 (pd - pe) + K22 (p1 - p2)
Hence, if p1 > p2 , PWM1 will be slower while PWM2 will be faster and vice versa. If p1 = p2 , then terms with K11 and K22 will not have any effect on the outputs. However, you have to play with gains to obtain a reasonable behavior.
There are also non-linear control methods which are very advanced and I don’t think that you are looking for such complicated controllers.