Quantity Available: 830
Qty | Price |
---|---|
5 | $71.25 |
10 | $67.50 |
25 | $60.00 |
50 | $52.50 |
100 | $48.75 |
250 | $45.00 |
500 | $41.25 |
1000 | $37.50 |
The DC Motor Phidget allows you to control a single DC motor (up to 25 A) or DC linear actuator. It uses high-frequency pulse-width modulation to achieve smooth operation. 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 Primer. 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 | |||
---|---|---|---|---|
Image | Part Number | Price | Number of VINT Ports | Controlled By |
![]() |
HUB0000_0 | $30.00 | 6 | USB (Mini-USB) |
![]() |
HUB5000_0 | $60.00 | 6 | Local Network (Ethernet or Wi-Fi) |
![]() |
SBC3003_0 | $120.00 | 6 | — |
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 | ||
---|---|---|---|
Image | Part Number | Price | Cable Length |
![]() |
3002_0 | $2.00 | 600 mm |
![]() |
3003_0 | $1.50 | 100 mm |
![]() |
3004_0 | $3.00 | 3.5 m |
![]() |
3038_0 | $2.25 | 1.2 m |
![]() |
3039_0 | $2.75 | 1.8 m |
![]() |
CBL4104_0 | $1.75 | 300 mm |
![]() |
CBL4105_0 | $2.00 | 900 mm |
![]() |
CBL4106_0 | $2.50 | 1.5 m |
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.
We offer a wide variety of DC motors that can be used with this Phidget. Motors with higher gearbox ratios will have higher torque at the cost of lower speed. If you want a motor that has an encoder attached to it, skip ahead to the next table.
Product | Motor Properties | Physical Properties | Gearbox Specifications | |||||
---|---|---|---|---|---|---|---|---|
Image | Part Number | Price | Rated Speed | Rated Torque | Shaft Diameter | Weight | Gear Ratio | Gearbox Type |
![]() |
3254_0 | $10.00 | 230 RPM | 200 g·cm | 6 mm | 128 g | 10 : 1 | Spur |
![]() |
3255_0 | $10.00 | 127 RPM | 310 g·cm | 6 mm | 133 g | 18 : 1 | Spur |
![]() |
3256_0 | $11.00 | 46 RPM | 820 g·cm | 6 mm | 137 g | 50 : 1 | Spur |
![]() |
3257_0 | $11.00 | 23 RPM | 1.6 kg·cm | 6 mm | 136 g | 100 : 1 | Spur |
![]() |
3261_0 | $18.00 | 1080 RPM | 240 g·cm | 6 mm | 144 g | 3 12⁄17 : 1 | Planetary |
![]() |
3262_1 | $18.00 | 285 RPM | 900 g·cm | 6 mm | 170 g | 13 212⁄289 : 1 | Planetary |
![]() |
3263_1 | $20.50 | 78 RPM | 3.1 kg·cm | 6 mm | 193 g | 50 801⁄895 : 1 | Planetary |
![]() |
3265_0 | $38.00 | 670 RPM | 540 g·cm | 8 mm | 416 g | 3 12⁄17 : 1 | Planetary |
![]() |
3266_1 | $42.00 | 175 RPM | 1.9 kg·cm | 8 mm | 464 g | 13 212⁄289 : 1 | Planetary |
![]() |
3267_0 | $43.00 | 49 RPM | 6.6 kg·cm | 8 mm | 526 g | 50 801⁄895 : 1 | Planetary |
![]() |
3267_1 | $43.00 | 49 RPM | 6.6 kg·cm | 8 mm | 526 g | 50 801⁄895 : 1 | Planetary |
![]() |
3268_1 | $43.00 | 18 RPM | 17.3 kg·cm | 8 mm | 526 g | 139 184/1221 : 1 | Planetary |
![]() |
3269_3 | $69.00 | 588 RPM | 4.4 kg·cm | 12 mm | 1.3 kg | 4 1⁄4 : 1 | Planetary |
![]() |
3270_2 | $66.00 | 192 RPM | 13.3 kg·cm | 12 mm | 1.5 kg | 12 24⁄25 : 1 | Planetary |
![]() |
3272_2 | $72.00 | 53 RPM | 43.8 kg·cm | 12 mm | 1.7 kg | 46 82⁄125 : 1 | Planetary |
![]() |
3273_2 | $72.00 | 33 RPM | 71.4 kg·cm | 12 mm | 1.7 kg | 76 49⁄64 : 1 | Planetary |
![]() |
3274_2 | $76.00 | 15 RPM | 136.6 kg·cm | 12 mm | 2 kg | 167 601⁄625 : 1 | Planetary |
![]() |
DCM4000_0 | $40.00 | 3280 RPM | 4 kg·cm | 8 mm | 1.4 kg | — | — |
![]() |
DCM4001_0 | $80.00 | 772 RPM | 12.2 kg·cm | 12 mm | 1.9 kg | 4.25:1 | Planetary |
![]() |
DCM4002_0 | $82.00 | 182 RPM | 47 kg·cm | 12 mm | 2.1 kg | 18:1 | Planetary |
![]() |
DCM4003_0 | $84.00 | 50 RPM | 153 kg·cm | 12 mm | 2.2 kg | 65:1 | Planetary |
![]() |
DCM4004_0 | $50.00 | 2800 RPM | 8.7 kg·cm | 10 mm | 2.7 kg | — | — |
![]() |
DCM4005_0 | $60.00 | 2900 RPM | 11.4 kg·cm | 10 mm | 3.3 kg | — | — |
These DC motors all have encoders attached to the rear shaft, allowing for closed-loop position control of your motor. These encoders will connect to the encoder input on the DCC1000 via the cable included with each motor.
Product | Motor Properties | Physical Properties | Gearbox Specifications | |||||
---|---|---|---|---|---|---|---|---|
Image | Part Number | Price | Rated Speed | Rated Torque | Shaft Diameter | Weight | Gear Ratio | Gearbox Type |
![]() |
3261E_1 | $48.00 | 1080 RPM | 240 g·cm | 6 mm | 147 g | 3 12⁄17 : 1 | Planetary |
![]() |
3262E_1 | $48.00 | 285 RPM | 900 g·cm | 6 mm | 174 g | 13 212⁄289 : 1 | Planetary |
Linear actuators are simply DC motors that are hooked up to a linear screw which causes the shaft to move laterally instead of rotating. Unlike a rotary DC motor, linear actuators have a minimum and maximum position at which the shaft cannot contract or extend any further. On its own, the motor would not be smart enough to stop before attempting to push beyond these limits, possibly damaging the motor. That's why each linear actuator also has a built-in feedback potentiometer so you can monitor the position of the shaft and prevent the actuator from stalling out at its limits. The potentiometer can be read by the analog input on the DCC1000.
Product | Motor Properties | Electrical Properties | Physical Properties | ||||||
---|---|---|---|---|---|---|---|---|---|
Image | Part Number | Price | Stroke Length | Maximum Speed | Peak Power Point | Peak Efficiency Point | Gear Ratio | Rated Voltage | Weight |
![]() |
3546_0 | $100.00 | 150 mm | 10 mm/s | 750 N | — | — | 24 V DC | 1 kg |
![]() |
3547_0 | $100.00 | 300 mm | 24 mm/s | 350 N | — | — | 24 V DC | 1.2 kg |
![]() |
3570_0 | $80.00 | 50 mm | 32 mm/s | (@ 16 mm/s) 50 N | (@ 24 mm/s) 24 N | 35:1 | 12 V DC | 56 g |
![]() |
3571_0 | $80.00 | 100 mm | 32 mm/s | (@ 16 mm/s) 50 N | (@ 24 mm/s) 24 N | 35:1 | 12 V DC | 74 g |
![]() |
3572_0 | $80.00 | 140 mm | 32 mm/s | (@ 16 mm/s) 50 N | (@ 24 mm/s) 24 N | 35:1 | 12 V DC | 84 g |
![]() |
3573_0 | $80.00 | 50 mm | 20 mm/s | (@ 10 mm/s) 75 N | (@ 15 mm/s) 38 N | 63:1 | 12 V DC | 56 g |
![]() |
3574_0 | $80.00 | 100 mm | 20 mm/s | (@ 10 mm/s) 75 N | (@ 15 mm/s) 38 N | 63:1 | 12 V DC | 74 g |
![]() |
3575_0 | $80.00 | 140 mm | 20 mm/s | (@ 10 mm/s) 75 N | (@ 15 mm/s) 38 N | 63:1 | 12 V DC | 84 g |
![]() |
3576_0 | $80.00 | 50 mm | 8 mm/s | (@ 4 mm/s) 175 N | (@ 7 mm/s) 75 N | 150:1 | 12 V DC | 56 g |
![]() |
3577_0 | $80.00 | 100 mm | 8 mm/s | (@ 4 mm/s) 175 N | (@ 7 mm/s) 75 N | 150:1 | 12 V DC | 74 g |
![]() |
3578_0 | $80.00 | 140 mm | 8 mm/s | (@ 4 mm/s) 175 N | (@ 7 mm/s) 75 N | 150:1 | 12 V DC | 84 g |
This Phidget requires a power supply between 8 and 30V DC. We recommend that you use a 12V DC power supply for smaller motors and a 24V supply for larger motors. Check your motor's specifications if you're not sure. For best performance, you should get a 5 amp supply. Select the power supply from the list below that matches your region's wall socket type.
Product | Electrical Properties | Physical Properties | |||
---|---|---|---|---|---|
Image | Part Number | Price | Power Supply Current | Output Voltage | Wall Plug Style |
![]() |
3022_0 | $10.00 | 2 A | 12 V | Australian |
![]() |
3023_1 | $10.00 | 2 A | 12 V | European |
![]() |
3024_1 | $10.00 | 2 A | 12 V | North American |
![]() |
3025_0 | $10.00 | 2 A | 12 V | British |
![]() |
3084_0 | $1.50 | 500 mA | 12 V | European |
![]() |
3085_0 | $1.50 | 500 mA | 12 V | North American |
![]() |
3086_0 | $10.00 | 1 A | 24 V | North American |
![]() |
PSU4013_0 | $20.00 | 2.5 A | 24 V | — |
![]() |
PSU4014_0 | $40.00 | 5 A | 24 V | — |
![]() |
PSU4015_0 | $20.00 | 1 A | 24 V | — |
![]() |
PSU4016_0 | $40.00 | 15 A | 24 V | — |
![]() |
PSU4017_0 | $75.00 | 15 A | 24 V | — |
![]() |
PSU4018_0 | $20.00 | 5 A | 12 V | — |
The DCC1000 allows you to control a DC motor or DC linear actuator. With this Phidget, you can control your motor by:
You can use the DCC1000 to monitor current passing through the motor, connect and monitor the motor’s potentiometer, and monitor the temperature of the motor.
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 one of these channel classes:
In your Control Panel, double click on "DC Motor Controller":
In your Control Panel, double click on "Position Controller":
In your Control Panel, double click on "Encoder Input":
In your Control Panel, double click on "Current Sensor":
In your Control Panel, double click on "Voltage Ratio":
In your Control Panel, double click on "Temperature Sensor":
1. Setting up your Programming Environment
There are a number of settings that can be adjusted to customize the position controller. You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the DCC1000, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).
You can set the control parameters Kp, Ki, and Kd in order to change the behavior of the control loop. For more information on how each of these three tuning parameters affect the control loop, see “Control Loop Parameters ”.
Velocity is how fast the motor will move to the target position, and acceleration controls how quickly the motor will reach its velocity and how quickly it will slow down. These values are measured in position per second and position per second squared, and position by default is measured in encoder pulses.
If you want position to be measured in another unit (degrees, for example), you can set the rescale factor. For more information on choosing the correct rescale factor, see “Setting the Rescale Factor”.
Sometimes the motor will oscillate back and forth across the target position when holding position. Adding a deadband will widen the target position so the motor will stop when it gets within the target position plus or minus the deadband.
Setting the current limit gives you control over how much power is being supplied to the motor. Generally, we advise that you set the current limit to your motor’s specified coil current.
This turns the cooling fan on and off. Setting it to auto will result in the fan turning on only when the temperature sensor detects rising board temperatures.
Changes between different encoder modes based on your encoder’s circuitry. For more information see the Encoder Primer.
Depending on power supply voltage and motor coil inductance, the 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.
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.
The DCC1000 can connect to any of the encoders we sell without any modification just by setting the EncoderIOMode property to Push-Pull . If you're trying to use your own encoder, you may need to change the IO mode to Open Collector or Line Driver mode. Have a look at the Encoder Primer for more details on what to use.
There are three pieces of information to consider when setting a rescale factor to change your units into degrees or rotations:
First, check your encoder's datasheet for the CPR. It's usually 360 or 300. This is the number of quadrature cycles the encoder will send out for one full rotation.
Next, you need your encoder interface's resolution. The encoder port on the DCC1000 has a x4 resolution, meaning it reads in 4 pulses per quadrature cycle (see the Encoder Primer for a more in-depth explanation).
Next, you need to find out the gear ratio in your motor's datasheet. Note: If you plan on having your motor run for many rotations in a row, try to find the exact gear ratio, expressed as a fraction. Using the rounded value will result in accumulating errors the more you rotate.
Once you have these numbers, you can calculate the rescale factor:
For example, if you wanted to have your motor's position measured in degrees and your encoder had 300 CPR and your motor had a 50 801⁄895 : 1 gearbox, you would set your rescale factor to 360 / 300*4*(50+(801/895)), or 0.005894.
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. You can modify one or both of these values to achieve different data outputs. You can learn more about these two properties here.
In the Phidget Control Panel, open the channel for your device and click on the icon next to the data type that you want to plot. This will open up a new window:
If you need more complex functionality such as logging multiple sensors to the same sheet or performing calculations on the data, you'll need to write your own program. Generally this will involve addressing the correct channel, opening it, and then creating an Event Handler and adding graphing/logging code to it.
The quickest way to get started is to download some sample code for your desired programming language and then search google for logging or plotting in that language (e.g. "how to log to csv in python") and add the code to the existing change handler.
Reverse your motor’s wires. The control loop has to make an assumption about what direction your motor moves with a positive voltage, and in this case, the assumption was incorrect. Don’t worry, DC motors are fine being wired up backward since they’re essentially just a long loop of wire on the inside.
Board Properties | |
---|---|
Controlled By | VINT |
Voltage Sensor | |
Number of Voltage Inputs | 1 |
Sampling Interval Min | 500 ms/sample |
Sampling Interval Max | 60 s/sample |
VoltageRatio Input Resolution | 0.00026 |
Input Voltage Min (DC) | 0 V DC |
Input Voltage Max (DC) | 5 V DC |
Measurement Error Max | 0.5 % |
Sensor Input Impedance | 324 kΩ |
Controller Properties | |
Motor Type | DC Motor |
Number of Motor Ports | 1 |
Velocity Resolution | 0.001 Duty Cycle |
Acceleration Resolution | 1 % Duty Cycle/s |
Acceleration Min | 0.5 % Duty Cycle/s |
Acceleration Max | 10000 % Duty Cycle/s |
Acceleration Time Min | 20 ms |
Acceleration Time Max | 20 s |
PWM Frequency | 25 kHz |
Sampling Interval Min | 50 ms/sample |
Sampling Interval Max | 60 s/sample |
Current Limit Resolution | 17.9 mA |
Electrical Properties | |
Continuous Motor Current Max | 25 A |
Supply Voltage Min | 8 V DC |
Supply Voltage Max | 30 V DC |
Current Consumption (Unconfigured) | (VINT Port) 500 μA |
Current Consumption Max | (VINT Port) 2 mA |
Power Consumption (Unconfigured) | 288 mW |
Power Consumption | motor power plus 700 mW |
Replacement Fuse | 20A Slow Blow Blade Type, Regular or Micro |
Encoder Interface | |
Number of Encoder Inputs | 1 |
Encoder Interface Resolution | x4 |
Count Rate Max | 400000 pulses/s |
Time Resolution | 1 μs |
Sampling Interval Min | 50 ms/sample |
Sampling Interval Max | 60 s/sample |
Encoder Input Low Voltage Max | 800 mV DC |
Encoder Input High Voltage Min | 2 V DC |
Temperature Sensor | |
Temperature Resolution | 0.04 °C |
Physical Properties | |
Recommended Wire Size | 10 - 26 AWG |
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) |
Date | Board Revision | Device Version | Comment |
---|---|---|---|
August 2017 | 0 | 115 | Product Release |
October 2017 | 0 | 204 | Added MotorPositionController support |
January 2018 | 0 | 205 | Fixed issue with encoder input |
March 2018 | 0 | 206 | Fixed issue where duty cycle never reached 1.0 |
April 2019 | 0 | 207 | Fixed averaging of duty cycle when limiting current |
May 2019 | 0 | 210 | Added failsafe timer functionality |
February 2020 | 0 | 211 | Fixed saturation warnings triggering at 25A |
Channel Name | API | Channel |
---|---|---|
DC Motor Controller | DCMotor | 0 |
Encoder Input | Encoder | 0 |
Voltage Ratio | VoltageRatioInput | 0 |
Temperature Sensor | TemperatureSensor | 0 |
Current Sensor | CurrentInput | 0 |
Position Controller | MotorPositionController | 0 |
API | Detail | Language | OS | |
---|---|---|---|---|
DCMotor | Visual Studio GUI | C# | Windows | Download |
DCMotor | Java | Android | Download | |
DCMotor | JavaScript | Browser | Download | |
DCMotor | Objective-C | macOS | Download | |
DCMotor | Swift | macOS | Download | |
DCMotor | Swift | iOS | Download | |
DCMotor | Visual Basic .NET | Windows | Download | |
DCMotor | Max/MSP | Multiple | Download | |
Encoder | Visual Studio GUI | C# | Windows | Download |
Encoder | Java | Android | Download | |
Encoder | JavaScript | Browser | Download | |
Encoder | Objective-C | macOS | Download | |
Encoder | Swift | macOS | Download | |
Encoder | Swift | iOS | Download | |
Encoder | Visual Basic .NET | Windows | Download | |
Encoder | Max/MSP | Multiple | Download | |
VoltageRatioInput | Visual Studio GUI | C# | Windows | Download |
VoltageRatioInput | Load Cell Calibrator | C# | Windows | Download |
VoltageRatioInput | Java | Android | Download | |
VoltageRatioInput | JavaScript | Browser | Download | |
VoltageRatioInput | Objective-C | macOS | Download | |
VoltageRatioInput | Swift | macOS | Download | |
VoltageRatioInput | Swift | iOS | Download | |
VoltageRatioInput | Visual Basic .NET | Windows | Download | |
VoltageRatioInput | Max/MSP | Multiple | Download | |
TemperatureSensor | Visual Studio GUI | C# | Windows | Download |
TemperatureSensor | Java | Android | 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 | |
CurrentInput | Visual Studio GUI | C# | Windows | Download |
CurrentInput | Java | Android | Download | |
CurrentInput | JavaScript | Browser | Download | |
CurrentInput | Objective-C | macOS | Download | |
CurrentInput | Swift | macOS | Download | |
CurrentInput | Swift | iOS | Download | |
CurrentInput | Visual Basic .NET | Windows | Download | |
CurrentInput | 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 |
Product | Controller Properties | Electrical Properties | Board Properties | ||||
---|---|---|---|---|---|---|---|
Image | Part Number | Price | Number of Motor Ports | Velocity Resolution | Acceleration Resolution | Continuous Motor Current Max | Controlled By |
![]() |
1064_1B | $115.00 | 2 | 0.79 % Duty Cycle | 1.9 % Duty Cycle/s | (per motor) 14 A | USB (Mini-USB) |
![]() |
1065_1B | $75.00 | 1 | 0.39 % Duty Cycle | 24.5 % Duty Cycle/s | 5 A | USB (Mini-USB) |
![]() |
DCC1000_0 | $75.00 | 1 | 0.001 Duty Cycle | 1 % Duty Cycle/s | 25 A | VINT |
![]() |
DCC1002_0 | $40.00 | 1 | 0.001 Duty Cycle | 0.1 Duty Cycle/s | 4 A | VINT |
![]() |
DCC1003_0 | $60.00 | 2 | 0.001 Duty Cycle | 0.1 Duty Cycle/s | (per motor) 4 A | VINT |