Sensore angoli assoluti quale consigliate

Salve mi chiamo Fabio e sono un nuovo membro del forum.
Per un progetto universitario di ingegneria dell'automazione volevo realizzare un sistema stabilizzatore per quadcotteri (in pratica voglio che resti parallelo al pavimento) utilizzando arduino on board, per tale scopo chiaramente mi serve un sensore che misuri gli angoli di eulero della struttura (i classici beccheggio rollio e imbardata per intenderci), cercando in rete e sul forum ho capito che ho tre possibilità: IMU, Giroscopio e Accelerometro.
La prima ipotesi ho capito essere la migliore ma i sensori IMU sono troppo cari per le mie tasche e il mio budget è stato già molto prosciugato dall'acquisto del velivolo, mentre sugli altri due non sono riuscito a capire chi prevale ogni post che leggo mi mette sempre più confusione nella testa e non ci capisco più nulla quindi ho bisogno del vostro aiuto.
Aspetto vostri suggerimenti saluti Fabio.

Ho fatto una ricerca in rete in proposito per tentare di capire la fattibilità di un inclinometro con precisione di 0.01 gradi. Da quanto ho capito il giroscopio misura la velocità angolare, in gradi al secondo, mentre l'accelerometro misura l'inclinazione rispetto al vettore g terrestre nei tre assi. Per ottenere i tre angoli devi fare qualche calcolo trigonometrico.
La analog devices produce dei chip integrati che danno già gli angoli e fanno anche un sacco di funzioni, ma costano (se ben ricordo) 40 e più dollari l'uno solo chip. Mi pare ci siano breakout board da 100$ in su in giro...

Fabio_automatico:
cercando in rete e sul forum ho capito che ho tre possibilità: IMU, Giroscopio e Accelerometro.

