Go Down

Topic: range valori accelerometro (Read 330 times) previous topic - next topic

Montanaro

Ciao

ho un dubbio su i valori di un accelerometro.

Il mio accelerometro è un 16 bit (quindi 65535 valori) con una sensitività di -2 /  + 2 g.



Questi sono alcuni valori tipici che vado a leggere:



65 423 - 64 912 - 16 0766
325 - 61 613 48 338


l'ho ruotato e ho ottenuto:
49 281 - 2579 - 64 257
16 279 - 1542 - 64 723


ruotandolo ancora:

64 153 - 15 968 - 1978
60 276 - 49 573 - 1896


I valori di un asse vanno bene (intorno ai 16 mila e ai 49 mila) anche perchè il dispositivo è leggermente inclinato.

Non capisco i valori degli assi che dovrebbe essere paralleli alla superficie: perchè danno valori intorno al - 2 e al 2 g invece di dare valori intorno ai 32 768 (lo 0 g)

La mia supposizioen a questo punto è che consideri 65 mila come 0 g, passi a 49 come 1 g e infine arrivi a 32 come 2 g.
Poi riparta dai valori sotto a 32 mila considerandoli come g negativa massima (circa - 2 g) e salva a 16 mila come - 1g fino ad arrivare di nuovo a 0 g con valori prossimi allo 0.

Cioè la g cresca in valore assoluto verso il centro dell'intervallo (32 mila).

E' possibile secondo voi?

uwefed

1) presentati
2) dacci il modello di accelerometro.
Ciao Uwe

Montanaro

1) presentati
2) dacci il modello di accelerometro.
Ciao Uwe
ciao :D

ops la presentazione vero. maleducato che sono :D

l'accelerometro è un LSM6DSL della ST

Montanaro

il datasheet:
https://www.st.com/resource/en/datasheet/lsm6dsl.pdf
non ho trovato l'informazione che mi serve

stefa24

Secondo me devi fare una taratura
https://sites.google.com/site/agritronica/
https://sites.google.com/site/t3chconcrete/
https://www.youtube.com/channel/UCnY1DNrSywgadjyqqtbvyew

uwefed

Il valore dato dal sensore é un numero con segno e percui non da 0 a 65535 ma da -32768 a 32767
vedi: https://it.wikipedia.org/wiki/Complemento_a_due

L' accelerometro dovrebbe dare un + o - 16000 su un asse e ca 0 sugli altri 2 se é posto in piano.

Ciao Uwe

Montanaro

Il valore dato dal sensore é un numero con segno e percui non da 0 a 65535 ma da -32768 a 32767
vedi: https://it.wikipedia.org/wiki/Complemento_a_due

L' accelerometro dovrebbe dare un + o - 16000 su un asse e ca 0 sugli altri 2 se é posto in piano.

Ciao Uwe
si credo che l'errore sia questo.
sto leggendo senza segno (ovvero tutti positivi) e quindi il -2 invece di essere -32768 diventa 65000.
sto facendo ora le conversioni numeriche per verificare questa ipotesi.

grazie mille :)

uwefed

Dovresti risolvere mettendo il valore in un int non in un unsigned int.
Ciao Uwe

Go Up