Сервопривод для камеры своими руками

Обновлено: 12.07.2024

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

ESP-32 Cam — это недорогой микроконтроллер со встроенным Wi-fi модулем, а также простой камерой. Благодаря этим свойствам, с его помощью можно создавать проекты с удалённым доступом к камере и всеми сопутствующими возможностями микроконтроллера. В этом обзоре я покажу вам вездеход на гусеницах, который работает на ESP-32 Cam.

  • Функции у этого вездехода такие:
  • возможность управления по Wi-fi;
  • возможность управления через интернет из любой точки мира;
  • управление с любого устройства, где есть браузер;
  • доступ к бортовой камере и возможность смотреть через неё, куда он едет.

Комплектующие

Электроника

  • микроконтроллер ESP-32 Cam;
  • драйвер моторов L298N;
  • моторы постоянного тока с редуктором — 2 шт;
  • сервомотор SG-90;
  • аккумуляторы 18650;
  • отсек для одного аккумулятора 18650 — 2 шт;
  • выключатель;
  • провода дюпоны;

Электроника обошлась мне примерно в 25$.

Прочие мелочи

  • болты М3 х 5 — 21 шт.
  • болты М3 х 10 — 4 шт.
  • болты М3 х 18 — 4 шт.
  • болты М3 х 25 — 4 шт.
  • гайки M3 — 33 шт.
  • болты М5 х 30 — 6шт.
  • гайки М5 х 12 шт.
  • подшипники 625-2RS (5х16х5мм) — 6 шт.

Схема подключения

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

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

В видео выше видно, что я использую три аккумулятора 18650, но позже практика показала, что это много, и нужно использовать только два. Поэтому сделайте, как на схеме — два аккумулятора. Я использовал по 3 400 мА/ч, это позволяет работать вездеходу долгое время без зарядки, но можно использовать и меньшей ёмкости.

Питание микроконтроллера должно быть строго 5 вольт, но в схеме используется два аккумулятора 18650 по 3,7 вольт. Поэтому ESP-32 Cam питается от 5-ти вольтового выхода драйвера моторов L298N. Если драйвер моторов запитывать в 12-ти вольтовый вход, то 5-ти вольтовый работает как понижающий преобразователь и даёт нам стабильные 5 вольт. Перед включением убедитесь в правильной полярности питания ESP-32 Cam, иначе можно вывести его из строя.

Сервомотор нельзя запитывать на 5-ти вольтовый выход драйвера, иначе ESP-32 Cam перезагружается при повороте вала сервы. Поэтому сервомотор приходится подключать к 12-ти вольтовому выходу и питать непосредственно от двух аккумуляторов, то есть от 7,4 вольт, что немного больше максимально допустимых для SG-90 5 вольт, но на практике на качестве его работы это не сказывается.

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

Скетч

Нет смысла долго рассказывать о том, как прошивать ESP-32 Cam, так как в интернете есть большое количество качественных материалов по этому поводу. Найдёте сами. Я прошивал через Arduino IDE — это самый простой способ. IDE потребует определённой несложной настройки для прошивки — найдёте в интернете, что именно и как настроить.

Для прошивки вам понадобится программатор с поддержкой UART. Микроконтроллер для загрузки скетча нужно подключить как на схеме ниже.

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

Если всё подключили правильно, то гребёнка ESP-32 Cam, которая нужна для прошивки, будет полностью свободной и можно будет прошивать, не вынимая микроконтроллер из корпуса.

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

Саму прошивку и сопутствующие файлы можно скачать на Github. Имеется четыре версии прошивки:

  • Car_AP_ENG — вездеход становится точкой доступа и раздаёт Wi-fi, интерфейс панели управления на английском языке.
  • Car_AP_RUS — вездеход становится точкой доступа и раздаёт Wi-fi, интерфейс панели управления на русском языке.
  • Car_WS_ENG — вездеход подключается к вашей домашней точке доступа, интерфейс панели управления на английском языке.
  • Car_WS_RUS- вездеход подключается к вашей домашней точке доступа, интерфейс панели управления на русском языке.

В каждой прошивке имеется по два файла. Открывайте через Arduino IDE файл с расширением .ino, тогда во второй вкладке появится и второй файл.

Прошивка, при которой ESP-32 Cam становится точкой доступа, позволяет подключиться к вездеходу по Wi-fi с помощью любого устройства и управлять им через браузер. Удобно, если поблизости нет работающей точки доступа. В этой прошивке в файле Car_AP_***.ino в строках 3 и 4 указаны SSID и пароль от сети, которую создаст ESP-32 Cam.

const char* ssid = "Car";

const char* password = "123456789";

К ней и нужно будет подключиться, а затем перейти в браузере на IP 192.68.4.1.

Прошивка, при которой ESP-32 Cam подключается к имеющей точке доступа, позволяет управлять вездеходом через любое устройство, которое подключено к этой же сети, а также через интернет (но об этом ниже, так как требуется дополнительная настройка). В файле Car_WS_***.ino в строках 3 и 4 укажите вместо звёздочек SSID и пароль от сети Wi-fi, к которой вездеход должен подключиться.

const char* password = "*************";

У каждого будет свой IP для доступа к панели управления через браузер. Чтобы его выяснить, отключите после прошивки ESP-32 Cam от компьютера и отключите перемычку между контактами IO0 и GND, затем подключите к компьютеру через программатор заново. В Arduino IDE откройте монитор порта и увидите IP. Если не увидели, то не отключая микроконтроллер от компьютера, перезагрузите его, нажав на маленькую кнопку Reset на плате. По увиденному в мониторе порта IP, нужно переходить, чтобы попасть в панель управления.

int speedBalansR = 0; // Если автомобиль отклоняется влево, уменьшите скорость правого мотора.

int speedBalansL = 0; // Если автомобиль отклоняется вправо, уменьшите скорость левого мотора.

Переменные speedBalansR и speedBalansL управляют скоростью правого и левого моторов, соответственно. Эти переменные могут обретать значения от 0 до 250. Чем меньше значение, тем выше скорость мотора. 0 — максимальная скорость, установлено по умолчанию.

Если вездеход у вас отклоняется влево или вправо, то уменьшите скорость правого или левого моторов, увеличивая нужную переменную с шагом, например, в 5 единиц, и загружая прошивку после каждого увеличения. После каждой загрузки прошивки проверяйте, насколько скорректировалось направление при езде и добейтесь строго прямого движения.

Например, мне пришлось установить speedBalansL на 15. Но у всех будет по разному, некоторым повезёт, и моторы будут работать одинаково, тогда не надо ничего здесь менять.

Если вы ничего не поняли по калибровке моторов, то просто не делайте это. Это не обязательный шаг.

Больше ничего в прошивке корректировать не обязательно.

Веб-интерфейс для управления

Панель управления задаётся веб-интерфейсом прямо в прошивке, поэтому не придётся устанавливать никаких приложений. И это позволяет управлять вездеходом из любого устройства, в котором есть браузер и Wi-fi-модуль.

Если вы управляете вездеходом с компьютера, то можете пользоваться клавишами W, A, S, D для того чтобы задать направление движения и P — для остановки. Клавиша L — включает подсветку, а K — выключает.

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

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

Если получаете дёрганное видео при стриме с бортовой камеры, то попробуйте уменьшить разрешение и качество видео. Но ESP-32 Cam действительно хорошее видео не даст — камера всего 2 Мп, и процессор не достаточно мощен.

Как получить доступ к веб-интерфейсу ESP-32 Cam через интернет

Это наверное самая интересная функция, которая есть у вездехода — можно настроить всё так, что управлять им можно будет из любой точки мира, где есть интернет. Сделать это легко.

Для управления через интернет подойдёт только прошивка CAR_WS_***, то есть та, когда ESP-32 Cam подключается к существующей точке доступа. У этой точки доступа обязательно должен быть выход в интернет.

Загрузите в вездеход скетч CAR_WS_*** на русском или английском языке и выясните IP, который он получил в вашей сети. Затем зайдите в настройки вашего роутера, и в опции Хост DMZ задайте этот IP.

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

Теперь ваш вездеход всегда будет иметь этот IP, даже если вы перезагрузите роутер.

Доменное имя в No-IP имеет IP, который был выдан вам провайдером на данный сеанс подключения.

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

У большинства пользователей IP динамический и если вы перезагрузите роутер, то он изменится, соответственно связь с ESP-32 Cam нарушится. Чтобы этого не происходило, скачайте приложение DUC, которое будет автоматически менять IP вашего домена, каждый раз, когда меняется IP, выданный вам провайдером. DUC нужно установить на любой компьютер, который постоянно подключен к той же сети Wi-fi, что и вездеход. Поддерживаются системы Windows, MAC и Linux. DUC потребует простых настроек — необходимо авторизоваться в приложении и выбрать нужное доменное имя.

Также для работы DDNS вам понадобится белый IP. Некоторые провайдеры выдают своим абонентам серые IP. Если ваш IP подходит под одну из следующих масок, то у вас серый IP:

192.168.xxx.xxx

172.16.xxx.xxx

10.xxx.xxx.xxx

127.xxx.xxx.xxx

169.254.xxx.xxx

Если у вас серый IP, то для получения белого вам следует приобрести его вашего провайдера. Стоит недорого, порядка 1$, но платить придётся каждый месяц. За подробностями обратитесь в поддержку вашего провайдера.

Сборка

Модель для 3D принтера можете скачать с Thingiverse. Все детали печатайте пластиком PLA, кроме держателя для ESP-32 Cam. Сам микроконтроллер нагревается во время работы, а если длительно светить светодиодом, то нагревается достаточно сильно, чтобы деформировать PLA. Поэтому держатель микроконтроллера печатайте пластиком ABS или другим термостойким пластиком. Температура микроконтроллера при включённой подсветке может быть где-то до 80 градусов C. Заполнение 20%, разрешение 0,2.

В идеале, колёса и траки гусеницы тоже нужно было печатать ABS или другим пластиком, стойким к износу. Но я напечатал на PLA. Признаков износа пока не вижу.

При сборке вам придётся запрессовывать гайки в подшипники в посадочные места. Будьте аккуратны, чтобы не сломать детали. Убедитесь, что в посадочных местах нет остатков пластика и другого мусора. Не используйте грубый инструмент для запрессовки, обычно хватает силы рук.

Самая долгая и нудная работа — это сборка гусеницы. На каждую гусеницу нужно по 34 трака. Они соединяются друг с другом с помощью нити филамента, диаметром 1,75 мм. Перед соединением очистите отверстия в траках шилом или сверлом, а затем обрежьте нить филамента под углом, чтобы образовался острый конец. Аккуратно вставьте его в отверстия, соединив траки, и обрежьте лишнее. Убедитесь в свободном движении звеньев гусеницы.

Вездеход на гусеницах на ESP-32 Cam с управлением через Wi-fi и по интернету

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

В видео вначале обзора подробно показывается, как собрать вездеход из напечатанных деталей.

Если нет возможности печатать на 3D принтере, то соберите шасси из подручных материалов. Не обязательно даже делать гусеницы, нормально поедет и на обычных колёсах.

Штатными камерами заднего вида комплектуется всё больше моделей автомобилей. Многие автовладельцы устанавливают устройство видеонаблюдения самостоятельно или в автосервисе. С его помощью парковка становится значительно более комфортной и безопасной. Однако в большинстве случаев линзы автомобильных видеокамер никак не защищены от налипающей грязи, способной существенно ухудшить видимость. Поэтому сегодня набирают популярность различные способы защиты камеры заднего вида от загрязнений. Среди них есть как заводские, так и кустарные.

Выдвижная камера на сервоприводе

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



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



Преимущества описанного способа — высокая степень защиты линзы от загрязнений, удобство и надёжность. Дополнительный плюс — закрытая таким образом видеокамера оказывается защищенной ещё и от прямых струй воды на мойке (которые за счёт высокого давления могут вывести её из строя). К недостаткам можно отнести высокую стоимость подобных сборок и отсутствие их на рынке для ряда моделей.

Выдвижная камера заднего вида своими руками

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



Корпус можно изготовить из текстолита либо распечатать на 3D-принтере. Недорогие сервоприводы продаются в китайских онлайн-магазинах. Основная проблема может возникнуть с управляющим устройством, поскольку разные модели приводов имеют различный тип управления.

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



Преимущество такого способа защиты видеокамеры — низкие затраты. Совокупная стоимость деталей получится в разы ниже предлагаемых на рынке сборок. Однако, чтобы собрать подобное устройство, нужно хорошо разбираться в электронике. К тому же недорогие сервоприводы могут довольно быстро выходить из строя (в течение года-полутора).

Омыватель камеры

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



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

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

Защитный колпачок на камеру заднего вида

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





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



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



Преимущества защитных колпачков — высокая надёжность, абсолютная защита от грязи. Недостаток — высокая стоимость. Комплекты под конкретные авто стоят от 5000 рублей, сборки с универсальными камерами заднего вида— более 7000.

Защитные гели



Преимущества — низкая стоимость, отсутствие каких-либо монтажных работ. Недостатки тоже очевидны — невысокая степень защищённости, необходимость периодического нанесения гелевого состава на линзу видеокамеры заднего вида (он действует максимум несколько месяцев).

В этой статье мы поговорим о сервоприводах в проектах Ардуино. Именно благодаря серводвигателям обычные электронные проекты становятся робототехническими. Подключение серво к Arduino проекту позволяет реагировать на сигналы датчиков каким-то точным движением, например, открыть дверцу или повернуть в нужную сторону сенсоры. В статье рассмотрены вопросы управления сервоприводами, возможные схемы подключения серво к ардуино, а также примеры скетчей.

Сервопривод для Ардуино

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

Сервопривод MG995

Схема работы сервопривода основана на использовании обратной связи (контура с замкнутой схемой, в котором сигнал на входе и выходе не согласован). В качестве сервопривода может выступать любой тип механического привода, в составе которого есть датчик и блок управления, который автоматически поддерживает все установленные параметры на датчике. Конструкция сервопривода состоит из двигателя, датчика позиционирования и управляющей системы. Основной задачей таких устройств является реализация в области сервомеханизмов. Также сервоприводы нередко используются в таких сферах как обработка материалов, производство транспортного оборудования, обработка древесины, изготовление металлических листов, производство стройматериалов и другие.

В проектах ардуино робототехники серво часто используется для простейших механических действий:

  • Повернуть дальномер или другие датчики на определенный угол, чтобы измерить расстояние в узком секторе обзора робота.
  • Сделать небольшой шаг ногой, движение конечностью или головой.
  • Для создания роботов-манипуляторов.
  • Для реализации механизма рулевого управления.
  • Открыть или закрыть дверку, заслонку или другой предмет.

Конечно, сфера применения серво в реальных проектах гораздо шире, но приведенные примеры являются самыми популярными схемами.

Схема и типы сервоприводов

Схема сервопривода

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

В реальных сервоприводов механизм управления гораздо сложнее и использует встроенные микросхемы-контроллеры. В зависимости от типа используемого механизма обратной связи выделяют аналоговые и цифровые сервоприводы. Первые используют что-то, похожее на потенциометр, вторые – контроллеры.

Сервопривод устройство

Вся схема управления серво находится внутри корпуса, управляющие сигналы и питание подаются, как правило, идут по трем проводам: земля, напряжение питания и управляющий сигнал.

Сервопривод непрерывного вращения 360, 180 и 270 градусов

Выделяют два основных вида серводвигателей – с непрерывным вращением и с фиксированным углом (чаще всего, 180 или 270 градусов). Отличие серво ограниченного вращения заключается в механических элементах конструкции, которые могут блокировать движение вала вне заданных параметрами углов. Достигнув угла 180, вал окажет воздействие на ограничитель, а тот отдаст команду на выключение мотора. У серводвигателей непрерывного вращения таких ограничителей нет.

