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

#### sales inquiries

##### quotes, distributor information, purchase orders
sales@phidgets.com

#### technical inquiries

##### support, advice, warranty, returns, misshipment
support@phidgets.com

#### website inquiries

web@phidgets.com

##### Unit 1 - 6115 4 St SE Calgary AB  T2H 2H9 Canada
Projects Dealers Terms and Conditions Discontinued Products Phidget21 Documentation

#### PHIDGETS Inc.

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

## PhidgetStepper Unipolar 4-Motor

ID: 1062_1B
End of Life: This product will not be produced again, and will be discontinued once it runs out of stock. It's possible that exceptions could be made for high-volume customers. Contact sales@phidgets.com to discuss options.

Accurately control up to 4 unipolar stepper motors with this controller. Connects to a USB port.

## $50.00 Quantity Available: 117 Qty Price 5$47.50
10 $45.00 25$40.00
50 $35.00 100$32.50
250 $30.00 500$27.50
3316_0 $2.50 Unipolar Stepper 18° 30 g·cm 575 RPM 12 V DC #### Power Supplies This Phidget requires a power supply between 5 and 12V DC. We recommend that you use a 12V 2A DC power supply for best results. 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

#### USB Cables

Use a USB cable to connect this Phidget to your computer. We have a number of different lengths available, although the maximum length of a USB cable is 5 meters due to limitations in the timing protocol. For longer distances, we recommend that you use a Single Board Computer to control the Phidget remotely.

Product Physical Properties
Image Part Number Price Connector A Connector B Cable Length
3017_1 $3.00 USB Type A USB Mini-B 280 mm 3018_0$4.00 USB Type A USB Mini-B 1.8 m
3020_0 $12.00 USB Type A USB Mini-B 4.5 m 3036_0$3.50 USB Type A USB Mini-B 600 mm
3037_0 \$4.00 USB Type A USB Mini-B 1.2 m

## Getting Started

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

Next, you will need to connect the pieces:

1. Connect the stepper motor to one of the inputs on the PhidgetStepper board. If you are having difficulty connecting the wires, refer to the technical section.
2. Connect the power supply to the Phidget using the barrel connector.
3. Power supplies with higher current (more than 2.5 Amps) should be wired directly into the terminal block.
4. Connect the Phidget to your PC using the USB cable.

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

## Using the 1062

### Phidget Control Panel

In order to demonstrate the functionality of the 1062, 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 icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

#### 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 icon to bring up the Phidget Control Panel.

### First Look

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

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.

### Stepper Motor

Double-click on the Stepper object, labelled Unipolar Stepper Controller, in order to run the example:

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

• Toggle the Engage button to provide power to the motor coils.
• By default, motor position, velocity, and acceleration are measured in sixteenths of a step. If you want to use different units, change the value in the Rescale Factor textbox.
• Use the Target Position slider to set a new target position. Change the Acceleration and Velocity sliders to speed up or slow down the 1062's approach.
• Select the Velocity (Continuous) Control tab for continuous rotation instead of specifiying a position.

Before you can access the device in your own code, and from our examples, you'll need to take note of the addressing parameters for your Phidget. These will indicate how the Phidget is physically connected to your application. For simplicity, these parameters can be found by clicking the button at the top of the Control Panel example for that Phidget.

In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the Channel Class field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.

You are now ready to start writing your own code for the device. The best way to do that is to start from our Code Samples.

Select your programming language of choice from the drop-down list to get an example for your device. You can use the options provided to further customize the example to best suit your needs.

Once you have your example, you will need to follow the instructions on the page for your programming language to get it running. To find these instructions, select your programming language from the Programming Languages page.

## Technical Details

### How to Connect your Stepper to the 1062

Unipolar Stepper motors are available in 5, 6 or 8 wire configurations.

#### 5 Wire Stepper Motors

 In a 5 wire motor, the center taps of the coils are connected together. This scheme prevents this motor from being controlled as a bipolar motor. To use a 5 wire motor as a unipolar, the center tap wire is connected to the power supply. Determining how to connect a 5 wire stepper to a Unipolar Stepper Controller, like the 1062 can be done by following this procedure. Start by measuring the resistance between all the wires. Below is a sample table of resistance data, in ohms. This table contains example values, your readings may be different but should still produce a similar pattern.

Wire Color Blue Green Red Yellow Purple
Blue 147 74 147 147
Green 74 147 147
Red 74 74
Yellow 147
Purple

