Самостабилизирующаяся платформа на Arduino своими руками


В этом уроке мы узнаем как на основе платы Arduino сконструировать самостабилизирующуюся платформу с серводвигателями. Основой данного проекта является гироскоп MPU6050, работу с которым мы рассматривали в этой статье. Применения для этой самостабилизирующейся платформы могут быть самые разнообразные - если вы решили прочитать данную статью, наверняка вы про них знаете.

Самостабилизирующаяся платформа на Arduino своими руками

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. Серводвигатель MG996R (3 шт.) (купить на AliExpress).
  3. Модуль акселерометра и гироскопа MPU6050 (купить на AliExpress).
  4. Понижающий преобразователь постоянного тока в постоянный (Buck Converter).
  5. Макетная плата.
  6. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Обзор проекта

Я спроектировал самостабилизирующуюся платформу с помощью программного обеспечения для 3D-моделирования. Она будет включать в себя 3 серводвигателя MG996R для 3-осевого управления и основания, на котором будут размещены датчик MPU6050, плата Arduino и аккумулятор.

3D-модель самостабилизирующейся платформы на Arduino

Вы можете найти и скачать эту 3D-модель, а также изучить ее в своем браузере на сайте Thangs.

3D-модель самостабилизирующейся платформы на Arduino на сервисе Thangs

Скачать STL-файлы для самостабилизирующейся платформы

Используя свой 3D-принтер Creality CR-10 я напечатал на нем все детали проекта и они получились просто идеальными.

Напечатанные на 3D-принтере детали для платформы

Сборка платформы

Собрать самостабилизирующуюся платформу оказалось довольно легко. Я начал с установки сервопривода рыскания. Используя болты и гайки М3, я прикрепил его к основанию.

Установка сервопривода рыскания

Затем, используя тот же метод, я закрепил сервопривод крена (Roll). Детали специально разработаны для легкой установки на сервоприводы MG996R.

Установка сервопривода крена

Для соединения деталей друг с другом я использовал круглые рожки, которые идут в комплекте с сервоприводами.

Круглые рожки для соединения деталей друг с другом

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

Прикрепление круглого рога к основанию

Я повторил этот процесс для сборки остальных компонентов, сервопривода тангажа (Pitch) и верхней платформы.

Установка сервопривода тангажа

Затем я пропустил провода сервопривода через отверстия держателей, чтобы держать их в порядке. Затем я вставил датчик MPU6050 и закрепил его на основании болтом и гайкой.

Установка датчика MPU6050

Для питания проекта я использовал 2 литий-ионные батареи, которые поместил в этот держатель. Я прикрепил держатель батареи к основанию с помощью двух болтов и гаек.

Держатель для батарей

Две литий-ионные батареи будут производить около 7,4 В, но нам нужно 5 В для питания Arduino и сервоприводов.

Понижающий преобразователь для проекта

Вот почему я использовал понижающий преобразователь, который преобразует 7,4 В в 5 В.

Схема проекта

Теперь осталось соединить все вместе. На следующем рисунке показана принципиальная схема нашего проекта и то, как все нужно подключить.

Принципиальная схема самостабилизирующейся платформы на Arduino

Для завершения сборки платформы я втиснул компоненты электроники и провода в основание и закрыл их этой крышкой внизу.

Помещение электроники внутрь корпуса платформы

На этом самобалансирующаяся платформа (или подвес) на основе платы Arduino готовы и работают хорошо, как и ожидалось. Осталось посмотреть программу.

Исходный код программы для Arduino

Код Arduino для нашего проекта — это модификация примера MPU6050_DMP6 из библиотеки i2cdevlib Джеффа Роуберга.

Здесь вы можете скачать код: код программы для самостабилизирующейся платформы.

Описание кода: итак, в программе мы будем использовать считываемые выходные данные по рысканию, тангажу и крену.

Получив эти значения, сначала преобразуем их из радиан в градусы.

Дальше ждем или делаем 300 показаний, т. к. датчик все это время еще находится в процессе самокалибровки. Кроме того, мы фиксируем значение отклонения от курса, которое вначале не равно 0, как значения Pitch и Roll, а всегда является каким-то случайным значением.

После 300 показаний сначала мы устанавливаем рысканье на 0, вычитая полученное выше случайное значение. Затем мы сопоставляем значения рыскания, тангажа и крена от – 90 до +90 градусов со значениями от 0 до 180, которые используются для управления сервоприводами.

Наконец, используя функцию записи, мы отправляем эти значения сервоприводам в качестве управляющих сигналов. Конечно, вы можете отключить сервопривод отклонения от курса, если хотите просто стабилизировать оси X и Y, и использовать эту платформу в качестве подвеса камеры.

Обратите внимание: это далеко не лучший стабилизатор камеры. Движения не плавные, потому что эти сервоприводы не предназначены для такой цели. В настоящих подвесах камеры используются двигатели BLDC специального типа, обеспечивающие плавность движений.

Видео, демонстрирующее сборку и работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
87 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *