Каталог статей


Выбранная схема!!!


7828
Самобалансирующийся робот | Двухколесный самобалансирующийся сегвей на базе Arduino

Самобалансирующийся робот | Двухколесный самобалансирующийся сегвей на базе Arduino

Сегбот, сегвей и инвертированный маятник — двухколесные самобалансирующиеся роботы, известные под многими именами. Здесь мы строим двухколесный самобалансирующийся робот (сегвей) с использованием чипа MPU-6050. Чип измерения инерции MPU-6050 имеет шесть датчиков движения — три гироскопа и три акселерометра — все они интегрированы в одну коммутационную плату.

Здесь нам нужно только угловое положение или гироскоп оси колеса. Показания гироскопа со временем меняются, что довольно часто требует повторной калибровки. Поэтому для получения правильного углового положения показания гироскопа корректируются с помощью соседнего акселерометра. Как только угловое положение достигнуто, тяговые двигатели толкают тележку в направлении падения. Чем больше угол смещения, тем с большей скоростью тяговый двигатель толкает тележку. Когда угол смещения относительно вертикального положения уменьшается до нуля, скорость снижается. Таким образом, верх тележки движется как маятник, сохраняя равновесие. Авторский прототип показан на рис. 1.

Рис. 1: Авторский прототип

Схема и работа самобалансирующегося робота

Схема двухколесного самобалансирующегося робота показана на рис. 2. Он построен на базе Arduino Uno (плата1), двойного полномостового драйвера L298N (IC1), стабилизатора 5 В 7805 (IC2), MPU-6050, двух двигателей постоянного тока и нескольких других компонентов.

Рис. 2. Принципиальная схема двухколесного самобалансирующегося робота

Двигатели

Мы использовали два мотор-редукторных и коллекторных двигателя постоянного тока напряжением 12 В, 300 об/мин и два колеса диаметром 100 мм. Первоначально коллекторные двигатели работают нормально, но со временем, по мере использования, они имеют тенденцию к нестабильности и неспособности сбалансировать робота. Лучший вариант — использовать бесщеточные двигатели постоянного тока, которые имеют отличные характеристики соотношения крутящего момента и частоты вращения. Однако у них есть проблема с изменением направления.

Другой вариант — использовать шаговые двигатели, но их меньшие обороты мешают балансировке. Однако есть сообщения о людях, успешно использующих шаговые двигатели с ботами Segway.

L298N

Драйвер двигателя L298N доступен в корпусе multiwatt15 или powerSO20. Это сильноточный двойной полномостовой драйвер для индуктивных нагрузок, включая реле, соленоиды, двигатели постоянного тока и шаговые двигатели. Два входа разрешения (контакты 6 и 11) предназначены для включения или отключения устройства независимо от входных сигналов. Один мост управляется выводами IN1, IN2 и EN A, а другой — выводами IN3, IN4 и EN B микросхемы IC1.

Программное обеспечение

Мы использовали библиотеки I2Cdev Джеффа Роуберга для MPU-6050. Плата Arduino Uno программируется с помощью основной программы two_wheel.ino. Основное программное обеспечение имеет три переменные: kp, kd и ki. Значения по умолчанию работают хорошо, но их можно изменить, чтобы обеспечить большую стабильность робота. Чтобы изменить значения, вам понадобится код mpu_ Calibration.ino, как описано в разделе «Калибровка».

Компиляция. При компиляции скетча на Arduino IDE 1.1 произошел небольшой сбой while, поскольку библиотеки MPU-6050 не устанавливались. Итак, мы установили Arduino 1.5.7 и импортировали библиотеки из главного меню, указав правильное расположение библиотек с помощью опций SketchImport LibraryAdd Library. После того, как все библиотеки будут добавлены в Arduino IDE, скомпилируйте скетч и загрузите его на плату.

Создание и тестирование

Схема двухколесного самобалансирующегося робота PCB в реальном размере показана на рис. 3, а расположение его компонентов — на рис. 4. Используйте для робота подходящее металлическое шасси. Установите плату Arduino на шасси робота. Затем поместите PCB поверх платы Arduino.
Сначала запишите код mpu_ Calibration.ino в Arduino, прикрепите MPU-6050 и загрузите скетч на плату Arduino. Затем откройте последовательный монитор и выберите скорость передачи данных 115200. После инициализации DMP (цифровая обработка движения) — встроенного процессора MPU-6050 — нажмите «a», а затем клавишу Enter. Вы получите экран, показанный на рис. 5. Обратите внимание, что значения смещения будут другими.

Рис. 3: PCB компоновка двухколесного самобалансирующегося робота
Рис. 4. Расположение компонентов PCB

Загрузите PCB и PDF-файлы компоновки компонентов: нажмите здесь

Запишите значения смещения. Затем откройте основной код two_wheel.ino и введите значения тестового смещения. Скомпилируйте и загрузите основной код в Arduino. Подключите двигатели, аккумулятор и switch к цепи. Разместите MPU-6050 вдоль оси колес моторов, чтобы обеспечить минимальную ошибку расчета.

Сначала запустите робота с помощью легкой батареи напряжением 12 В. Лучше всего сначала использовать адаптер переменного/постоянного тока 12 В для источника питания. Убедившись, что робот работает нормально, вставьте батарею в шасси.

Смещать значения на последовательном мониторе во время калибровки
Рис. 5: Значения смещения на последовательном мониторе во время калибровки

Калибровка

Как упоминалось ранее, показания гироскопа со временем меняются. Чтобы решить эту проблему, сначала вам нужно узнать смещение гироскопа для каждого набора гироскопов.

Для гироскопов типа MPU-6050 существует самый простой способ: сначала загрузите mpu_calibration.ino в Arduino, прикрепите MPU-6050 к горизонтальной поверхности, стабилизируйте его на некоторое время, отключите switch от всех потолочных и настольных вентиляторов во время калибровки и получите показания смещения на последовательном мониторе, как упоминалось ранее. Вставьте эти значения в поля смещения основной программы. Скомпилируйте и загрузите его в процессор Arduino, а затем попробуйте снова запустить робота. Если робот работает неправильно, повторяйте процесс калибровки, пока не получите удовлетворительный результат.

Демо-видео

Видео: https://www.youtube.com/watch?v=OQSRoFr_v4Q


Категория: Железо | Добавил: Администратор (20.05.2026)
Просмотров: 5 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026