Stepper motor driver question

Hi All,

I'm doing a project and would really appreciate a helping hand (even after searching the web and the forum).
I require a high speed stepper motor that will oscillate between +/- 10 positions, +/- 3 degrees spaced apart, as fast as possible.

I currently have a small 5V 28BYJ-48 datasheet and a JK28HS45-0956 datasheet bought here which has a 3.4 Ohm phase resistance and 1.5° step which would be good if I do 2 steps at a time.

I'm able to drive the 28BYJ-48 with an ULN2003 fast enough when removing the internal gears, but the step is too big. With the internal gears the speed is way too slow.

I didn't succeed in driving the JK28HS45-0956 with the ULN2003. So I thought it might be better to buy an arduino motor shield or a A4988 motor driver and try again with a bigger power supply.

  1. Would you advise a motor shield or a A4988 or similar (with a extra capacitor I guess), or is this a silly idea?
  2. What kind of speed can I expect from it when I do 2 steps, stop, 2 steps, stop, 2 steps...?
  3. What voltage do you recommend for the JK28HS45-0956? (I have a 24V 3A, 12V 3A and 5V 2A)?
  4. Will I be able to control it with the normal stepper.h library?
  5. Would you suggest a different stepper motor for this purpose?

Somme additional info after feedback in this thread:

  • Speed: I want to create a laser harp, so the faster the better, the reflected beams should create the illusion of having 8-11 laser beams, in stead of one that is each time reflected at a different angle. I'm unable to find data on how fast that should be. 5 times back and forth per second for 10 beams would mean 100 times 2steps+stop per second.
    That means 1 full rotation including 100 stops per second. Is that realistic?
  • Load: minimal as stated (just the shaft and a piece of glass of +/- 1cm² attached to it). (if the stepper doesn't like minimal load, I can add friction or weights to it)
  • Precision: enough so to the eye it seems that the beams are stationary, I will be running in full step mode and I don't accuracy will be a limiting factor?

Much obliged.

It may be a good idea if the driver is appropriate for the motor. Post a motor data sheet. A4988 is good for around 1A coil current, so maybe.

Hard to say without knowing anything about the motor, driver, power supply or loading.

I have not seen a data sheet, so have no way of knowing for sure. Generally the supply voltage is the highest that the driver can safely handle for best speed. The driver controls current.

I don't see why not,but I have not seen your complete requirements. Or write your own code. It is not hard. See Robin2's simple stepper code tutorial.

I have not seen your complete requirements. How fast is fast? How much load? What positional precision?

Robin2's stepper motor basics may be of interest, too.

2 Likes

Hi @groundFungus

Thanks for your swift reply!
I already posted the datasheet in my first post:

The answer to the other questions:

  • Speed: I want to create a laser harp, so the faster the better, the reflected beams should create the illusion of having 8-11 laser beams, in stead of one that is each time reflected at a different angle. I'm unable to find data on how fast that should be. 5 times back and forth per second for 10 beams would mean 100 times 2steps+stop per second.
    That means 1 full rotation including 100 stops per second. Is that realistic?
  • Load: minimal as stated (just the shaft and a piece of glass of +/- 1cm² attached to it)
  • Precision: enough so to the eye it seems that the beams are stationary, I will be running in full step mode and I don't accuracy will be a limiting factor?

Thanks again and let me know if I can provide more information.

Stepper motors really don't like having no load - they resonate horribly as they have very high mechanical Q-factor. You need some sort of strong mechanical damping to get this tamed. Not a great choice for a laser mirror driver - a critically damped galvonometer is the normal way to drive a laser mirror.

1 Like

Thanks for the reply @MarkT
I can add as much weight or friction to the shaft as needed, so I don't think this will pose a problem? Everywhere on the net I found people using steppers for this purpose.

A high speed galvanometer mirror system seems to be over my budget :slight_smile:

Adding mass to the mirror will increase the Q, not reduce it, and will slow the response down - so it will definitely pose a problem.

Damping will greatly reduce the oscillation, as will microstepping at a reasonable factor (reduces step size so reduces oscillation amplitude). Microstepping also reduces noise.

Definitely use a bipolar stepper driver for the JK28HS45-0956 and treat it as 4-wire. It needs 0.95A drive for full torque.

Not sure what you mean here - you want to use microstepping, so only a fraction of a step at a time!

1 Like

Hi @MarkT

When you recommend a bipolar stepper driver, would you recommend the arduino motorshield or something like the A4988 driver? The motorshield seems "easier" for a beginner like me and more versatile, but only supports 12V.

Not sure what you mean here - you want to use microstepping, so only a fraction of a step at a time!

What I mean is that I want to do: turn 3 degrees, STOP, turn 3 degrees, STOP, turn 3 degrees, STOP...
The JK28HS45-0956 has a 1.5° step, so that would mean: turn 2 steps, STOP, turn 2 steps, STOP...
I don't mind running it in microstepping mode, but won't that slow it down?

Hi,
JK28HS45-0956 data;

Tom... :grinning: :+1: :coffee: :australia:

Thanks @TomGeorge
I also posted this spec sheet.
I'm sadly enough unable to deduce from this data what kind of speed I can expect from this stepper when it performs two steps CW, STOP, two steps CW, stop, two steps CW, stop..... as fast as possible.

Would you advise buying a motorshield or a A4988 to test it out or do you possess some voodoo to deduce what to expect? I find it hard to phantom that it's not possible to calculate it theoretically...

I would recommend a driver like the A4988 or DRV8825. Personally I would go for the DRV8825 as it is good for more current than the A4988 (1.5A vs, 1.0A).

The A4988 and DRV8825 drivers are good for 45V motor supply voltage. The motor shield is only good for 18V. As I said before, the higher the stepper's supply voltage, the faster the stepper's possible speed.

1 Like

Thanks, I'll order a DRV8825 and a capacitor.
About 100 uF should be fine? Is it important that it's a ceramic one? I'll also have a look what value my fluorescent tube capacitors have, maybe they fit :slight_smile: .

The 100uF cap will be an electrolytic. I have never heard of a ceramic cap over about 1uF. Be sure to observe polarity with electrolytic caps.

1 Like

If you want to bolster the decoupling of the driver ceramic would be great, but 100uF would be very expensive in ceramic. Better to have say 10uF ceramic and ~4700uF
electrolytic for bulk - at high currents you need a lot of capacitance to be effective, ceramic is good for high frequencies though, electrolytic much less effective there.

Most people just live with what's on the driver module for decoupling - they assume the
motor supply rail will be very dirty.

1 Like

So you would recommend the 10uF ceramic and ~4700uF electrolytic in parallel connected?

Why do you think you need the extra decoupling? Is there a need for the motor supply to be especially quiet?

Nope, I just read in the specifications of the DRV8825 that it's recommended to include a 47uF capacitor as close to the board as possible.
I'm not concerned with motor noise at the moment.