Материалы шестерней сервопривода

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

Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление
Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление

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

Серво MG995

Металлические шестеренки надежнее, но это, безусловно, сказывается как на цене, так и на весе модели. Экономные производители могут сделать часть деталей пластмассовыми, а часть металлическими, это тожно нужно иметь в виду. Ну и, естественно, что в самых дешевых моделях даже наличие металлической шестеренки не является гарантией качества.

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

Преимущества серводвигателей

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

Отличия серво и обычного двигателя

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

Отличия серво и шагового мотора

Где купить популярные серво SG90, MG995, MG996

Управление сервоприводом

Управление сервоприводом

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

Когда сигнал попадает в управляющую схему, генератор подает свой импульс, длительность которого определяется с помощью потенциометра. В другой части схемы происходит сравнение длительности поданного сигнала и сигнала с генератора. Если эти сигналы разные по длительности, включается электромотор, направление вращения которого определяется тем, какой из импульсов короче. При равенстве длины импульсов мотор останавливается.

управление сервоприводом

Стандартная частота, с которой подаются импульсы, равна 50 Гц, то есть 1 импульс в 20 миллисекунд. При таких значениях длительность составляет 1520 микросекунд, и сервопривод занимает среднее положение. Изменение длины импульса приводит к повороту сервопривода – при увеличении длительности поворот осуществляется по часовой стрелке, при уменьшении – против часовой стрелки. Имеются границы длительности – в Ардуино в библиотеке Servo для 0° установлено значение импульса в 544 мкс (нижняя граница), для 180° – 2400 мкс (верхняя граница).

Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление

Важно учитывать, что на конкретном устройстве настройки могут несколько отличаться от общепринятых значений. У некоторых устройств среднее положение и ширина импульса может быть равной 760 мкс. Все принятые значения также могут незначительно отличаться из-за погрешности, которая может быть допущена при производстве устройства.

Способ управления приводом часто по ошибке называют PWM/ШИМ, но это не совсем корректно. Управление напрямую зависит именно от длины импульса, частота их появления не так важна. Корректная работа будет обеспечена как при 40 Гц, так и при 60 Гц, вклад внесет только сильное уменьшение или увеличение частоты. При резком спаде сервопривод начнет работать рывками, при завышении частоты выше 100 Гц устройство может перегреться. Поэтому правильнее называть PDM.

По внутреннему интерфейсу можно выделить аналоговые и цифровые сервоприводы. Внешних отличий нет – все различия только во внутренней электронике. Аналоговый сервопривод внутри содержит специальную микросхему, цифровой – микропроцессор, принимающий и анализирующий импульсы.

Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление

При получении сигнала аналоговый сервопривод принимает решение, менять или нет положение, и по необходимости подает на мотор сигнал с частотой 50 Гц. За время реакции (20 мс) могут произойти внешние воздействия, которые изменят положение сервопривода, и устройство не успеет среагировать. Цифровой сервопривод использует процессор, который подает и обрабатывает сигналы с большей частотой – от 200 Гц, поэтому он может быстрее отреагировать на внешние воздействия, быстрее развивать нужную скорость и крутящий момент. Следовательно, цифровой сервопривод будет лучше удерживать заданное положение. При этом для работы цифрового сервопривода требуется больше электроэнергии, что повышает их стоимость. Большой вклад в цену делает и сложность их производства. Высокая стоимость – единственный недостаток цифровых сервоприводов, в техническом плане они намного лучше аналоговых устройств.

Подключение серводвигателя к ардуино

Сервопривод обладает тремя контактами, которые окрашены в разные цвета. Коричневый провод ведет к земле, красный – к питанию +5В, провод оранжевого или желтого цвета – сигнальный. К Ардуино устройство подключается через макетную указанным на рисунке образом. Оранжевый провод (сигнальный) подключается к цифровому пину, черный и красный – к земле и питанию соответственно. Для управления серводигателем не требуется подключение именно к шим-пинам – принцип управления серво мы уже описывали ранее.

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

