Platforms to show: All Mac Windows Linux Cross-Platform
Back to PhidgetMotorPositionControllerMBS class.
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read and Write property)
PhidgetMotorPositionControllerMBS.ActiveCurrentLimit as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The SurgeCurrentLimit, CurrentLimit, and temperature will impact this value.
(Read only property)
PhidgetMotorPositionControllerMBS.CurrentLimit 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 controller will limit the current through the motor to this value.
Unit: amperes (A)
(Read and Write property)
PhidgetMotorPositionControllerMBS.CurrentRegulatorGain 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 |
Depending on power supply voltage and motor coil inductance, current through the motor can change relatively slowly or extremely rapidly. A physically larger DC Motor will typically have a lower inductance, requiring a higher current regulator gain. A higher power supply voltage will result in motor current changing more rapidly, requiring a higher current regulator gain. If the current regulator gain is too small, spikes in current will occur, causing large variations in torque, and possibly damaging the motor controller. If the current regulator gain is too high, the current will jitter, causing the motor to sound 'rough', especially when changing directions. Each DC Motor we sell specifies a suitable current regulator gain.
(Read and Write property)
PhidgetMotorPositionControllerMBS.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.
The timing between CurrentChange events can also affected by the CurrentChangeTrigger.
Unit: milliseconds (ms)
(Read and Write property)
PhidgetMotorPositionControllerMBS.DeadBand 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 small error can lead to the motor continually 'hunting' for a target position, which can cause unwanted effects. By setting a non-zero DeadBand, the position controller will relax control of the motor within the deadband, preventing the 'hunting' behavior.
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read and Write property)
PhidgetMotorPositionControllerMBS.DutyCycle 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 be between -1 and 1 where a sign change (±) is indicitave of a direction change.
Note that DutyCycle is merely an indication of the average voltage across the motor. At a constant load, an increase in DutyCycle indicates an increase in motor speed.
The units of DutyCycle refer to 'duty cycle'. This is because the controller must rapidly switch the power on/off (i.e. change the duty cycle) in order to manipulate the voltage across the motor.
Unit: duty cycle (duty cycle)
(Read only property)
PhidgetMotorPositionControllerMBS.EnableExpectedPosition as Boolean New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read and Write property)
PhidgetMotorPositionControllerMBS.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 |
This function is useful for completely relaxing a motor once it has reached the target position.
(Read and Write property)
PhidgetMotorPositionControllerMBS.ExpectedPosition as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This controller uses trapezoidal motion profiling combined with a PID loop to accurately track position. The ExpectedPosition represents the current position the controller is tracking along the trapezoidal motion curve. The error of your PID loop is calculated by taking the difference of Position and ExpectedPosition. You can use this value to verify your controller is working as expected.
- Set EnableExpectedPosition to TRUE to enable the change event for this property.
- Use the RescaleFactor to convert the units of this property to more intuitive units, such as rotations or degrees.
PhidgetMotorPositionControllerMBS.FailsafeBrakingEnabled as Boolean New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
- A setting of FALSE will simply stop applying power to the motor, allowing it to spin down naturally.
- A setting of TRUE will apply braking up to the FailsafeCurrentLimit, actively stopping the motor
PhidgetMotorPositionControllerMBS.FailsafeCurrentLimit as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read and Write property)
PhidgetMotorPositionControllerMBS.FanMode 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 |
Choose between on, off, or automatic (based on temperature).
If the FanMode is set to automatic, the fan will turn on when the temperature reaches 70°C and it will remain on until the temperature falls below 55°C.
If the FanMode is off, the controller will still turn on the fan if the temperature reaches 85°C and it will remain on until it falls below 70°C.
(Read and Write property)
PhidgetMotorPositionControllerMBS.Inductance as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This value is used to improve control of the motor.
Set this value during the Attach event to skip motor characterization (including the audible beeps). You can use a previously saved Inductance value, or information from your motor's datasheet.
(Read and Write property)
PhidgetMotorPositionControllerMBS.IOMode 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 |
It is recommended to only change this when the encoder disabled in order to avoid unexpected results.
(Read and Write property)
PhidgetMotorPositionControllerMBS.Kd 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 higher Kd will help reduce oscillations.
(Read and Write property)
PhidgetMotorPositionControllerMBS.Ki 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 integral term will help eliminate steady-state error.
(Read and Write property)
PhidgetMotorPositionControllerMBS.Kp 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 small Kp value will result in a less responsive controller, however, if Kp is too high, the system can become unstable.
(Read and Write property)
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.MaxCurrentLimit 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 |
Unit: amperes (A)
(Read only property)
PhidgetMotorPositionControllerMBS.MaxCurrentRegulatorGain 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 |
(Read only property)
PhidgetMotorPositionControllerMBS.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)
PhidgetMotorPositionControllerMBS.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)
PhidgetMotorPositionControllerMBS.MaxInductance as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
See Inductance for details.
(Read only property)
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.MaxStallVelocity 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 |
(Read only property)
PhidgetMotorPositionControllerMBS.MaxSurgeCurrentLimit as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read only property)
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.MinCurrentLimit 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 |
Unit: amperes (A)
(Read only property)
PhidgetMotorPositionControllerMBS.MinCurrentRegulatorGain 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 |
(Read only property)
PhidgetMotorPositionControllerMBS.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)
PhidgetMotorPositionControllerMBS.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)
PhidgetMotorPositionControllerMBS.MinInductance as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
See Inductance for details.
(Read only property)
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.MinStallVelocity 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 |
(Read only property)
PhidgetMotorPositionControllerMBS.MinSurgeCurrentLimit as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read only property)
PhidgetMotorPositionControllerMBS.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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.NormalizePID as Boolean New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
(Read and Write property)
PhidgetMotorPositionControllerMBS.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.
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read only property)
PhidgetMotorPositionControllerMBS.PositionType as Integer New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
This setting is locked in once the channel is Engaged and cannot be changed until the channel is reset.
(Read and Write property)
PhidgetMotorPositionControllerMBS.RescaleFactor 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 |
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read and Write property)
PhidgetMotorPositionControllerMBS.StallVelocity 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 |
Velocity is a number between -1 and 1 with units of 'duty cycle'. It simply represents the average voltage across the motor.
StallVelocity represents a real velocity (e.g. m/s, RPM, etc.) and the units are determined by the RescaleFactor. With a RescaleFactor of 1, the default units would be in commutations per second.
If the load on your motor is large, your motor may begin rotating more slowly, or even fully stall. Depending on the voltage across your motor, this may result in a large amount of current through both the controller and the motor. In order to prevent damage in these situations, you can use the StallVelocity property.
The StallVelocity should be set to the lowest velocity you would expect from your motor. The controller will then monitor the motor's velocity, as well as the Velocity, and prevent a 'dangerous stall' from occuring. If the controller detects a dangerous stall, it will immediately disengage the motor (i.e. Engaged will be set to false) and an error will be reported to your program.
A 'dangerous stall' will occur faster when the Velocity is higher (i.e. when the average voltage across the motor is higher)
A 'dangerous stall' will occur faster as (StallVelocity - motor velocity) becomes larger.
Setting StallVelocity to 0 will turn off stall protection functionality.
(Read and Write property)
PhidgetMotorPositionControllerMBS.SurgeCurrentLimit as Double New in 25.0
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
property | Phidgets | MBS Phidgets Plugin | 25.0 | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No | Desktop, Console & Web |
The controller will limit the current through your motor to the SurgeCurrentLimit briefly, then scale current down to the CurrentLimit.
View ActiveCurrentLimit for information about what current limit the controller is actively following.
(Read and Write property)
PhidgetMotorPositionControllerMBS.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 DeadBand is non-zero, the final position of the motor may not match the TargetPosition
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read and Write property)
PhidgetMotorPositionControllerMBS.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 |
VelocityLimit is bounded by MinVelocityLimit and MaxVelocityLimit.
Units for Position, VelocityLimit, Acceleration, and DeadBand can be set by the user through the RescaleFactor. The RescaleFactor allows you to use more intuitive units such as rotations, or degrees.
(Read and Write property)
The items on this page are in the following plugins: MBS Phidgets Plugin.
