Drone fai-da-te: lezione 4. Controllore di volo..

Contenuti

Introduzione

Ora che hai selezionato o progettato il telaio dell'UAV, i motori, i rotori, gli ESC e la batteria, puoi iniziare a scegliere il tuo controller di volo. Il controllore di volo per un veicolo aereo senza pilota multirotore è un circuito integrato, solitamente costituito da un microprocessore, sensori e pin di ingresso/uscita. Dopo il disimballaggio, il controllore di volo non sa quale tipo specifico o configurazione di UAV stai utilizzando, quindi inizialmente dovrai impostare determinati parametri nel software, dopodiché la configurazione data viene caricata a bordo. Piuttosto che confrontare semplicemente i controllori di volo attualmente disponibili, l'approccio che abbiamo adottato qui elenca quali elementi del PC sono responsabili di quali funzioni, nonché gli aspetti da considerare.

Processore principale

8051 vs AVR vs PIC vs ARM: Una famiglia di microcontrollori che costituiscono la base della maggior parte moderni controllori di volo. Arduino è basato su AVR (ATmel) e la community sembra concentrarsi su MultiWii come codice preferito. Microchip è il principale produttore di chip PIC. È difficile sostenere che uno sia migliore dell'altro, tutto si riduce a ciò che il software può fare. ARM (come STM32) utilizza un'architettura a 16/32 bit, con dozzine che utilizzano AVR e PIC a 8/16 bit. Poiché i computer a scheda singola diventano sempre meno costosi, ci si aspetta che i controllori di volo di nuova generazione possano eseguire sistemi operativi a tutti gli effetti come Linux o Android.

CPU: Di solito, la loro larghezza di bit è un multiplo di 8 (8 bit, 16 bit, 32 bit, 64 bit), che in turn indica la dimensione dei registri primari nella CPU. I microprocessori possono elaborare solo un numero impostato (massimo) di bit in memoria alla volta (orologio). Più bit può gestire il microprocessore, più accurata (e veloce) sarà l'elaborazione. Ad esempio, l'elaborazione di una variabile a 16 bit su un processore a 8 bit è molto più lenta rispetto a un processore a 32 bit. Si noti che il codice deve anche essere eseguito con il numero corretto di bit e, al momento della stesura di questo documento, solo pochi programmi utilizzano un codice ottimizzato per 32 bit.

Frequenza operativa: La frequenza alla quale opera il processore principale. Viene anche chiamato "frequenza di clock" per impostazione predefinita. La frequenza è misurata in hertz (cicli al secondo). Maggiore è la frequenza operativa, più veloce è l'elaborazione dei dati da parte del processore.

Programma / Flash: Flash è dove viene memorizzato il codice principale. Se il programma è complesso, può occupare molto spazio. Ovviamente, più grande è la memoria, più informazioni può immagazzinare. La memoria è utile anche per memorizzare dati in volo come coordinate GPS, piani di volo, movimento automatico della fotocamera, ecc. Il codice caricato nella memoria flash rimane sul chip anche dopo lo spegnimento.

SRAM: SRAM sta per Static Random Access Memory ed è lo spazio sul chip utilizzato durante l'esecuzione dei calcoli. I dati memorizzati nella RAM vengono persi quando si spegne l'unità. Maggiore è la quantità di RAM, più informazioni saranno "prontamente disponibili" per i calcoli in qualsiasi momento.

EEPROM: La memoria di sola lettura programmabile cancellabile elettricamente (EEPROM) viene generalmente utilizzata per memorizzare informazioni che non cambiano durante il volo, come le impostazioni anziché i dati. memorizzato su SRAM, che può includere letture del sensore, ecc.

Porte I/O aggiuntive: la maggior parte dei microcontrollori ha un gran numero di porte di ingresso e uscita digitali e analogiche, sul controller di volo alcune sono utilizzate per i sensori, altre per la comunicazione o per input e output generali. Queste porte aggiuntive possono essere collegate a servocomandi RC, gimbal, cicalini e altro.

Convertitore A/D: Se i sensori utilizzano una tensione analogica integrata (solitamente 0-3,3V o 0-5V), il convertitore analogico A digitale deve convertire queste letture ai dati digitali. Come con il processore, il numero di bit che l'ADC può gestire determina la massima precisione. Associato a questo è la frequenza di clock alla quale il microprocessore può leggere i dati (volte al secondo) per garantire che le informazioni non vadano perse. Tuttavia, è difficile non perdere parte dei dati durante questa conversione, quindi maggiore è la profondità di bit dell'ADC, più accurate saranno le letture, ma è importante che il processore possa gestire la velocità con cui i dati vengono è stato mandato.

Alimentazione

Spesso le specifiche del controller di volo descrivono due intervalli di tensione, il primo dei quali è l'intervallo di tensione in ingresso del controller di volo stesso (la maggior parte funziona alla tensione nominale di 5 V) e il secondo è l'intervallo di tensione di ingresso del microprocessore principale (3,3 V o 5 V). Poiché il controller di volo è un dispositivo integrato, devi solo prestare attenzione all'intervallo di tensione di ingresso del controller. La maggior parte dei controllori di volo UAV multi-rotore funziona a 5V, poiché questa tensione è generata dal BEC (vedere la sezione " Powerplant" per ulteriori informazioni).

Ripetiamo. Idealmente, non è necessario alimentare il controller di volo separatamente dalla batteria principale. L'unica eccezione è se è necessaria una batteria di backup nel caso in cui la batteria principale emetta così tanta energia che il BEC non può generare abbastanza corrente / tensione, causando così un'interruzione dell'alimentazione / un ripristino. Ma, in questo caso, i condensatori vengono spesso utilizzati al posto di una batteria di backup.

Sensori

Da un punto di vista hardware, un controllore di volo è essenzialmente un microcontrollore programmabile convenzionale, solo con sensori speciali a bordo. Come minimo, il controller di volo includerà un giroscopio a 3 assi, ma nessun livellamento automatico. Non tutti i controllori di volo sono dotati dei seguenti sensori, ma possono anche includerne una combinazione:

  • Accelerometro: Come suggerisce il nome, gli accelerometri misurano l'accelerazione lineare su tre assi (chiamiamoli: X, Y e Z). Solitamente misurato in "G (in russo. Idem)". Il valore standard (normale) è g = 9,80665 m/s². Per determinare la posizione, l'uscita dell'accelerometro può essere integrata due volte, anche se a causa delle perdite in uscita l'oggetto può essere soggetto a deriva. La caratteristica più significativa degli accelerometri a tre assi è che registrano la gravità e, come tali, possono sapere in quale direzione "scendere". Questo gioca un ruolo importante nel garantire la stabilità dell'UAV multi-rotore. L'accelerometro deve essere montato sul controller di volo in modo che gli assi lineari coincidano con gli assi principali del drone.

  • Giroscopio: Il giroscopio misura la velocità di variazione degli angoli lungo tre assi angolari (diciamo li chiamiamo: alfa, beta e gamma). Solitamente misurato in gradi al secondo. Nota che il giroscopio non misura direttamente gli angoli assoluti, ma puoi iterare per ottenere un angolo che, come l'accelerometro, incoraggi la deriva. L'uscita di un vero giroscopio tende ad essere analogica o I2C, ma la maggior parte delle volte non è necessario preoccuparsi di questo, poiché tutti i dati in ingresso vengono elaborati dal codice del controllore di volo. Il giroscopio deve essere installato in modo che il suo asse di rotazione coincida con l'asse dell'UAV.

  • Unità di misura inerziale (IMU): L'IMU è essenzialmente una piccola scheda che contiene sia un accelerometro e un giroscopio (di solito multiasse). La maggior parte di questi include un accelerometro a tre assi e un giroscopio a tre assi, altri possono includere sensori aggiuntivi, come un magnetometro a tre assi, fornendo un totale di 9 assi di misurazione.

  • Bussola / Magnetometro: Una bussola magnetica elettronica in grado di rilevare il campo magnetico terrestre e utilizzare questi dati per determinare la direzione della bussola del drone (relativa al polo nord magnetico). Questo sensore è quasi sempre presente se il sistema ha un ingresso GPS ed è disponibile da uno a tre assi.

  • Pressione/Barometro: Poiché la pressione atmosferica cambia con la distanza dal livello del mare, è possibile utilizzare un sensore di pressione per ottenere una lettura abbastanza accurata dell'altitudine dell'UAV. Per calcolare l'altitudine più accurata, la maggior parte dei controllori di volo riceve dati contemporaneamente da un sensore di pressione e da un sistema di navigazione satellitare (GPS). Durante il montaggio, si prega di notare che è preferibile che il foro nella cassa del barometro sia stato coperto con un pezzo di gommapiuma per ridurre l'effetto negativo del vento sul chip.

  • GPS: Global Positioning System (GPS) per determinare il tuo posizione geografica specifica, utilizza segnali inviati da diversi satelliti in orbita attorno alla Terra. Il controller di volo può avere sia un modulo GPS integrato che uno collegato via cavo. L'antenna GPS non deve essere confusa con il modulo GPS stesso, che può sembrare una piccola scatola nera o una normale antenna "Duck". Per ottenere dati di posizione accurati, il modulo GPS deve ricevere dati da più satelliti e più sono, meglio è.

  • Distanza: I sensori di distanza sono sempre più utilizzati sui droni poiché le coordinate GPS e i sensori di pressione non possono dirlo tu quanto sei lontano da terra (collina, montagna o edificio), o se ti scontrerai con un oggetto o meno. Il sensore di distanza rivolto verso il basso può essere basato su tecnologia ultrasonica, laser o lidar (i sensori IR possono presentare problemi alla luce del sole). I sensori di distanza sono raramente inclusi di serie con un controller di volo.

Modalità di volo

Di seguito è riportato un elenco delle modalità di volo più popolari, tuttavia, non tutte potrebbero essere disponibili in controllori di volo... La "modalità di volo" è il modo in cui il controllore di volo utilizza i sensori e i comandi radio in arrivo per stabilizzare e far volare l'UAV. Se l'apparecchiatura di controllo utilizzata dispone di cinque o più canali, l'utente può configurare il software, che gli consentirà di cambiare modalità tramite il 5° canale (interruttore ausiliario) direttamente durante il volo.

  • ACRO - di solito la modalità predefinita, di tutti i sensori disponibili, il controllore di volo utilizza solo il giroscopio (il drone non può livellarsi automaticamente). Rilevante per il volo sportivo (acrobatico).
  • ANGOLO - modalità stabile; di tutti i sensori disponibili, il controllore di volo utilizza un giroscopio e un accelerometro. Gli angoli sono limitati. Manterrà il drone in posizione orizzontale (ma senza mantenere la posizione).
  • HORIZON - combina la stabilità della modalità "ANGLE", quando le levette sono vicine al centro e si muovono lentamente, e le acrobazie della modalità "ACRO" quando gli stick sono nelle posizioni estreme e si muovono rapidamente. Il controllore di volo utilizza solo il giroscopio.
  • BARO (Altitude Hold) - modalità stabile; di tutti i sensori disponibili, il controllore di volo utilizza un giroscopio, un accelerometro e un barometro. Gli angoli sono limitati. Il barometro viene utilizzato per mantenere una certa altitudine (fissa) quando non vengono impartiti comandi dall'apparecchiatura di controllo.
  • MAG (Heading Hold) - modalità di blocco della direzione (direzione bussola), il drone manterrà l'orientamento di imbardata. Di tutti i sensori disponibili, il controllore di volo utilizza un giroscopio, un accelerometro e una bussola.
  • HEADFREE (CareFree, Headless) - elimina il tracciamento dell'orientamento (yaw) del drone e consente quindi di spostarsi in direzione 2D in base al movimento ROLL / PITCH stick di controllo. Di tutti i sensori disponibili, il controllore di volo utilizza un giroscopio, un accelerometro e una bussola.
  • GPS / Ritorno a casa - Utilizza automaticamente la bussola e il GPS per tornare alla posizione di decollo. Di tutti i sensori disponibili, il controller di volo utilizza un giroscopio, un accelerometro, una bussola e un modulo GPS.
  • GPS / Waypoint - consente al drone di seguire autonomamente i punti GPS preimpostati. Di tutti i sensori disponibili, il controller di volo utilizza un giroscopio, un accelerometro, una bussola e un modulo GPS.
  • GPS / Mantenimento posizione - mantiene la posizione corrente utilizzando il GPS e il barometro (se disponibile). Di tutti i sensori disponibili, il controller di volo utilizza un giroscopio, un accelerometro, una bussola e un modulo GPS.
  • Failsafe - se non sono state specificate altre modalità di volo, il drone passa alla modalità Acro. Di tutti i sensori disponibili, solo il giroscopio è utilizzato dal controllore di volo. Rilevante in caso di guasti al software del drone, permette di ripristinare il controllo sull'UAV utilizzando i comandi precedentemente preimpostati.

