PDA

View Full Version : Programming for Modified Servos



bidi
02-02-2007, 01:47 PM
I have 2 modified Hitec HS645 servos (modified as in I pushed the tabs out so now they work like regular motors) controlled by a PhidgetServo 1001. I have a few related questions, I'll start with the most important one first:

1. How would I go about using the PhidgetServo, in C, to run the motors in the different directions and stop? The _setMotorPosition function expects a double float which describes the width of the pulse, but I'm not sure how to relate that to the direction of the motors, or how the PhidgetServo would interact with a motor that doesn't feedback it's position.

2. This particular servo has the ability to work at 2 speeds, if possible I would like to run it at the lower speed since it has a higher torque output. To do this, it requires the Voltage to be 6.0V. Is there a way to tell PhidgetServo to do this?

This PhidgetServo has the external power supply, so that's not an issue.

Thank you.

Alex
02-05-2007, 05:24 PM
Hey Bidi,

If you take a look at our continuous turn servo page:

http://www.trossenrobotics.com/store/p/3296-HSR-1422CR-Continuous-Rotation-Standard-Servo.aspx

you'll see the following information:


Servo Motor Position Stats

Deadband:
122-123

Clockwise Rotation Range:
124 = Slowest Speed
131 = Fastest Speed

Counter-Clockwise Rotation Range:
121= Slowest Speed
114 = Fastest Speed

This basically means that you have clockwise, counter-clockwise, and neutral range values. The higher/lower the number you pass (depending on the direction), the faster the servo travels. If you send a position equal to the deadband, your servo stops turning. Now, we are unsure if these values are universal between all continuous turn servos, so you'll probably have to experiment a little to find out the same ranges.

The same goes for your question #2.