Platforms to show: All Mac Windows Linux Cross-Platform
Back to PhidgetRCServoMBS class.
PhidgetRCServoMBS.Acceleration as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
When changing velocity, the RC servo motor will accelerate/decelerate at this rate.
The acceleration is bounded by MaxAcceleration and MinAcceleration.
Using the default settings this acceleration will correspond acceleration of servo arm in degrees/s2, for many standard RC servos.
SpeedRampingState controls whether or not the acceleration value is actually applied when trying to reach a target position.
There is a practical limit on how fast your RC servo motor can accelerate. This is based on the load and physical design of the motor.
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read and Write property)
PhidgetRCServoMBS.DataInterval as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The data interval is bounded by MinDataInterval and MaxDataInterval.
Unit: milliseconds (ms)
(Read and Write property)
PhidgetRCServoMBS.Engaged as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
When engaged, a RC servo motor has the ability to be positioned. When disengaged, no commands are sent to the RC servo motor.
There is no position feedback to the controller, so the RC servo motor will immediately snap to the TargetPosition after being engaged from a disengaged state.
This property is useful for relaxing a servo once it has reached a given position.
If you are concerned about tracking position accurately, you should not disengage the motor while IsMoving is true.
(Read and Write property)
PhidgetRCServoMBS.IsMoving as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The controller cannot know if the RC servo motor is physically moving. When < code > IsMoving is false, it simply means there are no commands in the pipeline to the RC servo motor.
(Read only property)
PhidgetRCServoMBS.MaxAcceleration as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value depends on MinPosition/MaxPosition and MinPulseWidth/MaxPulseWidth.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.MaxDataInterval as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
Unit: milliseconds (ms)
(Read only property)
PhidgetRCServoMBS.MaxFailsafeTime as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read only property)
PhidgetRCServoMBS.MaxPosition as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read and Write property)
PhidgetRCServoMBS.MaxPulseWidth as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value can be found in the data sheet of most RC servo motors.
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read and Write property)
PhidgetRCServoMBS.MaxPulseWidthLimit as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.MaxTorque as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
Torque is a ratio of the maximum available torque, therefore the minimum torque is a unitless constant.
(Read only property)
PhidgetRCServoMBS.MaxVelocityLimit as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value depends on MinPosition/MaxPosition and MinPulseWidth/MaxPulseWidth.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.MinAcceleration as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value depends on MinPosition/MaxPosition and MinPulseWidth/MaxPulseWidth.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.MinDataInterval as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
Unit: milliseconds (ms)
(Read only property)
PhidgetRCServoMBS.MinFailsafeTime as UInt32
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read only property)
PhidgetRCServoMBS.MinPosition as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read and Write property)
PhidgetRCServoMBS.MinPulseWidth as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value can be found in the data sheet of most RC servo motors.
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read and Write property)
PhidgetRCServoMBS.MinPulseWidthLimit as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.MinTorque as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
Torque is a ratio of the maximum available torque, therefore the minimum torque is a unitless constant.
(Read only property)
PhidgetRCServoMBS.MinVelocityLimit as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.Position as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value will always be between MinPosition and MaxPosition.
Using the default settings this position will correspond to the rotation of the servo arm in degrees, for many standard RC servos.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.SpeedRampingState as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
When speed ramping state is enabled, the controller will take the Acceleration and Velocity properties into account when moving the RC servo motor, usually resulting in smooth motion. If speed ramping state is not enabled, the controller will simply set the RC servo motor to the requested position.
(Read and Write property)
PhidgetRCServoMBS.TargetPosition as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
If the RC servo motor is configured and TargetPosition is set, the controller will continuously try to reach targeted position.
The target position is bounded by MinPosition and MaxPosition.
Using the default settings this position will correspond to the rotation of the servo arm in degrees, for many standard RC servos.
If the RC servo motor is not engaged, then the position cannot be read.
The position can still be set while the RC servo motor is not engaged. Once engaged, the RC servo motor will snap to position, assuming it is not there already.
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
Position and Pulse Width
An RC servo motor's position is controlled using a type of Pulse Width Modulation, sending voltage pulses of a given time span, or Pulse Width to the servo.
The servo translates the Pulse Width of the control signal to a corresponding position of the servo arm.
Knowing this, a servo's range of motion can be thought of in terms of a MinPulseWidth and a MaxPulseWidth corresponding to range of pulse widths that produce the servo arm's full range of movement.
In Phidget22, you can adjust the MinPulseWidth and MaxPulseWidth stored by the library to match the desired range of movement you expect from your servo.
Since directly setting the timing of RC servo pulse widths is not very intuitive for most purpses, we map these pulse widths to a user-defied Minimum and Maximum Position.This allows you to define the servo's position in terms best suited to your application, such as degrees, fractions of a rotation, or even some measure of speed for a continuous-rotation servo.
By setting the servo's Target Position to MaxPosition, the controller will send pulses of MaxPulseWidth to the servo.
Similarly, MinPosition will send pulses of MinPulseWidth to the servo
MaxPosition can be set smaller than MinPosition to invert movement of the servo, if it helps your application.
Setting a TargetPosition will transate the position between MinPosition and MaxPosition to a corresponding Pulse Width between MinPulseWidth and MaxPulseWidth, in turn sending the servo arm to the desired position.
Setting VelocityLimit and Acceleration for your servo will limit the rate of change of the servo's position in terms of one UserUnit per second (or /s2). Here, a UserUnit is whatever distance is maked by the change of the TargetPosition by 1.0
Adjusting the Servo's Limits
To tune your program to a specific servo:
First adjust the servo's range of motion by setting the MaxPulseWidth and MinPulseWidth. You can use the default values for these (or the ones on your servo's datasheet) as a starting point.
Send the servo to MaxPosition and MinPosition to check the results. Repeat steps 1 and 2 as nessesarry.
Set the MaxPosition and MinPosition to match whatever numbers you find best suited to your application.
(Read and Write property)
PhidgetRCServoMBS.Torque as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The torque is bounded by MinTorque and MaxTorque
Increasing the torque will increase the speed and power consumption of the RC servo motor.
(Read and Write property)
PhidgetRCServoMBS.Velocity as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
A negative value means the RC servo motor is moving towards a lower position.
The velocity range of the RC servo motor will be from -VelocityLimit to VelocityLimit, depending on direction.
This is not the actual physical velocity of the RC servo motor.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read only property)
PhidgetRCServoMBS.VelocityLimit as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The velocity limit is bounded by MinVelocityLimit and MaxVelocityLimit.
Using the default settings this velocity will correspond to the maximum speed of rotation of servo arm in degrees/s, for many standard RC servos.
SpeedRampingState controls whether or not the velocity limit value is actually applied when trying to reach a target position.
The velocity range of the RC servo motor will be from -VelocityLimit to VelocityLimit, depending on direction.
Note that when this value is set to 0, the RC servo motor will not move.
There is a practical limit on how fast your servo can rotate, based on the physical design of the motor.
The units for Position,Velocity, and Acceleration are configured by scaling the internal timing (set with MinPulseWidth and MaxPulseWidth) to a user specified range with MinPosition and MaxPosition.
See TargetPosition for a deeper explanation of how the settings of your RC Servo controller interact to move your servo.
(Read and Write property)
PhidgetRCServoMBS.Voltage as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 22.1 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
If your controller supports multiple RC servo motors, every motor will have the same supply voltage. It is not possible to set individual supply voltages.
(Read and Write property)
The items on this page are in the following plugins: MBS Phidgets Plugin.