PWM, OneShot125 and Brushed motor protocol on an oscilloscope
When I've buoght an oscilloscope (cheap digital DSO201), I've decided it would be a good idea to see how different ESC protocols looks like from the signal point of view. Previously I've written few words about them, like which is the fastest as so on, but is there something "special" about them?
Well, let's find out...
"Standard" PWM at 400Hz
0% throttle
100% throttle
OneShot125 at 1kHz
0% throttle
100% throttle
"Analog" PWM used in Brushed motors at 16kHz
0% throttle
100% throttle
Summary
Well, looks like PWM, OneShot125, OneShot42 and Multishot (no screenshots for last two, but they are so similar it just made no sense to post those) are basically only an variation of the same basic idea: throttle position is encoded as a period of time between rising and falling edge of a signal. 0% throttle is encoded as period A, 100% as period B. Everything between is scaled lineary. Protocols differ only in update frequency and period lengths for 0% and 100% throttle. Boring...
Only "Analog" PWM for brushed motors is different. There are not rising edges on 0% and throttle, since 0% throttle means no current on motors.
But, this can change. There are first attempts for digital ESC protocols. Betaflight is preparing for DSHOT600 and DSHOT150 digital protocols as I write. Like always, hardware support is/will be highly limited, but hmm... ESC telemetry? Why not...
I'm Paweł Spychalski and I do things. Mainly software development, FPV drones and amateur cinematography. Here are my YouTube channels: