Closed-loop control — from ‘blind driving’ to ‘smart driving’
Traditional stepper setups run open-loop: the controller spits out a preset number of pulses at a preset frequency and assumes the motor did what it was told. If the load jumps, a mechanism jams, or the power sags, the motor can miss steps or stall and the system won’t even notice — leading to machining errors, scrapped parts, or worse, equipment damage.
Closed-loop fixes that by adding an encoder at the motor axis (e.g., an incremental optical encoder or linear scale) to feed back real position in real time. The controller compares commanded position to feedback and uses built-in algorithms to adjust current and pulse timing — forming a true command → execute → feedback → correct loop. That not only prevents missed steps but automatically compensates when deviations occur, so the motion follows the intended trajectory: what you command is what you get.
PMC005 closed-loop system — firmware + hardware working together for reliable motion
The PMC005xx family supports optional 2-axis closed-loop control for steppers and, when paired with incremental optical encoders, builds a full digital closed loop. Its architecture blends hardware IO, firmware algorithms and a clear instruction set, designed for real engineering use.
1. Triple-loop PID — millisecond-level dynamics
PMC005 uses a three-tier digital PID: current loop, speed loop, position loop.
- Current loop — precisely controls phase currents to suppress vibration and noise.
- Speed loop — adjusts accel/decel curves based on actual speed for smoother motion.
- Position loop — uses encoder feedback to continuously correct position error and guarantee endpoint accuracy.
The three loops cooperate so the system rapidly reconverges to the target trajectory under sudden load changes, avoiding overshoot and oscillation — ideal for frequent start/stops or high-speed interpolation.
2. Smart stall detection + auto-recovery
Enable the encoder position correction mode via the n command to turn on closed-loop protection. Behaviors are finely tunable:
- aC — allowed max position error (default 100). If encoder feedback deviates beyond this, it’s treated as an anomaly.
- au — retry count after a stall (default 10). The controller will attempt automatic recovery to avoid stopping from transient disturbances.
- If retries exhaust, the controller can automatically run a stored script (program 13/14/15) based on bits 9–10 of the n command to trigger alarm, reset, or safe stop.
This greatly improves uptime and fault tolerance and cuts down manual intervention.
3. Flexible encoder matching — works with many resolutions
Different apps need different encoder resolutions and motor microstepping. PMC005 matches encoder ratio precisely via the aE command:
Encoder ratio = (microstepped steps per revolution / encoder counts per revolution) × 1000
Example: with a 16-microstep driver + 4000-line encoder (i.e., 16,000 microsteps per rev, encoder outputs 16,000 quadrature counts), set aE200 (= 16000 / (4000×4) × 1000). That means you can swap sensors without changing hardware, cutting integration pain.
The K command also supports software reversal of motor direction and encoder counting direction (digits for tens to millions map to axes 1–4 and encoder directions), letting you fix wiring phase swaps in software and speed up commissioning.
4. Status queries — real-time monitoring
PMC005 offers a rich set of closed-loop status queries for developers:
- ?8 — read current axis encoder position
- ?ao — check axis 1/2 overload flags (Bits 0/1)
- ?aC / ?aE / ?aS — read back error threshold, encoder ratio, and per-axis busy status
Status bytes in responses (Bits 6/7) also report axis stall flags. These values are useful for tuning and can feed into SCADA or an HMI for predictive maintenance and remote diagnosis.
Applications
- Medical devices — in CT gantries and probe positioning systems, closed-loop prevents missed steps that would cause image artefacts.
- Semiconductor handling — wafer handling robots need micron-level accuracy at speed; closed-loop guarantees zero-error pick/place.
- Laser processing — complex profile cutting needs consistent trajectories; closed-loop counters inertial drift at high speed.
- Collaborative robots — joint motors must detect abnormal resistance and safely stop; feedback enables timely detection.
- Lab automation — pipetting stations and sequencers rely on repeatability; closed-loop preserves accuracy over thousands of cycles.
Easy to use and scalable — compact, simple commands
PMC005 supports USB and RS-485, speaks plain text commands, and you can enable closed-loop with a single command string (for example: /1aM1V20000aE200aC1000au100n8R). Parameters are retained across power cycles, speeding development.
A standout feature is offline programming: write the complete control flow, including closed-loop logic, into EEPROM and the controller will run automatically on power-up — perfect for embedded systems, portable instruments or network-limited setups. It reduces system cost and increases independence.
The controller also supports up to 15 units on a network (up to 75 motors), using address selectors and a common baud rate to build multi-node distributed motion systems easily.
Closed-loop is the backbone of smart automation
The PMC005xx five-axis stepper controller centers closed-loop control, combining compact hardware, smart algorithms and a user-friendly command set to push stepper performance further. It fixes the inherent weaknesses of open-loop systems and delivers a high ROI option for SMEs seeking advanced motion control.
Whether you’re validating prototypes in R&D or running stable production lines, PMC005 brings precision, reliability and intelligence to your motion systems.
‘Smart every step, precise every move’— PUSI
PMC005: smarter, safer automation.