PRODUCTS
 
 
 
 
 
 

PRODUCTS
DOCUMENTATION
 
 

Teleo Stepper Motor Controller User Guide

Documentation for the Teleo Stepper Motor Controller Module

 

TABLE OF CONTENTS:

Introduction

Package Contents

Operating Instructions

Teleo Stepper Motor Controller Module
Stepper Motor Controller Device

Troubleshooting

Technical Specifications

 
   

CAUTION!

The Teleo Stepper Motor Controller Module is rated for 0.75 Amp with no heat sinking. For motors drawing more than 0.75 Amp a heatsink and/or a fan will be required.

Do not connect or disconnect the motor to or from the Teleo Stepper Motor Controller Module while power is applied.

The Teleo Stepper Motor Controller Module regulates the operating current delivered to the motor. This does not protect against short circuits or overcurrent as a result of incorrect motor selection.

When selecting a motor, make sure that the voltage delivered to Teleo Stepper Motor Controller Module is appropriate to your motor, and make sure that the current rating of the motor is less than the 0.75 Amp (or more if you will cool the module)

Some users might elect to supply a motor with a higher voltage that it is rated for. In this case remember that the current will be higher than the rated motor current. Use Ohm's law to calculate the current.

 

INTRODUCTION

The Teleo Stepper Motor Controller Module is a specialized module designed to provide a Teleo Network with the means to control a stepper motor with a current draw of up to 2.5 amps. The module can operate a stepper motor in one of two modes, either by positional control or speed control.

One set of outputs feeds directly into the stepper motor. Other terminals are present for an external power supply, analog input, connection to limit switches, outputs to larger stepper motor controllers, and the eventual incorporation of a shaft encoder. The Module can control bipolar and unipolar motors.

 

To use the Stepper Motor Controller Module, you will need other Teleo Components. See the Teleo System section of the Teleo User Guide, which also contains information about necessary hardware in its Teleo Hardware Setup section.

 

 

PACKAGE CONTENTS

Teleo Stepper Motor Module

 

A Teleo Stepper Motor Controller Module providing control for one stepper motor.
Teleo Stepper Motor Manual  

 

 

OPERATING INSTRUCTIONS

Teleo Stepper Motor Controller Module
Teleo Stepper Motor Controller Device

Teleo Stepper Motor Controller Module

The Teleo Stepper Motor Controller Module provides the ability to control a stepper motor's motion based on parameters set by the user. The module allows you to control virtually any stepper motor and have it available for use inside Max and the Teleo Application SDK. The module's mode of operation can be set within these programming environments.

 

Stepper Motor Controller Module Concept Diagram
 

 

Each of the terminals has its own screw connector so it can be connected to stripped wire. From the diagram below, and clockwise from the right, you can see that there are connections for motor power, slave outputs to another stepper motor controller, connections to power and measure an analog device, limit switch inputs, and finally the coil control terminals which connect directly to the stepper motor.

Stepper Motor Controller Module Connection 1

 

Each set of terminals listed above is designed to aid in control of a stepper motor while running in different modes, and each serves a specific function:

Motor Controller: the actual motor controller is based around a dual 2.5A H-Bridge. This is the electronic device that permits the power to the motor to be regulated and reversed. The Motor Controller can run the motor at various speeds, forward and in reverse.

Limit Switches: inputs are provided for limit switches. These can be used to stop a mechanism traveling in a particular direction beyond the point where a limit switch is activated. The on-off states of the limit switches are always reported to the controlling program, and if PositionLimitsOn is set to true, the Motor Controller will actually stop the motor from turning once the appropriate switch is closed.

Position Inputs:There is also an analog input for position. If a mechanism provides a means to present a voltage-based indication of its position, it can be reported back to the controlling progam. This is often accomplished with a linear or rotational potentiometer, although it can be anything at all that can provide a voltage.

Slave Outputs: There is a terminal present on the module whose outputs correspond to the information that the processor is sending regarding motor control. The terminal allows this information to be sent to an external stepper motor that already has its own controller, thus allowing control of the motor through the Teleo Network.

