signals & wave forms used to control stepper motors

I need some help in understanding the signals that are required to operate stepper motor controllers. There are various motor controller boards available including one from Adafruit designed to interface with Arduino main boards. However I have not found a visual description of the signals that are expected by the motor control boards.

I want to understand the signals that are needed and what they look like, i.e. static state (Hi or Lo), pulses for triggering the driver chip, analog shaped, digital, pwm, just pulses, etc. Plus the overlap phasing between the A coil & the B coil signal. And for some of these boards look to be dual H bridge systems. Thus to run a bipolar stepper, I need both sides of the bridge to work together to produce the sync'd driving pulses.

Overall, I prefer to build a project one section at a time and then integrate the sections. Thus I want to know how to drive the controller boards as I get started with this project. All of these boards seem to expect 3 or 4 signals of which I expect 2 or 3 will be static state signals like direction control and sleep mode, one which will be a string of pulses. But cards that use both sides of an H bridge would seem to need two step signals properly out of phase with each other.

Links to Examples of controller boards under consideration.
1 - Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit [v2.3] : ID 1438 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits
2 - http://www.ebay.com/itm/Stepper-DC-Motor-Driver-Board-L298N-Controller-Module-Based-on-L298N-/370820305644?pt=LH_DefaultDomain_0&hash=item56569cd2ec
3 - http://www.ebay.com/itm/Dual-H-Bridge-DC-Stepper-Motor-Drive-Controller-Board-Module-Arduino-L298N-236-/290899895209?pt=LH_DefaultDomain_0&hash=item43bafc23a9
4 - http://www.ebay.com/itm/1-PC-DUAL-STEPPER-MOTOR-DRIVER-CONTROLLER-L298N-5-V-FOR-SMART-CAR-ETC-/251123953435?pt=LH_DefaultDomain_0&hash=item3a78276f1b
below is a 5 wire stepper breakout board
5 - http://www.ebay.com/itm/221259352585?ssPageName=STRK:MESINDXX:IT&_trksid=p3984.m1436.l2649next - EasyDriver card
6 - EasyDriver - Stepper Motor Driver - ROB-12779 - SparkFun Electronics
higher powered driver card
7 - SparkFun Motor Driver - Dual TB6612FNG (1A) - ROB-14451 - SparkFun Electronics

Sorry for the long question. And I apologize if this topic is in the wrong forum. Some help with this will be appreciated. While I have experience with computer systems and circuit design, this is my first venture into the world of micro-controllers like Arduino.

thanks,
Tom99

I would recommend looking at true stepper drivers such as these:

These and similar boards deliver much smoother performance at higher torque. By using 'chopping' (a form of PWM) they can use higher voltages without burning the coils.

The H-bridge controllers you mention can only deliver simple stepping at lower efficiency. Sometimes this is adequate but the true stepper circuits have internal intelligence that makes them easier and more effective.

I've given these references before in this forum. They are very helpful.
http://www.stepperworld.com/Tutorials/pgBipolarTutorial.htm

In particular if you don't use chopper drive to a bipolar motor it won't turn fast.

Most true stepper controllers take step pulses and a direction pin, you don't have to do much.

What application do you have in mind though?

joe mcd.

Thanks for your reply and for the links. The Stepper World Tutorials are helpful.

Those little Pololu stepper drivers are interesting little, things. Wish they were on a more mountable board. Do they have an on board or IC internal pulse clock? If not, what should the step signal look like? I would guess I can generate it easily enough with a 555 chip. I'd like to have at least 2 speeds. Which I would use as "normal and slow".

I will need end limits to how far the stepper rotates the lens zoom ring. And in between changing the zoom, the entire stepper system will be shut down. No power at all to it. Then powered up again when I want to change the zoom. I am planning to use micro switches to establish the end points and a separate switch/relay to power the stepper system on and off.

My next will cover my specific application in more detail. And I will be doing at least a mock-up using switches and what ever IC's are needed to generate the other signals.

Well I wrote the detailed description and then the BLASTED FORUM SOFTWARE TIMED OUT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

So the entire post was lost. PLEASE FIX THAT SO THAT WE DON"T LOSE WHAT"S BEEN WRITTEN>

I will re-write the post later if I have time. :????

WELL ONE MORE TIME. :0

MarkT, Thank you for your reply. here's a description of my project which will use this controller

This stepper motor & its controller will be part of a remote operated camera system for wildlife photography. Specifically the stepper motor will be turning a lens zoom ring to allow changing the lens zoom when either different size critters show up or the camera system is re-aimed to different spots.

I am using a professional level DSLR in a custom designed weatherproof & critter-proof enclosure to take" quality photographs of specific critters. The system currently has pan-tilt capability, can be run remotely with tether cables. But currently I can't remotely control the photo framing. So that's what I'm looking to do with the stepper motor. It will run a timing belt put around the lens zoom ring. And will be completely powered down when not in use.

