Pages: [1]   Go Down
Author Topic: Controlling old servo amplifier  (Read 1509 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have an old (early 90s or so) servo motor & amplifier I'm hoping to control with an Arduino. It has a 6-wire interface:

[1] +24VDC
[2] Ground
[3] Pot -
[4] Pot +
[5] Wiper
[6] S.L. Ground

The Pot +/- connection is an output from the potentiometer, relative to the 24V input.

I connected the Wiper input to Pin 9 on an Arduino, and SL Ground to the Arduino's ground. I just ran the sample Servo Sweep sketch to try and get some movement out of it. When power is hooked up and the Arduino starts running, the motor jitters in place, moving maybe ±10º quickly back and forth in one spot. The movement is the same regardless of what position I send on the Arduino, but unhooking the Wiper line brakes the motor.

On the amplifier board there are trim pots for Range, Speed, and Torque. Adjusting these does affect the speed/quality of the jittering, but none makes it move more than a few degrees from its spot.

Attached are pictures of the top and bottom of the amplifier board. Is there another type of control signal that a servo of this type/age might need? Since the motor/pot runs at 24V, would it need a 24V PWM signal on the Wiper line as well?

Thanks for any help,
Max


* servoamp_top.jpg (205.54 KB, 1024x765 - viewed 24 times.)

* servoamp_bottom.jpg (204.33 KB, 1024x765 - viewed 19 times.)
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

1. What is the recommended resistance value for the pot?

2. Have you verified that pot- and pot+ are connected inside the servo to ground and +24v respectively? The answer to this is critical to how you can drive it from an Arduino. It may be that it is driven from a lower voltage, or not driven from a constant voltage at all. Try connecting a pot, and measure the voltage on pot- and pot+ as you vary the setting.

3. *If* the pot is driven from a constant voltage, then you should be able to drive the wiper from an Ardiono PWM pin, BUT you will probably need to level shift it to the correct voltage range with a transistor, AND you will need to smooth the output with a resistor/capacitor network because the servo won't be designed to accept a PWM signal.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

dc42,

Thanks for the reply. Unfortunately, I don't have any recommended resistance values for the system.

The voltage across Pot+/- is 19.3V. That doesn't seem to change, but once power is applied to the servo it brakes the motor, so I can't tell for sure if it varies with the position of the servo.

I've got a regular 10K potentiometer here, how risky is it to hook that up to the Pot±/Wiper lines without knowing the resistance it's looking for?
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hooking a 10k pot up to it is unlikely to damage anything.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The 10K pot worked well to control the servo.

I have a spare Pololu motor controller that I decided to try, using Pot± as Vin and the Wiper/SL Ground as the motor output, which also worked. That controller has a high PWM frequency, and I didn't notice any issues with jittering like I did with the Arduino PWM.

Almost all of the servo range (90-95%) is covered from 50-55% duty cycle on the motor controller, so it seems to be looking for roughly 9.6V to 10.6V on the Wiper line. On this controller, that gives me about 160 steps of precision. Is there a recommended way to supply a more precise voltage within that range? Ideally, would like around 10-bit precision.

Thanks for your help
Max
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That servo isn't designed to be fed a PWM signal, you really need to smooth the output. Try the attached circuit.

You can only get 8 bits of resolution from an Arduino PWM pin, but I guess you could combine the outputs from 2 PWM pins to get greater resolution.


* Scan 43.JPG (56.62 KB, 1653x1165 - viewed 24 times.)
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks, I appreciate the diagram... had to take a break from the project, getting back to it now.

I'm trying to get that working, I have it wired up on a breadboard as in the attached diagram, but the voltage across the output fluctuates around 12.7-12.9v regardless of what the PWM is doing. Whatever value I write on the Arduino has no affect on the output. Did I miss something in hooking it up?

Thanks again,
Max


* Screen shot 2011-12-22 at 5.42.59 PM.png (71.62 KB, 605x790 - viewed 16 times.)
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think you have the transistor wrongly connected, because the most common transistor pinouts reading from left to right in your picture are c-b-e and e-c-b. What type of transistor is it?
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ahh yes, you are quite right. Had it wired up as e-b-c instead of e-c-b... switched around and now it's working great, thanks again for your help on this.

What would be involved in adding a second PWM pin to increase the resolution?
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ahh yes, you are quite right. Had it wired up as e-b-c instead of e-c-b... switched around and now it's working great, thanks again for your help on this.

What would be involved in adding a second PWM pin to increase the resolution?

Add a second transistor/2k2 resistor/1k resistor fed from a 2nd PWM pin, and connect a 2M7 resistor from its collector to the capacitor. That second PWM value becomes the least significant byte of a 16-bit PWM value. Don't expect to get a full 16 bits of resolution though.

Bear in mind that the leakage current of the capacitor will affect the precision, so I suggest using a tantalum or (even better) metal film type if you want repeatability.
« Last Edit: December 23, 2011, 03:42:27 pm by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Great, thanks. Will continue with 8bits for now and see if that'll do what I need.

Am interested in getting the best precision/repeatability possible... Is this the sort of metal film capacitor you're talking about? (all I'm seeing are 'metallized plastic film' type)

http://www.mouser.com/ProductDetail/Panasonic-Electronic-Components/ECQ-E1106KF/?qs=sGAEpiMZZMvOcEq4GH1AAsCHDlOl%252bACvwt0S4JB4My4%3d

Thanks,
Max
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6639
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, that sort of capacitor would be fine, if you have room for it, metallized film what what I meant.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Pages: [1]   Go Up
Jump to: