Гироскоп (Troyka-модуль)

Цифровой трёхосный гироскоп (Troyka-модуль) позволяет определять угловую скорость вокруг собственных осей X, Y, Z.

Видеообзор

Подключение и настройка

Гироскоп общается с управляющей электроникой по протоколу I²C / TWI. Для подключения используется два 3-проводных шлейфа. При подключении модуля к Arduino удобно использовать Troyka Shield.

Для получения данных с гироскопа мы написали библиотеку Troyka-IMU. Она скрывает в себе все тонкости протокола, через который передаются данные c гироскопа и предоставляет простые и понятные функции для вывода значений.

Пример работы

В качестве примера выведем в Serial порт угловую скорость вокруг собственных осей X, Y, Z.

gyro.ino
// библиотека для работы I²C
#include <Wire.h>
// библиотека для работы с модулями IMU
#include <TroykaIMU.h>
 
// создаём объект для работы с гироскопом
Gyroscope gyro;
 
void setup()
{
  // открываем последовательный порт
  Serial.begin(115200);
  // выводим сообщение о начале инициализации
  Serial.println("Gyroscope init...");
  // инициализация гироскопа
  gyro.begin();
  // устанавливаем чувствительность гироскопа
  // 250dps — по умолчанию, 500dps, 2000dps
  gyro.setRange(RANGE_250DPS);
  // выводим сообщение об удачной инициализации
  Serial.println("Initialization completed");
}
 
void loop()
{
  // вывод угловой скорости в градусах в секунду относительно оси X
  Serial.print(gyro.readDegPerSecX());
  Serial.print("\t\t");
  // вывод угловой скорости в градусах в секунду относительно оси Y
  Serial.print(gyro.readDegPerSecY());
  Serial.print("\t\t");
  // вывод угловой скорости в градусах в секунду относительно оси Z
  Serial.print(gyro.readDegPerSecZ());
  Serial.print("\t\t");
  Serial.println("");
  delay(100);
/*
  // вывод угловой скорости в градусах в секунду относительно оси X, Y и Z
  float x, y, z;
  gyro.readXYZ_DegPerSec(&x, &y, &z);
  Serial.print(x);
  Serial.print("\t\t");
  Serial.print(y);
  Serial.print("\t\t");
  Serial.print(z);
  Serial.println("");
  delay(100);
*/
}

Элементы платы

Гироскоп на L3G4200D

Гироскоп основан на чипе L3G4200D и представляет собой миниатюрный датчик перемещений в 3D пространстве, выполненный по технологии MEMS компании STMicroelectronics в корпусе LGA-16 (4x4x1.1 mm). Гироскоп общается с управляющей электроникой по протоколу I²C / TWI. Адрес устройства равен 0b1101000.

Обвязка для согласования уровней напряжения

Необходима для сопряжения устройств с разными питающими напряжениями. В нашем случае это управляющее устройство Arduino с 5 вольтовой логикой и модуль гироскопа L3G4200D с 3,3 вольтовой логикой.

Контакты подключения 3-проводных шлейфов

Контакты питания:

  • Земля (G) — чёрный провод. Соедините с пином GND Arduino.
  • Питание (V) — красный провод. Соедините с пином 5V Arduino.
  • Не используется.

Контакты шины I²C:

  • Сигнальный (D) — Подключите к SDA пину Arduino.
  • Сигнальный (С) — Подключите к SCL пину Arduino.
  • Не используется.

Принципиальная схема

Характеристики

  • Напряжение питания: 3.3–5 В
  • Диапазон измерения: ±250/±500±2000 dps
  • Выходной интерфейс: I²C
  • Частота обновления сигнала: 100…800 Гц
  • Температурный диапазон: −40…+85 °C
  • Габариты: 25×25 мм