Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 05 ottobre 12, 09:22   #1 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
come da titolo ovunque viene spacciato con un accelerometro a tre assi... invece ho avuto modo di verificare che gli assi sono solo due! l'accelerometro rileva il rollio e il beccheggio, ma non rileva la roteazione! il terzo numero rileva se il Nunchuck è ribaltato o meno. Se qualcuno ha delle osservazioni prego si accomodi pure..

a presto
fausto
Attenzione che il terzo asse dà le accelerazioni sul l'asse Z (alto/basso, per intenderci) e non le rotazioni!!

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Vecchio 05 ottobre 12, 12:43   #2 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ok

confermo quello che dici ..ma lo fa anche il secondo buffer!

allora abbiamo in tutto 6 byte

byte0 = joy_x
byte1 = joy_y
byte2= acel_x gli 8 bit piu significativi
byte3= acel_y gli 8 bit piu significativi
byte4 = acel_z gli 8 bit piu significativi
byte5 = [bit 1,0 di acel_z - bit 1,0 di acel_y - bit 1,0 di acel_x - bottoneC - bottoneZ]

dunque sia l'asse y che l'asse z rilevano lo stesso asse solo che la z rileva quando il Nunchuk è ribaltato, lo stesso non rileva alcuna variazione se invece lo roteo guardandolo dall'alto.

a dopo
fausto



Citazione:
Originalmente inviato da MSchiepp Visualizza messaggio
Attenzione che il terzo asse dà le accelerazioni sul l'asse Z (alto/basso, per intenderci) e non le rotazioni!!

Michele
faustog_2 non è collegato   Rispondi citando
Vecchio 05 ottobre 12, 15:45   #3 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
L'accelerometro montato nel Nunchuck è, se non erro, un LIS3L02AL della ST con uscita analogica ratiometrica riferita ai 3,3V di alimentazione, quindi a 0g la Vxyz = 1/2Vdd ovvero 1,65V.

Il convertitore A/D del micro collegato all'accelerometro credo operi nel range numerico 0..1023 con il valore di 512 equivalente a 0g; altra possibilità è che operi fra -512 +511, il tutto è facilmente verificabile leggendo in real-time ii valori grezzi di uscita ruotando il Nunchuck di +-90° su tutti e tre gli assi e poi a +-45° sui piani xyz.

Anche il valore dell'asse Z dovrebbe passare da 256 (+1g) con dispositivo parallelo al suolo, a 512 (og) con dispositivo verticale e poi a 768 (-1g) con dispositivo ribaltato questo se il range è 0...1023 se no lascio a te il calcoletto...

Per valutare l'inclinazione dell'accelerometro nello spazio in genere si utilizza un semplice calcolo trigonometrico sui valori delle coppie di assi xz ed yz; se pur con altri sensori e micro uso questo sistema da anni per leggere l'inclinazione verticale dei pannelli FV ad inseguimento solare della baita.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 09 ottobre 12, 10:35   #4 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ok

ho seguito le linee guida, di diversi siti web.. studiando con scrupolo, il treno di byte inviato, se leggi sopra ho dato una descrizione della collocazione dei dati... però facendo le prove ho notato che se roteo l'affare guardandolo dall'alto, i tre valori non cambiano rimangono uguali... ...questo vuol dire che non viene rilevato nessuno spostamento.. qualunque possa essere la combinazione xz, xy, yx ecc... ...nn c'è movimento!



Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
L'accelerometro montato nel Nunchuck è, se non erro, un LIS3L02AL della ST con uscita analogica ratiometrica riferita ai 3,3V di alimentazione, quindi a 0g la Vxyz = 1/2Vdd ovvero 1,65V.

Il convertitore A/D del micro collegato all'accelerometro credo operi nel range numerico 0..1023 con il valore di 512 equivalente a 0g; altra possibilità è che operi fra -512 +511, il tutto è facilmente verificabile leggendo in real-time ii valori grezzi di uscita ruotando il Nunchuck di +-90° su tutti e tre gli assi e poi a +-45° sui piani xyz.

Anche il valore dell'asse Z dovrebbe passare da 256 (+1g) con dispositivo parallelo al suolo, a 512 (og) con dispositivo verticale e poi a 768 (-1g) con dispositivo ribaltato questo se il range è 0...1023 se no lascio a te il calcoletto...

Per valutare l'inclinazione dell'accelerometro nello spazio in genere si utilizza un semplice calcolo trigonometrico sui valori delle coppie di assi xz ed yz; se pur con altri sensori e micro uso questo sistema da anni per leggere l'inclinazione verticale dei pannelli FV ad inseguimento solare della baita.

faustog_2 non è collegato   Rispondi citando
Vecchio 09 ottobre 12, 10:54   #5 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Vado a memoria ma mi pare che il Nunchuck deve essere prima inizializzato inviandogli un comando particolare, solo dopo inizia ad inviare lo stato del joystick, pulsanti ed accelerometro.

In questi casi verrebbe comodo un analizzatore di protocollo come questo: Zeroplus USB2.0 logic analyzer te lo consiglio funziona bene e, costa poco.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 10 ottobre 12, 10:16   #6 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
idea

ok, non ho problemi per queste cose... dico che funziona tutto egregiamente... solo che appunto c'è un movimento su un asse al quale il nunchuk espone sempre gli stessi dati senza variazioni. segno che non rileva.. se leggi qualche posto piu indietro ho scritto la sequanza di byte e bit opportuni... Comunque è possibile creare un head track! basta acquistare un nunchuk da 9 euro, due assi sono sufficienti per rilevare il movimento della testa, poi lo stesso deve essere inviato alla presa allievo maestro di una radio TX per aeromodellismo... sui canali 6, e 7 per esempio... ..con essi si pilota la telecamera montata su due servo sull'aeromodello.. il problema è come convertire il TTL in ssegnale per la radio TX ..per il momento ho analizzato il segnale della presa allievo maestro ..

http://www.baronerosso.it/forum/circ...o-maestro.html

da esso si individua il ch6 e il ch7 per variare il segnale opportunamente modificato dal nunchuck!

ti piace l'idea?



Citazione:
Originalmente inviato da ElNonino Visualizza messaggio
Vado a memoria ma mi pare che il Nunchuck deve essere prima inizializzato inviandogli un comando particolare, solo dopo inizia ad inviare lo stato del joystick, pulsanti ed accelerometro.

In questi casi verrebbe comodo un analizzatore di protocollo come questo: Zeroplus USB2.0 logic analyzer te lo consiglio funziona bene e, costa poco.

faustog_2 non è collegato   Rispondi citando
Vecchio 11 ottobre 12, 18:24   #7 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
Ho fatto una rapidissima prova con un Nunchuk originale + scheda Arduino 2009 + IDE 1.0 sotto Ubuntu.

Ho trovato un programmino di test che ho compilato e caricato, uscita dati su seriale a 115200 baud: l'asse Z si legge eccome e varia in modo coerente.

Nel programma in questione mi pare ci siano alcune imprecisioni nella conversione dei dati ma funziona.

Ho trovato anche librerie per i PIC a 16bit e tutte confermano la lettura corretta dell'asse Z.

La cosa che non capisco è che va bene usare un accelerometro per leggere l'inclinazione della testa in avanti/indietro destra/sinistra ma per leggere la rotazione pura sarebbe meglio usare un giroscopio.

Quindi Pitch e Roll accelerometro, Yaw gyro.

IMHO

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
CNC tre assi gianluca17704 Compro 0 23 dicembre 11 22:42
Aiuto per CNC tre assi ONTRON... nemonemis CNC e Stampanti 3D 12 16 marzo 11 23:29
circuito per cnc tre assi nebraska_ CNC e Stampanti 3D 14 16 luglio 08 19:28
Galleggione a tre assi DoC Aeromodellismo Progettazione e Costruzione 37 16 giugno 04 19:59



Tutti gli orari sono GMT +2. Adesso sono le 15:47.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002