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?
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.
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.
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.
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:
- add mass - such as a flywheel, etc.
- insulate - use third party to deliver power
- reduce force - lower current, microstep or (In my case add a spring belt tensioner) many others ways to reduce force.
- tuning - run motor at higher speeds with reduction if applicable
- 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.
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:
- You do not need microstepping.
- You lose most of the torque of the motor.