IronDrone 1.0 (Hardware) 1° Parte

Ho creato un pò di suspance su questo articolo, perchè nonostante l’idea di base molto semplice, la realizzazione vi posso assicurare che non lo è stata, creando alle volte ritardi o incazz** varie.

Ma partiamo dal principio.

L’idea.

Volevo realizzare un Drone, con parti già esistenti ma assemblato interamente da me che permettesse di avere l’appellativo di “Drone da Guardia”, ovvero la possibilità di realizzare un Drone capace di riconoscere (ad un certo evento scatenante), dopo essersi sollevato “stabilmente” 1,50m da terra, la persona che si fosse presentata davanti e dalla “condizione di riconoscimento” o meno effettuare delle “operazioni stabilite“.

Stabilmente & Condizione di riconoscimento & Operazioni stabilite.

Esaminando l’idea ho riscontrato 3 punti fondamentali tali per cui si è reso necessario un approfondimento.

Inizialmente ho acquistato su Amazon un frame da 250 ovvero un quadricottero da racing (vedi foto)

Ho installato 4 motori brushless + esc, recuperati da un vecchio drone in cantina, ho installato la raspberry pi zero w ed ho iniziato i test attraverso un piccolo programmino python che mi aiutava con i gpio ad avviare i motori e a dare loro potenza. Dopo alcuni sbattimenti e rotture di eliche (per restare in tema, ma è un dato di fatto troverete tutto sul mio account Twitter) mi sono reso conto che il piccolo raspberry pi da solo non poteva dare la necessaria stabilità al drone per potersi sollevare da terra. 

In effetti una bozza di questo piccolo programmino la troverete sul mio GitHub, adornata anche dell’utilizzo di alcuni sensori di cui avevo già postato gli articoli in precedenza.

Ovvero:

  1. Sensore di temperatura
  2. Sensore di distanza
  3. Giroscopio e accelerometro
  4. Webcam raspberry pi

Condito con una buona dose di pazienza  e con una programmazione ad hoc avrebbe potuto dare i suoi frutti, purtroppo però proprio per i motivi sopra elencati lo stesso “forse” verrà pubblicato in futuro.

Pensate che mi sia arreso? Proprio per niente.

Stabilmente:

Effettivamente per poter portare al termine una cosa del genere avrei dovuto appassionarmi (e quindi finanziarmi oltre che studiare)  alle c.d. centraline di volo.Che cosa sono? Sono dei piccoli circuiti dove all’interno sussistono tutti i sensori sopra elencati e un processore che li mette insieme in un unica sinfonia. Vi mostro qualche esempio.  

Con una giusta calibrazione degli stessi, inserendo in Flexi port il ricevitore del nostro radiocomando, il nostro drone diventa una ballerina “in aria”.

Per i settaggi vi rimando a Issam ovvero al canale di YouTube In volo con Issam

Come porterai a termine i restanti due punti dell’idea iniziale?

A questo punto, ho un paio di possibilità:

  1. (Frame 250) Pilotare e divertirmi col mio 250 da racing e sbattermene dell’idea iniziale.
  2. (Frame 250) Installare insieme alla centralina di volo (questa verrà sostituita interamente da Arduino nano, attraverso il software MultiWii) il mio piccolo raspberry che mi faccia da centralina secondaria ovvero per “riconoscimento” e “telemetria” lasciando solamente la gestione dei motori alla centralina di volo iniziale governato però dal nostro Pi.
  3. (Frame q450) Spendere qualcosina in più ed installare la centralina pixhawk 2.4.8 con gps e mavlink per collegamento con il raspberry e quindi governato dallo stesso.
  4. (Frame 250) Mettermi sotto e sviluppare il software in python di concerto con i sensori e far decollare il drone per 1 metro da terra, procedendo poi ad altri controlli.

La scelta è ricaduta sulla numero 1,2,3,4, altrimenti sarebbe stato troppo semplice.😔

A questo punto si aprono diversi scenari:

Di queste 4 soluzioni iniziali, vi dico che ho creato delle guide per ognuno, tanto da essere più preciso e dare anche a chi legge la possibilità di realizzare ciò che più aggrada senza seguire necessariamente la mia idea iniziale. Pertanto:

  • La prima è documentata sul post IronDronePi 1.0, dove ho provato a far volare il drone solamente con uno script in Python contenente la gestione del giroscopio (MPU650).
  • Dopodiché ho provato a far volare il drone con il raspberry agganciato alla centralina di volo ( creata ad hoc con arduino nano e multiwii) per l’impulso dei comandi.
    • Parte IronDroneWii 1.0
  • Ho realizzato quindi con un frame più grande il q450 un drone che volasse in via del tutto autonoma grazie alla centralina pixhawk e il nostro raspberry come gestione remota.
  • Ho montato la cc3d evolution, sostituendo quella della casa, su un eachine 250 (che avevo in cantina) ed ho inserito il GPS per un volo libero e stabile, controllato solamente dal radio comando.
    • Parte IronDroneHc 1.0

Questa è la situazione attuale, ricordandovi però che dall’idea iniziale svilupperò una sola parte che chiamerò IronDrone 1.0 (Software) dandovi quindi la possibilità di spaziare per come meglio credete.

Vi descrivo la parte Hardware (come da titolo del post) perchè essenzialmente è comune a tutti gli scenari elencati.

Il materiale.

FRAME

1) Quindi ho acquistato questo frame q450 della GOOLRC, buon compromesso di spazio e di soldini.

1) Acquistato anche il 250 frame come da prima parte dell’articolo.
1) Drone racer 250 in cantina.

MOTORI

2) Motori brushless con ESC (2212 – 1000kv) per q450

2) Motori brushless con ESC ( 2306 – 2300kv) per 250  ELICHE 3) Eliche da 9047 per q450

 3) Eliche da 5040 per 250 

DISTRIBUZIONE ALIMENTAZIONE 

4) Matek 3.1 per controllo BEC per entrambi i frame

CENTRALINE DI VOLO

5) CC3D Evo 10DOF (Ovvero con accelerometro integrato)

 5) PixHawk 2.4.8

BATTERIE 

6) Batteria LIPO 3S 11.1V da 2500 per q450

6) Batteria LIPO 3S 11.1V da 1500 per 250

COMPUTER DI BORDO

7) Arduino Nano

7)RaspBerry pi 0 w  

 7) Raspberry pi 3 b+

L’assemblaggio.

Ok mettiamo insieme tutti questi pezzi, partendo dai motori:I motori generalmente hanno 3 uscite che vanno direttamente all’ESC, ovvero:

Questi vanno collegati all’esc come segue:

 Colleghiamo il tutto come schema logico seguente (tenendo conto che le centraline sono diverse a seconda del frame),

Da tenere in considarazione che, lasciando invariato il positivo (rosso) invertendo i cavi (giallo, nero) nel nostro caso il motore invertirà la rotazione.

Dovrebbe essere abbastanza esaustivo, comunque se doveste avere problemi contattatemi.

Colleghiamo infine la raspberry. Qui sorgono due probemi, se collegarla autoalimentata tramite propria batteria oppure sfruttare il Matek hub per prendere energia dalla fin’ora unica batteria ovvero la LIPO.Bene la scelta per quanto mi riguarda è ricaduta sulla seconda, per una questione di comodità e di facilità di utilizzo. 

Ma per far ciò dobbiamo fare una piccola modifica, dobbiamo recuperare un cavo usb micro (come quello in figura) e tagliarlo tanto da poter utilizzare il cavetto NERO e ROSSO. Saldando i due cavetti (rosso sul + e nero su -) sul Matek nella posizione 5v.

Così facendo alimenteremo la nostra raspberry direttamente con la batteria centrale.

Ricapitolando, abbiamo montato il nostro frame, gli abbiamo messo i motori e gli esc e li abbiamo collegati al nostro HUB di corrente (Matek), abbiamo fatto la modifica al nostro cavetto usb micro e abbiamo alimentato anche la raspberry. 

Dobbiamo adesso alimentare il nostro HUB utilizzando (in base alla batteria) il connettore giusto, nel mio caso:

Fatto ciò non rimane che la centralina di volo, che si alimenta direttamente dagli ESC dei motori brushless, dovremmo quindi inserire sulla centralina in corrispondenza alle USCITE (1,2,3,4..8) gli spinotti degli ESC che noteremo in avanzo 😛 .  

Ok ok ci siamo, abbiamo il necessario hardware montato. Cosa manca? dobbiamo programmarli.

Vi rimando quindi agli articoli di riferimento menzionati in precedenza.