Power Supply: The Stepper Motor Controller Module can power motors directly off the Teleo Network. If a motor requires a higher voltage, a terminal exists for connection to an alternate power supply.

Also you will notice that there are power connectors with positive and ground (GND) positions. You will learn more about how to use them in the next section.

For now it is important to remember a couple of basics:

Stepper Motor Controller Device

The primary outputs on the module are the terminals labeled '0' and '1'. These are connected directly to the four wire leads of a stepper motor, and they control the direction of current through each set of the motor's coils. The H-bridge circuitry on the module enables the direction of current to be switched. Every time the direction of current through one of the coils switches, the motor moves one step.

The Stepper Motor Controller Module is designed to supply from 0 to 2500 mA of current. The amount of current made available to a motor needs to be specified by the user. If a motor draws too much current, either it or the driver could be destroyed. For this reason, it is a good idea to periodically check the temperature of each. If either feels too hot to touch, disconnect the power supply and re-examine your setup.

The Stepper Motor Controller device can be run in one of two modes, which will be discussed in more detail in the Programming section of this manual. For other details about different components of the Module, see the overview in the Modules Section of the Teleo User Guide.

 

Connecting A Stepper Motor

The Stepper Motor Controller Module comes with a red wire loop running between its V+ and Vmotor terminals. This loop should be left in place if you are planning to run your motor with power from the Teleo Network. The only case in which you should remove the wire loop is when you plan to power your motor with an external power supply. Details on this can be found in the Connecting An Alternate Power Source section of this manual.

The first thing to keep in mind when you connect your motor to the Module is that if your motor has only 2 wires, it's not a stepper motor. A stepper motor will have at least 4 wires leading from it, which correspond to the ends of the motor's coil leads. Bipolar motors will always have 4 wires, corresponding to the 2 ends per each of the 2 coil sets. Unipolar motors will have at least 5 wires.

 

 
Stepper Motor Controller Module + Stepper Motor
 
 

If you are unfamiliar with the difference between bipolar and unipolar stepper motors, the following information may be useful. Unipolar motors were at one time much cheaper to use because they needed less complicated circuitry. Rather than switching the direction of current through its coils, a unipolar motor simply has two sets of coils dedicated to the 2 possible directions of current flow. Bipolar motors have only one coil. The depend on external circuitry to switch the current through them. Unipolar motors can only dedicate half their coil toward motion in one direction, whereas bipolar motors can devote all. The end result is that bipolar motors, with essentially the same coil mass, deliver about 40% higher torque.

Bipolar vs. Unipolar Stepper Motors

The Stepper Motor Controller Module handles the difference between these two types of motors by effectively turning a unipolar motor into a bipolar one and letting the processor do the work that the unipolar motor's extra wiring used to do. The benefit of this method is that you get essentially the same amount of torque from a unipolar motor as you would a bipolar motor.

If you have a bipolar 4-wire stepper motor on hand, there are several possible ways to connect the motor to the Stepper Motor Controller Module. Since only one of these combinations will be correct, it is recommended that you search online for documentation about your particular motor. Manufacturers frequently post detailed information about their motors, including color-coded diagrams. This type of information is extremely useful and can save you a good deal of time. If no documentation is available, the next best thing is to get an ohmmeter and measure the resistance between each pair of wires. A pair with very little resistance (on the order of a few hundred ohms or less) will be the 2 ends of one coil, and then it is just a matter of connecting them to the + and - gates of one of the 'Coil 0' or 'Coil 1' terminals. A pair with extremely high resistance indicates that they belong to different coils and should not be wired to the same terminal.

A unipolar motor will have 5, 6, or 8 wires. The Stepper Motor Controller Module is not designed to control 5-wire stepper motors. However, 6- and 8-wire motors pose no problem. If you have a 6-wire motor, 2 of the wires will be the center taps. They come from the center of the motor's coil. The best way to determine which wires these are is to use an ohmmeter and measure the resistance between any pair of wires. Pairs of wires with infinite resistance between them are on different coils. Once these are singled out and labeled, you must then determine which of the three per grouping is the center tap. A center tap/coil end circuit will have half the resistance of a coil end/coil end circuit. Since bipolar stepper motor controllers do not use the center tap of unipolar motors, the center tap wire should be cut or its end taped to prevent short circuits.

An 8-wire unipolar motor has 4 center taps, meaning that a similar yet more lengthy system as that for a 6-wire motor may be necessary to find the correct wiring pattern. Your motor may have been manufactured such that the wires are already grouped into 2 groups of 4. If not, keep in mind that infinite resistance = different coils, but it may also indicate that you've found the 2 center taps of one coil assembly. A center tap/coil end circuit will have half the resistance of a coil end/coil end circuit, so these wires should not be too hard to find. If after trial-and-error you are confident that you've found the 2 center taps of one coil assembly, you should then connect these 2 taps together. This will turn your unipolar motor into a bipolar one. Insulate this connection to avoid short circuits. Connect the 2 coil end wires to the + and - terminals for 'Coil 0', and repeat the process for the other group of 4 wires to connect them to the 'Coil 1' terminal block.

Programming - Max

If you are new to programming in Max, you will want to familiarize yourself with the program before proceeding. There are two Max objects that correspond to the Stepper Motor Controller device, called t.step.auto and t.step.low. The names specify the product (t for Teleo), the module (step for Stepper Motor Controller), and the mode in which you want to control the motor (low for rate of rotation control and auto for positional control).

t.step.low is used in Max when you'd like to control the stepper motor's speed rather than its precise position. You may specify rate of rotation, or make it variable through a patch you write in Max or our Teleo Application SDK. When using t.step.low, the motor is basically accelerated from stop to the specified speed immediately. It would yield a speed vs. time graph like this:


speed vs. time: t.step.low

 

Below is a Max patch used to control a stepper motor using the t.step.low object.


a Max patch using t.step.low

In the patch, the motor's step rate has been set to 6. Its maximum current has been set to 50 mA, and its current position is at step 2151. LimitsOn has been set to true. When LimitA has been triggered, the motor will change direction. When LimitB has been triggered, the motor will shut off.

 

t.step.auto is used when you'd like to specifically instruct the motor how far to go in one direction and when. Using t.step.auto, the motor's rate of acceleration and deceleration can be changed. Thus, the slopes labeled A and D in the diagram below can be separately set by the user through software.


speed vs. time: t.step.auto

Below is a Max patch used to control a stepper motor using the t.step.auto object.

The motor's desired step position, entered in the top left field, is -12. That position has been reached, so the bottom left output is the same. The motor's maximum step rate has been set to 32, with an acceleration of 100 steps/sec/sec and a deceleration of 50 steps/sec/sec. The maximum current the motor will draw has been set to 50 mA. LimitsOn has been set to true.

See the t.step.low documentation page and the t.step.auto documentation page for more details.

 
 
 

Connecting the Analog Input

Probably the most useful device to connect to the Module's Analog Input is a potentiometer. The potentiometer is a variable resistor whose resistance is changed by turning it. When configured like the diagram below as part of a belt system, any turn of the stepper motor will cause the potentiometer to turn as well. This will cause its resistance to change in proportion to how much the motor rotated, which the Stepper Motor Controller Module reads as a changing voltage through the Analog In port. For more information about the principle behind potentiometers, see Voltage Divider in the Introduction to Electronics section of the User Guide. Using an appropriate multi-turn potentiometer, the position along a track can be determined.

When the Analog In is set up like the photo below and connected to a Teleo Network it will report the range of values as the potentiometer is turned.

 
Stepper Motor Module + Potentiometer
 
 

The Analog In device need not be connected to a potentiometer. It can be connected to anything that provides a 0V - 5V output. The list of these devices is long: temperature sensors, acceleration sensors, pressure sensors and so on. Many such devices can be found in our store.

 
Analog In
+ Generic Sensor Sample Circuit

