PositionController
How to use the PositionController example
The DCC1100 requires an 8-30V DC power supply and can control one brushless DC motor. The motor must have hall-effect feedback for this controller to function. The DCC1100 has a 5-pin Molex connector to interface with the motor's hall-effect output. This Phidget connects to your computer through a VINT Hub.
This Phidget is a smart device that must be controlled by a VINT Hub. For more information about VINT, have a look at the VINT Overview page. You can use a Phidget Cable to simply and easily connect the two devices. Here's a list of all of the different VINT Hubs currently available:
Product | Board Properties | |||
---|---|---|---|---|
Part Number | Price | Number of VINT Ports | VINT Communication Speed Max | Controlled By |
VINT Hub Phidget
|
$40.00 | 6 | 1 Mbit/s | USB (Mini-USB) |
1-Port VINT Hub Phidget
|
$24.00 | 1 | 1 Mbit/s | USB (USB-A) |
VINT Hub Phidget
|
$35.00 | 6 | 1 Mbit/s | USB (Mini-USB) |
VINT Hub Phidget
|
$30.00 | 6 | 100 kbit/s | USB (Mini-USB) |
Wireless VINT Hub
|
$60.00 | 6 | 100 kbit/s | Local Network (Ethernet or Wi-Fi) |
PhidgetSBC4
|
$120.00 | 6 | 100 kbit/s | — |
Use a Phidget cable to connect this device to the hub. You can solder multiple cables together in order to make even longer Phidget cables, but you should be aware of the effects of having long wires in your system.
Product | Physical Properties | |
---|---|---|
Part Number | Price | Cable Length |
Phidget Cable 10cm
|
$1.50 | 100 mm |
Phidget Cable 30cm
|
$1.75 | 300 mm |
Phidget Cable 60cm
|
$2.00 | 600 mm |
Phidget Cable 60cm
|
$2.00 | 600 mm |
Phidget Cable 90cm
|
$2.00 | 900 mm |
Phidget Cable 120cm
|
$2.25 | 1.2 m |
Phidget Cable 150cm
|
$2.50 | 1.5 m |
Phidget Cable 180cm
|
$2.75 | 1.8 m |
Phidget Cable 350cm
|
$3.00 | 3.5 m |
Phidget Cable Kit
|
$10.00 | 80 mm |
Using motor controllers with large motors can pose a risk for your power supply. If your supply does not have protective features built-in, you can use a Power Guard Phidget to prevent damage from power spikes from back EMF that is generated when motors brake or change direction. We recommend that you use the SAF2000 for any motor with a current rating between 1 and 5 amperes, and the SAF1000 for motors above 5A.
Product | Power Supply Protector | ||
---|---|---|---|
Part Number | Price | Trip Voltage | Continuous Current |
Power Guard Phidget 30V 5A
|
$10.00 | 37 | 5 A |
Programmable Power Guard Phidget 30V 50A
|
$40.00 | Selectable via software 8 - 33 VDC | 50 A |
We offer a wide variety of BLDC motors that can be used with this Phidget. For wiring details, see the Connection & Compatibility tab on the motor's product page. This controller is only compatible with BLDC motors that have hall-effect sensor feedback.
Product | Motor Properties | Gearbox Properties | ||
---|---|---|---|---|
Part Number | Price | Rated Speed | Rated Torque | Gear Ratio |
NEMA17 - Brushless DC Motor - Gearless
|
$36.00 | 4000 RPM | 1.3 kg·cm | — |
NEMA17 - Brushless DC Motor - 4.9:1 Gearbox
|
$72.00 | 810 RPM | 5.6 kg·cm | 4 7⁄8 : 1 |
NEMA17 - Brushless DC Motor - 15:1 Gearbox
|
$74.00 | 260 RPM | 16.3 kg·cm | 14 70⁄121 : 1 |
NEMA17 - Brushless DC Motor - 24:1 Gearbox
|
$76.00 | 166 RPM | 24.5 kg·cm | 23 49⁄64 : 1 |
NEMA17 - Brushless DC Motor - 56:1 Gearbox
|
$80.00 | 70 RPM | 61.2 kg·cm | 55 833⁄1331 : 1 |
NEMA17 - Brushless DC Motor - 106:1 Gearbox
|
$85.00 | 38 RPM | 96.9 kg·cm | 105 5⁄8 : 1 |
NEMA23 - Brushless DC Motor - Gearless
|
$42.00 | 4000 RPM | 2.9 kg·cm | — |
NEMA23 - Brushless DC Motor - Gearless
|
$65.00 | 4000 RPM | 5 kg·cm | — |
NEMA23 - Brushless DC Motor - 4.3:1 Gearbox
|
$84.00 | 930 RPM | 10.2 kg·cm | 4 1⁄4 : 1 |
NEMA23 - Brushless DC Motor - 15:1 Gearbox
|
$86.00 | 250 RPM | 33.7 kg·cm | 15 3⁄10 : 1 |
NEMA23 - Brushless DC Motor - 23:1 Gearbox
|
$88.00 | 170 RPM | 51 kg·cm | 22 2⁄3 : 1 |
NEMA23 - Brushless DC Motor - 47:1 Gearbox
|
$95.00 | 82 RPM | 112.2 kg·cm | 46 82⁄125 : 1 |
NEMA23 - Brushless DC Motor - 96:1 Gearbox
|
$98.00 | 41 RPM | 214.1 kg·cm | 96 1⁄3 : 1 |
This Phidget requires a power supply between 8 and 30V DC. Select the power supply from the list below that matches your region's wall socket type.
Product | Electrical Properties | Physical Properties | ||
---|---|---|---|---|
Part Number | Price | Power Supply Current | Output Voltage | Wall Plug Style |
Power Supply 24VDC 14.6A
|
$40.00 | 14.6 A | 24 V | — |
Power Supply 24VDC 25A Current Limiting
|
$120.00 | 25 A | 24 V | — |
Power Supply DIN Mount 24VDC 1A
|
$20.00 | 1 A | 24 V | — |
Power Supply 12VDC 0.5A - EU
|
$1.50 | 500 mA | 12 V | European |
Power Supply 12VDC 0.5A - US
|
$1.50 | 500 mA | 12 V | North American |
Power Supply 12VDC 2.0A - AU
|
$10.00 | 2 A | 12 V | Australian |
Power Supply 12VDC 2.0A - EU
|
$10.00 | 2 A | 12 V | European |
Power Supply 12VDC 2.0A - UK
|
$10.00 | 2 A | 12 V | British |
Power Supply 12VDC 5A
|
$20.00 | 5 A | 12 V | — |
Power Supply 24VDC 1.0A - US
|
$10.00 | 1 A | 24 V | North American |
Power Supply 24VDC 2.5A
|
$20.00 | 2.5 A | 24 V | — |
Power Supply 24VDC 5A
|
$40.00 | 5 A | 24 V | — |
Power Supply-12VDC 2.0A - US
|
$10.00 | 2 A | 12 V | North American |
These cables are normally used to connect encoders to Phidgets, but the same connector is used by the hall effect input on the DCC1100. The BLDC motors sold at Phidgets already have this cable soldered to the end of the hall effect wires, but if you have your own motor you can buy one of these cables. Just snip one end off and solder it to you motor's hall effect wires in order to connect it to the DCC1100.
Product | Physical Properties | ||
---|---|---|---|
Part Number | Price | Cable Length | Cable Gauge |
HighSpeed Encoder Cable 50cm
|
$5.00 | 500 mm | 26 AWG |
The DCC1100 lets you control one brushless DC motor with hall-effect feedback. With this Phidget, you can set the velocity (forward or reverse) and acceleration of your motor, or set a specific target position using the position controller built into the Phidgets software libraries. You can also monitor the controller temperature for cooling management and safety.
The DCC1100 requires an 8-30V DC power supply.
You can use your Control Panel to explore your Phidget's channels.
1. Open your Control Panel, and you will find the following channels:
2. Double click on a channel to open an example program. Each channel belongs to a different channel class:
In your Control Panel, double click on "Brushless DC Motor Controller":
In your Control Panel, double click on "Position Controller":
In your Control Panel, double click on "Temperature Sensor":
Before you open a Phidget channel in your program, you can set these properties to specify which channel to open. You can find this information through the Control Panel.
1. Open the Control Panel and double-click on the red map pin icon:
2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.
See the Phidget22 API for your language to determine exact syntax for each property.
The Change Trigger is the minimum change in the sensor data needed to trigger a new data event.
The Data Interval is the time (in ms) between data events sent out from your Phidget.
The Data Rate is the reciprocal of Data Interval (measured in Hz), and setting it will set the reciprocal value for Data Interval and vice-versa.
You can modify one or both of these values to achieve different data outputs. You can learn more about these properties here.
Firmware Upgrade
MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.
Linux users can upgrade via the phidget22admin tool (see included readme for instructions).
Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.
Firmware Downgrade
Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).
MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).
Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:
Firmware Version Numbering Schema
Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.
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 reduce the Velocity (i.e. average voltage) to 0 and an error will be reported to your program.
Setting StallVelocity to 0 will turn off stall protection functionality.
Rescale Factor can be set to change the motor position units into something more useful, such as degrees or rotations. The following video explains how to set the Rescale Factor using a stepper controller as an example.
Instead of steps, brushless DC motors work in commutations. The number of commutations per rotation is equal to the number of poles multiplied by the number of phases. So, if you have an 8-Pole, 3-Phase motor, the motor will have 24 commutations per rotation. For this motor, to change the target position units from communications to rotations, you would set the rescale factor to 1/24, or 0.0416.
In order to get the desired behavior from your controller, you will have to tune your control parameters. This video explains the tuning procedure and gives information on how the controller works.
This behaviour can be caused by two different problems:
For specifications that deal with acceleration and velocity limits, see the API tab.
Board Properties | |
---|---|
Controlled By | VINT |
VINT Communication Speed Max | 10 kbit/s |
Electrical Properties | |
Supply Voltage Min | 8 V DC |
Supply Voltage Max | 30 V DC |
Current Consumption (Unconfigured) | (VINT Port) 500 μA |
Current Consumption Max | (VINT Port) 650 μA |
Replacement Fuse | 20A Slow Blow Blade Type, Standard or Micro |
Continuous Motor Current Max | 20 A |
Isolation Voltage (DC) | 5 kV DC |
Controller Properties | |
Motor Type | Brushless DC |
Number of Motor Ports | 1 |
Velocity Resolution | 0.003 Duty Cycle |
Acceleration Min | 0.1 Duty Cycle/s |
Acceleration Max | 100 Duty Cycle/s |
Hall-Effect Sensor | |
Hall-Effect Voltage | 5 V DC |
Physical Properties | |
Operating Temperature Min | -40 °C |
Operating Temperature Max | 85 °C |
Customs Information | |
Canadian HS Export Code | 8471.80.00 |
American HTS Import Code | 8471.80.40.00 |
Country of Origin | CN (China) |
3019 Cable | Motor Wire |
---|---|
Black | Ground |
Green | Hall-Effect 'C' |
White | Hall-Effect 'B' |
Red | +5V |
Brown | Hall-Effect 'A' |
To make connection simple, the DCC1100 has a 5-pin molex connector to interface with the motor's hall-effect output. All BLDC motors sold at Phidgets have the mating connector soldered to the end of the cable. If you have your own motor, you can cut a Phidget Encoder cable in half and solder them together as follows:
Date | Board Revision | Device Version | Comment |
---|---|---|---|
March 2018 | 0 | 113 | Product Release |
March 2018 | 0 | 114 | Fixed issue where duty cycle never fully reached 1.0 |
May 2019 | 0 | 120 | Added failsafe timer functionality |
February 2021 | 0 | 121 | Position math uses doubles instead of floats. Fixed issue when dataInterval wasn't a multiple of 10. |
March 2022 | 0 | 130 | Failsafe timer now resets on any successful packet |
Channel Name | API | Channel |
---|---|---|
Brushless DC Motor Controller | BLDCMotor | 0 |
Temperature Sensor | TemperatureSensor | 0 |
Position Controller | MotorPositionController | 0 |
API | Detail | Language | OS | |
---|---|---|---|---|
BLDCMotor | JavaScript | Browser | Download | |
BLDCMotor | Objective-C | macOS | Download | |
BLDCMotor | Swift | macOS | Download | |
BLDCMotor | Swift | iOS | Download | |
BLDCMotor | Max/MSP | Multiple | Download | |
TemperatureSensor | Visual Studio GUI | C# | Windows | Download |
TemperatureSensor | JavaScript | Browser | Download | |
TemperatureSensor | Objective-C | macOS | Download | |
TemperatureSensor | Swift | macOS | Download | |
TemperatureSensor | Swift | iOS | Download | |
TemperatureSensor | Visual Basic .NET | Windows | Download | |
TemperatureSensor | Max/MSP | Multiple | Download | |
MotorPositionController | PID Tuner | C# | Windows | Download |
MotorPositionController | JavaScript | Browser | Download | |
MotorPositionController | Objective-C | macOS | Download | |
MotorPositionController | Swift | macOS | Download | |
MotorPositionController | Swift | iOS | Download | |
MotorPositionController | Visual Basic .NET | Windows | Download | |
MotorPositionController | Max/MSP | Multiple | Download |