Не рекомендуется подключать мощные серво напрямую к плате , т.к. они создают для схемы питания Arduino ток, не совместимый с жизнью – повезет, если сработает защита. Чаще всего симптомы перегрузки и неправильного питания сервопривода заключаются в “дергании” серво, неприятному звуку и перезагрузке платы. Для питания лучше использовать внешние источники, обязательно объединяя земли двух контуров.

Скетч для управления сервоприводом в Arduino

Управление сервоприводом напрямую через изменение в скетче длительности импульсов – достаточно нетривиальная задача, но у нас, к счастью, есть отличная библиотека Servo, встроенная в среду разработки Arduino. Все нюансы программирования и работы с сервоприводами мы рассмотрим в отдельной статье. Здесь же приведем простейший пример использования Servo.

Алгоритм работы прост:

  • Для начала мы подключаем Servo.h
  • Создаем объект класса Servo
  • В блоке setup указываем, к какому пину подключен серво
  • Используем методы объекта обычным для C++ способом. Самым популярным является метод write, которому мы подаем целочисленное значение в градусах (для сервопривода 360 эти значения будут интерпретироваться по-другому).

Пример простого скетча для работы с сервоприводом

Пример проекта, в котором мы сразу сначала устанавливаем серводвигатель на нулевой угол, а затем поворачиваем на 90 градусов.

Скетч для двух сервпоприводов

А в этом примере мы работаем сразу с двумя сервоприводами:

Управление сервоприводом с помощью потенциометра

В этом примере поворачиваем серво в зависимости от значения, полученное от потенциометра. Считываем значение и преобразовываем его в угол с помощи функции map:

Сервопривод SG90

Сервопривод SG90

Характеристики и подключение SG-90

Если вы собрались купить самый дешевый и простой сервопривод, то SG 90 будет лушим вариантом Этот серво чаще всего используется в управлении небольшими легкими механизмами с углом поворота от 0° до 180°.

Технические характеристики SG90:

  • Скорость отработки команды 0,12с/60 градусов;
  • Питание 4,8В;
  • Рабочие температуры от -30С до 60 С;
  • Размеры 3,2 х 1,2 х 3 см;
  • Вес 9 г.

Описание SG90

Цвета проводов стандартные. Сервопривод стоит недорого, он не обеспечивает точных настроек начальных и конечных позиций. Для того, чтобы избежать лишних перегрузок и характерного треска в положении 0 и 180 градусов лучше выставлять крайние точки в 10° и 170°. При работе устройства важно следить за напряжением питания. При сильном завышении этого показателя могут повредиться механические элементы зубчатых механизмов.

Сервоприводы MG995 и MG996 tower pro

Сервопривод MG995

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

Характеристики MG995

Выходной вал у MG995 поворачивается на 120 градусов (по 60 в каждом направлении), хотя многие продавцы указывают на 180 градусов. Устройство выполняется в пластиковом корпусе.

  • Вес 55 г;
  • Крутящий момент 8,5 кг х см;
  • Скорость 0,2с/60 градусов (при 4,8В);
  • Рабочее питание 4,8 – 7,2В;
  • Рабочие температуры – от 0С до -55С.

Описание MG995

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

MG996R похож на MG995 по своим характеристикам, только он выполняется в металлическом корпусе.

Переделка сервопривода в серво непрерывного вращения

Как описывалось выше, сервопривод управляется импульсами переменной ширины, которые задают угол поворота. Текущее положение считывается с потенциометра. Если рассоединить вал и потенциометр, серводвигатель будет принимать положение движка потенциометра как в средней точке. Все эти действия приведут к тому, что будет убрана обратная связь. Это позволяет управлять скоростью и направлением вращения по сигнальному проводу, и создать серво непрерывного вращения. При этом важно отметить, что серво постоянного вращения не может поворачиваться на определенный угол и делать строго заданное количество оборотов.

Чтобы произвести вышеописанные действия, придется разобрать устройство и внести изменения в конструкцию.

В Ардуино IDE нужно создать небольшой скетч, который поставит качалку в среднее положение.

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

