Manual
Table Of Contents
- Product Features
- Installing the hardware
- Downloading and Installing the software
- Programming a Phidget
- Technical Section
- The PhidgetAdvancedServo software component uses degrees to specify position, velocity, and acceleration. The degree unit is translated into a pulse sent to the servo, but it’s up to the servo to translate this signal into a particular position. This translation varies between servo models and manufacturers so our degree abstraction will not be exactly the same as the servo you are using. Our degree abstraction is based on the HS322-HD servo, which is typically 10.4uS per degree.
- API Section
- We document API calls specific to the 1066. Functions common to all Phidgets are not covered here. This documentation is deliberately generic. For calling conventions in a specific language, refer to that language’s API manual.
- Device Specifications
- Mechanical Drawing
- Product History
1066_0_Product_Manual created: 07/09/09 Page 8
Limitations
The PhidgetAdvancedServo does not know the current position of the motor on its own. If
your motor is free to move, and is not being driven beyond the physical limitations of the
motor, the position returned to your application will be very close to the position of the motor.
Degree Abstraction
The PhidgetAdvancedServo software component uses degrees to specify position, velocity,
and acceleration. The degree unit is translated into a pulse sent to the servo, but it’s up to
the servo to translate this signal into a particular position. This translation varies between
servo models and manufacturers so our degree abstraction will not be exactly the same as
the servo you are using. Our degree abstraction is based on the HS322-HD servo, which is
typically 10.4uS per degree.
PWM(ms)= [(degrees + 23) * 4/375]
Using the PhidgetAdvancedServo with a Servo Motor
The PhidgetAdvancedServo 1-Motor has been designed to be used with a variety of RC servo
motors independent of the motor-specific position, velocity and torque limits. Select a motor
that suits your application and falls within the PhidgetAdvancedServo device specifications.
To use a servo motor, first select (in software) which attached motor the
PhidgetAdvancedServo should affect. For the PhidgetAdvancedServo 1-Motor, it only has
a single motor indexed at 0. Position, velocity and acceleration for the motor can then be
controlled using the API calls documented in the next section. The software can also display a
readout of the electrical current flowing through the motor.
Using the PhidgetAdvancedServo with Continuous Rotation
Servos
A continuous rotation servo is a servo motor that has had its headgear-stop removed and
potentiometer replaced by two matched-value resistors. This has the effect of allowing the
motor to rotate freely through a full range of motion, but disables the motor’s ability to control
it’s position.
When using the PhidgetAdvancedServo with a servo motor modified in this way, the position
control in software becomes the motor’s speed control. Because the two resistors that
replace the motor’s potentiometer are matched in value, the motor will always think its shaft
is at center position. If the target position in software is set to center, the motor will believe it
has achieved the target and will therefore not rotate. The further away from center the target
position is set to, the faster the motor will rotate (trying to reach that position, but never doing
so). Changing the value above or below center changes the direction of rotation.