Skip to content

Motor

The stepper motor is responsible for the precise movement of the moving mirror in the Michelson interferometer. The quality of the spectrum directly depends on the precision and stability of this displacement.

The Michelson interferometer requires linear displacement of the moving mirror over a few centimeters, with sub-micrometric regularity. The motor drives a translation stage via a lead screw.

Stepper Motor → Lead screw (0.5 mm pitch) → Linear stage → Moving mirror
↓
A4988 Driver → Microcontroller (STM32)
Parameter Value
Type NEMA 17 bipolar stepper
Step angle 1.8° (200 steps/rev)
Micro-stepping 1/16 (via A4988)
Travel range 25 mm
Linear resolution 0.156 µm (theoretical)
Max speed 10 mm/s
Holding torque 0.45 N·m
Supply voltage 12 V DC
Current per phase 1.2 A

The A4988 driver is configured in 1/16 micro-stepping mode (MS1, MS2, MS3 pins high). The effective angular resolution is 3200 micro-steps per revolution, giving a theoretical linear displacement of:

0.5 mm/rev ÷ 3200 micro-steps/rev = 0.156 µm/micro-step
STM32 Pin A4988 Signal Function
PA0 STEP Step pulse
PA1 DIR Direction
PA2 ENABLE Driver enable
PA3 MS1, MS2, MS3 Micro-step configuration

A typical FTIR acquisition follows this sequence:

  1. Homing: the mirror moves back to the limit switch.
  2. Acceleration: speed ramp over 2 mm (4000 micro-steps).
  3. Constant scan: 20 mm at steady speed (128000 micro-steps).
  4. Synchronous acquisition: ADC samples on each STEP rising edge.
  5. Deceleration: braking ramp over 2 mm.
  6. Fast return: maximum speed in reverse.
# Acquisition sequence pseudo-code
def acquisition_scan():
homing() # Return to zero
ramp_up(steps=4000, v_max=10) # Acceleration
for step in range(128000): # Constant scan
pulse_step() # One micro-step
sample = read_adc() # Synchronous ADC acquisition
interferogram.append(sample)
ramp_down(steps=4000) # Deceleration
return interferogram

Calibration is performed with a He-Ne laser (λ = 632.8 nm):

  1. Replace the IR source with the He-Ne laser.
  2. Run a complete scan.
  3. Count the laser interference fringes.
  4. Number of fringes × λ/2 gives the actual travel distance.
  5. Adjust the micro-step/pixel factor in firmware.
  • Lubrication: lithium grease on the lead screw, every 6 months.
  • Backlash check: measure backlash with a dial indicator (< 5 µm acceptable).
  • Thermal control: add a heatsink on the A4988 driver if T > 60 °C.
  • Limit switch: test the limit switch before each session.
Symptom Likely Cause Solution
Missed steps Insufficient current Increase A4988 Vref to 0.9 V
Excessive vibration Mechanical resonance Add a damper on the shaft
Shifted spectrum Uncompensated backlash Enable firmware compensation
Periodic noise in spectrum Irregular micro-steps Check 12 V power supply

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae.