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

lesto:
Rieccomi!!
SAREBBE MOLTO GRADITO UN TEST DA PARTE VOSTRA, E MAGARI UN PROGRAMMA SIMILE CON FILTRO DI KALLMANN PER FARE UN CONFRONTO OGGETTIVO (ma quì mi sa che devo aspettare astro)

Prima di fine settimana non posso mettermi a fare nessun test, però la provo sicuramente e ti faccio sapere, pure io sono curioso di fare un confronto con il Kalman, mi hai appena dato un valido motivo per accelerare i tempi :slight_smile:

@lesto: ma il lavoro che stai facendo è un nuovo codice da sostituire al Multiwii??? comunque complimenti per il lavoraccio

Volevo chiedere una delucidazione sul bus I2C: nel concetto di bus non si ragiona sul fatto che c'è il bus e tutti i dispositivi I2C vanno collegati al bus allo stesso modo? cioè posso mettere in comune SDA del WM+ e SDA dell'ADXL345 e poi collegarlo ad arduino? stessa cosa per SCL 3,3V e GND?

Con l'ADXL 345 devi collegarti nei pin che sarebbero destinati al connettore del nunchuk....

cavde:
@lesto: ma il lavoro che stai facendo è un nuovo codice da sostituire al Multiwii??? comunque complimenti per il lavoraccio

non è da sostituire al multiwi... quando ho iniziato a vedere il quadricoso volevo farmi da solo anche il codice. E già che c'ero ho implementato questo nuovo algoritmo (DCM) al posto del "vecchio" (kallmann). Effettivamente non si sà chi il migliore, so solo che la SQRT mi porta via quasi 1/4 di memoria per lo sketch..
grazie per i complimenti, gira e rigira son ormai 2 anni che ci sto dietro :slight_smile:

cavde:
Volevo chiedere una delucidazione sul bus I2C: nel concetto di bus non si ragiona sul fatto che c'è il bus e tutti i dispositivi I2C vanno collegati al bus allo stesso modo? cioè posso mettere in comune SDA del WM+ e SDA dell'ADXL345 e poi collegarlo ad arduino? stessa cosa per SCL 3,3V e GND?

si, GND è un caso particolare perchè è il valore di riferimento per il voltaggio. Il resto è come dici te, l'importante è che i componenti NON abbiano lo stesso indirizzo I2C. In alcuni può essere settato usando dei jumper, in altri te le davi cavare in altro modo (come per esempio col WMP e il Nunkuck). I sensori da te citati dovrebbero funzionare tranquillamente insieme.

ratto93:
Con l'ADXL 345 devi collegarti nei pin che sarebbero destinati al connettore del nunchuk....

assolutamente no, il nun è un caso a parte che usa un protocollo proprietario della sony

E qundi vanno collegati in parallelo ?
Scusate per la baggianata....

vorrei dare un consiglio.

visot che sia astro che lesto stanno facendo il loro software non è meglio creare un altro sotto-topic discutendone e lasciando qui i problemi di collegamento/calibrazione delle IMU?

ratto93:
E qundi vanno collegati in parallelo ?
Scusate per la baggianata....

Si vanno in parallelo :slight_smile:

superlol:
vorrei dare un consiglio.

visot che sia astro che lesto stanno facendo il loro software non è meglio creare un altro sotto-topic discutendone e lasciando qui i problemi di collegamento/calibrazione delle IMU?

in teoria siete voi gli off topic, visto che i vostri problemi sono riguardanti un software specifico, multiwii, e non generici :grin:

a me fa comodo sentire le vostre lamentele, così so cosa devo implementare a lato GUI per semplificarvi la vita, e magari altri si interessano a cosa succede veramente all'interno del codice, e questi esempi in realtà possono essere visti come tutorial avanzati (ma non troppo)

Ho appena fatto qualche prova... il risultato è che se acellero piano piano inizia a ballare su un lato allota con le altre leve stabilizzo il tutto continuo ad acellerare e parte di colpo rovesciandosi su di un lato.. risultato ? ho fatto fuori 4 eliche .... ho come l'impressione di doverne ordinare un camion prima di riuscire ad usarlo per bene...

che valori PID hai usato? come li hai trovati?

ratto93:
Ho appena fatto qualche prova... il risultato è che se acellero piano piano inizia a ballare su un lato allota con le altre leve stabilizzo il tutto continuo ad acellerare e parte di colpo rovesciandosi su di un lato.. risultato ? ho fatto fuori 4 eliche .... ho come l'impressione di doverne ordinare un camion prima di riuscire ad usarlo per bene...

