Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05
В этом уроке мы узнаем, как сделать балансирующего (балансирующего) робота Arduino, который уравновешивает сам себя. Сначала вы можете посмотреть видеоурок выше.
Шаг 1: необходимое оборудование
Плата Arduino (Uno) -
MPU-6050 GY521 Acc + гироскоп -
Комплект мотор-редукторов кодировщика постоянного тока 6 В, 210 об / мин -
Драйвер двигателя L298N -
Кнопка переключения -
Набор гаек M3 с шестигранной резьбой и распорной втулкой -
Акриловый лист Perspex -
Литий-ионная аккумуляторная батарея 18650 3,7 в + зарядное устройство -
Батарея 9 В -
Провода перемычки -
Пистолет для горячего клея -
Стартовый комплект и принадлежности для Arduino (необязательно): плата Arduino и расходные материалы SCM # 01 -
Расходные материалы для платы Arduino и SCM # 02 -
Стартовый комплект для базового обучения Arduino # 01 -
Стартовый комплект Arduino Basic Learning # 02 -
Стартовый комплект для базового обучения Arduino # 03 -
Стартовый комплект Mega 2560 с руководством -
Комплект сенсорного модуля для Arduino # 01 -
Комплект сенсорного модуля для Arduino # 02 -
Шаг 2: Сборка робота
- Просверлите четыре угла 3-х листов акрила. (Изображение 1 и 2)
- Между каждым акриловым листом будет около 8 сантиметров / 3,15 дюйма. (Изображение 3)
- Размеры робота (прибл.) 15 см x 10 см x 20 см. (Изображение 4)
- Двигатель постоянного тока и колеса будут размещены в центре (средней линии) робота. (Изображение 5)
- L298N Motor Driver будет размещен в центре первого этажа (по средней линии) робота. (Изображение 6)
- Плата Arduino будет размещена на втором этаже робота.
- Модуль MPU6050 будет размещен на верхнем этаже робота. (Изображение 7)
Шаг 3: Подключения
Протестируйте MPU6050 и убедитесь, что он работает! Сначала подключите MPU6050 к Arduino и проверьте соединение, используя коды из приведенного ниже руководства. Даха должен отображаться на последовательном мониторе
Учебное пособие - 6-осевой акселерометр MPU6050 GY521 + гироскоп
Учебное пособие на YouTube - 6-осевой акселерометр MPU6050 GY521 + гироскоп
Модуль L298N может обеспечить необходимое для Arduino + 5 В, если его входное напряжение составляет +7 В или больше. Однако я решил использовать отдельный источник питания для двигателя
Шаг 4: Как работает балансировка?
- Чтобы робот оставался сбалансированным, двигатели должны противодействовать падению робота.
- Это действие требует обратной связи и корректирующего элемента.
- Элементом обратной связи является MPU6050, который дает как ускорение, так и вращение по всем трем осям, которые используются Arduino для определения текущей ориентации робота.
- Корректирующим элементом является комбинация двигателя и колеса.
- Самобалансирующийся робот - это, по сути, перевернутый маятник.
- Его можно лучше сбалансировать, если центр масс находится выше по отношению к осям колес.
- Вот почему я поместил аккумулятор сверху.
- Однако высота робота была выбрана исходя из наличия материалов.
Шаг 5: исходный код и библиотеки
Код, разработанный для балансировочного робота, слишком сложен. Но волноваться не о чем. Мы только изменим некоторые данные.
Нам нужно четыре внешних библиотеки, чтобы заставить работать самобалансирующийся робот
- Библиотека PID упрощает вычисление значений P, I и D.
- Библиотека LMotorController используется для управления двумя двигателями с модулем L298N.
- Библиотека I2Cdev и библиотека MPU6050_6_Axis_MotionApps20 предназначены для чтения данных из MPU6050.
Скачать библиотеки
PID -
LMotorController -
I2Cdev -
MPU6050 -
Получите исходный код -
Что такое PID?
- В теории управления для поддержания постоянной некоторой переменной (в данном случае положения робота) требуется специальный контроллер, называемый ПИД-регулятором.
- P для пропорционального, I для интегрального и D для производного. Каждый из этих параметров имеет «усиление», обычно называемое Kp, Ki и Kd.
- ПИД-регулятор обеспечивает коррекцию между желаемым значением (или входом) и фактическим значением (или выходом). Разница между входом и выходом называется «ошибкой».
- ПИД-регулятор снижает погрешность до минимально возможного значения, непрерывно регулируя выход.
- В нашем самобалансирующемся роботе Arduino ввод (желаемый наклон в градусах) устанавливается программно.
- MPU6050 считывает текущий наклон робота и передает его в алгоритм PID, который выполняет вычисления для управления двигателем и удержания робота в вертикальном положении.
PID требует, чтобы значения коэффициентов усиления Kp, Ki и Kd были «настроены» на оптимальные значения
Вместо этого мы настроим значения PID вручную
- Сделайте Kp, Ki и Kd равными нулю.
- Отрегулируйте Kp. Слишком маленькое Kp приведет к падению робота (недостаточная коррекция). Слишком большое значение Kp заставит робота бешено двигаться вперед и назад. Достаточно хороший Kp заставит робота немного двигаться вперед и назад (или немного раскачиваться).
- После установки Kp отрегулируйте Kd. Хорошее значение Kd уменьшит колебания до тех пор, пока робот не станет почти устойчивым. Кроме того, правильное количество Kd удержит робота в движении, даже если его толкнуть.
- Наконец, установите Ki. Робот будет колебаться при включении, даже если Kp и Kd установлены, но со временем стабилизируется. Правильное значение Ki сократит время, необходимое роботу для стабилизации.
Предложение для лучших результатов
Я рекомендую вам создать подобную раму робота, используя материалы, используемые в этом проекте, чтобы исходный код для Balance Robot работал стабильно и эффективно.
Шаг 6: Поддержка
- Вы можете подписаться на мой канал на YouTube, чтобы получить больше уроков и проектов.
- Также вы можете подписаться на поддержку. Спасибо.
Посетите мой канал на YouTube -
Рекомендуемые:
Сделать часы-зеркало бесконечности: 15 шагов (с картинками)
Создание зеркальных часов бесконечности: в предыдущем проекте я построил зеркало бесконечности, где моей конечной целью было превратить его в часы. (Сделайте красочное зеркало бесконечности) Я не стал этим заниматься после его создания, потому что, хотя оно и выглядело круто, было несколько вещей с этим
Сделать коробку ТАРДИС Бесконечность: 9 шагов (с картинками)
Сделайте коробку ТАРДИС Бесконечность: я ранее построил модель ТАРДИС. Одной из определяющих характеристик ТАРДИС является то, что она больше внутри, чем снаружи. Очевидно, я не могу этого сделать, но в этом Руководстве я адаптирую модель, чтобы попытаться сделать так, чтобы она выглядела круто
Сделать мегафон: 9 шагов (с картинками)
Сделайте мегафон: в этой инструкции я расскажу вам, как построить мегафон для этой идеи. Меня вдохновило видео на YouTube, где человек делает мегафон из бумаги. Мне очень нравится идея, но она не удовлетворила меня. для меня нужна электроника
Сделать бесконечный зеркальный куб: 12 шагов (с картинками)
Создание зеркального куба бесконечности: когда я искал информацию при создании своего первого зеркала бесконечности, я наткнулся на несколько изображений и видео кубов бесконечности, и определенно хотел сделать одно из своих. Главное, что меня сдерживало, это то, что я хотел сделать это по-другому
Робот-робот: 10 шагов (с картинками)
Робот-робот: это руководство было создано в соответствии с требованиями проекта Makecourse в Университете Южной Флориды (www.makecourse.com). В этом руководстве вы узнаете, как создать полностью автоматизированного робота по имени Роб, который оборудован с сенс