[Multicotteri] Elettronica : IMU, MCU, Sensori ed algoritmi di controllo

visto che ti sei buttato in un hoby non prorpio low-cost (preperati a spenderci 300€ per avere un sistema decente) tanto vale che per ora inizi ad usare un software con arduino, che credimi torna sempre utle in mille modi differenti.. Iniziare a prendere la mano con il mezzo, vedere che funziona è già un buon punto di partenza :)

Poi io e astro stiamo esplorando una piccola boarda da una decina di euri che contiene già parte dei sensori necessari, ma oer cui non esiste ancora nesun software. Quindi mentre ti prepari il tuo quad al volo e inizi ad inaugurarlo, inizieranno (si spera) ad essere presenti dei software per la nuova scheda, e il passaggio sarà anche molto economico.

Poi con il tuo arduino, data la sua facilità di programmazione rispetto al nuovo sistema, potrai iniziare a buttare giù il codice per sensori di ostacoli, altezza, sonar, radar e ciò che più ti aggrada, e quando avrai un sistema funzionante potrai più facilmente unificare il codice con quello della board più avanzata.

ah proposito, molti SW per quad occupano quasi tutto lo spazio di memoria dell'arduino, quindi anche se sono modificabili non c'è molto spazio per giocare..

Ma poi dovrei scrivere tutta la gestione di questi sensori a mano? Mi puace programmare ma ho letto che si sfocia anche nella matematica e non avrei molto tempo per arrovellarmi sulle formule e in problemi che sono gia stati risolti. Mi sa che do retta a astrobeed e lascio perdere arduino in quanto vorrei poi fare FPV e se devo cambiare tutto tanto vale iniziare subito con altro hardware. Cosa mi consigliate quindi al posto di arduino?

che io sappia non esiste nessun sistema già fatto al di fuori del parrot-drone.

quindi o “perderdi tempo” con la matematica, o apsetti qualche anno che qualcun’altro lo faccia al tuo posto :grin:

lesto: visto che ti sei buttato in un hoby non prorpio low-cost (preperati a spenderci 300€ per avere un sistema decente) tanto vale che per ora inizi ad usare un software con arduino, che credimi torna sempre utle in mille modi differenti.. Iniziare a prendere la mano con il mezzo, vedere che funziona è già un buon punto di partenza :)

Poi io e astro stiamo esplorando una piccola boarda da una decina di euri che contiene già parte dei sensori necessari, ma oer cui non esiste ancora nesun software. Quindi mentre ti prepari il tuo quad al volo e inizi ad inaugurarlo, inizieranno (si spera) ad essere presenti dei software per la nuova scheda, e il passaggio sarà anche molto economico.

Poi con il tuo arduino, data la sua facilità di programmazione rispetto al nuovo sistema, potrai iniziare a buttare giù il codice per sensori di ostacoli, altezza, sonar, radar e ciò che più ti aggrada, e quando avrai un sistema funzionante potrai più facilmente unificare il codice con quello della board più avanzata.

ah proposito, molti SW per quad occupano quasi tutto lo spazio di memoria dell'arduino, quindi anche se sono modificabili non c'è molto spazio per giocare..

mmm intendete la discovery?ci stavo facendo nju pensierino mentre facevo al lista della spesa purtroppo ora non ho tempo di costruire un quad ho altri progetti in cantiere però mi stavo documentando epr il futuro :)

lesto: che io sappia non esiste nessun sistema già fatto al di fuori del parrot-drone.

quindi o "perderdi tempo" con la matematica, o apsetti qualche anno che qualcun'altro lo faccia al tuo posto :grin:

Va bene allora "perderò tempo io". Che piattaforma mi consigli?

Hal90001: Mi sa che do retta a astrobeed e lascio perdere arduino in quanto vorrei poi fare FPV e se devo cambiare tutto tanto vale iniziare subito con altro hardware. Cosa mi consigliate quindi al posto di arduino?

Se vuoi fare fpv Arduino va benissimo, aggiungi una imu 6 d.o.f., giroscopio + accelerometro, e sei a posto. Arduino non va bene per il volo totalmente autonomo e per la gestione di un eventuale gps, non ha la necessaria risoluzione nei calcoli che devono essere con float a 64 bit.

astrobeed:

Hal90001:
Mi sa che do retta a astrobeed e lascio perdere arduino in quanto vorrei poi fare FPV e se devo cambiare tutto tanto vale iniziare subito con altro hardware. Cosa mi consigliate quindi al posto di arduino?

Se vuoi fare fpv Arduino va benissimo, aggiungi una imu 6 d.o.f., giroscopio + accelerometro, e sei a posto.
Arduino non va bene per il volo totalmente autonomo e per la gestione di un eventuale gps, non ha la necessaria risoluzione nei calcoli che devono essere con float a 64 bit.

Ecco allora e’ quello che cerco. Tuttavia per configurare i vari giroscopi e tutti gli altri sensori esistono librerie che facilitano questo compito? Con altre schede diverse da arduino questi calcoli sono già implementati? E’ questo che voglio capire.

tutti i software arduino devi solo scegliere i sensori che stai usando e calibrare il tutto settando 3 valori (detti PID), andando un pò a caso (cerca qualche guida al riguardo, ce ne sono un sacco su google)

Se davi un'occhiata alle pagine dei progetti che ti sono stati suggeriti avresti già chioarito questo dubbio! :grin:

Hal90001: Ecco allora e' quello che cerco. Tuttavia per configurare i vari giroscopi e tutti gli altri sensori esistono librerie che facilitano questo compito?

Se usi Arduino ti conviene utilizzare un software già pronto e sicuramente funzionante, Praticamente tutti quelli che scrivono in questo topic, e negli altri due dedicati ai quadricotteri, in particolare il megatopic, ora chiuso, di oltre 100 pagine, hanno iniziato utilizzando MultiWii come software, pure io per i primi test mi sono affidato a questo programma che sebbene carente sotto vari punti di vista è funzionante e affidabile, credo sia il più utilizzato in assoluto da chi realizza un quadri basato su Arduino. In base al software che decidi di utilizzare verifichi i sensori supportati e acquisti la corretta imu, diversamente dovresti fare un enorme lavoro di adattamento, e quasi sicuramente mettere mano anche alla parte matematica che non è certo semplice da fare. In pratica se usi MultiWii e una IMU delle supportate colleghi tutto come da istruzioni, carichi il software, configuri i pochi parametri operativi, più che altro per adattare i segnali della radio con quelli attesi da MultiWii, accendi la radio, attacchi la batteria e cominci a volare subito. Attenzione che pilotare un quadri non è una cosa semplicissima da fare, sopratutto se non hai alcuna esperienza di volo rc, consigliato fare un pochino di pratica con un simulatore su pc. Sulla radio non fare economia, è la parte più importante, sopratutto se vuoi fare fpv.

Madwriter:
mmm intendete la discovery?ci stavo facendo nju pensierino mentre facevo al lista della spesa purtroppo ora non ho tempo di costruire un quad ho altri progetti in cantiere però mi stavo documentando epr il futuro :slight_smile:

Di Discovery ne esistono tre, inclusa quella in arrivo a fine mese, quale prendere dipende da cosa devi fare, il costo più o meno è identico per tutte, si va dai quasi 15 Euro per quella con il processore Cortex M4, il più potente della serie STM32, ai 11 Euro per quella con il processore più piccolo e senza nessun sensore.
La cosa stupenda di queste board è che includono un secondo STM32 che fa da programmatore e debugger hardware, ST-LINK V2, utilizzabile, spostando dei jumper, per programmare/debuggare altre board basate su STM32, in praticano ti regalano un hardware che se acquistato a parte costa quasi 30 Euro :slight_smile:

astrobeed:

Hal90001: Ecco allora e' quello che cerco. Tuttavia per configurare i vari giroscopi e tutti gli altri sensori esistono librerie che facilitano questo compito?

Se usi Arduino ti conviene utilizzare un software già pronto e sicuramente funzionante, Praticamente tutti quelli che scrivono in questo topic, e negli altri due dedicati ai quadricotteri, in particolare il megatopic, ora chiuso, di oltre 100 pagine, hanno iniziato utilizzando MultiWii come software, pure io per i primi test mi sono affidato a questo programma che sebbene carente sotto vari punti di vista è funzionante e affidabile, credo sia il più utilizzato in assoluto da chi realizza un quadri basato su Arduino. In base al software che decidi di utilizzare verifichi i sensori supportati e acquisti la corretta imu, diversamente dovresti fare un enorme lavoro di adattamento, e quasi sicuramente mettere mano anche alla parte matematica che non è certo semplice da fare. In pratica se usi MultiWii e una IMU delle supportate colleghi tutto come da istruzioni, carichi il software, configuri i pochi parametri operativi, più che altro per adattare i segnali della radio con quelli attesi da MultiWii, accendi la radio, attacchi la batteria e cominci a volare subito. Attenzione che pilotare un quadri non è una cosa semplicissima da fare, sopratutto se non hai alcuna esperienza di volo rc, consigliato fare un pochino di pratica con un simulatore su pc. Sulla radio non fare economia, è la parte più importante, sopratutto se vuoi fare fpv.

Ti ringrazio per la pazienza, va bene allora utilizzerò multiwii con imu. Sai dove la potrei acquistare in Europa quindi senza pagare spese doganali?

Hal90001: Ti ringrazio per la pazienza, va bene allora utilizzerò multiwii con imu. Sai dove la potrei acquistare in Europa quindi senza pagare spese doganali?

Evita di quotare tutto il testo, solo le parti a cui rispondi direttamente. In Europa c'è la francese Drotek che vende IMU adatte a MultiWii, questa a sei d.o.f. per il tuo scopo è perfetta, oppure prendi subito questa a 10 d.o.f, ha anche il magnetometro, il barometro altimetrico e il convertitore di livelli logici (LLC), così hai la dotazione completa di sensori e nessun problema di connessione con Arduino, tutte e due sono supportate da MultiWii.

astrobeed: In Europa c'è la francese Drotek che vende IMU adatte a MultiWii, questa a sei d.o.f. per il tuo scopo è perfetta, oppure prendi subito questa a 10 d.o.f, ha anche il magnetometro, il barometro altimetrico e il convertitore di livelli logici (LLC), così hai la dotazione completa di sensori e nessun problema di connessione con Arduino, tutte e due sono supportate da MultiWii.

Scusami, sono un neofita dei forum :( perfetto, prenderò quelle. Quindi la procedura se non sbaglio e': 1) prendere imu 2) caricare multiwii su arduino 3) programmare l'imu E poi costruire fisicamente il quadricottero giusto? Anche se ho già un'idea. In ogni modo sia multiwii che quella imu sono compatibili con arduino uno vero?

non devi programmare l'imu, ma collegarla all'arduino. La imu immaginala come una scatola chiusa che butta fuori dei dati, l'arduino li legge e li elabora, e di socnseguenza varia il tuo input della ricevente per mantrenere la stabilizzazione.

quindi: 1.colleghi la imu all'arduino 2.programmi l'arduino 3.monti l'arduino sul quad 4.setti i parametri del programma sull'arduino per rendere stabile la tua cofigurazione (il famoso pid)

il tutto cercando di non farti male, anche se piccolini questi motori e le eliche sono tranquillamente in grado di far molto male

lesto: anche se piccolini questi motori e le eliche sono tranquillamente in grado di far molto male

Ottima osservazione, i motori BLDC usati su i quadri sono da un centinaio di Watt, le eliche sono delle lame rotanti, se ti arriva addosso, ma anche infilare la mano nel disco dell'elica, può causare gravi ferite.

lesto:
il tutto cercando di non farti male, anche se piccolini questi motori e le eliche sono tranquillamente in grado di far molto male

Si me l’ero immaginato, guardo di fare attenzione. Vi tengo aggiornati nei prossimi giorni. Grazie per ora mi avete chiarito molto le idee.

astrobeed:
configuri i pochi parametri operativi, più che altro per adattare i segnali della radio con quelli attesi da MultiWii

a proposito, che valori si aspetta?
io nell’attesa di convincermi ad affrontare l’impresa sto facendo la parte di trasmissione che consiste in: joystick->python->xbee
Invio una stringa del tipo ax1by1cx1dy1 al quale si aggiunge altro se premo un bottone della pulsantiera. I valori variano da 0 a 255 perora, se potreste darmi qualche suggerimento… :slight_smile:

sciorty: io nell'attesa di convincermi ad affrontare l'impresa sto facendo la parte di trasmissione che consiste in: joystick->python->xbee

Lascia perdere, con MultiWii devi usare un vero radiocomando, pure decente, se non vuoi schiantare il quadri in meno di 0.1s :D

Ma per motivi gestionali del software o perchè la velocità di trasmissione sarebbe bassa per un quadri?

sciorty: Ma per motivi gestionali del software o perchè la velocità di trasmissione sarebbe bassa per un quadri?

Perché sei tu a dover pilotare il quadri ed è già difficile farlo con un vero radiocomando, figuriamoci con un "accrocchio" (senza offesa) di un qualche tipo. MultiWii non possiede capacità di volo autonomo inoltre si aspetta in ingresso dei segnali PPM provenienti da un radiocomando.