Looking at the table, you should notice a pattern; the red wire has the same resistance to the other four wires. This tells us that red is our + (center tap) wire, and should be wired to the power supply connection. On the 1062 PhidgetStepper, the power supply connection is labelled as (+). There are two power supply connections available on the 1062 for each motor - either can be used. Disconnect the power from the board and connect the center tap wire to the (+) connection.

Pick one of the remaining four wires and wire it to the A terminal, and connect the other wire for that coil to the B terminal. Connect the remaining wires to C and D. The motor should work regardless of which wire is connected to C and which is in D, but one of these combinations will result in a clockwise rotation for increasing position and counter-clockwise rotation for decreasing position, and the other will produce the opposite rotation.

#### 6 Wire Stepper Motors

 The process is similar to a 5 wire motor. On a 6 – wire motor, there will be two + wires, one for each coil, which are the center taps for each coil. You will need to isolate which are the center tap wires and the corresponding wires for their coil. These center taps must be wired together to the power supply. Let’s assume our six wire stepper motor wires are colored as follows: red, green, black, white, brown, and yellow. We measure the resistance between all wires and are presented with the following values in ohms (these are simply example values) :

Wire Color White Red Blue Green Purple Yellow
White 10 10
Red 10 10
Blue 20
Green
Purple 20
Yellow

Looking at our table, we can see our pattern. The white wire has the same resistance to the purple and yellow wires. The red wire has the same resistance to the blue and green wires. White, purple, and yellow bring out one coil, and red, blue, and green are the other coil. The red and white wires are the center of their coils.

Disconnect the power from the board and connect the red and white wires to the (+) terminal block connections on the PhidgetStepper. Pick one of the remaining four wires and wire it to the A terminal, and connect the other wire for that coil to the B terminal. Connect the remaining wires to C and D. The motor should work regardless of which wire is connected to C and which is in D, but one of these combinations will result in a clockwise rotation for increasing position and counter-clockwise rotation for decreasing position, and the other will produce the opposite rotation.

#### 8 Wire Stepper Motors

 8 Wire Motors are very difficult to wire up if you do not have a schematic showing how the wires are connected to the internal coils. Only follow these instructions if you are really desperate. In an 8 wire motor, the coils are split, and to operate it as a unipolar, we have to reconnect the coils to reduce it to a 6 wire unipolar. Assume our eight wire stepper motor wires are colored as follows: Orange, blue, red, green, brown, yellow, white and purple. In an 8-wire stepper motor, these wires would be part of 4 coils, 2 wires per coil. We need to determine the cable pairings. We measure the resistance between each wire and are presented with the following values in ohms (these are simply example values):
Wire Color Orange Red Yellow Purple Blue Green Brown White
Orange 1
Red 1
Yellow 1
Purple 1
Blue
Green
Brown
White

This table tells us which wires are parts of a coil. From the table we can tell that orange/blue, green/red, brown/yellow, and white/purple are the coils.

Of each pair, one of the wires will be assigned to A, B, C, or D, and the other wire will be connected to another pair. The number of combinations to be tried to see if they produce rotation is large, but can be reduced to a maximum of 96 possibilities by following these steps:

1. Choose Red/Blue to connect to A. (2 possibilities)
2. Choose one wire of the other pairs (6 possibilities) and connect to B. The other wire from this pair is connected to the wire from Step 1 not connected to A.
3. Choose one wire from the two remaining pairs (4 possibilities) and connect to C.
4. Choose one wire from the remaining pair (2 possibilities) and connect to the wire from Step 3 not connected to C. The remaining wire from this pair is connected to D.
5. After trying each permutation, engage the motor from software and try to rotate it. Since you are driving the motor as Unipolar, the connected pairs should be connected to the (+) on the PhidgetStepper Controller.
6. If you attempt to use this algorithm, build a table of permutations beforehand and proceed in a systematic way.

There are a total of 96 wiring combinations, of which there are 2 valid combinations where one will cause a clockwise motor rotation and the other will cause a counter-clockwise rotation.

In order to properly determine the proper wiring for your motor we suggest consulting any manuals or data sheets that are associated with your particular motor.

### Controlling Steppers

Stepper motors precision are limited by the manufacturing process used to build them. Errors in the rotor and coils will cause some degree of inaccuracy. In our experience, inexpensive stepper motors will often have positioning errors approaching a half-step.

Since stepper motors do not have the inherent ability to sense their actual shaft position, they are considered open loop systems. This means that the value contained in the current position property is merely a count of the number of steps that have occurred towards the target value; it can not be relied upon as a measure of the actual shaft angle, as the motor can occasionally understep or overstep due to forces such as inertia.