Vibration is not a problem since there will be sufficient time before any photos are taken for any vibrations to damp out from changes/adjustments will be made. Since the critters have not decided to follow much of a schedule, these photo shoots will be fairly long from 8 to 12 hours. With most of the time spent waiting for critters to show up. The locations are selected to have 4 good chance spots for critters to pause. And the camera will be re-aimed from 4 to 8 times or so during a photo session. Depending on the distance to the spots and the size of the expected critters, being able to remotely adjust the zoom will be helpful.

The stepper system will be turned off except when the zoom is being changed. I am looking for at least 2 speeds one for "normal and the other much slower. The zoom ring needs to be turned thru about 70 to 90 degrees slowly. I am looking for full zoom to take 1 to 2 seconds. The ratio of the diameter of the lens zoom ring and the stepper sprocket will get me some speed reduction, but I am also looking to control the motor speed to accomplish a smooth slow lens zoom adjust. I am going to use micro switches to provide hard stop limits.

Power for this is not a real problem for remote locations we have multiple heavy duty batteries 35 and 70 amp hours each. and some locations have 120AC relatively nearby. I will be making a mock-up of this stepper motor sub-system. As a starting point I prefer to run it with switches and a pwm or straight frequency generator if needed. Eventually I expect to add micro-processors and control the whole thing over WiFi links.

Hope that explains the application well enough.
Tom 99

Tom99:
joe mcd.

Thanks for your reply and for the links. The Stepper World Tutorials are helpful.

Those little Pololu stepper drivers are interesting little, things. Wish they were on a more mountable board. Do they have an on board or IC internal pulse clock? If not, what should the step signal look like? I would guess I can generate it easily enough with a 555 chip. I'd like to have at least 2 speeds. Which I would use as "normal and slow".

Its standard step and direction inputs - you send a step pulse whenever you want a step, having first set the
direction appropriately. The chip has no clock.

MarkT, Thanks for your reply.

On the step input to the Pololu drivers (A4988 or DVR8825), these are for bipolar motors only and they do seem easier to work with than the L297 dual H-Bridge pc boards.. What are the recommended low and high frequencies? And what would a decent dwell time be? (ie a simple square wave would be a 50% on-off ratio or dwell time) I can skew the dwell as needed. And I am guessing these are logic signals 5v, right?

re Uninpolar motors:
Presently I only have a couple of scavenged 5 wire unipolar motors in hand. So I have ordered a ULN-2003 driver board to try out with them. That driver board has just 4 inputs and basically it seems to be just a darlington array. So it will have to be driven switching the darlington's on & off in the right sequence. Can you take a look at this link and tell me more about what driver system will work with the ULN-2003 chip. To me it seems that a simple cmos decimal counter chip would do the job Or sequenced flip-flops. And I've found a few simple circuits that look like they would accomplish this.
Example item on Ebay
http://www.ebay.com/itm/221259352585?ssPageName=STRK:MESINDXX:IT&_trksid=p3984.m1436.l2649next
Wiki info ref ULN-2003
http://www.geeetech.com/wiki/index.php?title=Stepper_Motor_5V_4-Phase_5-Wire_%26_ULN2003_Driver_Board_for_Arduino&oldid=1999
chip diagram attached.
Is my take on the ULN-2003 drivers about right?

thanks
Tom99

stepper_circuit.png

Circuit Stepper Motor Driver for Camera track.jpg

Tom99:
MarkT, Thanks for your reply.

On the step input to the Pololu drivers (A4988 or DVR8825), these are for bipolar motors only and they do seem easier to work with than the L297 dual H-Bridge pc boards.. What are the recommended low and high frequencies? And what would a decent dwell time be? (ie a simple square wave would be a 50% on-off ratio or dwell time) I can skew the dwell as needed. And I am guessing these are logic signals 5v, right?

It uses standard logic step/direction interface - set the direction pin, pulse the step pin, one step (or microstep) happens.
No frequencies or dwell times needed - just check the datasheet for direction set-up time and minimum step pulse width
(200ns and 1us for the A4988, 200ns and 2.5us for DRV series I believe - check though.).

This code will work:

  digitalWrite (dir_pin, direction) ;
  digitalWrite (step_pin, HIGH) ;
  digitalWrite (step_pin, LOW) ;
  ...

The properties of the motor set the maximum step frequency and the combined moment of inertia of motor
and load determine the max acceleration.

Sorry for your trouble. That's why I write long posts in a text editor and then copy and paste them into the Forum editor when I'm satisfied with my text.

...R

Tom99:
BLASTED FORUM SOFTWARE TIMED OUT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

MarkT,

Thanks. Btw the times you posted give me the frequency & dwell times which I was asking about.

So when parts get here, all is set to get out the oscilloscope and mock up a 555 circuit. Then see how well I can get this to work with the sprocket drive and a timing belt.

Thanks for the help.