Skocz do zawartości

Akcelerometr Pololu MinIMU-9 v5


Bachu

Pomocna odpowiedź

Witam!

Ostatnio zaopatrzyłem się w ww. akcelerometr i mam problem z odczytem osi Z. Odczyty z tej osi nie zmieniają się, bądź zmieniają się nieznacznie, pomimo całego zakresu ruchu. Najbardziej się jednak odczyty z tej osi zmieniają przy ruchu po osi X. Pytanie brzmi, czy ktoś miał styczność z tym akcelerometrem i miał podobny problem? 

pomoc.png

Link do komentarza
Share on other sites

10 godzin temu, Bachu napisał:

Pytanie brzmi, czy ktoś miał styczność z tym akcelerometrem i miał podobny problem? 

1) MinIMU-9 v5 to nie akcelerometr, tylko płytka, na której są układy scalone, przy czym jeden z nich zawiera akcelerometr (LSM6DS33).
2) Ja używałem tej płytki, problemów nie miałem.

Link do komentarza
Share on other sites

Dnia 19.01.2019 o 12:34, Bachu napisał:

Ostatnio zaopatrzyłem się w ww. akcelerometr i mam problem z odczytem osi Z. Odczyty z tej osi nie zmieniają się, bądź zmieniają się nieznacznie, pomimo całego zakresu ruchu. Najbardziej się jednak odczyty z tej osi zmieniają przy ruchu po osi X. Pytanie brzmi, czy ktoś miał styczność z tym akcelerometrem i miał podobny problem? 

Moduły te są sprawdzone i wykorzystywane przez wiele osób, problem musi występować po Twojej stronie. Przy tego typu pytaniu raczej nie obejdzie się bez pokazania programu i podłączenia układu. Pokaż co dokładnie masz u siebie to na pewno szybciej uzyskasz konkretną pomoc 😉

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)
Dnia 20.01.2019 o 14:41, Treker napisał:

Moduły te są sprawdzone i wykorzystywane przez wiele osób, problem musi występować po Twojej stronie. Przy tego typu pytaniu raczej nie obejdzie się bez pokazania programu i podłączenia układu. Pokaż co dokładnie masz u siebie to na pewno szybciej uzyskasz konkretną pomoc 😉

Korzystam z Arduino Leonardo. Podłączenia wyglądają tak:

SCL - SCL

SDA - SDA

GND - GND

VIN - 5V

Kod:

#include <Wire.h>
#include <LSM6.h>

LSM6 imu;

char report[80];

void setup()
{
  Serial.begin(9600);
  
  Wire.begin();
  imu.init();
  imu.enableDefault();
}

void loop()
{
  imu.read();
  snprintf(report, sizeof(report), "A: %6d %6d %6d    G: %6d %6d %6d",
    imu.a.x, imu.a.y, imu.a.z,
    imu.g.x, imu.g.y, imu.g.z);
  Serial.println(report);
  delay(100);
}

Film z odczytami i maksymalnymi wychyleniami:

 

Czy tak powinny wyglądać prawidłowe odczyty z modułu? Dzięki za odpowiedzi. 🙂

Edytowano przez Bachu
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dnia 31.01.2019 o 21:41, msalamon napisał:

Przecież działają wszystkie osie 🙂 Znormalizuj wyniki to będzie łatwiej ocenić.

Działają, ale oś Z chyba nie tak, jak powinna. 

Tutaj kod do tego programu:

#include <Wire.h>
#include <LSM6.h>


LSM6 imu;

int axisx, axisy, axisz;
char report[80];

void setup()
{
  Serial.begin(9600);
  
  Wire.begin();
  imu.init();
  imu.enableDefault();
}

void loop()
{
  imu.read();
  snprintf(report, sizeof(report), "A: %6d %6d %6d    G: %6d %6d %6d",
    imu.a.x, imu.a.y, imu.a.z,
    imu.g.x, imu.g.y, imu.g.z);
 
  axisx = map(imu.a.x, -16000, 16000, 0, 180);
  axisy = map(imu.a.y, -16000, 16000, 0, 180);
  axisz = map(imu.a.z, -16000, 16000, 0, 180);
  Serial.print("Axis x: ");
  Serial.println(axisx);
  Serial.print("Axis y: ");
  Serial.println(axisy);
  Serial.print("Axis z: ");
  Serial.println(axisz);
  Serial.println("-------");
  delay(500);
}

Zależy mi na tym, żeby uzyskać odczyty, które będą się zmieniały proporcjonalnie do ruchu, który wykonuje na końcu. (Do osi Z, według obrazka zamieszczonego w pierwszym poście). Jeśli jest taka możliwość, byłbym bardzo wdzięczny za wskazanie jej. 🙂

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.