+7 (495) 749-9116 Перезвоните мне Перезвоните мне
0 Корзина
0 Сравнение
0 Избранное

Акселерометр гироскоп для робота

Модуль MPU6050

В этом разделе мы поэкспериментируем с датчиком, называемым акселерометром MPU6050.
В чип этого датчика встроен акселерометр(измерение ускорения), гироскоп(измерение угловой скорости) и датчик температуры.  Датчик обеспечивает высокую точность преобразования аналоговых значений в цифровые, поскольку имеет на каждом канале 16-битный АЦП (аналого-цифровой преобразователь).
Модуль способен одновременно обрабатывать информацию сразу по трем осям (каналам): x, y и z. Он имеет интерфейс I2C для взаимодействия с другими устройствами.
 
Введение в модуль MPU6050

модуль MPU6050

 

3-осевой акселерометр измеряет скорость изменения скорости (м / с ^ 2) или ускорение объекта. Это измерение может выполняться как для неподвижных, так и для движущихся объектов. Для стационарных объектов скорость изменения скорости равна ускорению свободного падения (9,8 м / с ^ 2) или, иначе, силе тяжести. Модуль также оснащен 3-осевым гироскопом, который измеряет скорость вращения объекта в рад/с. Эта функция помогает нам определить точную ориентацию объекта.
Основные функции модуля MPU6050
Встроенная шина I2C, которая используется для передачи данных гироскопа, акселерометра и датчика температуры на другие устройства, такие как микроконтроллеры.
Встроенный подтягивающий резистор, поэтому нам не нужно подключать внешние подтягивающие резисторы, которые необходимы для интерфейса шины I2C.
Программируемые пользователем гироскоп и акселерометр с помощью 16-битного аналого-цифрового преобразователя.
1024-байтовый буфер FIFO для высокоскоростной передачи данных на подключенный микроконтроллер, после чего он переходит в режим низкого энергопотребления.
Встроенный датчик температуры.

В таблице ниже приведено краткое описание каждого вывода.


 

Название вывода Описание
VCC Вывод питания модуля. 3,3-5В.
GND Земля.
SCL Синхронизация для протокола I2C.
SDA Последовательный вывод данных для протокола I2C.
XDA Вспомогательный последовательный вывод данных для протокола I2C.
XCL Вспомогательный последовательный вывод синхронизации для протокола I2C.
ADO Вывод для выбора адреса I2C. Он используется для изменения адреса I2C.
INT Вывод прерывания. Его можно использовать для определения наличия новых данных измерений.


Установите библиотеку MPU6050 Arduino
Для работы с модулем будем использовать библиотеку. Наиболее удобная для нас в работе - MPU6050 от i2cdev. Скачаем и установим.
Так же для работы нужна библиотека для обеспечения работы протокола I2C. Она называется wire.h. но её устанавливать не надо. Она уже устанавливается вместе  с Arduino IDE
Проведем первый эксперимент. Получим показания акселерометра, гироскопа и температуры с датчика, передадим измеренные данные по I2C на контроллер ESP32 и отобразим эти данные в последовательном мониторе.
Откройте среду Arduino IDE. Откройте окно ПРИМЕРЫ. Найдите в выпадающем меню указатель Arduino MPU6050. Выберите любой пример и загрузите его в контроллер. Откройте монитор порта. Проверьте соответствие скорости, указанной в скетче и в окне монитора. И проверьте работу акселерометра. Поверните вдоль вертикальной и горизонтальной осей. Данные в мониторе будут меняться.
 
Как влияет гироскоп на положение робота в пространстве.
 
В данном эксперименте мы не будем давать команды роботу для движения. Но мы проверим, как будет  действовать робот при принудительном изменении положения.
Модуль MPU6050 в момент калибровки определяет нулевые координаты робота. И при изменении положения, модуль будет пытаться вернуть робота к исходным значениям.


 

К разделу Робот ESP32