16-10-2017, 22:15
Witam
Ostatnio rozpocząłem projekt w którym muszę sczytywać dane z czujnika IMU (MPU9150) z wykorzystaniem Adafruit Feather M0 (z czytnikiem microSD). Problem pojawił się jednak z częstotliwością pomiaru. Zależy mi na możliwie jak największej częstotliwości, najlepiej 256Hz (bądź większej) i po np. pobraniu 5 tys próbek zapisaniu danych na karcie.
Maksymalna częstotliwość jaką umie uzyskać to około 125Hz. Dane są pobierane z wykorzystaniem szyny I2C w której prędkość została zwiększona do maksimum.
Dodam, że trochę pogrzebałem i znalazłem w sterowniku czujnika IMU dwie rubryk w której podejrzewam zmienia się częstotliwość próbkowania. Wartości 50 i 25 były domyślnie ustawione i przy tych wartościach pomiar był odebrany co około 0.008 sekundy.
m_MPU9150GyroAccelSampleRate = 50;
m_MPU9150CompassSampleRate = 25;
zmiana parametrów dawała niewielkie zmiany, często nawet gorsze. Korzystam z kodu RTIMULib dla Arduino.
Podejrzewam, że szyna I2C nie wyrabia bądź czujnik. Proszę was o doradę czy jest jakaś możliwość konfiguracji bądź jaki inny czujnik wykorzystać. Czy z wykorzystaniem SPI uzyskam lepszy wynik bądź może ktoś poleci jakiś konkretny model czujnika?
Liczę na was i pozdrawiam
Ostatnio rozpocząłem projekt w którym muszę sczytywać dane z czujnika IMU (MPU9150) z wykorzystaniem Adafruit Feather M0 (z czytnikiem microSD). Problem pojawił się jednak z częstotliwością pomiaru. Zależy mi na możliwie jak największej częstotliwości, najlepiej 256Hz (bądź większej) i po np. pobraniu 5 tys próbek zapisaniu danych na karcie.
Maksymalna częstotliwość jaką umie uzyskać to około 125Hz. Dane są pobierane z wykorzystaniem szyny I2C w której prędkość została zwiększona do maksimum.
Dodam, że trochę pogrzebałem i znalazłem w sterowniku czujnika IMU dwie rubryk w której podejrzewam zmienia się częstotliwość próbkowania. Wartości 50 i 25 były domyślnie ustawione i przy tych wartościach pomiar był odebrany co około 0.008 sekundy.
m_MPU9150GyroAccelSampleRate = 50;
m_MPU9150CompassSampleRate = 25;
zmiana parametrów dawała niewielkie zmiany, często nawet gorsze. Korzystam z kodu RTIMULib dla Arduino.
Podejrzewam, że szyna I2C nie wyrabia bądź czujnik. Proszę was o doradę czy jest jakaś możliwość konfiguracji bądź jaki inny czujnik wykorzystać. Czy z wykorzystaniem SPI uzyskam lepszy wynik bądź może ktoś poleci jakiś konkretny model czujnika?
Liczę na was i pozdrawiam