Как подключить серводвигатель к ардуино

Arduino для начинающих. Урок 4. Управление сервоприводом

Как подключить серводвигатель к ардуино

Как подключить серводвигатель к ардуино

Продолжаем серию уроков “Arduino для начинающих”. Сегодня собираем модель с сервоприводом — это также одна из базовых схем. Сервоприводы используются в робототехнике для управления движениями робота. В посте помимо видео-инструкции листинг программы и схема подключения.

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

Видео-инструкция сборки модели:

Для сборки модели с сервоприводом нам потребуется:

Как подключить серводвигатель к ардуино

Компоненты для сборки модели Arduino с сервоприводом

Схема подключения модели Arduino с сервоприводом:

Как подключить серводвигатель к ардуино

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

Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):

#include //используем библиотеку для работы с сервоприводом
Servo servo; //объявляем переменную servo типа Servo
void setup() //процедура setup
<
servo.attach(10); //привязываем привод к порту 10
>
void loop() //процедура loop
<
servo.write(0); //ставим вал под 0
delay(2000); //ждем 2 секунды
servo.write(180); //ставим вал под 180
delay(2000); //ждем 2 секунды
>

Последние четыре команды программы задают угол поворота вала сервопривода и время ожидания (в миллисекундах) до следующего поворота. Эти цифры можно поменять — в видео во втором варианте мы поставили 0-1000-90-1000, что означает поворот на 90 градусов с ожиданием в 1 секунду (1000 миллисекунд), возврат обратно и т.д. (процедура loop повторяется циклично).

Кроме того, в этом уроке мы впервые используем библиотеки.

Библиотека — это набор дополнительных команд, который позволяет вводить программу в упрощенном формате. Здесь мы используем библиотеку для работы с сервоприводами Servo.h.

Так выглядит собранная модель Arduino с сервоприводом:

Как подключить серводвигатель к ардуино

Собранная модель Arduino с сервоприводом

Смотрите также:

Посты по урокам:

Все посты сайта «Занимательная робототехника» по тегу Arduino.

Наш YouTube канал, где публикуются видео-уроки.

Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.

Источник

Arduino и сервопривод

Описание

Сервопривод, он же сервомашинка, он же просто серво – простейший “модельный” актуатор, использовался в радиоуправляемых моделях ещё до появления Ардуино. Сервопривод поворачивает свой выходной вал в диапазоне

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

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

Как подключить серводвигатель к ардуиноХарактеристики 9-граммового сервопривода:

Сервопривод управляется ШИМ сигналом, точнее длиной импульса: минимальная (0 градусов) и максимальная (

180 градусов) длина импульса колеблется в зависимости от модели и производителя сервопривода.

Как подключить серводвигатель к ардуино

Подключение

Примечание: сервопривод потребляет довольно приличный ток (стартовый до 1А), поэтому рекомендуется питать его от внешнего источника. При питании от компьютера напряжение может просесть и МК перезагрузится, при высокой нагрузке (с 2 и больше приводов) может выгореть защитный диод на плате Arduino!

Как подключить серводвигатель к ардуино

Как подключить серводвигатель к ардуино

Библиотеки

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

Servo.h

Библиотека стандартная и идёт в комплекте с Arduino IDE. Подключаем и создаём объект сервопривода. При создании никакие аргументы не передаются:

Библиотека имеет следующие методы:

При “подключении” серво через attach(pin) диапазон длины импульса устанавливается стандартный: 544.. 2400 мкс (задан в библиотеке). Если есть желание настроить серво идеально, чтобы она работала на весь диапазон – нужно попробовать покрутить её через writeMicroseconds() в крайних значениях диапазона и найти минимум и максимум, при которых серво “упирается”.

Примеры

Вращаем туда сюда быстро (как blink, только серво):

Источник

Работаем с сервоприводами

Как подключить серводвигатель к ардуиноВнешний вид Как подключить серводвигатель к ардуиноFritzing Как подключить серводвигатель к ардуиноУсловное обозначение на схеме

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

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

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

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

Как подключить серводвигатель к ардуино

Крутящий момент и скорость поворота

