10
\$\begingroup\$

I'd like to run a stepper motor at a very smooth, constant speed, with minimal vibrations to both the mount holding it and its output. How do I drive the stepper motor so that speed remains constant, even between steps?

\$\endgroup\$
6
  • \$\begingroup\$ Flexible mounting and drive shaft can also help. \$\endgroup\$ Mar 22 '11 at 14:00
  • \$\begingroup\$ Could you estimate the RPMs you want to get out of it? \$\endgroup\$
    – jpc
    Mar 22 '11 at 21:41
  • \$\begingroup\$ After all the reduction, 1/1440 RPM (1 revolution per day). This is for a sidereal tracking mount. \$\endgroup\$
    – Evan Krall
    Mar 23 '11 at 18:16
  • 2
    \$\begingroup\$ Actually 1/1436 RPM (1 rev / sidereal day). \$\endgroup\$
    – Evan Krall
    Mar 23 '11 at 18:24
  • \$\begingroup\$ I was asking about the stepper itself but I guess it will also be very low. \$\endgroup\$
    – jpc
    Mar 23 '11 at 21:23
15
\$\begingroup\$

What you need is sinusoidal current drive.

In other words, you have to treat the motor like a traditional brushless motor, rather then a stepper. This requires pretty specialized stepper drivers, and is not simple.

A simpler alternative might be to try microstepping the stepper motor, but that won't get you perfectly smooth rotation.

Really, for situations where you need extremely smooth rotary motion, a stepper is really just the wrong control system. You should use a brushless AC motor, or at least a brushed DC servomotor.

Here is a decent white-paper on stepper drive modalities, with some contrasting to AC synchronous motors.

\$\endgroup\$
11
  • \$\begingroup\$ @FakeName, it would be great if you had links to back things up. I know that sometimes adds hours to writing an answer, but thought I would just note how valuable they are. \$\endgroup\$
    – Kortuk
    Mar 22 '11 at 8:11
  • \$\begingroup\$ I've been trying to find something concise. I'm not done with the answer. However, there does not seem to be much information on making stepper motors movement very smooth, since most serious motion control systems use servo motors. \$\endgroup\$ Mar 22 '11 at 9:29
  • \$\begingroup\$ @FakeName, I had a feeling you would have a hard time finding good sources, I added the note a little for you, but I have been trying to leave these regularly around now so that the community slowly moves towards finding references. \$\endgroup\$
    – Kortuk
    Mar 22 '11 at 10:13
  • \$\begingroup\$ Nice white-paper. AFAIK the Geckodrive guy is also working on a similar idea. \$\endgroup\$
    – jpc
    Mar 22 '11 at 21:40
  • \$\begingroup\$ @Kortuk - I do try to reference when I can. Some things are better documented then others. @jpc - It doesn't surprise me. If you have to use steppers, sinusoidal current drive is the way to go. It's just that stepper motors suck, really. \$\endgroup\$ Mar 22 '11 at 23:50
5
\$\begingroup\$

Using full step driving, the rotor acts much like a Spring-Mass-System, with the rotor being the mass and the magnetic force being the spring. When you move from one step to the next, the motion will always be rough. The rotor pretty much jumps from one step to the next and it takes some time until the spring dampens out the rotor's energy, causing a little oscillation (read: rough motion).

You can smooth this when you use half-step mode, and you can additionally compensate the torque-nonlinearity, cf. this link

Following this logic, you eventually end up using fine-Stepping, micro-stepping and sinusoidal driving. (See this link for micro-stepping)

Some more details:

The resonant frequency of a stepper motor's rotor is usually somewhere around 50 Hz ... 400 Hz. When you drive the motor in full-step mode at its own mechanical resonant frequency, things will get pretty bad and it is likely that you lose (jump over) steps. For slow speeds, it is a good idea to stay below the motor's resonant frequency. For high speeds, try to get beyond the resoncance as fast as you can while accelerating, and don't use full-step driving.

\$\endgroup\$
2
\$\begingroup\$

I can only suggest reductors, if speed is not a limiting factor.

Otherwise I would go for brush-less motors with some feedback.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Reductors meaning gearing the motor down? \$\endgroup\$
    – Evan Krall
    Mar 22 '11 at 18:11
  • \$\begingroup\$ I agree, running a stepper too slow can make it very rough. Running the motor faster and using reduction gears is a good approach. \$\endgroup\$ Mar 22 '11 at 23:03
2
\$\begingroup\$

Evaluate your structure and exciter combinations for opportunities to attenuate "acoustic-mechanically"

Pulse Square wave currents result in high torque but strong modulated torque with many harmonics. These are unavoidable and reducing torque by microstepping or avoiding resonant frequencies....

Thus fundamentals of eliminating resonance and buzzing in mechanical subsystems is raise the resonant frequency with a stiff chassis and decouple with elastomer shock mounts to attenuate structure resonance or if not possible, then add viscous dampening. These are qualities found in earthquake foundation design , Bass Reflex speaker enclosures and rotor motor mounts.

I used to test stepper motors on Japanese hard disk drives in the 80's 1st with stepped then linear rotary rare earth magnet motors. You can learn more from reverse engineering the best Japanese designs than trying to reinvent the wheel.

As part of my career after R&D I performed then managed Design Validation Testing or DVT's to qualify a product Corp OEM purchasing of $million contracts. NPL's (Hitachi subsidiary) design was extremely quiet and very fast with accelerated step rates and oil filled vibration dampeners just like automotive transmissions, which have this, but made of thin brass rings in clear plastic rings to dampen the vibration and significantly reduce overshoot as well as create a velocity profile to accelerate smoothly to a maximum velocity then deaccelerate to a target position. They only used half step bridge mode but often used stiff pre-tentioned SS foil bands instead of a belt or chain to transcribe rotary to linear gear-reduction methods on a rotary or linear actuator but it was very effective for fast smooth quiet operation on a solid base-plate.

All mechanical systems have resonance and require analysis to ensure the stimulus frequency is not a sub-harmonic of the stepper fundamental frequency and even shock mounts have a Q amplification as a Low Pass Filter.

Note: all disk drives now use rotary voice-coils ( like curved-rare earth solenoid motors with moving coils.) Yet Floppy drives and DVD players use worm gear driven steppers for servo positioners. Check out why they operation is so smooth from a mechanical low pass filter perspective.

Stepper torque also drops with rising RPM and use of PWM. So biggest is stall/ starting torque and final RPM torque is minimum. Margins must be known for your needs and ensure there are no funny resonances from a mechanical magnetic spur.

I know there are resonant and sub resonant vibrations in PWM mode H driver systems, so be careful to measure what vibration you hear and where it comes from ! Magnetic step resonance or sub resonance. and get a rotary viscous damper flywheel.

\$\endgroup\$
2
  • \$\begingroup\$ Not relevant -- different problem domain. \$\endgroup\$
    – Dave Tweed
    Oct 19 '12 at 22:22
  • \$\begingroup\$ @DaveTweed is wrong again. The correct domain is electro-mechanical-acoustics with Vibration attenuation and anti-resonance. \$\endgroup\$ Jul 1 '17 at 11:38
1
\$\begingroup\$

I am having this same issue with my stepper motor powered device at all but the fastest speeds.

I decided to chime in with the great feedback I've read above and on other sites.

I'm using a toothed belt and was looking for a way to dampen the pulses. Right now it is noisy and at slower speeds it is just "hammering" with each pulse.

In my research, I came across a belt tensioner (spring loads belt) to help dampen the step pulse. If you are using a belt this could help.

To reduce vibration:

  1. add mass - such as a flywheel, etc.
  2. insulate - use third party to deliver power
  3. reduce force - lower current, microstep or (In my case add a spring belt tensioner) many others ways to reduce force.
  4. tuning - run motor at higher speeds with reduction if applicable
  5. dampen - such as a "shock absorber", could be like a spring belt tensioner with shock

I think the best way is to choose a different type of motor as responses above have noted.

\$\endgroup\$
1
\$\begingroup\$

See the Geckodrive support page, especially the Application Notes->Step Drivers->How Morphing Works (sorry, it seems impossible to link directly). The Step Motor Basics are also useful.

Basically if you want to go fast enough then two things happen:

  1. You do not need microstepping.
  2. You lose most of the torque of the motor.
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.