Ada Audits the Servo Position and Power Budget
Ada re-derives this chapter’s own numbers step by step, at full precision
ADA · CALCULATION AUDIT
Ada Audits the Servo Position and Power Budget
Commanding a servo to 45 degrees inside its 20 ms frame is just a 1.25 ms pulse at 6.25% duty — deceptively cheap, until three MG996R servos moving together pull 7.5 A, roughly 15x what a 0.5 A ESP32 pin can source. This audit rebuilds the pulse, current, torque, and deadband figures and asks whether the feared brownout is really a PWM-frequency problem or simply a current-limit one.
Companion to the chapter Servo Motors — every number here comes from that chapter.
A servo looks simple because the command is one pulse, but the audit has two ledgers: the mathematics that maps pulse width to angle, and the physics that decides whether the supply, gearing, and linkage can survive the requested motion.
The worked checks
| Check | Arithmetic from this chapter | Review result |
|---|---|---|
| Frame timing | 50 Hz means T = 1 / 50 = 0.020 s = 20 ms. | The pulse-width command is measured inside a 20 ms frame; it is not motor-power duty cycle. |
| 45 degree command | t = 1 ms + (45 / 180) x (2 ms - 1 ms) = 1.25 ms; duty = 1.25 / 20 = 6.25%. | The angle interpolation uses the stated 1-2 ms, 0-180 degree convention. |
| Smooth 1 s sweep | 50 frames/s x 1 s = 50 commands; 180 degrees / 50 = 3.6 degrees per frame. | The motion profile should send small angle changes instead of one large mechanical shock. |
| Two-second actuation energy | (0.5 A x 5 V x 1 s) + (0.1 A x 5 V x 1 s) = 2.5 J + 0.5 J = 3.0 J; 3.0 / 3600 = 0.000833 Wh. | The chapter's 0.00083 Wh value comes from full-precision joules before final rounding. |
| Four MG90S peak current | 4 x 0.700 A = 2.8 A; with ESP32 Wi-Fi current, 2.8 A + 0.240 A = 3.04 A. | A 3 A rail is only adequate if movement is staggered; simultaneous stall needs more margin. |
| MG996R three-servo worst case | 3 x 2.5 A = 7.5 A; 7.5 A is 15 x a 0.5 A ESP32 5 V pin limit. | The brownout warning is a current-limit problem, not a PWM-frequency problem. |
| Torque margin | 3 kg-cm = 3 x 9.81 N x 0.01 m = 0.294 N m; 0.294 / 0.12 = 2.45. | The vent example has about 2.45x ideal torque margin before friction, supply sag, and gear wear. |
| Deadband size | 5 microseconds x 0.18 degrees/microsecond = 0.9 degrees. | A small no-correction window prevents jitter; making it too wide hides real position error. |
Use this as a review record, not a promise. If the servo model, linkage length, travel stops, supply voltage, or move schedule changes, rerun the pulse, current, and torque checks with measured values.
Every number above is taken from the chapter’s own examples and re-derived step by step.