Can someone give me just a basic overview of generic stepper drivers?

I'm sorry if this is a really basic question, but I think that's why it's been so hard for me to figure it out on my own.

Here's what I understand:

  1. To drive a stepper motor, you need a motor driver (obviously)
  2. The driver usually has it's own power supply, where the Arduino is powered separately
  3. The driver takes signals from the Arduino, and gives the motor current accordingly

So I understand what a driver does, but my question is more about compatibility. Are all stepper drivers able to be used with the Arduino?

For example, I'm looking at this driver:
Link
Would the Arduino be able to use it? Is that what the PUL, DIR, and ENA ports are for?

I know there are motor shields that are designed specifically for the arduino, but I'd like to use something that can output a little bit more current.

So a summary of my questions to make it easier:
1. Are all stepper drivers compatible with the Arduino?
2. If not, how can I determine if they are?
3. What do the PUL, DIR, and ENA ports mean?
4. Is the driver input voltage the voltage that is applied across the motor?

Thank you for any help! I'm new at all this mechatronics business, and so far I've been able to find all the info I need on my own, but this time I struggled a little bit.

plus1etal:
So a summary of my questions to make it easier:

  1. Are all stepper drivers compatible with the Arduino?

It depends on the stepper driver, and which Arduino. For instance, if the driver needs 5 VDC TTL signals, but your Arduino only puts out 3.3 VDC TTL signals - it may or may not work. The reverse is also true (though in that case, it likely wouldn't work, and you'd probably damage the driver). Some drivers (read: expensive industrial controllers) take a voltage range, or 24 volt signals, or other means.

You could probably get any driver and any Arduino working together in some manner - with the right in-between interfacing hardware - ultimately, it depends on how much money and time you have.

plus1etal:
2. If not, how can I determine if they are?

Again - read my last sentence above - that said, if we are talking just a simple bog-standard 5V TTL Arduino UNO (or similar - like a Mega) - then look for terms like "5 volt TTL" or similar. Also - look at the datasheet they supply for the driver IC. Note on the first page, it shows "logic input voltage range (VIN)" as "0 to 5 volts". That means for this particular driver IC (used in the driver) - any TTL logic voltage from 0 to 5 volts will work OK.

plus1etal:
3. What do the PUL, DIR, and ENA ports mean?

Most likely (PUL)se, DIR(ection), and ENA(ble) - you bring the enable line high (based on the datasheet again) to enable the stepper, set the direction pin high or low to make it turn CW or CCW, and then you pulse the pulse pin high to make the motor turn (less time between pulses, the faster the motor will go, up to a point).

plus1etal:
4. Is the driver input voltage the voltage that is applied across the motor?[/b]

Not necessarily. If you look at the datasheet again - you will see a chart/grid on page 2 (electrical characteristics at 25C, VM=24 volts, and a VREF=1.5 volts); see how REG2 output voltage (Vreg2) is only 19 volts - also reference page 16 with the schematic block diagram. See how VREG2 feeds the motor coil voltage supply pins (VMA/VMB)? That's where the 19 volts is going. All of this changes depending on those various numbers, but likely they have things pretty "fixed" inside the case. They may have things set differently.

But steppers are current sensitive - not so much on the voltage; if your stepper says "5 volts, 1 amp" - you can likely drive it at a higher voltage, as long as you keep the amperage delivered the same. Up to a point - this driver and other chopper drivers are meant to allow you to set a current maximum for your motor - but your voltage can be almost anything - within the limits of the driver and motor. Some motors can overheat (also will depend on what and how you mount the motor - stepper motors can feel warm/hot, but are generally meant to be mounted to a metal bracket, which acts as a heatsink. You should also pull and read the datasheet for your motors, so you know what they can safely be run at.

You may find something useful in stepper motor basics

...R

Thanks for the help - I think I'm understanding a little bit better now.