For many applications, it is acceptable for the motor to miss a few steps. In applications where positional accuracy is vital, there are several ways of overcoming this drawback. The simplest is to allow the motor load to depress a limit switch located at a known position. This can be used to fire an event in software to recalibrate the shaft position values. A more elegant solution might involve the mounting of an optical encoder on the shaft and the development of a control system.

### Stepping Mechanism

The 1062 PhidgetStepper Unipolar controls stepper motors in half-step increments. A Position increment of one corresponds to one half-step. A stepper motor with 15 degree step increments will rotate in 7.5 degree steps. The 1062 accomplishes this by alternating the number of powered coils between one and two, always at least one coil powered. In this way, the rotor is positioned at both full steps and half steps. The table below describes the order in which coils are powered to achieve this.

Step Number Coil A Coil B Coil C Coil D Shaft Angle
1 ON OFF ON OFF
2 ON OFF OFF OFF 7.5º
3 ON OFF OFF ON 15º
4 OFF OFF OFF ON 22.5º
5 OFF ON OFF ON 30º
6 OFF ON OFF OFF 37.5º
7 OFF ON ON OFF 45º
8 OFF OFF ON OFF 52.5º

After step number 8 in the table, the order the coils are powered in simply repeats from the beginning. As the motor approaches the requested position, it is decelerated according to the value of the acceleration property. When the desired position has been reached, the 1062 stops the motor and holds it at that position.

### Synchronization of Multiple Motors

Many applications call for several steppers motors operating in unison - for example, operating a CNC table, or a robot arm. Highly precise synchronization of steppers using the PhidgetStepper is not possible, as the sequencing will be affected by the real-time performance of your operating system. Each stepper is controlled as a independent unit, so there is no way of arranging for a particular action to happen to all motors at the same time. Typical jitter can be 10-30ms.

### Compatibility Guidelines

When looking for a motor that will be compatible with the 1062, check the motor's data sheet and make sure it meets the following specifications.

• Unipolar motor - The 1062 can only be used with resistive-limited unipolar stepper motors.
• 5, 6, or 8-wire motor - A 4-wire motor cannot be used with the 1062, because the centre taps of the coils are not exposed.
• Rated/Recommended Voltage - If the motor comes with a rated or recommended voltage, it should be no more than 12 volts, and you should use a power supply that can output that voltage.
• Rated Current - The motor should be rated for a maximum of 1A per coil.

For more information about stepper motors and how they work, check the Stepper Motor and Controller Primer.

## What to do Next

• Programming Languages - Find your preferred programming language here and learn how to write your own code with Phidgets!
• Phidget Programming Basics - Once you have set up Phidgets to work with your programming environment, we recommend you read our page on to learn the fundamentals of programming with Phidgets.

#### Product Specifications

Controller Properties
API Object Name Stepper
Motor Type Unipolar Stepper
Number of Motor Ports 4
Motor Position Resolution 12 Step (40-Bit Signed)
Position Max ± 5.49756E+11 ½ steps
Stepper Velocity Resolution 0.75 ½ steps/sec
Stepper Velocity Max 383.3 ½ steps/sec
Stepper Acceleration Resolution 140.6 ½ steps/sec²
Stepper Acceleration Min 140.6 ½ steps/sec²
Stepper Acceleration Max 8895.4 ½ steps/sec²
Board Properties
Controlled By USB (Mini-USB)
API Object Name Stepper
Electrical Properties
Available Current per Coil Max 1 A
Supply Voltage Min 5 V DC
Supply Voltage Max 12 V DC
Current Consumption Min 23 mA
Current Consumption Max 100 mA
USB Speed Full Speed
Physical Properties
Power Jack Hole Diameter 5.5 mm
Power Jack Pin Diameter 2.1 mm
Power Jack Polarity Center Positive
Recommended Wire Size (Motor Terminal) 16 - 26 AWG
Recommended Wire Size (Power Terminal) 12 - 24 AWG
Operating Temperature Min 0 °C
Operating Temperature Max 70 °C

#### Product History

Date Board Revision Device Version Packaging Revision Comment
April 2008 0101Product Release
May 2011 0102getLabelString fixed for lables > 7 characters
September 20111102Replace USB Connector with Mini-USB connector
January 20181102BRemoved USB cable from packaging

#### Software Objects

Channel NameAPIChannel
Unipolar Stepper Controller Stepper 0 - 3

#### API

 Choose a Language C C# / VB.NET Java JavaScript Max/MSP Python Swift Phidget API Manager API Networking API Connection API Logging API Dictionary API

Back Forward
Print this API

#### Code Samples

 Choose a Language Choose a Device Serial Number: ?

#### Example Options

				Make your selections to display sample code.


#### Code Samples

Language:

APIDetailLanguageOS