Products for USB Sensing and Control
Products for USB Sensing and Control

PHIDGETS Inc.

Unit 1 - 6115 4 St SE
Calgary AB  T2H 2H9
Canada
+1 403 282-7335

4A DC Motor Phidget

ID: DCC1002_0
Recommended for new designs: This product (or a similar replacement with a compatible form, fit and function) is estimated to be available for ten years or more.

Control a single DC motor up to 4A with this compact and affordable Phidget. Connects to a VINT port.

$40.00

Quantity Available: 1000+

Qty Price
5 $38.00
10 $36.00
25 $32.00
50 $28.00
100 $26.00
250 $24.00
500 $22.00
1000 $20.00

The DCC1002 gives you complete control of one brushed DC motor with a current rating of up to 4 amps. It offers a compact enclosed form making it easy to fit into smaller projects. This Phidget connects to your computer through a VINT Hub.

Features:

  • Control motor velocity, acceleration, and braking strength - Forward and reverse
  • Set a specific target position (requires an encoder)
  • Encoder input - Read in the quadrature signal from an encoder attached to the shaft of your motor. This lets you make a closed-loop position controller.

Technical Details:

  • Isolation - The VINT port on this device is isolated, improving reliability and eliminating ground loops
  • Polarity Protection - The device will not turn on and will not be damaged if the power supply is connected backward
  • Overcurrent Protection - On-board fuse to protect the controller in an over-current event
  • Overheating Protection - A built-in heatsink prevents overheating
  • Failsafe Protection - Set the device to turn off automatically if your program becomes unresponsive

VINT Hubs

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

Phidget Cables

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
3034_0 $1.50 150 mm
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

Power Guards

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
Image Part Number Price
SAF1000_0 $60.00
SAF2000_0 $10.00

DC Motors

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 1217 : 1 Planetary
3262_1 $18.00 285 RPM 900 g·cm 6 mm 170 g 13 212289 : 1 Planetary
3263_1 $20.50 78 RPM 3.1 kg·cm 6 mm 193 g 50 801895 : 1 Planetary
3265_0 $38.00 670 RPM 540 g·cm 8 mm 416 g 3 1217 : 1 Planetary
3266_0 $42.00 175 RPM 1.9 kg·cm 8 mm 464 g 13 212289 : 1 Planetary
3266_1 $42.00 175 RPM 1.9 kg·cm 8 mm 464 g 13 212289 : 1 Planetary
3267_0 $43.00 49 RPM 6.6 kg·cm 8 mm 526 g 50 801895 : 1 Planetary
3267_1 $43.00 49 RPM 6.6 kg·cm 8 mm 526 g 50 801895 : 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 14 : 1 Planetary
3270_2 $66.00 192 RPM 13.3 kg·cm 12 mm 1.5 kg 12 2425 : 1 Planetary
3272_2 $72.00 53 RPM 43.8 kg·cm 12 mm 1.7 kg 46 82125 : 1 Planetary
3273_2 $72.00 33 RPM 71.4 kg·cm 12 mm 1.7 kg 76 4964 : 1 Planetary
3274_2 $76.00 15 RPM 136.6 kg·cm 12 mm 2 kg 167 601625 : 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

DC Motors with Encoders

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 DCC1002 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 1217 : 1 Planetary
3263E_1 $50.50 78 RPM 3.1 kg·cm 6 mm 193 g 50 801895 : 1 Planetary

DC Linear Actuators

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 using one of the ports on your VINT Hub in VoltageRatioInput mode.

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
3545_0 $100.00 150 mm 24 mm/s 350 N 24 V DC 995 g
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

Power Supplies

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

Power Supply Pigtail

You can use a pigtail wire if you want to avoid removing the barrel jack connector from your supply's cord:

Product Physical Properties
Image Part Number Price Connector A Connector B Cable Length Cable Gauge
3031_0 $2.75 Power Jack 5.5 x 2.1mm (Female) 2 Loose Wires 250 mm 20 AWG



Part 1: Setup

Welcome to the DCC1002 user guide! In order to get started, make sure you have the following hardware on hand:

Next, you will need to connect the pieces:

DCC1002 Functional.jpeg
  1. Connect the DCC1002 to the VINT Hub using the Phidget cable.
  2. Connect the motor to the Phidget's output terminals.
  3. Connect the VINT Hub to your computer with a USB cable.
  4. (Optional) If your motor has an encoder, connect it to the encoder port on the DCC1002.
  5. Connect the power supply to the DCC1002's power terminals.


Now that you have everything together, let's start using the DCC1002!

Phidget Control Panel

In order to demonstrate the functionality of the DCC1002, the Phidget Control Panel running on a Windows machine will be used.


