Целью данной работы является изучение возможности одновременного применения двух модулей гироскопов-акселерометров с микроконтроллером Atmega328 или ATmega 32u4 для регистрации данных.
Ключевые слова: мобильная платформа, SCL, подключение модулей, модуль гироскопов-акселерометров, режим мастера.
При исследовании процессов управляемого движения и поворота мобильных платформ важно регистрировать большой объём различных параметров. Это и скорость вращения колёс, и угловые ускорения платформы вокруг оси, перпендикулярной к плоскости движения. Для случая, когда движение осуществляется по трассе на наклонной поверхности, необходимо также измерять скорость и направления вращения мобильного робота вокруг его поперечной и продольной осей.
В работе используются два модуля GY-521 (рис. 1) с гироскопом, акселерометром и термометром — MPU-6050. Эти модули имеют следующие характеристики:
‒ 16-битный АЦП;
‒ напряжение питания от 3В до 5В;
‒ поддержка протокола I2C;
‒ возможность одновременной передачи информации с встроенного трёхосевого гироскопа, трёхосевого акселерометра и датчика температуры.
Рис. 1. Внешний вид модуля GY-521
На микросхеме расположены следующие контакты:
‒ VCC — напряжение питания;
‒ GND — общий провод;
‒ SCL — тактовый сигнал I2C;
‒ SDA — данные I2C;
‒ XDA — данные шины I2C при работе в режиме мастера;
‒ XCL — тактовый сигнал шины I2C при работе в режиме мастера;
‒ ADO — бит 0 адреса I2C;
‒ INT — выход сигнала о готовности данных для использования как внешнего прерывания микроконтроллера.
Выбранные датчики можно использовать с микроконтроллерами серий Atmega328 и ATmega 32u4, причём применение стандартной библиотеки “Wire.h” значительно упрощает процесс программирования. В качестве платформы для подключения модулей был выбран мобильный двухколёсный робот “Arduino Robot” [2] (Рисунок 2). Информация, получаемая с них, позволила бы рассчитывать мгновенный центр скоростей мобильной платформы при плоскопараллельном движении. Эти данные используются, например, для улучшения тормозных характеристик автомобилей.
Рис. 2. Мобильная платформа “Arduino Robot”
Для достижения поставленной цели важны следующие его характеристики:
‒ два используемых в платформе микроконтроллера ATmega 32u4;
‒ наличие выходов питания для подключаемых датчиков с напряжением 5В;
‒ наличие входов, поддерживающих протокол I2C;
‒ поддержка библиотек, необходимых для работы с модулями;
‒ наличие флеш-карты памяти объёмом до 2 гигабайт, которую можно в дальнейшем использовать для хранения регистрируемых данных.
Для подключения и дальнейшего использования модулей на мобильной платформе необходимо соединить контакты так, как указано в таблице 1.
Таблица 1
Подключение модулей кмобильной платформе
GY-521 (6050) |
Arduino Robot |
VCC |
5V |
GND |
GND |
SCL |
A5 (аналог) |
SDA |
A4 (аналог) |
ADO |
5V для одного модуля и GND — для второго |
Отдельно стоит отметить, что контакт ADO у используемых датчиков подключается к разным выходам на платформе. Это делается для того, чтобы оба модуля корректно распознавались в процессе работы.
Для проверки собранной системы в “Arduino IDE” была написана простая программа, сделанная из примера для одного модуля, считывающая данные с двух датчиков и выводящая их на последовательный порт для дальнейшей обработки.
Заключение
В ходе выполнения работы была собрана схема с микроконтроллером и двумя модулями гироскопов-акселерометров, а также написана программа для одновременной обработки данных, получаемых с них.
Дальнейшим развитием работы будет дополнение программы алгоритмами калибровки датчиков и подпрограммой сохранения полученных данных на флеш-карту.
Литература:
- MPU-6050 Accelerometer + Gyro [Электронный ресурс] // Arduino [Web-сайт]. — Режим доступа: playground.arduino.cc/Main/MPU-6050 — Дата обращения 16.06.2018.
- Getting Started with the Arduino Robot [Электронный ресурс] // Arduino [Web-сайт]. — Режим доступа: www.arduino.cc/en/guide/robot — Дата обращения 16.06.2018.