Troubleshooting My Arduino + PA Actuator Setup — Common Issues and Fixes
Arduino-controlled actuator systems can fail in subtle ways that are different from simple switch-controlled systems. This article covers the most frequent issues developers encounter and their solutions.
Common Issues Quick Reference
The table below maps the most common symptoms to their most likely cause and recommended fix, covering wiring, direction, speed, position feedback, and EMI problems.
| Symptom | Most Likely Cause | Fix |
|---|---|---|
| Actuator doesn't respond to any command | H-bridge not receiving logic power; common ground missing | Verify Arduino 5 V → H-bridge Vss; confirm shared GND between Arduino, H-bridge, and PSU |
| Actuator runs in wrong direction | IN1/IN2 logic reversed, or motor wires swapped | Swap OUT1/OUT2 connections at the H-bridge, or swap HIGH/LOW in the direction code |
| Actuator runs at full speed only — no speed variation | ENA/ENB pin not a PWM pin, or PWM not enabled on H-bridge | Move ENA to a PWM-capable pin (consult your board's pinout — pins 3, 5, 6, 9, 10, and 11 on a classic Uno; other boards vary) |
| Position reading jumps erratically while motor runs | Motor EMI coupling into pot signal wire | Add 100 nF cap on signal pin; separate routing of motor and signal wires; use software EMA filter |
| Arduino resets when motor starts | Inrush current drags down Arduino's 5 V supply when powered from same PSU | Power Arduino from a separate 5 V USB supply; add 470 µF–1000 µF electrolytic cap across Arduino 5 V and GND pins |
| Position stops updating mid-stroke | Pot signal wire disconnected or pot mechanically failed | Check continuity of pot wires; confirm ADC reading changes when rod moved manually |
| Hall effect pulse count drifts over time | Noise triggering false interrupts | Add software debounce (2 ms min pulse width check); add 10 nF cap on Hall signal line |
| Actuator overshoots target position | KP gain too high or MIN_PWM too high for slow final approach | Reduce KP; reduce MIN_PWM; widen DEADBAND slightly |
The #1 Issue: Missing Common Ground
The single most common cause of "nothing works" in Arduino actuator setups is missing or incorrect grounding. The Arduino, H-bridge logic, motor power supply, and any feedback sensors must all share the same ground reference. Check:
- Arduino GND connected to H-bridge GND
- PSU negative connected to H-bridge GND
- Pot GND connected to Arduino GND (not to motor –)
- Hall effect GND connected to Arduino GND
Arduino Resets When Motor Starts
A DC motor draws 3–5× its steady-state current at startup. If the Arduino is powered from the same supply as the motor (e.g., via the H-bridge 5 V regulator), the voltage sag from motor inrush can momentarily drop below the Arduino's minimum operating voltage — causing a reset. Fix: Power the Arduino separately via USB, or add a large electrolytic capacitor (470 µF–1000 µF, 16 V) across the Arduino's 5 V and GND pins to buffer the inrush.