Servo Position and Power Budget Calculation Audit
Servo Position and Power Budget Calculation Audit
Ada re-derives this chapter’s own numbers step by step, at full precision
ADA · CALCULATION AUDIT
Servo Position and Power Budget Calculation Audit
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.
See the relationship before changing it
The figure reads from left to right. The blue card is command angle. The middle card applies this page's rule. The green card is pulse width. Walk the arrows once: set the input, apply the rule, then read the result with its unit.
The retained audit below checks several chapter fixtures. This model keeps those stated values fixed and changes only command angle, so the numeric fixture does not switch without explanation.
Derive the baseline in four named moves
- 1
Name the input. The chapter baseline is 45 degrees.
- 2
Name the relationship. pulse = 1 ms + angle / 180 degrees x 1 ms
- 3
Substitute with units. 1 + 45 / 180 = 1.25 ms
- 4
Read the result. Keep the unit beside the value. Use it only inside the technical boundary on this page.
Predict, then change command angle
Try Predict the direction of pulse = 1 ms + angle / 180 degrees x 1 ms. Test another command angle, then compare pulse width.
Observe The pulse encodes position inside the frame; it is not the motor power duty cycle. Reset command angle to 45 and compare pulse width.
Explain The pulse encodes position inside the frame; it is not the motor power duty cycle.
Check yourself
What should you do before trusting a moved-control result?
What does this small model leave out?
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.
Audit result
1.25/20 = 6.25% duty, while 7.5 A is 15 times a 0.5 A source capability; separate power is required.