Come ti capisco...
Allora... Verifica esattamente l'orientamento di motori ed eliche per prima cosa. Poi controlla di aver quantomeno fissato bene il giroscopio, a me dava esattamente lo stesso effetto per le prime prove che l'avevo lasciato un po' a caso.
Per i PID, io, non li ho ancora valutati... pensavo fossero raffinatezze per il dopo volo...
F

Federico:

ratto93:
Ho appena fatto qualche prova... il risultato è che se acellero piano piano inizia a ballare su un lato allota con le altre leve stabilizzo il tutto continuo ad acellerare e parte di colpo rovesciandosi su di un lato.. risultato ? ho fatto fuori 4 eliche .... ho come l'impressione di doverne ordinare un camion prima di riuscire ad usarlo per bene...

Per i PID, io, non li ho ancora valutati... pensavo fossero raffinatezze per il dopo volo...

Motori ed Eliche giurano e sono fissati correttamente... il Gyro è perfettamente ancorato così come tutto il resto dell'elettronica...

Per il PID come federico non c'ho messo mano...

ragazzi il PID e' la base del volo.

in pratica una volta che la IMU trova lo sfaso rispetto all'orientamento che desiderate, come fa a sapere quanto impulso PPM deve dare al motore?

In teoria qu= dovrebbe scendere in campo la fisica con forza torcente, momento angolare, aggiungere iterazioni con l'esterno come vento, densità dell'aria, etc..
Sia matematicamente sia dal punto di vista del micro e' un lavoro immane, difficile e delicato.

e qui entra in gioco il PID. Legate il vostro quad per un braccio al suolo, in modo che possa basculare, per esempio a destra e sinistra. tenetelo dritto, accendete, quando ha finito di fare le varie configurazioni di giroscopi e accelerometri, allora potete lasciarlo penzolare. Mettete P, I e D a 0. aumentate la P finche on inizia a sollevarsi, aumentate finché non continua a fare destra sinistra, il valore in mezzo e il valore P. Il P dice che se il quad e' inclinato di X rispetto all'angolo desiderato, il motore deve spingere di X*P
La I dice che piu tempo sta su un lato, piu forte deve essere la spinta. In pratica e' la somma delle X * I, di solito si da un limite a questa somma se no puo dare problemi di overflow.
Infine la D serve per far rallentare dolcemente il quad quando si avvicina all'inclinazione desiderata, in pratica e' la X attuale meno la X precedente *D

In pratica il PID cerca di dare risultati il piu possibile simili alla fisica senza il bisogno di troppe seghe mentali, ed e' largamente utilizzato in molti processi industriali e non.

Se voi non trovate i giusti valori PID per il VOSTRO quad, non volerete MAI!

Grazie della piccola guida :wink:
Domani provo se riesco.. se riesco faccio un video dell'operazione di taratura che potrebbe venire utile...

lesto:
ragazzi il PID e' la base del volo.
e qui entra in gioco il PID. Legate il vostro quad per un braccio al suolo, in modo che possa basculare, per esempio a destra e sinistra. tenetelo dritto, accendete, quando ha finito di fare le varie configurazioni di giroscopi e accelerometri, allora potete lasciarlo penzolare. Mettete P, I e D a 0. aumentate la P finche on

Scusa lesto ma da questa descrizione non si capisce una mazza... Lo lego per un braccio al suolo? Puo' girare comunque come vuole schiantantosi di sicuro.. Lo lascio penzolare? Ma non era legato al suolo? E poi cosa significa che se alzo P si solleva e va a destra e sinistra!?

Mi pare una cosa importante ma non la capisco da questa tua descrizione. Io avevo letto questa:
http://www.baronerosso.it/forum/modelli-multirotori/207249-pid-tuning-c-come-settare-i-parametri-del-vostro-multiwii.html

Forse questo PID puo' influire sul post che ho scritto qui?

Con due topic non si capisce una mazza...

Federico:
Mi pare una cosa importante ma non la capisco da questa tua descrizione. Io avevo letto questa:
http://www.baronerosso.it/forum/modelli-multirotori/207249-pid-tuning-c-come-settare-i-parametri-del-vostro-multiwii.html

Segui quella guida.

Federico:
Scusa lesto ma da questa descrizione non si capisce una mazza... Lo lego per un braccio al suolo? Puo girare comunque come vuole schiantantosi di sicuro.. Lo lascio penzolare? Ma non era legato al suolo? E poi cosa significa che se alzo P si solleva e va a destra e sinistra!?

un braccio va da motore a motore. quindi in pratica leghi un motore a terra, e pure il suo opposto, ma ci metti sotto dei rialzi cosi che il quad, anche se ancorato, può roteare o sul roll o sul pitch

Federico:
Mi pare una cosa importante ma non la capisco da questa tua descrizione. Io avevo letto questa:
http://www.baronerosso.it/forum/modelli-multirotori/207249-pid-tuning-c-come-settare-i-parametri-del-vostro-multiwii.html

quella guida e' migliore :slight_smile:

Federico:
Forse questo PID puo' influire sul post che ho scritto qui?
[Multicotteri]Elettronica di potenza e telai : Batterie - ESC -Motori e cablaggi - #30 by federico0 - Megatopic - Arduino Forum
Con due topic non si capisce una mazza...

no, secondo me e' normale che trasli ma non ho mai volato...

Log di questa sera...

Volo acro: ancora non sta fermo da solo, trimmarlo in questo modo mi pare un miraggio e inizio a chiedermi se sia davvero possibile. Nessun lavoro sui pid. Pilotarlo non e' facile, leggete sotto...

Volo stabile: un disastro. Appena accendo l'accelerometro inizia a traballare vistosamente! Inizio a domandarmi se non sia il caso di passare al 345 che e' direttamente previsto dal codice del multiwii. Per quale motivo puo' traballare cosi!? Gia' al banco notavo che accendendo l'accelerometro i motori danno un po' di matto e stasera ne ho avuto conferma.

Miglioro nel volo acro, adesso 20 secondi sta su :slight_smile: MA mi e' scappato via il quadri, si e' ribaltato su una zona del parco dove ci sono le panchine e una specie di rete che tiene l'erba. Risultato?
3 eliche rotte
Chassis piegato
1 motore piegato
Arduino si e' staccato dallo shield e l'ho dovuto cercare in giro...

Lo chassis l'ho rimesso in sesto, le eliche le aggiungo alla collezione (ma non posso andare avanti a 1 o piu' eliche al giorno) l'elettronica devo trovare il modo di proteggerla per forza a questo punto e non ultimo mi chiedo se il motore piegato posso ripararlo... Forse e' piegato solo l'albero e quindi mi fa vedere le due parti del motore disassate?

Federico:
Volo acro: ancora non sta fermo da solo, trimmarlo in questo modo mi pare un miraggio e inizio a chiedermi se sia davvero possibile. Nessun lavoro sui pid. Pilotarlo non e' facile, leggete sotto...

Fermo da solo non ci starà mai in modo acro, per i mezzi ad ala rotante è normale "scivolare" in una qualche direzione, per tenerlo fermo è necessario un lavoro continuo sullo stick controllo direzioni anticipando il movimento, una cosa che si impara a fare col tempo e con l'esercizio.
Per come vengono utilizzati i sensori dal MultiWii anche in modo stabile è impossibile che il quadri stia fermo da solo pure se utilizzi la full imu, anzi in caso di forze esterne che tendono a spostarlo, p.e. il vento, il quadri scivolerà via nella direzione della forza come una saponetta sul bagnato.
Ovviamente è possibile avere un modo volo specifico per l'hovering che tieni il quadri perfettamente fermo e a quota costante, serve un sensore aggiuntivo per misurare la distanza dal suolo, ma multiwii non lo prevede.

Volo stabile: un disastro. Appena accendo l'accelerometro inizia a traballare vistosamente! Inizio a domandarmi se non sia il caso di passare al 345 che e' direttamente previsto dal codice del multiwii.

Problemi di dinamica e setup sull'accelerometro.

Forse e' piegato solo l'albero e quindi mi fa vedere le due parti del motore disassate?

Una delle cose che avevo consigliato fin da subito quando si è iniziato a parlare dei quadri era di acquistare qualche albero di ricambio, costano pochi Euro, per i motori, in caso di impatto si piegano pure loro.

astrobeed:

Volo stabile: un disastro. Appena accendo l'accelerometro inizia a traballare vistosamente! Inizio a domandarmi se non sia il caso di passare al 345 che e' direttamente previsto dal codice del multiwii.

Problemi di dinamica e setup sull'accelerometro.

Riesci a spiegarmi meglio cosa significa, e cosa devo verificare? Come ne vengo a capo? :slight_smile:

Forse e' piegato solo l'albero e quindi mi fa vedere le due parti del motore disassate?

Una delle cose che avevo consigliato fin da subito quando si è iniziato a parlare dei quadri era di acquistare qualche albero di ricambio, costano pochi Euro, per i motori, in caso di impatto si piegano pure loro.

E infatti, seguendo il tuo consiglio, ho gli alberi di ricambio! Mi ha fatto un po' impressione vederlo in quello stato ma dopo averlo smontato ho visto che si trattava per l'appunto dell'albero.

Certo che non e' proprio semplice da gestire questo mezzo (e se lo spacco ogni volta che lo uso, e' pure un debito)... Vorrei provare a verificare sti pid qui...