Interfacing a switch or push button to the Analog In input involves connecting the switch to ground or +5V then using a pull-down or pull-up resistor to make sure that when the contact is open there is a connection through a resistor to the opposite rail.

You must be careful with the analog inputs to keep the voltage within the limits of 0 to 5 volts. All the inputs are protected against this, but accidents can happen. Be careful!

 

 

Limit Switch Inputs

The Limit Switch Inputs provide a very straightforward solution to the problem of how to stop the motor when a mechanism connected to it has run out of room to travel.

Using the Limit Switch inputs is simple. Connect one of a push button's wires to the Limit A (LIM A) or Limit B (LIM B) connector, and then connect the other side of the push button to ground (GND). The states of the limit switches are checked and reported to the host control software. If additionally LimitsOn is set to true, one switch is assigned to the forward direction and one to the backward motion. If this switch is ever activated when the motor is running in that direction, the motor will be stopped and will only be permitted to continue in the opposite direction once the switch is released. The default setting of the LimitsOn is set to true.

Limit Switch Connector

To connect the switch correctly, wire it between the connector and the adjacent ground circuit.

Limit Switch Sample Circuit

Below is the same belt-driven mechanism seen previously, except limit switches have been placed at the ends of the object's travel range. Now when the object forces the limit switches to close, the controlling software can stop or reverse the motor. If LimitsOn is active, the Stepper Motor Controller will do this automatically.

Limit switch-based Mechanism

 

Connecting An Alternate Power Source

The Stepper Motor Controller Module provides terminals for an alternate power source, allowing for situations such as when a stepper motor requires more voltage than the Teleo Network can provide. In order to set up this system, the external power source's positive lead must be connected to the Vmotor terminal and its ground lead to the ground receptacle on the module's external power terminal.

Note: The red wire loop between Vmotor and V+ MUST be removed in this situation!

 
Stepper Motor Controller Module + External Power Supply
 
 

 

Connecting A Motor With Its Own Controller

Some stepper motors, particularly those salvaged from machines, will sometimes come with their own controllers. The Teleo Stepper Motor Controller Module provides terminals that let you use such a motor/controller system as-is. These terminals, called slave terminals, mirror the signals being sent through the module's A3977 processor. Using these terminals, you can hook up a very large stepper motor controller to the Stepper Motor Controller Module and control it just as you would a motor directly off the Module. Note that these terminals are only useful if the motor you want to use has its own controller. Such a controller will likely come with its own power source and requirements, meaning that it will not use the Teleo Network's power. However, you may still use the Stepper Motor Module's limit switch inputs as you would with any other motor.

A stepper motor that comes with its own controller may at first seem to make the Teleo Stepper Motor Controller unnecessary. However, the module is still needed for interfacing a stepper motor with the Teleo Network and making it easily controllable with the Stepper Motor Controller Module's Max objects or our Teleo Application SDK.

 
Stepper Motor Controller Module + Stepper Motor Controller
 
 

 

 

TROUBLESHOOTING

The motor is getting warm

If the motor's getting a little warm, this is normal. But...

   
The motor is getting very hot
  Most likely you are supplying the motor with too much current. Disconnect the motor immediately. Check the current rating and voltage of the motor. Remember that a motor rated at 5V 1A will draw more than 2A's if connected to a 12V supply!
   
The motor twitches, but doesn't turn
  Possibly one of the coils is not connected properly, or the current is set too low so that there is insufficient to make the motor turn
   
The motor runs well at low speeds but seems to mis-step at faster speeds
 

Many motors will not run very well at fast step rates. Some will run only up to 500 full steps. This is very load dependent too.

   
The motor has trouble getting the load moving
  Try a slower acceleration rate.
   

 


TECHNICAL SPECIFICATIONS


   
TELEO STEPPER MOTOR CONTROLLER MODULE
   
Maximum step rate 1000 steps/s
   
Maximum External Power Supply 35V
   
Maximum Coil Current (cooling will be required) 2.5A
   
Recommended Coil Current (no heatsink) 0.75A
   

 

 

copyright © 2002-2004 MakingThings LLC