La possibilità è una sola e si chiama IMU, a sua volta è composta da un mix di giroscopi, accelerometri e magnetometri (optional, ma è meglio se c'è), il tutto condito con con matematica e fisica.

tuxduino:
Ho fatto una ricerca in rete in proposito per tentare di capire la fattibilità di un inclinometro con precisione di 0.01 gradi.

Scordatelo con sensori economici, metti in budget di spendere qualche migliaio di Euro se è un inclinometro statico, qualche decina di migliaia di Euro se è dinamico.

astrobeed:

tuxduino:
Ho fatto una ricerca in rete in proposito per tentare di capire la fattibilità di un inclinometro con precisione di 0.01 gradi.

Scordatelo con sensori economici, metti in budget di spendere qualche migliaio di Euro se è un inclinometro statico, qualche decina di migliaia di Euro se è dinamico.

Sapresti consigliarmi qualche IMU economico (non volevo spendere più di 30 euro) facilmente interfacciabile con arduino... per la matematica non ho grossi problemi però un problema del genere non l'ho mai affrontato e non so se ho le conoscenze per poterlo risolvere.

Avevo intuito che fosse una richiesta un tantino esosa :sweat_smile: non pensavo però che lo fosse così tanto.

Diciamo che in realtà ho una bolla elettronica con una cifra decimale (+-0.1°) e mi sarebbe utile passare ad esempio ad un +-0.05°...

Ho letto (mi pare su una pagina della AD) che è possibile aumentare "un po'" la precisione utilizzando più accelerometri o inclinometri e facendo una media dei loro valori. Ciò è possibile grazie al fatto che il loro rumore è di tipo gaussiano.

Appena ritrovo la pagina...

(Non che mi sia fatto l'idea che con 10 inclinometri o accelerometri si raggiungano chissà quali precisioni, è solo per capire meglio se metterne due o tre può valere la candela).

Fabio_automatico:
Sapresti consigliarmi qualche IMU economico (non volevo spendere più di 30 euro) facilmente interfacciabile con arduino... per la matematica non ho grossi problemi però un problema del genere non l'ho mai affrontato e non so se ho le conoscenze per poterlo

Il mio consiglio è di lasciar perdere Arduino è usare un processore di classe superiore, p.e. la STM32F3 Discovery di ST che è una board sulla quale trovi un processore ARM Cortex M4 dotato di fpu e una terna di sensori (gyro, accelerometro, magnetometro) a tre assi che consentono di ottenere un ottima IMU a 9 d.o.f. , il tutto con meno di 15 Euro.
Il prezzo è basso perché ST produce tutto in casa e vende la board al puro prezzo di costo, per loro è un vettore pubblicitario.
La board la trovi da RS con disponibilità immediata, per il software hai un ottimo punto di partenza con il Multipilot 32 che gira su un micro della stessa famiglia, il porting è abbastanza semplice e hanno sviluppato un ambiente di lavoro/programmazione Arduino Like.
La matematica che ti serve per gestire la IMU è il filtro di Kalman e/o la DCM, mentre per i motori ti basta un controllo pid ben fatto.

tuxduino:
Diciamo che in realtà ho una bolla elettronica con una cifra decimale (+-0.1°) e mi sarebbe utile passare ad esempio ad un +-0.05°...

Un conto è la risoluzione e un conto è la precisione, sono due cose diverse e la seconda è quella che costa molto di più :slight_smile:

Già... ora che mi ci fai pensare avevo chiesto la stessa cosa nel forum INT e sono finito a leggere la pagina di wikipedia in proposito... :stuck_out_tongue:

Mi fermo qui per non "sequestrare" il topic, intanto grazie :slight_smile:

astrobeed:

Fabio_automatico:
Sapresti consigliarmi qualche IMU economico (non volevo spendere più di 30 euro) facilmente interfacciabile con arduino... per la matematica non ho grossi problemi però un problema del genere non l'ho mai affrontato e non so se ho le conoscenze per poterlo

Il mio consiglio è di lasciar perdere Arduino è usare un processore di classe superiore, p.e. la STM32F3 Discovery di ST che è una board sulla quale trovi un processore ARM Cortex M4 dotato di fpu e una terna di sensori (gyro, accelerometro, magnetometro) a tre assi che consentono di ottenere un ottima IMU a 9 d.o.f. , il tutto con meno di 15 Euro.
Il prezzo è basso perché ST produce tutto in casa e vende la board al puro prezzo di costo, per loro è un vettore pubblicitario.
La board la trovi da RS con disponibilità immediata, per il software hai un ottimo punto di partenza con il Multipilot 32 che gira su un micro della stessa famiglia, il porting è abbastanza semplice e hanno sviluppato un ambiente di lavoro/programmazione Arduino Like.
La matematica che ti serve per gestire la IMU è il filtro di Kalman e/o la DCM, mentre per i motori ti basta un controllo pid ben fatto.

Per la matematica dovrò usare kalman è un controllo LQR che credo sai essere proprio un P con retroazione di stato, mentre la sigla DCM non so cosa sia. Per la board sinceramente mi ero orientato su arduino per la sua facilità di programmazione (essendo praticamente C) e non ho mai sentito la scheda che mi menzioni, per tua esperienza la sua programmazione è semplice e ben documentata?

Inoltre visto che sembri un esperto di sistemi automatizzati vorrei porti un altro quesito, per il mio progetto ho comprato un quadcottero da Hobby Kings fornito di motori e sistemi ESC. Essendo un ignorante in materia ho cercato in rete e ho capito che gli ESC sono i driver dei motori ma in qualsiasi forum ho cercato nessuno spiega che segnali richiede l'ESC e se va a modificare la velocità o la coppia di rotazione del motore, insomma per farla breve visto come blackbox l'ESC cosa diavolo fa

Il mio consiglio è di lasciar perdere Arduino è usare un processore di classe superiore, p.e. la STM32F3 Discovery di ST che è una board sulla quale trovi un processore ARM Cortex M4 dotato di fpu e una terna di sensori (gyro, accelerometro, magnetometro) a tre assi che consentono di ottenere un ottima IMU a 9 d.o.f. , il tutto con meno di 15 Euro.

:astonished: :astonished: