Servo PWM: Why 20 ms period?
I can send some pretty fast and crazy looking signals,


It would not help. Send smart slow signals.


  Why do servo motors ... use 50 Hz?  vbl. duty cycle pulse  @ 50Hz PWM rate



it's an old standard 


The surge load current depends on the rotary position seek, step momentum load and rate.  The inductance L/R rate is much faster, so it's not inductance.


mechanical inertia extends the seek time and surge current considerably up to 10x a rated linear or rotary motor load but then only for short durations. 
20ms is a good short duration for small servos, but maybe much less for low-mass-servos and much more, for heavy, servo-loads.


Reducing the step rate to 50Hz reduces;


the overhead on the uC to change pulse duration commands to set position
increases the duration for surge currents to provide torque to seek and settle quickly
allows the internal compensation filter to regulate arrival stability and better than the host.
20 ms is a fast as a hobby servo can seek 


so there is no benefit to executing PWM  seek rates any faster.

if you wanted the servo to be &lt;20ms instead, you may have to modify the deadtime inside the servo.
if you wanted the servo to be FM wireless, &lt; 20ms may exceed the FM sidebands limited for Servo channels and adjacent channel interference so that violates the FCC specs on servo FM channels for remote control.


- send shorter seeks every 20ms to reduce surge current for a long robotic move, so it takes longer.


everything is a tradeoff between seek time and surge current. 


This includes peak acceleration and braking, peak velocity, seek torque and seek time.









simulate this circuit &ndash; Schematic created using CircuitLab

Since the early 1990's servos have
used a de-facto standard pulse width
modulation technique to control the
position of the output shaft.  Although the invention may have been much earlier.  Small Floppy and HDD's used a serial pulse Step count and direction interface for servo starting in the 70's which required 2 signals and a seek_complete response.