Этот метод имеет несколько недостатков – настройка резистора до полной остановки неустойчива, при малейшем ударе/нагреве/охлаждении настроенная нулевая точка может сбиться. Поэтому лучше использовать способ замены потенциометра подстроечником. Для этого нужно вытащить потенциометр и заменить его на подстроечный резистор с таким же сопротивлением. Нулевую точку нужно настроить калибровочным скетчем.

Любой из методов переделки сервопривода в серво непрерывного вращения имеет свои недостатки. Во-первых, сложно настроить нулевую точку, любое движение может ее сбить. Во-вторых, диапазон регулирования мал – при небольшом изменении ширины импульса скорость может значительно измениться. Расширить диапазон можно программно в Ардуино.

Заключение

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

В этой статье мы постарались раскрыть разные аспекты использования сервоприводов в проектах arduino: от подключения до написания скетчей. Выбрав самую простую модель серво (например, sg 90) вы сможете без труда повторить приведенные примеры и создать свои первые проекты, в которых что-то движется и изменяется. Надеемся, эта статья поможет вам в этом.

Поворотная вебкамера контролируемая Arduino

В этой статье рассказывается о том, как установить веб камеру на сервопривод, установленный в каркас из конструктора и управлять ей при помощи Arduino.

Недавно я озадачился вопросом, как еще можно применить Arduino кроме мигания светодиодов.
Эта идея пришла ко мне во время утренней беседы с коллегами по Skype, и я решил сделать так, чтобы они при помощи веб камеры могли смотреть, что происходит в нашем офисе. В один дождливый воскресный день я склонил к этому своего приятеля, и мы построили Arducam.

Перед созданием этого проекта я прочел несколько подобных статей, в некоторых из которых использовался джойстик. Имея джойстик от старого пульта к PS3, я также решил использовать его.

Платформа

Каркас из конструктора

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

Каркас из конструктора

Соединение с валом сервопривода

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

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

Крепление вала

Крепление вала

Монтаж веб-камеры

Веб-камера
Я использовал веб-камеру фирмы Logitech.
Вероятно, полезно будет удалить с неё противовес, чтобы сделать её легче, но это не моя веб камера, а из офиса, поэтому я не стал этого делать.

arduino47-6.jpg

Распределение веса
Я добавил 2 толстых прокладки, чтобы избежать давления вала на камеру. Они смещают вес камеры на весь каркас с вала сервопривода.

Крепление вебкамеры

Монтаж веб-камеры
Крепежный элемент веб-камеры состоит из круга с отверстием, совпадающим с валом по центру. Это позволяет обеспечить тягу между валом и кругом.
Некоторое пространство создается за счет прокладки, которая предотвращает нажатие на вал.

Крепление веб-камеры

Электроника

Подключение сервоприводов и светодиодов
Сервопривод имеет 3 провода:
- GND
- +5V
- Сигнал
Я использовал 9 контакт для управления сервоприводом.
Светодиод подключен к +5В и GND с резистором на линии +5В и будет светиться при подаче питания.

Светодиод

Подключение джойстика
У меня был старый сломанный моим сыном джойстик от PS3.
Мне помогли статьи от Finnio и jhoffnun, чтобы понять как работает джойстик и его электроника.

Джойстик

Макетная плата

Управление сервоприводом

Arduino
Программу для Arduino как и все файлы проекта можно скачать ниже или взять на github.
Программа позволяет управлять веб камерой при помощи USB и джойстика.
Можно использовать модем-контроль / эмулятор терминала приложений, таких как Minicom или Putty для связи с USB-порт.

Установка по центру:
- Программа будет устанавливать сервопривод на 90 градусов при запуске.
- И при нажатии "m"

Поворот влево и право
- Когда джойстик перемещается в горизонтальной плоскости.
- Влево при нажатии 'F'
- Вправо при нажатии "J"

Node.js
Кроме того, мы реализовали веб-сервер в node.js чтобы облегчить контроль над arducam.
Инструкцию можно найти на сайте gihub проекта.

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

Читайте также: