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

DC Motor Phidget

ID: DCC1000_0

Control one high-current brushed DC motor with this powerful Phidget. The encoder input and analog input can enable precise control motor velocity and position.

$75.00

Quantity Available: 219

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

This DC Motor Phidget attaches to your VINT hub and controls the direction and voltage of one DC motor using high frequency pulse-width modulation to achieve smooth operation. It also has current control, allowing you to set a current limit, which puts a maximum on the amount of torque exterted by the motor and allows you to use larger power supplies than what the motor is normally rated for.



Quadrature Encoder Input

This controller comes equipped with an encoder input that can read in the quadrature signal from an encoder attached to the shaft of your motor. You can use this information to make a closed-loop position controller.

VoltageRatio Input

Similar to a VINT port opened in VoltageRatioInput mode, this port will read in a ratiometric sensor. This is useful for motors that come with attached potentiometers like a DC Linear actuator, so you can incorporate position feedback without needing to buy another input board.

High Compatibility

Many variations of brushed DC motors exist: permanent magnet motors, electromagnet motors, coreless motors, and linear motors. The DC Motor Controller can be used with any of these, as well as other devices that use pulse-width modulation such as small solenoids, incandescent light bulbs, and the hydraulics of pneumatic devices like small pumps and valves.

Motor Current Sensing

This Phidget also lets you monitor how much current is going through your motor coils at any given time. You can use this feature to determine how much physical resistance the motor is working against; the larger the load, the greater the current the motor will draw.

Reliability and Protection

The VINT port on this device is isolated, greatly improving reliability and eliminating ground loops.

The power terminals on this device are polarity protected: if you happen to hook up the power supply backwards, the device simply won't power up and won't be damaged.

There is a fuse included on-board to protect the controller in an over-current event. Board temperature and motor current can be monitored for cooling control and power management. This board has no power-saving features built in; if you want to control power consumption, you'll need to switch the power supply using a relay. The attached fan can be configured and automatically or manually controlled through the API.

Related Videos



Product Specifications

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 10 ms
Acceleration Time Max 200 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
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

Software Objects

Channel NameAPIChannel
DC Motor Controller DCMotor 0
Encoder Input Encoder 0
Voltage Ratio VoltageRatioInput 0
Temperature Sensor TemperatureSensor 0
Current Sensor CurrentInput 0

API


Back Forward
Print this API

Documents

Library & Driver Downloads

Code Samples

APILanguageOS
DCMotor C Multiple Download
DCMotor C# Windows Download
DCMotor Java Multiple Download
DCMotor JavaScript Any Download
DCMotor Objective-C macOS Download
DCMotor Python Multiple Download
DCMotor Visual Basic .NET Windows Download
Encoder C Multiple Download
Encoder C# Windows Download
Encoder Java Multiple Download
Encoder JavaScript Any Download
Encoder Objective-C macOS Download
Encoder Python Multiple Download
Encoder Visual Basic .NET Windows Download
VoltageRatioInput C Multiple Download
VoltageRatioInput C# Windows Download
VoltageRatioInput Java Multiple Download
VoltageRatioInput JavaScript Any Download
VoltageRatioInput Objective-C macOS Download
VoltageRatioInput Python Multiple Download
TemperatureSensor C Multiple Download
TemperatureSensor C# Windows Download
TemperatureSensor Java Multiple Download
TemperatureSensor JavaScript Any Download
TemperatureSensor Objective-C macOS Download
TemperatureSensor Python Multiple Download
TemperatureSensor Visual Basic .NET Windows Download
CurrentInput C Multiple Download
CurrentInput C# Windows Download
CurrentInput Java Multiple Download
CurrentInput JavaScript Any Download
CurrentInput Objective-C macOS Download
CurrentInput Python Multiple Download
CurrentInput Visual Basic .NET Windows Download

Projects

Product History

Date Board Revision Device Version Comment
August 20170115Product Release


Getting Started

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

Next, you will need to connect the pieces:

DCC1000 Functional.jpeg
  1. Connect the DCC1000 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 DCC1000.
  5. Connect the power supply to the power terminals.


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

Using the DCC1000

Phidget Control Panel

In order to demonstrate the functionality of the DCC1000, 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. If you would like to follow along, first 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 DCC1000.

First Look

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

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

The objects associated with the DCC1000 are as follows:

  • Current Sensor: Measures the amount of current flowing through the motor's coils.
  • DC Motor Controller: Controls the velocity and current of the motor, and the on-board fan.
  • Encoder Input: Reads encoder input so you can implement closed-loop control of the motor.
  • Position Controller: A built-in position controller. (Currently not yet implemented; coming soon)
  • Temperature Sensor: Measures the temperature of the DCC1000 so you can tell if it's overheating.
  • Voltage Ratio: Measures the sensor input of the "Analog In" port of the DCC1000. Intended for use with feedback potentiometers that some motors and actuators are equipped with.

DC Motor

Double-click on the DC Motor object, labelled DC Motor Phidget, in order to run the example:

DCC1000 DCMotor Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Drag the Target Velocity slider from -1 (full reverse) to 1 (full forward) to make the motor move.
  • Manipulate the Acceleration slider to increase/decrease the amount of time it takes the DC Motor to reach a target velocity.
  • Manipulate the Current Limit slider to limit the amount of current provided to the motor. Higher current means more torque, but more power consumption.
  • Manipulate the Braking Duty Cycle slider to change how hard the motor brakes.
  • Manipulate the Current Regulator Gain: see the technical section for details on this.
  • Turn the fan on and off by selecting the fan mode. Auto mode will have the fan turn on whenever the controller starts to heat up.