Software

Regolatore PID (assegnazione e impostazione)

Proporzionale integrale derivato (PID) o Proportional-Integral-Derivative (PID) è un software di controllo di volo che legge i dati dai sensori e calcola la velocità con cui i motori devono ruotare per mantenere la velocità desiderata dell'UAV.

Gli sviluppatori di UAV pronti al volo tendono a ottimizzare in modo ottimale i parametri del controller PID, motivo per cui la maggior parte dei droni RTF sono perfettamente pilotati fin dall'inizio. Cosa non si può dire degli assemblaggi UAV personalizzati, dove è importante utilizzare un controller di volo universale adatto a qualsiasi assemblaggio multi-rotore, con la possibilità di regolare i valori PID fino a quando non soddisfano le caratteristiche di volo richieste dall'utente finale.

GUI

Interfaccia utente grafica (GUI) o interfaccia utente grafica È ciò che viene utilizzato per modificare visivamente il codice (utilizzando un computer) che verrà caricato nel controller di volo. Il software fornito con i controllori di volo continua a migliorare; i primi controllori di volo utilizzavano principalmente interfacce basate su testo, che richiedevano agli utenti di comprendere quasi tutto il codice e modificare sezioni specifiche per adattarsi al design. Recentemente, la GUI ha utilizzato interfacce grafiche interattive per rendere più semplice per l'utente la configurazione dei parametri necessari.

Funzionalità aggiuntive

Il software utilizzato su alcuni controllori di volo potrebbe avere funzionalità aggiuntive non disponibili per altri. La scelta di un particolare controllore di volo può dipendere in ultima analisi dalle caratteristiche/funzionalità aggiuntive offerte dallo sviluppatore. Queste funzioni possono includere:

  • Navigazione Waypoint Autonoma - Consente all'utente di impostare waypoint GPS che il drone seguirà autonomamente.
  • Orbita - movimento del drone attorno a una data coordinata GPS, dove la parte anteriore del drone è sempre diretta verso la data coordinata (rilevante per le riprese).
  • Follow me - molti UAV hanno una funzione “Follow Me”, che può essere basata sul posizionamento satellitare (ad esempio, il tracciamento delle coordinate GPS di uno smartphone, o un modulo integrato nel apparecchiature di controllo GPS).
  • Immagine 3D - La maggior parte delle immagini 3D viene scattata dopo il volo utilizzando immagini e dati GPS acquisiti durante il volo.
  • Open Source - Il software di alcuni controllori di volo non può essere modificato/configurato. I prodotti open source generalmente consentono agli utenti esperti di modificare il codice in base alle proprie esigenze specifiche.

Comunicazioni

Radiocomando (RC)

Il radiocomando tipicamente include trasmettitore RC/RC trasmettitore (in hobby senza equipaggio - apparecchiature di controllo radio / telecomando) e ricevitore RC (ricevitore RC)

  • Throttle/Elevation
  • Yaw
  • Pitch
  • ​​
  • Roll

Tutti gli altri canali disponibili possono essere utilizzati per azioni come:

  • Inserimento (inserimento o inserimento) / Disinserimento (disinserimento o disinserimento) - inserimento/disinserimento motori...
  • Controllo del gimbal (panoramica su/giù, rotazione in senso orario/antiorario, zoom)
  • Modifica modalità di volo (ACRO/ANGOLO, ecc.)
  • Attivazione/attivazione del carico utile (paracadute, buzzer o altro dispositivo)
  • Qualsiasi altra applicazione

La maggior parte degli utenti (piloti UAV) preferisce il controllo manuale, questo dimostra ancora una volta che il pilotaggio con l'attrezzatura di controllo è ancora la scelta numero uno. Di per sé, il ricevitore RC trasmette semplicemente i valori provenienti dal trasmettitore RC, il che significa che non può controllare il drone. Il ricevitore RC deve essere collegato a un controller di volo, che a sua volta deve essere programmato per ricevere segnali RC. Ci sono pochissimi controllori di volo sul mercato che accettano comandi radio in arrivo direttamente dal ricevitore e la maggior parte dei PC fornisce persino alimentazione al ricevitore da uno dei pin. Ulteriori considerazioni nella scelta di un telecomando includono:

  • Non tutti i trasmettitori RC possono fornire l'intera gamma di segnali RC da 500 ms a 2500 ms; alcuni limitano artificialmente questo raggio, poiché la maggior parte degli RC in uso sono per auto radiocomandate, aeroplani ed elicotteri.
  • Intervallo/Max. portata d'aria (misurata in piedi o metri) I sistemi RC-non sono quasi mai forniti dai produttori, poiché questo parametro è influenzato da molti fattori come rumore, temperatura, umidità, carica della batteria e altri.
  • Alcuni sistemi RC dispongono di un ricevitore che dispone anche di un trasmettitore integrato per la trasmissione dei dati dal sensore (ad es. coordinate GPS), che verranno quindi visualizzati sul display LCD del trasmettitore RC.

Bluetooth

I prodotti Bluetooth e successivi BLE (Bluetooth Low Energy) erano originariamente destinati al trasferimento di dati tra dispositivi senza associazione o frequenza corrispondenza. Alcuni controllori di volo disponibili in commercio possono inviare e ricevere dati in modalità wireless tramite una connessione Bluetooth, facilitando la risoluzione dei problemi sul campo.

Wi-Fi

Il controllo Wi-Fi viene solitamente ottenuto tramite un router Wi-Fi, computer (inclusi laptop, desktop, tablet) o smartphone. Il Wi-Fi è in grado di far fronte sia alla trasmissione dati che allo streaming video, ma allo stesso tempo questa tecnologia è più difficile da configurare/implementare. Come per tutti i dispositivi Wi-Fi, la distanza è limitata dal trasmettitore Wi-Fi.

Radiofrequenza (RF o RF)

Il controllo della radiofrequenza (RF) in questo contesto si riferisce al trasferimento wireless di dati da un computer o microcontrollore a un aeromobile utilizzando un trasmettitore/ricevitore RF (o ricetrasmettitore dual-band). L'utilizzo di un'unità RF convenzionale collegata a un computer consente la comunicazione bidirezionale su lunghe distanze con un'elevata densità di dati (solitamente in formato seriale).

Smartphone

Sebbene questo non sia un tipo di comunicazione, la domanda stessa è come controllare un drone che utilizza uno smartphone, abbastanza per dargli una sezione separata. Gli smartphone moderni sono essenzialmente computer potenti che, per coincidenza, possono anche effettuare chiamate telefoniche. Quasi tutti gli smartphone hanno un modulo Bluetooth integrato oltre che un modulo WiFi, ognuno dei quali serve per controllare il drone e/o ricevere dati e/o video.

Infrarossi (IR)

telecomando TV) è raramente utilizzato per controllare i droni, poiché anche nelle stanze ordinarie (per non parlare degli spazi aperti) c'è così tanta interferenza a infrarossi che non è molto affidabile. Nonostante il fatto che la tecnologia possa essere utilizzata per controllare l'UAV, non può essere offerta come opzione principale.

Considerazioni aggiuntive

Funzionalità: I produttori di controllori di volo di solito cercano di fornire quante più funzioni possibili - sono inclusi per impostazione predefinita o acquistati separatamente come opzioni / componenti aggiuntivi. Di seguito sono riportate solo alcune delle numerose funzionalità aggiuntive che potresti voler dare un'occhiata quando confronti i controllori di volo.

