Using hardware only to make stepper motor smoother

I'd like to modify an existing device that uses a stepper motor in very abrupt, jerky motions.

I cannot update the software of the device, only the hardware. You can see a photo of the hardware (a 24BYJ28 5v motor) here bottom of page 1: https://fccid.io/2AS3Q-PVP1L01/Internal-Photos/Internal-Photos-5417735

Goal: Have it slowly ramp up/down speed, instead of going from 0 to 100

Note: I don't think it matters if any steps are lost

My ideas:

  • Put a resistor in series with 5v. If I do that the motor will speed up slower, but the max speed will also be slower, so it's not ideal
  • Put an inductor in series with the 5v. That way hypothetically the inductor will need to charge first before the motor can move, but not sure if it will damage the motor when motion stops? If it would force the motor to continue moving, that would be ideal!
  • Use an NTC resistor in series with 5v. As the motor is moving the resistor becomes hot and will allow more current

But the speed of a stepper motor is controlled by the number of drive pulses per second not by the rise time of the drive signal.

Ok so the software is sending an X amount of drive pulses per second, but if the current to the stepper motor is limited wouldn't it start missing steps if too many are done at once, until the motor has enough inertia? Appreciating your input

Hi, @janwest
Welcome to the forum.

What is the application of the stepper?
Does it need to stop at an exact position each time it cycles?
If so, how does the controller know the position of the stepper shaft?

Does it have an encoder, or does it count stepper steps, if it counts stepper steps than making it miss steps to make a smoother operation will not work.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

The stepper is being used for rotating a smartphone. The smartphone uses its camera to find faces and instructs the circuit to rotate towards them to get them center frame. I think if steps are missed it shouldn't matter since the phone will see it is still not orientated correctly

If steps are counted and missed when it finally stops on a face, does it use the counts for anything, like direction of the face from the smartphone.
If not then there should not be a problem.

But if it supplies direction info, it will be incorrect if using stepper count.

Those 24BYJ28 5v motors are pretty common, have you searched for one with higher ratio gearbox?
YA210528 should tell you what the gearbox ratio is of the one you have.

Tom.. :smiley: :+1: :coffee: :australia:

Are you sure it isn't a mechanical issue?

does it use the counts for anything, like direction of the face from the smartphone.

It seems very unlikely that it uses counts for anything. I think the smartphone is just analyzing the videostream, and it has a code like "As long as the person is left from the center: Turn left. If the person is right from the center: Turn right"

Those 24BYJ28 5v motors are pretty common, have you searched for one with higher ratio gearbox?

Apparently this 28BYJ28 motor has a gearbox ratio of 1:32. It could be replaced with a 28BYJ48 (1:64). It's a clever idea! Ideal would be if the motor would more slowly accelerate & decelerate but just reducing the speed by 50% is a second best!

Are you sure it isn't a mechanical issue?

What do you have in mind? I believe all units manufactured have this same problem, when I look at product reviews

They sound like pretty shoddy products then! I was thinking of things like play in the drive system and suchlike. Personally I'd junk the controller and substitute an Arduino so I could re-write the code.

Yeah I think there is no play in the drive system because the motor does stop abruptly.

With replacing the controller do you mean replacing the entire circuit? Hmm, that does seem like a fun challenge. Step one would be to learn to reverse engineer the bluetooth communication protocol. But it would be a ton of work just to get the motor to accelerate & decelerate slower though. :grin:

I also see on the board that the controller is using a GC8548 H-bridge motor driver chip. Maybe just replacing that chip could help? Or adding capacitors/resistors to it?

Btw I agree it is pretty shoddy, but there are very no alternative products that are so light, small and cheap as this one, so it would be so awesome to find a hack!

Hi,

No that won't work, its not what controller is driving the stepper, but how the driver is being commanded to to drive the stepper motor.

Tom.. :smiley: :+1: :coffee: :australia:

You don't have an option for enabling micro stepping the stepper motor?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.