Current Input

Double-click on the Current Input object Current Sensor in order to run the example:

DCC1000 CurrentInput Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.

Encoder

Double-click on the Encoder object, labelled Encoder Input, in order to run the example:

DCC1000 Encoder Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Position Change: the number of ticks (or quadrature cycles) that have occurred since the last change event.
  • Time Change: the amount of time in milliseconds that has elapsed since the last change event.
  • Position: the total position in ticks relative to where the encoder was when the window was opened.
  • Index Position: the position where the index channel was last encountered. Some encoders do not support index, check your encoder's datasheet for more information.
  • Velocity: the average velocity in rotations per second. A CPR must be specified to enable this functionality.
  • Specify a counts per revolution (CPR) value to enable velocity calculation.
  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • Modify the IO Mode with the drop-down menu. For more information on IO Mode, see the technical section.

Temperature Sensor

Double-click on the Temperature Sensor object , labelled Temperature Sensor, in order to run the example:

DCC1000 TemperatureSensorIC Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • The measured temperature can be seen next to the Temperature label. Cover the board with your hands to see the temperature quickly rise.


Voltage Input

Double-click on a Voltage Input object in order to run the example:

DCC1000 VoltageInputSensor Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • If you have an analog sensor connected that you bought from us, you can select it from the Sensor Type drop-down menu. The example will then convert the voltage into a more meaningful value based on your sensor, with units included, and display it beside the Sensor Value label. Converting voltage to a Sensor Value is not specific to this example, it is handled by the Phidget libraries, with functions you have access to when you begin developing!


Technical Details

Current Regulator Gain

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.

Interfacing Encoders

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.

Further Reading

For more information, have a look at the DC Motor and Controller Primer.

What to do Next

  • Software Overview - Find your preferred programming language here to learn how to write your own code with Phidgets!
  • General Phidget Programming - Read this general guide to the various aspects of programming with Phidgets. Learn how to log data into a spreadsheet, use Phidgets over the network, and much more.
  • Phidget22 API - The API is a universal library of all functions and definitions for programming with Phidgets. Just select your language and device and it'll give you a complete list of all properties, methods, events, and enumerations that are at your disposal.

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 $95.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 Maximum Speed at Rated Voltage 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
3260_0 $15.00 73 RPM 6.1 kg·cm 6 mm 284 g 50 : 1 Spur
3261_0 $18.00 1080 RPM 240 g·cm 6 mm 144 g 3 1217 : 1 Planetary
3262_0 $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
3264_1 $20.50 28 RPM 8.5 kg·cm 6 mm 192 g 139 1841221 : 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
3267_0 $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 1841221 : 1 Planetary
3269_2 $69.00 588 RPM 5.1 kg·cm 12 mm 1.3 kg 4 14 : 1 Planetary
3270_1 $66.00 192 RPM 14.3 kg·cm 12 mm 1.5 kg 12 2425 : 1 Planetary
3271_1 $66.00 139 RPM 20.4 kg·cm 12 mm 1.5 kg 18 116 : 1 Planetary
3272_1 $72.00 53 RPM 51 kg·cm 12 mm 1.7 kg 46 82125 : 1 Planetary
3273_1 $72.00 33 RPM 82.6 kg·cm 12 mm 1.7 kg 76 4964 : 1 Planetary
3274_1 $76.00 15 RPM 173 kg·cm 12 mm 2 kg 167 601625 : 1 Planetary

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 DCC1000 via the cable included with each motor.

Product Motor Properties Physical Properties Gearbox Specifications
Image Part Number Price Maximum Speed at Rated Voltage Rated Torque Shaft Diameter Weight Gear Ratio Gearbox Type
3254E_0 $40.00 230 RPM 200 g·cm 6 mm 131 g 10 : 1 Spur
3255E_0 $40.00 127 RPM 310 g·cm 6 mm 136 g 18 : 1 Spur
3256E_0 $41.00 46 RPM 820 g·cm 6 mm 140 g 50 : 1 Spur
3261E_0 $48.00 1080 RPM 240 g·cm 6 mm 147 g 3 1217 : 1 Planetary
3262E_0 $48.00 285 RPM 900 g·cm 6 mm 174 g 13 212289 : 1 Planetary
3263E_1 $50.50 78 RPM 3.1 kg·cm 6 mm 193 g 50 801895 : 1 Planetary
3264E_1 $50.50 28 RPM 8.5 kg·cm 6 mm 195 g 139 1841221 : 1 Planetary
3265E_0 $68.00 670 RPM 540 g·cm 8 mm 419 g 3 1217 : 1 Planetary
3266E_0 $72.00 175 RPM 1.9 kg·cm 8 mm 467 g 13 212289 : 1 Planetary
3267E_0 $73.00 49 RPM 6.6 kg·cm 8 mm 529 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 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
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
3548_0 $100.00 300 mm 10 mm/s 750 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

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_1 $120.00 2 0.79 % Duty Cycle 1.9 % Duty Cycle/s (per motor) 14 A USB
1065_0 $80.00 1 0.39 % Duty Cycle 24.5 % Duty Cycle/s 5 A USB
DCC1000_0 $75.00 1 0.001 % Duty Cycle 1 % Duty Cycle/s 25 A VINT