A linear motor axis that stuttered at 1 mm/s. The motor was a iron-core linear motor, 100 N continuous force. The application was a dispensing axis that needed smooth motion at 0.5 mm/s. At 1 mm/s, the force rippled. The dispense bead thickness varied. The customer thought the encoder resolution was too low (1 μm). It was fine. The issue was cogging — the iron-core motor’s magnets attract the iron teeth, creating force ripple at low speed. This is about linear motor cogging and how to minimize it.
What is cogging
An iron-core linear motor has a series of iron laminations with copper coils. The magnets on the track have alternating poles. As the iron teeth pass over the magnets, they’re attracted to the magnet centers. The attraction force varies sinusoidally as the teeth move. This creates a force ripple called cogging or detent force. At high speed, the ripple averages out. At low speed (under 5 mm/s), the force ripple is visible as stutter.
The cogging force is typically 2-5% of the motor’s rated force. For a 100 N motor, that’s 2-5 N ripple. At 0.5 mm/s with a 2 kg load (20 N), the 5 N ripple is 25% of the total force. The axis speeds up and slows down as it passes each magnet. The dispense bead varies by 25%.
What was changed
1. Switched to an ironless motor. The ironless (coreless) linear motor has no iron teeth — just copper coils in an epoxy matrix. There’s no magnetic attraction to the magnets. Cogging is zero. The force is perfectly smooth at any speed. The ironless motor has lower continuous force (60 N vs 100 N) but the dispensing application only needs 20 N. The stutter disappeared. The bead was uniform.
2. Added force ripple compensation. For applications where an iron-core motor must be used (high force), the drive’s controller maps the cogging force vs position. The controller injects a compensating current that cancels the cogging. The ripple drops from 5% to 0.5%. The compensation is done by teaching the drive: move the axis at constant force, record the position error, and the drive builds a compensation table. Takes 30 minutes. Improves low-speed smoothness without changing the motor.
3. Increased the loop gain. A high-bandwidth velocity loop rejects the cogging disturbance. The original loop gain was 100 Hz. Increasing to 300 Hz (with the right encoder resolution) lets the controller correct the ripple 300 times per second. The stutter reduced but didn’t disappear. The ironless motor was the real fix.
Iron-core vs ironless comparison
| Factor | Iron-core | Ironless |
|---|---|---|
| Continuous force | High (100-500 N) | Low (20-100 N) |
| Cogging force | 2-5% rated | Zero |
| Attraction force to track | High (10x force) | Zero |
| Price | $1500 | $2500 |
| Use for | High force, moderate speed | Smooth motion, dispensing, scanning |
The track mounting
The magnet track must be mounted with consistent pole spacing. If two magnet sections are joined with a 0.5 mm gap, the cogging jumps at the joint. The track must be installed with the specified gap (typically 0 mm between magnets, with a 1 mm gap between sections for thermal expansion). The magnetic attraction of an iron-core motor is 10x its force — 1000 N between coil and track. The mounting brackets must hold the track rigidly. A flexible bracket flexes under the attraction and creates audible noise.
The motor choice: ironless for smooth low-speed motion under 5 mm/s, iron-core for high-force applications. The stuttering axis wasn’t encoder resolution — it was 5% cogging force on a 100 N iron-core motor. For new designs needing smooth dispensing or scanning, pay the premium for ironless. For existing iron-core axes, use force ripple compensation and high loop gain.