PLC Controlled Arm

I was curious if anyone has ever tried to control the L6 arm using a PLC. Is it possible?

Secondly, after playing with the arm I noticed that if the arm bumps into anything it never returns to the same position because it lost a few steps. Is there a way to home the arm, so that after each movement I can ensure that it will always start at the same position? Or can I use some sort of feedback to force the Command and Actual positions to be the same?

If the PLC has an RS-232 output it should be possible.

Servos provide absolute position control (within a certain margin for error) so homing should not be needed. Any quality servo should not drift significantly over time.

If there is drift it would probably be due to temperature affecting the control/driver circuit.

Crazy idea: If you need a confirmed home position you could try placing one or more buttons or other sensors such that the robot can only actuate them all when it is in the home position.

Well, with a resistor, a microcontroller and an ADC, you can get position feedback from a servo.
However, Andy says that’s not very reliable.

A much better option is Open Servo.

I think what you are seeing is one of two things. Either the screws are not tightened enough on the servo horn, which could cause them to be “bumped” out of position. Or if it is only on the base rotate, the servo horn screw (in the center) needs to be loosened a bit to reduce friction. If there is too much friction it can have trouble making it into position. Hope this helps, Jim

Oh, by the way…

You might have seen the QP (Querry Pulse) command that’s in your SSC-32 user’s manual.

Using it to determine the actual position of the servo would not work, though.
QP returns a byte (an integer between 0 and 255, inclusive) that represents the position that the SSC-32 sent to the servos.
The SSC-32 does not currently have the ability to figure out where the servo actually is.