Крутящий момент — векторная физическая величина, равная произведению радиус-вектора, проведённого от оси вращения к точке приложения силы, на вектор этой силы. Характеризует вращательное действие силы на твёрдое тело. Эта характеристика показывает, насколько тяжёлый груз сервопривод способен удержать в покое на рычаге заданной длины. Если крутящий момент сервопривода равен 5 кг×см, то это значит, что сервопривод удержит на весу в горизонтальном положении рычаг длины 1 см, на свободный конец которого подвесили 5 кг. Или, что эквивалентно, рычаг длины 5 см, к которому подвесили 1 кг.

Скорость сервопривода измеряется интервалом времени, который требуется рычагу сервопривода, чтобы повернуться на 60°. Характеристика 0,1 с/60° означает, что сервопривод поворачивается на 60° за 0,1 с. Из неё несложно вычислить скорость в более привычной величине, оборотах в минуту, но так сложилось, что при описании сервоприводов чаще всего используют такую единицу.

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

Виды сервоприводов

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

Шестерни для сервоприводов бывают из разных материалов: пластиковые, карбоновые, металлические.

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

Карбоновые шестерни более долговечны, практически не изнашиваются, в несколько раз прочнее нейлоновых. Основной недостаток — дороговизна.

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

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

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

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

Подключение к Arduino

Многие сервоприводы могут быть подключены к Arduino непосредственно. Для этого от них идёт шлейф из трёх проводов:

Как подключить серводвигатель к ардуино

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

Библиотеки для управления сервоприводами (Servo) и для работы с приёмниками/ передатчиками на 433 МГц VirtualWire используют одно и то же прерывание. Это означает, что их нельзя использовать в одном проекте одновременно. Существует альтернативная библиотека для управления сервомоторами — Servo2.

Сервоприводы обычно имеют ограниченный угол вращения 180 градусов, их так и называют «сервопривод 180°». Но существуют сервоприводы с неограниченным углом поворота оси. Это сервоприводы постоянного вращения или «сервоприводы 360°».

Управляем через импульсы

Библиотека Servo

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

Сервопривод постоянного вращения можно управлять с помощью библиотек Servo или Servo2. Отличие заключается в том, что функция Servo.write(angle) задаёт не угол, а скорость вращения привода.

Библиотека Servo позволяет осуществлять программное управление сервоприводами. Управление осуществляется следующими функциями:

В библиотеке Servo для Arduino по умолчанию выставлены следующие значения длин импульса: 544 мкс — для 0° и 2400 мкс — для 180°.

Пример подключения двух сервоприводов.

Библиотека Servo не совместима с библиотекой VirtualWire для работы с приёмником и передатчиком на 433 МГц, так как они используют одно и то же прерывание. Это означает, что их нельзя использовать в одном проекте одновременно. Существует альтернативная библиотека для управления сервомоторами — Servo2. Все методы библиотеки Servo2 совпадают с методами Servo.

При работе с сервоприводами на 360 градусов функции работают по другому.

Функция ArduinoСервопривод 180°Сервопривод 360°
Servo.write(0)Крайне левое положениеПолный ход в одном направлении
Servo.write(90)Среднее положениеОстановка сервопривода
Servo.write(180)Крайне правое положениеПолный ход в обратном направлении

Sweep

Скетч File | Examples | Servo | Sweep постоянно поворачивает насадку на 180 градусов и возвращает её обратно. В примере используется встроенная библиотека Servo.

Как подключить серводвигатель к ардуино

Скетч File | Examples | Servo | Knob управляет сервоприводом при помощи потенциометра. В примере используется встроенная библиотека Servo.

Как подключить серводвигатель к ардуино

Случайные повороты

Будем поворачивать серводвигатель на случайную величину. Практического смысла немного, но для демонстрации подойдёт.

Источник

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

Как подключить серводвигатель к ардуино

Рассмотрим на этом занятии устройство и принцип работы сервоприводов. Разберем два простых скетча для управления сервоприводом SG90 с помощью потенциометра на Ардуино. Также мы узнаем новые команды в языке программирования C++ — servo.write, servo.read, servo.attach и научимся подключать в скетчах библиотеку для управления сервоприводами и другими устройствами через Ардуино.

Устройство сервомотора (servo) Arduino

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

Как подключить серводвигатель к ардуиноЧто такое сервопривод. Схема устройства сервопривода

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

Как подключить серводвигатель к ардуиноУправление сервоприводом с помощью широтно импульсной модуляции

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

Как подключить сервопривод к Ардуино

Для этого занятия нам потребуется:

Схема подключения сервопривода к Arduino обычно следующая: черный провод присоединяем к GND, красный провод присоединяем к 5V, оранжевый/желтый провод к цифровому выводу общего назначения. Управление сервоприводом на Ардуино достаточно просто, но по углам поворота сервомоторы делятся на 180° и 360°, что следует учитывать при разработке проектов с применением servo.

Как подключить серводвигатель к ардуиноСхема подключения сервопривода к Ардуино UNO

ServoArduino UnoArduino NanoArduino Mega
черный проводGNDGNDGND
красный провод5V5V5V
желтый провод111111

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

Пояснения к коду:

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

Ардуино позволяет не только управлять, но и считывать показания с сервопривода. Команда myservo.read(0) считывает текущий угол поворота вала сервопривода и его мы можем увидеть на мониторе порта. Предоставим более сложный пример управления сервоприводом потенциометром на Ардуино. Соберите схему с потенциометром и загрузите скетч в Ардуино для управления сервоприводом.

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

Пояснения к коду:

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

Источник

Сервоприводы: общее руководство

Познакомимся поближе с сервоприводами. Рассмотрим их разновидности, предназначение, подсказки по подключению и управлению.

Как подключить серводвигатель к ардуино

Список сервоприводов

МодельФорм-факторСигнал управленияОбратная связьНазначениеВнутренний интерфейсДиапазон вращения
Feetech FS90 / ДокументацияМикроPDMНетУдержание углаАналоговый0–180°
Feetech FS90R / ДокументацияМикроPDMНетПостоянное вращениеАналоговый360°
Feetech FT90B / ДокументацияМикроPDMНетУдержание углаЦифровой0–180°
Feetech FT90R / ДокументацияМикроPDMНетПостоянное вращениеЦифровой360°
Feetech FS0403-FB / ДокументацияМикроPDMДаУдержание углаАналоговый0–180°
Feetech FS90-FB / ДокументацияМикроPDMДаУдержание углаАналоговый0–180°
Feetech FS5103RСтандартPDMНетПостоянное вращениеАналоговый360°
Feetech FS5106BСтандартPDMНетУдержание углаАналоговый0–180°
Feetech FS5109MСтандартPDMНетУдержание углаАналоговый0–180°
Feetech FS5113RСтандартPDMНетПостоянное вращениеАналоговый360°
Feetech FB5317M-360 / ДокументацияСтандартPDMДаПостоянное вращениеЦифровой360°
Feetech FB5118M / ДокументацияСтандартPDMДаУдержание углаЦифровой0–300°
Feetech FT6335M / ДокументацияСтандартPDMНетУдержание углаЦифровой0–360°

Что такое сервопривод?

Сервопривод — это мотор, вал которого может встать в заданное положение в градусах или поддерживать заданную скорость вращения.

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

Характеристики сервопривода

Крутящий момент

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

Например, если крутящий момент равен 5 кг·см, означает что сервопривод удержит в горизонтальном положении рычаг длиной 1 см с подвешенным весом на свободном конце 5 кг. Что равносильно, удержать рычаг длиной 5 см с подвешенным весом на свободном конце 1 кг.

Как подключить серводвигатель к ардуино

Скорость поворота

Скорость сервопривода — это время, которое требуется выходному валу повернуться на 60°. Характеристика 0,1 с/60° означает, что сервопривод поворачивается на 60° за 0,1 с. Из неё можно вычислить скорость в оборотах в минуту, но так сложилось, что при описании сервоприводов чаще всего используют именно интервал времени за 60°.

Форм-фактор

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

Форм-факторВесРазмеры
Микро9–25 г22×15×25 мм
Стандартный40–80 г40×20×37 мм
Большой50–90 г49×25×40 мм

Как подключить серводвигатель к ардуино

Внутренний интерфейс

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

Как подключить серводвигатель к ардуино

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

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

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

Материалы шестерней редуктора

Шестерни редуктора могут быть пластиковые и металлические.

Как подключить серводвигатель к ардуино

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

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

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

Коллекторные и бесколлекторные моторы

Существует три типа моторов для сервоприводов:

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

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

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

Виды сервоприводов

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

Сервоприводы PDM с удержанием угла

Сервоприводы с интерфейсом PDM (PWM), которые преобразуют управляющие сигналы в установку и удержания заданного угла.

Сервоприводы PDM постоянного вращения

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

Сервоприводы SCS

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

Сервоприводы STS

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

Источник

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

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