Arduino EL2001
тел. +7(499)347-04-82
Описание Arduino EL2001
Отличный выбор! EL2001 — это один из самых популярных и надежных одноосевых гироскопов (датчиков угловой скорости) для Arduino и других микроконтроллеров. Вот подробное описание.
Краткое описание
Arduino EL2001 — это не готовый модуль от Arduino, а аналоговый датчик угловой скорости (гироскоп) на базе микросхемы ENC-03R от компании Murata. Он измеряет скорость вращения вокруг одной оси (чаще всего оси Z — рыскание, "yaw"). Основное применение — стабилизация платформ (квадрокоптеры, самолеты, камеры), определение угла поворота робота (в интеграции с акселерометром), навигационные системы.
Модуль обычно продается как плата с установленным ENC-03R, необходимыми обвязочными элементами (конденсаторы, резисторы) и стандартными пинами для подключения к Arduino.
Технические характеристики (на основе датчика ENC-03R)
- Принцип работы: Вибрационный гироскоп на основе пьезоэлектрического эффекта.
- Количество осей: 1 (одна). Для работы в 3D-пространстве требуется связка из нескольких датчиков или использование современного 3-осевого гироскопа/IMU.
- Чувствительность (Sensitivity): Типовая: 0.67 мВ/°/с (милливольт на градус в секунду). Это ключевой параметр. Например, при вращении со скоростью 100°/с на выходе будет сигнал ~67 мВ.
- Напряжение питания (Vcc): 2.7 — 5.5 В. Идеально подходит для питания от 5V или 3.3V линий Arduino.
- Выходное напряжение в покое (Zero-Rate Output, Vzero): Номинальное: 1.35 В (при Vcc=3В). Это напряжение на выходе при отсутствии вращения. Важно! Это напряжение "плавает" и зависит от температуры, требует калибровки при каждом включении.
- Диапазон измерений (Full Scale): ±300 °/с (стандартно для этой модели).
- Аналоговый выход: Да. Подключается к аналоговому входу (A0-A7) Arduino.
- Температурный дрейф: Высокий. Это главный недостаток ENC-03R. Нулевое выходное напряжение сильно зависит от температуры, что требует программной компенсации или термостабилизации для точных измерений.
- Полоса пропускания: Около 50 Гц.
- Размеры модуля: Обычно около 20x15 мм (зависит от производителя платы).
Распиновка типичного модуля EL2001
На модуле обычно 3 или 4 вывода:
- VCC (или +) — Напряжение питания (+5V или +3.3V от Arduino).
- GND (или -) — Земля (GND от Arduino).
- OUT (или S) — Аналоговый сигнальный выход (подключается к аналоговому пину Arduino, напр., A0).
- ST (есть не всегда) — Вывод тестирования (обычно не используется).
Парт-номера и совместимые модели
1. Основная микросхема (Сердце датчика):
- ENC-03R (или ENC-03M) — это и есть сам датчик от Murata. Все модули EL2001 построены на нем.
2. Парт-номера модулей (готовых плат):
Производители плат дают свои названия, но все они основаны на ENC-03R:
- EL2001 — самое распространенное название модуля.
- GY-50 — еще один очень популярный код для модуля с ENC-03R.
- Drotek IMU01 (в более старых версиях) — также мог использовать этот датчик.
Важно: Ищите по названию "ENC-03R Module" или "GY-50".
3. Совместимые и более современные аналоги (для новых проектов):
EL2001/ENC-03R — датчик устаревший, но дешевый и простой для понимания основ. Для серьезных проектов лучше рассмотреть цифровые многокомпонентные датчики, которые:
- Имеют встроенный АЦП.
- Измеряют по 3 осям.
- Обладают гораздо меньшим дрейфом.
- Коммуницируют по I2C или SPI.
Рекомендуемые современные замены:
| Название модуля | Датчик (IC) | Интерфейс | Что измеряет | Преимущества перед EL2001 | | :--- | :--- | :--- | :--- | :--- | | GY-521 | MPU-6050 | I2C | 3-осевой гироскоп + 3-осевой акселерометр | Цифровой выход, 6 осей, встроенный фильтр, стабильность. | | GY-87 | MPU-6050 + HMC5883L + BMP180 | I2C | Гиро+акселеро+магнитометр+барометр | Полный набор датчиков для IMU. | | GY-91 | MPU-9250 + BMP280 | I2C/SPI | 9-осевой IMU (Gyro+Accel+Mag) + барометр | Высокая точность, SPI поддержка. | | BNO055 | BSNO055 | I2C/UART | 9-осевой IMU с сенсорным fusion | Выдает готовые углы в пространстве (Эйлера, кватернионы), не требует сложных расчетов. |
Подключение к Arduino (кратко)
- VCC -> 5V (или 3.3V) на Arduino.
- GND -> GND на Arduino.
- OUT -> A0 на Arduino.
Код для Arduino (базовый пример)
const int gyroPin = A0; // Пин подключения выхода EL2001
float zeroVoltage = 0; // Напряжение в покое (нужно определить при калибровке)
float sensitivity = 0.67; // Чувствительность в мВ/°/с
float angularVelocity = 0;
void setup() {
Serial.begin(9600);
// КАЛИБРОВКА: Не двигайте датчик в течение 1-2 секунд после включения!
long sum = 0;
for (int i = 0; i < 100; i++) {
sum += analogRead(gyroPin);
delay(10);
}
zeroVoltage = (sum / 100.0) * (5.0 / 1023.0); // Переводим в Вольты
Serial.print("Zero Voltage (V): ");
Serial.println(zeroVoltage);
}
void loop() {
int rawValue = analogRead(gyroPin);
float voltage = rawValue * (5.0 / 1023.0); // Напряжение на выходе датчика в Вольтах
// Расчет угловой скорости: (Текущее_Напр - Напр_Покоя) / Чувствительность
// Чувствительность переведена в В/°/с: 0.67 мВ = 0.00067 В
angularVelocity = (voltage - zeroVoltage) / 0.00067;
Serial.print("Angular Velocity: ");
Serial.print(angularVelocity);
Serial.println(" deg/s");
delay(100); // Задержка между измерениями
}
Вывод
EL2001 (ENC-03R) — отличный учебный инструмент для понимания принципов работы гироскопов и простых проектов стабилизации. Однако для реальных, точных и стабильных проектов (квадрокоптеры, балансирующие роботы) настоятельно рекомендуется использовать более современные цифровые IMU-модули, такие как MPU-6050 (GY-521) или BNO055.