Di quale frequenza ha bisogno il mio circuito di aggiornamento quadricottero output-sense-calcola-output per rimanere stabile?


20

Con un quadricottero da motore a motore da 600 mm (2 piedi), quale frequenza deve essere stabile per il mio circuito di aggiornamento output-sense-calcola-output?

Sto stimando un peso totale al decollo di circa 0,9 kg, che mi aspetto principalmente motori e batterie.


1
Ho il sospetto che qui saranno possibili solo risposte molto approssimative, poiché ci sono molte variabili che influenzeranno la risposta del sistema. Forse vedi: Come posso calcolare la frequenza di loop richiesta per un servo controller?
Rocketmagnet,

Risposte:


17

Come suggerisce Rocketmagnet, la frequenza di cui "hai bisogno" dipenderà da molte cose. Quanto più reattivi sono i tuoi rotori, tanto più sensibile sarà la tua imbarcazione a picchi casuali nei comandi del motore. Questi picchi casuali possono essere causati da letture del sensore rumorose causate da imperfezioni fisiche, il che significa che sarebbe necessario ridurre i guadagni del controller, il che a sua volta potrebbe significare che il quadrotore potrebbe diventare più instabile. Alcuni altri fattori includono le inerzie rotazionali del quadrotore, il passo della pala delle eliche, la posizione del centro di massa e la distanza da motore a motore.

Ho programmato un controllore di volo da zero per il mio elicottero da 2 kg in esecuzione su un ATmega1280 e ho scoperto che su:

  • 50 Hz: rimarrà in aria ma è quasi impossibile da controllare.
  • 100 Hz: almeno eviterà di ribaltarsi immediatamente su un lato.
  • 200 Hz: posso lasciarlo allentare all'interno dell'acceleratore al passaggio del mouse e rimarrà più o meno in un punto.

Potrebbe essere interessante notare che maggiore è la frequenza di controllo, più efficaci diventano le inerzie del rotore in quanto ammortizzatori fisici, il che aiuta a annullare il rumore IMU e migliorare la stabilità del volo.

Ma se ho avuto a dare un numero difficile per una frequenza di aggiornamento di controllore di volo minima per una quadrotor di quelle dimensioni adatto per la navigazione interna, sulla base di esperienza personale ...

Direi 80 Hz.


1
Non capisco perché hai suggerito 80Hz quando dovevi usare 200Hz su un'imbarcazione molto più grande, se qualcosa quando il sistema è più piccolo hai bisogno di un tempo di campionamento più veloce poiché le frequenze naturali sono più alte perché c'è meno inerzia.
goncalo luis,

Ci sono dei vantaggi nel correre oltre i 200 Hz? Al momento ho un sistema che funziona a 2Khz, ma a un costo aggiuntivo.
tuskiomi,

(Caspita questo è un vecchio thread, ma) @goncaloluis ho suggerito 80Hz come minimo minimo. Hai perfettamente ragione sulla necessità di una frequenza di campionamento più veloce per imbarcazioni più piccole. :)
yoos

1
@tuskiomi A un certo punto .. L'applicazione e la larghezza di banda desiderate dovrebbero guidare la frequenza del circuito di controllo richiesta, ma come molti hanno notato, l'inerzia alla fine diventa il fattore limitante.
Yoos

2

50-200Hz è abbastanza normale, come possiamo vedere nei progetti open source. Bisogna considerare che nella maggior parte dei casi l'inerzia dei motori e la comunicazione con gli ESC sono il fattore limitante.


2
@Shahbaz: Essere "open source" influisce sulla nostra conoscenza della frequenza del circuito di controllo. Se non è open source, generalmente non abbiamo idea di quale sia la frequenza del loop di controllo.
David Cary,

Non del tutto vero. I controllori di volo a sorgente chiuso di solito pubblicano la loro frequenza di controllo. La maggior parte di essi emette un controllo a 400Hz per renderli compatibili con i regolatori di velocità elettronici standard (ESC). Ad esempio il famoso DJI Wookong-M: dji-innovations.com/tech-spec/wookong-m-sepc
foobaremade

1

Per essere in grado di ottenere un numero difficile, è necessario disporre di un modello matematico e analizzarlo. Esistono due opzioni per ottenere un modello di un sistema:

1) Ti viene in mente una rappresentazione matematica del quadricottero tramite diagrammi a corpo libero;

2) Costruisci un concerto per testare il quadricottero senza alcun sistema di controllo e usi la teoria dell'identificazione per trovare un modello;

Quindi dovrai linearizzare il tuo modello, un quadricottero è intrinsecamente non lineare. Crea una trama di base del sistema, la frequenza di cui hai bisogno è circa il doppio della frequenza più alta del tuo sistema.

Questo è il modo "pro" di farlo. Se non vuoi passare attraverso tutto questo, usa un valore come quello che user65 e yoos hanno suggerito (leggi il mio commento sulla tua risposta) e itera fino a quando non ottieni quello che vuoi. Inoltre, non si desidera che il tempo di campionamento sia troppo elevato, poiché si verificheranno problemi quando il sistema di controllo risponde al rumore.


1

È possibile rispondere alla tua domanda in modo specifico solo se disponiamo dei parametri del modello del tuo sistema. L'approccio di principio per rispondere alla tua domanda sarebbe quello di rappresentare la dinamica altamente non lineare del tuo sistema in tempo discreto; quindi utilizzando questa rappresentazione, è possibile determinare una dimensione massima del gradino per la quale viene raggiunta la stabilità - questo sarà il valore massimo che il sistema può utilizzare con successo. Una dimensione minima del passo sarà determinata non dalla dinamica del sistema, ma dall'hardware che si sta utilizzando: l'overrunning è ciò che mi preoccuperebbe in questo caso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.