The Phidget Control Panel is available for use on both macOS and Windows machines.

Windows

To open the Phidget Control Panel on Windows, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG

macOS

To open the Phidget Control Panel on macOS, open Finder and navigate to the Phidget Control Panel in the Applications list. Double click on the Ph.jpg icon to bring up the Phidget Control Panel.


For more information, take a look at the getting started guide for your operating system:


Linux users can follow the getting started with Linux guide and continue reading here for more information about the DCC1002.

First Look

After plugging the DCC1002 into your computer and opening the Phidget Control Panel, you will see something like this:

DCC1002 Panel.jpg


The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.


The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

Part 2: Using Your Phidget

About

Control a brushed DC motor with a current rating of up to 4A with the DCC1002. With this Phidget, you can:

  • Set the velocity (forward or reverse) and acceleration of your motor with the DC Motor Controller
  • Set a specific target position with the Motor Position Controller (requires an encoder)
DCC1002 About.jpg

Explore Your Phidget Channels Using The Control Panel

You can use your Control Panel to explore your Phidget's channels.

1. Open your Control Panel, and you will find the following channels:

DCC1002 Panel.jpg

2. Double click on a channel to open an example program. Each channel belongs to a different channel class:

DC Motor: Controls the velocity and current of the motor

In your Control Panel, double click on "DC Motor Controller":

DCC1002-DCMotor.jpg
Encoder: Reads encoder input so you can implement closed-loop control of the motor

In your Control Panel, double click on "Encoder Input":

DCC1002-Encoder.jpg
Position Controller: A built-in PID position controller

In your Control Panel, double click on "Position Controller":

DCC1002-PositionController.jpg

Part 3: Create your Program

1. Setting up your Programming Environment

2. Phidget Programming Basics

Part 4: Advanced Topics and Troubleshooting

How do I know what channel, serial number, or hub port to use in my program?

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:

The locate Phidget button is found in the device information box

2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.

All the information you need to address your Phidget


See the Phidget22 API for your language to determine exact syntax for each property.

Setting the Change Trigger and Data Interval

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.

PositionController Settings

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 DCC1002, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).

Kp, Ki, and Kd

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 and Acceleration

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.

Rescale Factor

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”.

Deadband

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.

Current Limit

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.

Fan Mode

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.

Encoder IO Mode

Changes between different encoder modes based on your encoder’s circuitry. For more information see the Encoder Primer.

Current Regulator Gain

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.

Control Loop Parameters

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.

Interfacing Encoders

The DCC1002 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.

Setting the Rescale Factor

There are three pieces of information to consider when setting a rescale factor to change your units into degrees or rotations:

  • Your encoder's CPR (counts per rotation)
  • Your encoder interface's resolution
  • Your motor's gear ratio

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 DCC1002 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:

DCC1000-equations.jpg

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.

My motor moves away from the target position in Position Controller mode!

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.

Product Specifications

Board Properties
Controlled By VINT
Controller Properties
Motor Type DC Motor
Number of Motor Ports 1
Acceleration Min 0.1 % Duty Cycle/s
Acceleration Max 100 % Duty Cycle/s
PWM Frequency 25 kHz
Sampling Interval Min 100 ms/sample
Sampling Interval Max 60 s/sample
Acceleration Resolution 0.1 Duty Cycle/s
Velocity Resolution 0.001 Duty Cycle
Current Limit Resolution 5.6 mA
Acceleration Time Min 20 ms
Acceleration Time Max 20 s
Electrical Properties
Continuous Motor Current Max 4 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
Encoder Interface
Number of Encoder Inputs 1
Encoder Interface Resolution x4
Count Rate Max 400000 pulses/s
Sampling Interval Min 50 ms/sample
Sampling Interval Max 60 s/sample
Encoder Input Low Voltage Max 2.4 V DC
Encoder Input High Voltage Min 2.6 V DC
Time Resolution 1 μs
Physical Properties
Recommended Wire Size 16 - 26 AWG
Operating Temperature Min -40 °C
Operating Temperature Max 85 °C

Documents

Product History

Date Board Revision Device Version Comment
May 2019 0 102 Product Release
May 2019 0 110 Added failsafe timer functionality
May 2019 0 111 Fixed max current limit for position controller to be 4A

Software Objects

Channel NameAPIChannel
DC Motor Controller DCMotor 0
Encoder Input Encoder 0
Position Controller MotorPositionController 0

API


Back Forward
Print this API

Code Samples



Example Options


Downloads

				Make your selections to display sample code.
					

Code Samples

Language:

APIDetailLanguageOS
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
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

Have a look at our DC motor controllers:

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