Smorzamento: Anche piccole vibrazioni nel telaio, solitamente causate da rotori e/o motori sbilanciati, possono essere rilevate dall'accelerometro integrato, che a sua volta invierà i segnali appropriati al processore principale, che intraprenderà le azioni correttive. Queste piccole correzioni non sono necessarie o non sono desiderabili per un volo stabile ed è meglio mantenere il controller di volo in vibrazione il meno possibile. Per questo motivo, spesso vengono utilizzati antivibranti / ammortizzatori tra il controller di volo e il telaio.

Involucro: L'involucro protettivo intorno al controllore di volo può essere d'aiuto in una varietà di situazioni. Oltre ad essere esteticamente più gradevole di un PCB nudo, un involucro spesso fornisce un certo livello di protezione elettrica. elementi, nonché una protezione aggiuntiva in caso di incidente.

Montaggio: Esistono vari modi per montare il controller di volo sul telaio e non tutti i controller di volo hanno le stesse opzioni di montaggio:

  1. Quattro fori a una distanza di 30,5 mm o 45 mm l'uno dall'altro al quadrato.
  2. Fondo piatto da utilizzare con un adesivo.
  3. Quattro fori in un rettangolo (standard non installato).

Community: Dal momento che stai costruendo un drone personalizzato, partecipare a una community online può aiutarti molto, soprattutto se incontri problemi o vuoi consigli. Può essere utile anche ricevere consigli dalla community o visualizzare il feedback degli utenti in merito alla qualità e alla facilità d'uso dei diversi controllori di volo.

Accessori: Per l'utilizzo completo del prodotto, oltre al controller di volo stesso, potrebbero essere necessari articoli correlati (accessori o opzioni). Tali accessori possono includere, ma non sono limitati a: Modulo GPS e/o antenna GPS; cavi; accessori di montaggio; schermo (LCD/OLED);

Esempio

Quindi, con tutti questi diversi confronti, quali informazioni puoi ottenere sul controllore di volo e cosa potrebbe includere il controllore di volo? Abbiamo scelto Quadrino Nano Flight Controller

Processore principale

ATMel integrato ATMega2560 è uno dei più potenti chip ATMel compatibili con Arduino. Sebbene abbia un totale di 100 pin, inclusi 16 canali analogico-digitali e cinque porte SPI, a causa delle sue dimensioni ridotte e dell'uso previsto come controller di volo, solo alcuni di essi sono presenti sulla scheda.

  • AVR vs PIC: AVR
  • Processore: 8 bit
  • Frequenza operativa: 16 MHz
  • Memoria di programma/Flash: 256 KB
  • SRAM: 8KB
  • EEPROM: 4KB
  • Pin I/O aggiuntivi: 3 × I2C; 1 × UART; 2 × GPIO a 10 pin; Servo con 5 uscite; Porta OLED
  • Convertitore A/D: 10-bit

Sensori

Quadrino Nano include il chip IMU MPU9150, che include un giroscopio a 3 assi, un accelerometro a 3 assi e un magnetometro a 3 assi. Ciò aiuta a mantenere la scheda abbastanza piccola senza sacrificare la qualità del sensore. Il barometro MS5611 fornisce i dati sulla pressione ed è ricoperto da un pezzo di schiuma. GPS integrato Venus 838FLPx con antenna GPS esterna (inclusa).

Software

Il Quadrino Nano è stato costruito specificamente per utilizzare l'ultimo software MultiWii (basato su Arduino). Invece di modificare direttamente il codice Arduino, è stato creato un software separato e più grafico.

Comunicazione

  • Ingresso diretto dal ricevitore RC standard.
  • Porta ricevitore satellitare Spektrum dedicata
  • Seriale (SBus e/o Bluetooth o radio 3DR)

Fattori aggiuntivi

  1. Custodia: Custodia protettiva traslucida inclusa di serie
  2. Montaggio: Esistono due modi principali per fissare il Quadrino Nano a drone: viti e dadi o adesivo in gommapiuma.
  3. Design compatto: il controller stesso (esclusa l'antenna GPS) misura 53x53 mm.

.