Cos’è il protocollo DSHot per gli ESC

DShot è un protocollo utilizzato per inviare i dati dal flight controller agli ESC, che al contrario dei precedenti PWM e OneShot, utilizza un formato binario.

Cosa cambia:

Gli altri protocolli inviano all’ESC degli impulsi di durata proporzionale al valore da trasmettere: ad esempio, il vecchio PWM trasmette una serie di impulsi di lunghezza variabile fra 1000µs e 2000µs; un impulso di 1000µs corrisponde al motore fermo, mentre 2000µs corrisponde a motore al massimo.
Siccome l’ESC deve “misurare” la durata dell’impulso, si ha una scarsa precisione e la necessità di calibrare i valori di minimo e massimo degli ESC, ad ogni nuova installazione.

Invece DShot trasmette un segnale in formato binario a 16 bit, dei quali 11 trasmettono il valore del throttle (2048 steps), 4 servono per la verifica dei dati trasmessi (CRC) e 1 per richiedere all’ESC la trasmissione della telemetria.

Quali sono i vantaggi?

  • Maggiore precisione dei dati inviati: Se viene inviato 1587, l’ESC legge esattamente 1587; per rendere l’idea, la differenza è quella che passa fra leggere l’ora su di un orologio a lancette o uno digitale.
  • Il valore viene inviato con una risoluzione di 2048 passi.
  • Non occorre la calibrazione degli ESC, perché il valore letto non dipende più dalla frequenza dell’oscillatore.
  • Meno soggetto alle interferenze esterne, come i picchi di tensione.
  • I valori inviati vengono verificati, quindi sono più sicuri.
  • Sono implementabili parecchie funzioni, come ad esempio utilizzare i motori al posto del buzzer, o il turtle mode.

Teoricamente, miglioramenti del feeling di volo rispetto agli altri protocolli non dovrebbero essercene, ma quanto scritto sopra dovrebbe bastare a preferire DShot agli altri protocolli…

Quanto è veloce?

DShot può funzionare a differenti velocità; al momento ne sono disponibili quattro versioni:

  • DShot150 – 150,000 bits/Sec
  • DShot300 – 300,000 bits/Sec
  • DShot600 – 600,000 bits/Sec
  • DShot1200 – 1,200,000 bits/Sec

In base alla velocità, si possono raggiungere i seguenti loop times:

  • DSHOT150: 4kHz max
  • DSHOT300: 10,6kHz max
  • DSHOT600: 16kHz max
  • DSHOT1200: >32khz max

In teoria si potrebbero anche raggiungere velocità superiori, ma questa è limitata dal firmware, per avere sufficiente intervallo fra uno shot e l’altro.

Come si può notare, DShot150 supporta un discreto loop time del PID controller ed è utilizzabile nella maggior parte delle situazioni; naturalmente nulla vieta di utilizzare versioni più veloci, ma sconsiglio di andare molto oltre il necessario, perché impulsi molto brevi sono più esposti ad errori di trasmissione.
Una velocità superiore a quella necessaria, ha solo il vantaggio di ridurre la latenza della trasmissione fra FC ed ESC, che se paragonata ai tempi di reazione di un motore, ha sempre un valore trascurabile (ricordiamoci che si parla di microsecondi).

Che flight controllers sono compatibili?

DShot richiede maggiore potenza di calcolo rispetto a OneShot, quindi non è supportato dalle vecchie FC basate su processori F1 ma può invece essere gestito dai processori F3/F4/F7.
Però attenzione! Perché anche montando processori compatibili, non tutte le FC possono utilizzare DShot e altre necessitano di particolari attenzioni (in genere problemi che si presentano con vecchie FC), quindi occorre verificarne la compatibilità.

Che ESC supportano DShot?

DShot è supportato dalla maggior parte degli ESC di recente produzione che utilizzano Blheli_S o Blheli_32 e dalla maggior parte dei Kiss ESC in commercio.

Però, in base all’hardware presente, i vari modelli di ESC possono avere dei limiti di velocità, inoltre ci sono vecchi ESC che sarebbero compatibili, ma per funzionare con DShot richiedono la rimozione di un condensatore.

Consiglio di verificare sempre la compatibilità dell’ESC, prima di acquistarlo.

Link alla documentazione ufficiale:

Autore dell'articolo: Luigi Bomben

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

code