When you need a motor to deliver the exact same twisting force whether it is creeping at 10 RPM or spinning at 2,000 RPM, you are looking for a specific electromechanical behavior. The servo motor design principle of constant torque at variable speeds is the backbone of modern CNC machines, robotic arms, and automated conveyors. Unlike basic induction motors that lose torque as they slow down, or stepper motors that resonate and stall at high speeds, a properly tuned AC servo maintains a flat torque curve from zero up to its rated base speed.
This guide cuts through the marketing datasheets to explain how this principle actually works on the bench, how to size a motor for your specific load inertia, and exactly which hardware to buy for your next ESP32 or motion-controller build.
The Core Servo Motor Design Principle: Constant Torque at Variable Speeds
An AC servo motor is technically a Permanent Magnet Synchronous Motor (PMSM). The secret to its flat torque curve lies in the drive’s control algorithm, specifically Field Oriented Control (FOC). The drive continuously reads the rotor’s exact position via a high-resolution encoder and injects 3-phase AC current into the stator windings. By keeping the stator’s magnetic field exactly 90 electrical degrees ahead of the rotor’s permanent magnets, the drive maximizes torque per ampere.
As long as the motor operates below its base speed (typically 2,000 to 3,000 RPM for standard industrial servos), the drive simply increases current to maintain that 90-degree offset, yielding constant torque. Once you exceed the base speed, the drive runs out of voltage headroom and must use "field weakening" to push the motor faster. This enters the constant-power region, where torque drops inversely with speed.
Worked Load Example: Sizing a Rotary Arm
Let’s size a motor for a pick-and-place rotary arm. We need to swing a 2 kg payload on a 0.3-meter arm, accelerating at 15 rad/s².
- Calculate Load Inertia (J): For a rod pivoting at one end, J = ⅓ × m × L².
J = ⅓ × 2 kg × (0.3 m)² = 0.06 kg·m². - Calculate Required Acceleration Torque (T): T = J × α (acceleration).
T = 0.06 kg·m² × 15 rad/s² = 0.9 Nm. - Apply Safety Margin: Add 20% for unmodeled friction and belt compliance.
0.9 Nm × 1.2 = 1.08 Nm continuous torque required.
You need a motor with a continuous torque rating of at least 1.1 Nm to maintain that constant torque profile without thermal shutdown.
Motor Type Comparison: Which Fits a Constant-Torque Load?
Makers often confuse closed-loop steppers, brushless DC (BLDC) motors, and AC servos. While all three use permanent magnets, their design principles and torque curves differ drastically. Here is how they stack up for a constant-torque, variable-speed application.
| Motor Type | Torque Curve Profile | Control Architecture | Typical Cost (400W Class) | Best Application |
|---|---|---|---|---|
| AC Servo (PMSM) | Perfectly flat constant torque up to base speed (e.g., 3000 RPM), then linear drop-off. | Dedicated FOC drive with 17-bit+ absolute encoder. Closes position, velocity, and current loops. | $250 - $450 (Motor + Drive) | CNC routers, robotic joints, high-speed pick-and-place. |
| Closed-Loop Stepper | High holding torque at 0 RPM, but torque drops off exponentially after 300-500 RPM. | Microstepping driver with an added rear-shaft encoder for stall correction. | $60 - $120 | 3D printers, slow-moving conveyor belts, camera sliders. |
| Brushless DC (BLDC) | Flat constant torque up to base speed, but requires complex tuning to prevent cogging at low speeds. | FOC ESC (Electronic Speed Controller) or ODrive. Often uses Hall sensors or sensorless back-EMF. | $100 - $200 (Motor + ODrive) | Drones, electric skateboards, high-speed spindles. |
For a deeper look at the physical differences between these architectures, Motion Control Tips provides an excellent breakdown of their magnetic circuit designs.
Wiring, Terminals, and Driver Demands for AC Servos
If you select an AC servo, you cannot wire it directly to an Arduino or ESP32. The microcontroller generates low-voltage logic commands, while the servo drive handles the high-voltage 3-phase commutation and FOC math. Here is the standard terminal identification you will find on a 400W-class industrial servo drive (like a Delta ASDA or Yaskawa Sigma series).
Power and Motor Terminals
- R, S, T (or L1, L2): Single-phase AC mains input (typically 200-240V AC for mid-range drives). Always verify with a multimeter before energizing.
- U, V, W: 3-phase output to the motor stator. Swapping any two of these will cause the motor to spin backward and immediately fault on encoder mismatch.
- P, D, C: DC bus and braking resistor terminals. If your load decelerates quickly, the motor acts as a generator, pushing voltage back into the drive. You must wire a physical power resistor across P and C to bleed off this energy.
Encoder and Control Terminals
- Encoder (Aviation or M12 Connector): Carries 5V power, ground, and serial data (e.g., BiSS-C, EnDat) or quadrature signals (A, B, Z). Never unplug this while the drive is powered; you can fry the encoder’s RS422 transceivers.
- PULSE / SIGN (or PUL+, PUL-, DIR+, DIR-): Opto-isolated inputs for step and direction. Your ESP32 or motion controller sends a 5V pulse train here. Note: many industrial drives require 5V, while microcontrollers output 3.3V. You will need a logic level shifter or a 1kΩ pull-up resistor to 5V.
Failure Signatures: Diagnosing Hum, Overheat, and Stall
When a servo system fails, it rarely just "breaks." It communicates the failure through specific physical and electrical signatures. Recognizing these saves hours of bench debugging.
1. The Audible Hum or High-Frequency Squeal
Cause: Your PID tuning is too aggressive, specifically the Derivative (D) or Proportional (P) gains in the velocity loop. The drive is overcorrecting micro-movements, causing the stator field to oscillate against the rotor magnets.
Fix: Access the drive’s front panel or software. Lower the velocity loop gain (often parameter P2-04 or similar) by 20% until the hum stops. Alternatively, check your mechanical coupling; a loose set-screw on the shaft creates backlash that the PID loop tries to violently correct.
2. Overheat Fault (Thermal Shutdown)
Cause: You sized the motor for peak torque instead of RMS continuous torque. The motor is drawing more continuous current than its thermal mass can dissipate.
Fix: Recalculate your motion profile. If the RMS torque truly requires 1.5 Nm but your motor is rated for 1.27 Nm continuous, you must either add a gearbox to multiply torque (reducing the motor's required output) or step up to the next motor frame size.
3. Stall / Following Error Limit Exceeded
Cause: The drive commands a position, but the encoder reports the rotor is lagging behind by more than the allowed threshold (usually 10,000 to 50,000 encoder pulses). This happens if the mechanical axis is jammed, the acceleration ramp is too steep for the available torque, or the drive's current limit is artificially capped in the software.
Fix: Disconnect the load and run the motor unloaded. If it moves fine, your mechanical bind is too high or your acceleration (rad/s²) command from the ESP32 is too aggressive. Lower the acceleration profile in your motion controller's trajectory planner.
Decision Tree: Pick Your Exact Motor and Controller
Stop guessing. Use this decision matrix to select the exact hardware for your workbench based on your calculated load requirements.
| If Your Load Profile Requires... | And Your Control System is... | Then Select This Hardware Class |
|---|---|---|
| High holding torque at 0 RPM, speeds < 400 RPM, low budget. | Arduino/ESP32 sending basic step pulses. | NEMA 23 Closed-Loop Stepper (e.g., BigTreeTech S42B) + TMC2209 driver. |
| Speeds up to 4,000 RPM, flat torque, but you want open-source firmware. | STM32/Teensy running custom FOC code. | Gimbal/Outrunner BLDC + ODrive Pro controller. |
| Speeds up to 3,000 RPM, absolute precision, 1-10Nm continuous torque, industrial reliability. | ESP32 via Modbus RTU, or a dedicated Mach4/LinuxCNC breakout board. | 400W - 1kW AC Servo Kit (Default Pick below). |
The Concrete Default Pick for 1.08 Nm (400W Class)
Based on our worked rotary arm example requiring 1.08 Nm of continuous torque, here is the exact bill of materials to order:
- Motor: Delta ECMA-C20604 (400W, 3000 RPM base speed, 1.27 Nm continuous torque, 3.82 Nm peak torque). This gives you a 17% safety margin over the 1.08 Nm requirement.
- Drive: Delta ASDA-B3-0421 (Single-phase 200V input, 400W output, supports pulse/direction and Modbus).
- Cables: Pre-made 4-core power cable (U,V,W,Ground) and a shielded 10-pin encoder cable. Do not build your own encoder cables unless you have experience shielding RS422 lines; EMI from the power cables will corrupt the encoder data and cause violent runaways.
By matching the motor’s continuous torque rating to your calculated RMS load, and leveraging the drive’s FOC algorithm, you guarantee the servo motor design principle of constant torque at variable speeds works exactly as intended on your machine. For more on integrating these drives with microcontrollers, consult All About Circuits' guide on servo control loops to understand the PID math happening inside the drive's DSP.






