Pages: 1 [2]   Go Down
Author Topic: mpu 6050  (Read 4412 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10465
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

IMHO stessa identica cosa, sembra che anche i componenti siano gli stessi, ma solo arrangiati in modo differente.
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 520
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sul suo github non le ho trovate e per le conversioni non saprei proprio da dove cominciare... smiley-cry Dopo cena guardo meglio sulla baia smiley-wink
Logged

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 520
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, ho trovato le librerie toxi. Il problema è che mi dà tre barre verdi pependicolari tra loro con un punto rosso in comune... Per quanto ho capito comunque a me serve la conversione da valori raw alla posizione del sensore nello spazio e non ho trovato nulla come "sensor fusion"... Ho paura che dovrò accantonare questo sensore. smiley-roll-blue
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10465
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

la sensor fusion la fa già la libreria, e ti ritorna un quaternione. vedi wikipedia per sapere che un quatersione di rotazione è una rotazione su 4 assi (quindi 4 dimensioni) per evitare il problema del gimbal lock
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 520
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Visto che non ci ho capito ancora niente, vorrei almeno vedere la teiera che gira insieme al mio giroscopio. Il problema che anzichè avere una teiera vedo questo... Pubblico il codice, che è anche quello dato come esempio da jeff. Ho anche istallato le librerie toxi dal sito consigliato nei commenti...
lato Arduinohttps://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/Examples/MPU6050_DMP6/MPU6050_DMP6.ino
lato processinghttps://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/Examples/MPU6050_DMP6/Processing/MPUTeapot.pde


* Cattura.PNG (1.36 KB, 255x102 - viewed 35 times.)
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10465
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

è giousto, se vedi il codice lato processing il codice della teiere è commentato e invece crea delle figure (vedi draw() )

quel coso dovrebbe muoversi assieme al tuo sensore
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10465
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

rispondo a un messaggio di mastraa che mi chiede come convertire i valori "grezzi" (LSB) in valori "fisici" (°/S e G)
dal datasheet http://www.invensense.com/mems/gyro/documents/RM-MPU-6000A.pdf
pagina 14, registro27, puoi configurare la precisione dei dati del giroscopio: +-250°/s, +-500°/s, +-1000°/s. +-2000°/s
la pagina dopo trovi quelli degli accelerometi. Però questi sono i limiti "arrotondadi, per maggir precisione devi vedere i registri di output.

pagina 30 dice a quanti LSB corrisponde 1G(1G = gravità sulla terra, 9.8m/s^2, quindi parliamo di accelerometri)

esempio:
full scale: ±4g Sensivity 8192 LSB/g

vuol dire che se leggi 8192 hai 1g.
se leggi il valore X hai: (X/8192) = y g
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 520
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Molto bene! In effetti è in po che non prendo in mano il sensore!:D allora, se è come dici tu nel playground (http://playground.arduino.cc/Main/MPU-6050) ce scritto questo:
Code:
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 232, -432, 15100
temperature: 29.682 degrees Celsius
gyro x,y,z : 382, 232, -790,  
come si interpreta? Ci dovrebbero essere 1.5 g? Strano... Potrebbe essere però sensato perche anche glia ltri due assi hanno errori che vanno da 200 a 500 unità, magari basta cambiare la sensibilità... Per quanto riguarda invece la teiera provo a decommentare e vi so dire!
« Last Edit: September 13, 2013, 09:35:00 am by SUBSEA » Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10465
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
come si interpreta? Ci dovrebbero essere 1.5 g? Strano

bho, dipende dalla sensibilità impostata, io ne ho presa una a caso. smiley

a me sembra la sensibilità di +-2g(16384 LSB/g), quella che ho per caso riportato,
accel x,y,z: 232, -432, 15100
diventa
x = 232 /16384 = 0.01G
y = -432 /16384 = -0.02G
z = 15100 /16384 = 0.92G

il che vuol dire che quella sceda è leggermente inclinata lungo X e -Y, per questo non esce 1G dalla Z (anche se la gravità NON è uguale in tutta la terra! c'è un satellite che mappa la Gravità del pianeta, detto GRACE, le variazioni vanno da circa -15 a +15 cm di acqua equivalente, "earth now" è un app che ti mostra vari dati del genere comodi sul mappamondo)
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Full Member
***
Karma: 3
Posts: 177
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie mille...stamattina avevo provato a sfogliare il datasheet cercando una formula tipo quella che avevi dato ma nada

Gentilissimo!!!
Logged

Offline Offline
Full Member
***
Karma: 3
Posts: 177
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Torno a sfruttare il topic:

Sto cercando in internet filtri per 'pulire' i dati dal rumore. Tipo il Kalman o i complementari.
Trovo però applicazioni per tantissimi sensori analogici e non digitali e soprattutto nessuno o con l'MPU (forse uno). Il dubbio che mi è sorto è (anche se mi sembra improbabile): per caso i valori dell'MPU6050 sono già 'puliti'?

Quindi quello che chiedo è: ha senso cercare di pulire i valori che ottengo? se si che filtro mi consigliate?
« Last Edit: January 07, 2014, 07:46:08 am by mastraa » Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 124
Posts: 9329
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

con l'MPU (forse uno). Il dubbio che mi è sorto è (anche se mi sembra improbabile): per caso i valori dell'MPU6050 sono già 'puliti'?

L'MPU6050 lo puoi usare in modo raw, in questo caso devi pulire, oppure tramite il DMP interno, del quale si sa poco o nulla, e in questo caso ottieni valori pronti all'uso.
Per Arduino qualcosa di pronto si trova per usare l'MP6050 tramite il DMP.
« Last Edit: January 07, 2014, 08:20:34 am by astrobeed » Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7079
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

x iscrizione
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2309
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
ho usato anche io l'MPU6050, dal basso della mia esperienza sul tema.

Ho lasciato stare kalman e ho preferito il complementare.
Qui qualche riflessione kalman vs complementare by alegiaco:
http://robottini.altervista.org/tag/complementary-filter

e qui una delle risorse più interessanti che avevo trovato sull'argomento:
http://www.geekmomprojects.com/gyroscopes-and-accelerometers-on-a-chip/
Logged

Pages: 1 [2]   Go Up
Jump to: