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 DataInterval is the time that must elapse before the controller will fire another PositionChange event.

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
The Phidget return code.

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
IsMoving returns true if the RC servo motor is currently in motion.

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
The maximum acceleration that Acceleration can be set to.

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
The maximum value that DataInterval can be set to.

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
The maximum value that failsafeTime can be set to when calling EnableFailsafe.

(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 maximum position TargetPosition can be set to.

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
The MaxPulseWidth represents the maximum pulse width that your RC servo motor specifies.

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
The maximum pulse width that MaxPulseWidth can be set to.

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
The maximum value that Torque can be set to.

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
The maximum velocity VelocityLimit can be set to.

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
The minimum value that Acceleration can be set to.

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
The minimum value that DataInterval can be set to.

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
The minimum value that failsafeTime can be set to when calling EnableFailsafe.

(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 minimum position that TargetPosition can be set to.

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
The MinPulseWidth represents the minimum pulse width that your RC servo motor specifies.

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
The minimum pulse width that MinPulseWidth can be set to.

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
The minimum value that Torque can be set to.

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
The minimum velocity VelocityLimit can be set to.

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
The most recent position of the RC servo motor that the controller has reported.

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
The speed ramping state value

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
The target position.

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 a ratio of the maximum available torque.

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
The velocity that the RC servo motor is being driven at.

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
When moving, the RC servo motor velocity will be limited by this value.

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
The supply voltage for the RC servo motor.

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.


The biggest plugin in space...