подключение, управление, примеры работы [Амперка / Вики]
Познакомимся поближе с сервоприводами. Рассмотрим их разновидности, предназначение, подсказки по подключению и управлению.
Что такое сервопривод?
Сервопривод — это мотор с управлением через отрицательную обратную связь, позволяющую точно управлять параметрами движения. Сервомотором является любой тип механического привода, имеющий в составе датчик положения и плату управления.
Простыми словами, сервопривод — это механизм с электромотором, который может поворачиваться в заданный угол и удерживать текущее положение.
Элементы сервопривода
Рассмотрим составные части сервопривода.
Электромотор с редуктором
За преобразование электричества в механический поворот в сервоприводе отвечает электромотор. В асинхронных сервоприводах установлен коллекторный мотор, а в синхронных — бесколлекторный.
Однако зачастую скорость вращения мотора слишком большая для практического использования, а крутящий момент — наоборот слишком слабый. Для решения двух проблем используется редуктор: механизм из шестерней, передающий и преобразующий крутящий момент.
Включая и выключая электромотор, вращается выходной вал — конечная шестерня редуктора, к которой можно прикрепить нечто, чем мы хотим управлять.
Позиционер
Для контроля положения вала, на сервоприводе установлен датчик обратной связи, например потенциометр или энкодер. Позиционер преобразует угол поворота вала обратно в электрический сигнал.
Плата управления
За всю обработку данных в сервоприводе отвечает плата управления, которая сравнивает внешнее значения с микроконтроллера со показателем датчика обратной связи, и по результату соответственно включает или выключает мотор.
Выходной вал
Вал — это часть редуктора, которая выведена за пределы корпуса мотора и непосредственно приводиться в движение при подаче управляющих сигналов на сервопривод. В комплектации сервомоторов идут качельки разных формфакторов, которые одеваются на вал сервопривода для дальнейшей коммуникации с вашими задумками. Не рекомендуем прилагать к валу нагрузки, которые больше крутящего момента сервопривода. Это может привести к разрушению редуктора.
Выходной шлейф
Для работы сервопривода его необходимо подключить к источнику питания и к управляющей плате. Для коммуникации от сервопривода выходит шлейф из трёх проводов:
Красный — питание сервомотора. Подключите к плюсовому контакту источнику питания. Значения напряжение смотрите в характеристиках конкретно вашего сервопривода.
Чёрный — земля. Подключите к минусовому контакту источника питания и земле микроконтроллера.
Жёлтый — управляющий сигнал. Подключите к цифровому пину микроконтроллера.
Если сервопривод питается напряжением от 5 вольт и потребляет ток менее 500 мА, то есть возможность обойтись без внешнего источника питания и подключить провод питания сервомотора непосредственно к питанию микроконтроллера.
Управление сервоприводом
Алгоритм работы
Сервопривод получает на вход управляющие импульсы, которые содержат:
Для простых сервоприводов: значение угла поворота.
Для сервоприводов постоянного вращения: значения скорости и направления вращения.
Плата управления сравнивает это значение с показанием на датчике обратной связи.
На основе результата сравнения привод производит некоторое действие: например, поворот, ускорение или замедление так, чтобы значение с внутреннего датчика стало как можно ближе к значению внешнего управляющего параметра.
Интерфейс управления
Чтобы указать сервоприводу желаемое состояние, по сигнальному проводу необходимо посылать управляющий сигнал — импульсы постоянной частоты и переменной ширины.
То, какое положение должен занять сервопривод, зависит от длины импульсов.
Когда сигнал от микроконтроллера поступает в управляющую схему сервопривода, имеющийся в нём генератор импульсов производит свой импульс, длительность которого определяется через датчик обратной связи. Далее схема сравнивает длительность двух импульсов:Если длительность разная, включается электромотор с направлением вращения определяется тем, какой из импульсов короче.
Если длины импульсов равны, электромотор останавливается.
Для управления хобби-сервоприводами подают импульсы с частотой 50 Гц, т.е. период равен 20 мс:
1540 мкс означает, что сервопривод должен занять среднее положение.
544 мкс — для 0°
2400 мкс — для 180°.
Обратите внимание, что на вашем конкретном устройстве заводские настройки могут оказаться отличными от стандартных. Некоторые сервоприводы используют ширину импульса 760 мкс. Среднее положение при этом соответствует 760 мкс, аналогично тому, как в обычных сервоприводах среднему положению соответствует 1520 мкс.
Это всего лишь общепринятые длины. Даже в рамках одной и той же модели сервопривода может существовать погрешность, допускаемая при производстве, которая приводит к тому, что рабочий диапазон длин импульсов отличается. Для точной работы каждый конкретный сервопривод должен быть откалиброван: путём экспериментов необходимо подобрать корректный диапазон, характерный именно для него.
Часто способ управления сервоприводами называют PWM (Pulse Width Modulation) или PPM (Pulse Position Modulation). Это не так, и использование этих способов может даже повредить привод. Корректный термин — PDM (Pulse Duration Modulation) в котором важна длина импульсов, а не частота.
Характеристики сервопривода
Рассмотрим основные характеристики сервоприводов.
Крутящий момент
Момент силы или крутящий момент показывает, насколько тяжёлый груз сервопривод способен удержать в покое на рычаге заданной длины. Если крутящий момент сервопривода равен 5 кг×см, то это значит, что сервопривод удержит на весу в горизонтальном положении рычаг длины 1 см, на свободный конец которого подвесили 5 кг. Или, что эквивалентно, рычаг длины 5 см, к которому подвесили 1 кг.Скорость поворота
Скорость сервопривода — это время, которое требуется выходному валу повернуться на 60°. Характеристика 0,1 с/60° означает, что сервопривод поворачивается на 60° за 0,1 с. Из неё можно вычислить скорость в оборотах в минуту, но так сложилось, что при описании сервоприводов чаще всего используют именно интервал времени за 60°.
Форм-фактор
Сервоприводы различаются по размерам. И хотя официальной классификации не существует, производители давно придерживаются нескольких размеров с общепринятым расположением крепёжных элементов.
Форм-фактор | Вес | Размеры |
---|---|---|
Микро | 8-25 г | 22×15×25 мм |
Стандартный | 40-80 г | 40×20×37 мм |
Большой | 50-90 г | 49×25×40 мм |
Внутренний интерфейс
Сервоприводы бывают аналоговые и цифровые. Так в чём же их отличия, достоинства и недостатки?
Внешне они ничем не отличаются: электромоторы, редукторы, потенциометры у них одинаковые, различаются они лишь внутренней управляющей электроникой. Вместо специальной микросхемы аналогового сервопривода у цифрового собрата можно заметить на плате микропроцессор, который принимает импульсы, анализирует их и управляет мотором. Таким образом, в физическом исполнении отличие лишь в способе обработки импульсов и управлении мотором.
Оба типа сервопривода принимают одинаковые управляющие импульсы. После этого аналоговый сервопривод принимает решение, надо ли изменять положение, и в случае необходимости посылает сигнал на мотор. Происходит это обычно с частотой 50 Гц. Таким образом получаем 20 мс — минимальное время реакции. В это время любое внешнее воздействие способно изменить положение сервопривода. Но это не единственная проблема. В состоянии покоя на электромотор не подаётся напряжение, в случае небольшого отклонения от равновесия на электромотор подаётся короткий сигнал малой мощности. Чем больше отклонение, тем мощнее сигнал. Таким образом, при малых отклонениях сервопривод не сможет быстро вращать мотор или развивать большой момент. Образуются «мёртвые зоны» по времени и расстоянию.
Эти проблемы можно решать за счёт увеличения частоты приёма, обработки сигнала и управления электромотором. Цифровые сервприводы используют специальный процессор, который получает управляющие импульсы, обрабатывает их и посылает сигналы на мотор с частотой 200 Гц и более. Получается, что цифровой сервопривод способен быстрее реагировать на внешние воздействия, быстрее развивать необходимые скорость и крутящий момент, а значит, лучше удерживать заданную позицию, что хорошо. Конечно, при этом он потребляет больше электроэнергии. Также цифровые сервоприводы сложнее в производстве, а потому стоят заметно дороже. Собственно, эти два недостатка — все минусы, которые есть у цифровых сервоприводов. В техническом плане они безоговорочно побеждают аналоговые сервоприводы.
Материалы шестерней
Шестерни для сервоприводов бывают из разных материалов: пластиковые, карбоновые, металлические. Все они широко используются, выбор зависит от конкретной задачи и от того, какие характеристики требуются в установке.
Пластиковые, чаще всего нейлоновые, шестерни очень лёгкие, не подвержены износу, более всего распространены в сервоприводах. Они не выдерживают больших нагрузок, однако если нагрузки предполагаются небольшие, то нейлоновые шестерни — лучший выбор.
Карбоновые шестерни более долговечны, практически не изнашиваются, в несколько раз прочнее нейлоновых. Основной недостатой — дороговизна.
Металлические шестерни являются самыми тяжёлыми, однако они выдерживают максимальные нагрузки. Достаточно быстро изнашиваются, так что придётся менять шестерни практически каждый сезон. Шестерни из титана — фавориты среди металлических шестерней, причём как по техническим характеристикам, так и по цене. К сожалению, они обойдутся вам достаточно дорого.
Коллекторные и бесколлекторные моторы
Существует три типа моторов сервоприводов: обычный мотор с сердечником, мотор без сердечника и бесколлекторный мотор.
Обычный мотор с сердечником (справа) обладает плотным железным ротором с проволочной обмоткой и магнитами вокруг него. Ротор имеет несколько секций, поэтому когда мотор вращается, ротор вызывает небольшие колебания мотора при прохождении секций мимо магнитов, а в результате получается сервопривод, который вибрирует и является менее точным, чем сервопривод с мотором без сердечника. Мотор с полым ротором (слева) обладает единым магнитным сердечником с обмоткой в форме цилиндра или колокола вокруг магнита. Конструкция без сердечника легче по весу и не имеет секций, что приводит к более быстрому отклику и ровной работе без вибраций. Такие моторы дороже, но они обеспечивают более высокий уровень контроля, вращающего момента и скорости по сравнения со стандартными.
Сервоприводы с бесколлекторным мотором появились сравнительно недавно. Преимущества те же что и у остальных бесколлекторных моторов: нет щёток, а значит они не создают сопротивление вращению и не изнашиваются, скорость и момент выше при токопотреблении равном коллекторным моторам. Сервоприводы с бесколлекторным мотором — самые дорогие сервоприводы, однако при этом они обладают лучшими характеристиками по сравнению с сервоприводами с другими типами моторов.
Сервопривод постоянного вращения
Сервоприводы обычно имеют ограниченный угол вращения 180 градусов, их так и называют «сервопривод 180°».
Но существуют сервоприводы с неограниченным углом поворота оси. Это сервоприводы постоянного вращения или «сервоприводы 360°».
Сервопривод постоянного вращения можно управлять с помощью библиотек Servo
или Servo2
. Отличие заключается в том, что функция Servo.write(angle)
задаёт не угол, а скорость вращения привода:
Функция Arduino | Сервопривод 180° | Сервопривод 360° |
---|---|---|
Servo.write(0) | Крайне левое положение | Полный ход в одном направлении |
Servo.write(90) | Середнее положение | Остановка сервопривода |
Servo.write(180) | Крайне правое положение | Полный ход в обратном направлении |
Для иллюстрации работы с сервами постоянного вращения мы собрали двух мобильных ботов — на Arduino Uno и Iskra JS. Инструкции по сборке и примеры скетчей смотрите в статье собираем ИК-бота.
Примеры работы с Arduino
Схема подключения
Многие сервоприводы могут быть подключены к Arduino непосредственно. Для этого от них идёт шлейф из трёх проводов:
красный — питание; подключается к контакту
5V
или напрямую к источнику питаниякоричневый или чёрный — земля
жёлтый или белый — сигнал; подключается к цифровому выходу Arduino.
Для подключения к Arduino будет удобно воспользоваться платой-расширителем портов, такой как Troyka Shield. Хотя с несколькими дополнительными проводами можно подключить серву и через breadboard или непосредственно к контактам Arduino.
Можно генерировать управляющие импульсы самостоятельно, но это настолько распространённая задача, что для её упрощения существует стандартная библиотека Servo
.
Ограничение по питанию
Обычный хобби-сервопривод во время работы потребляет более 100 мА. При этом Arduino способно выдавать до 500 мА. Поэтому, если вам в проекте необходимо использовать мощный сервопривод, есть смысл задуматься о выделении его в контур с дополнительным питанием.
Рассмотрим на примере подключения 12V сервопривода:
Ограничение по количеству подключаемых сервоприводов
На большинстве плат Arduino библиотека Servo
поддерживает управление не более 12 сервоприводами, на Arduino Mega это число вырастает до значения 48. При этом есть небольшой побочный эффект использования этой библиотеки: если вы работаете не с Arduino Mega, то становится невозможным использовать функцию analogWrite()
на 9 и 10 контактах независимо от того, подключены сервоприводы к этим контактам или нет. На Arduino Mega можно подключить до 12 сервоприводов без нарушения функционирования ШИМ/PWM, при использовании большего количества сервоприводов мы не сможем использовать analogWrite()
на 11 и 12 контактах.
Пример использования библиотеки Servo
- servo_example.ino
// подключаем библиотеку для работы с сервоприводами #include <Servo.h> // создаём объект для управления сервоприводом Servo myservo; void setup() { // подключаем сервопривод к 9 пину myservo.attach(9); } void loop() { // устанавливаем сервопривод в серединное положение myservo.write(90); delay(500); // устанавливаем сервопривод в крайнее левое положение myservo.write(0); delay(500); // устанавливаем сервопривод в крайнее правое положение myservo.write(180); delay(500); }
По аналогии подключим 2 сервопривода
- 2servo_example.ino
// подключаем библиотеку для работы с сервоприводами #include <Servo.h> // создаём объекты для управления сервоприводами Servo myservo1; Servo myservo2; void setup() { // подключаем сервоприводы к 11 и 12 пину myservo1.attach(11); myservo2.attach(12); } void loop() { // устанавливаем сервопривод в серединное положение myservo1.write(90); myservo2.write(90); delay(500); // устанавливаем сервопривод в крайнее левое положение myservo1.write(0); myservo2. write(0); delay(500); // устанавливаем сервопривод в крайнее правое положение myservo1.write(180); myservo2.write(180); delay(500); }
Библиотека Servo не совместима с библиотекой VirtualWire для работы с приёмником и передатчиком на 433 МГц.
Альтернативная библиотека Servo2
Библиотеки для управления сервоприводами (Servo) и для работы с приёмниками / передатчиками на 433 МГц VirtualWire используют одно и то же прерывание. Это означает, что их нельзя использовать в одном проекте одновременно. Существует альтернативная библиотека для управления сервомоторами — Servo2.
Все методы библиотеки Servo2 совпадают с методами Servo.
Пример использования библиотеки Servo
- servo2_example.ino
// подключаем библиотеку для работы с сервоприводами // данная библиотека совместима с библиотекой «VirtualWire» // для работы с приёмником и передатчиком на 433 МГц #include <Servo2.h> // создаём объект для управления сервоприводом Servo2 myservo; void setup() { // подключаем сервопривод к 9 пину myservo.attach(9); } void loop() { // устанавливаем сервопривод в серединное положение myservo.write(90); delay(500); // устанавливаем сервопривод в крайнее левое положение myservo.write(0); delay(500); // устанавливаем сервопривод в крайнее правое положение myservo.write(180); delay(500); }
Примеры работы с Espruino
Примеры работы с Raspberry Pi
Вывод
Сервоприводы бывают разные, одни получше — другие подешевле, одни надёжнее — другие точнее. И перед тем, как купить сервопривод, стоит иметь в виду, что он может не обладать лучшими характеристиками, главное, чтобы подходил для вашего проекта. Удачи в ваших начинаниях!
Ресурсы
Управление сервоприводом SG90 без микроконтроллера / Хабр
Попался под руку популярный недорогой сервопривод SG90. И задумалось управлять им, но без микроконтроллера. В этой статье я изложу ход мыслей разработчика при реализации одного из вариантов решения.
Кому интересно, прошу под кат.
Идея
Надо управлять сервоприводом, но без микроконтроллера.
Знания
Всем известно, что опыт и знания помогают творить и находить решения. На страницах Гиктаймса немало примеров использования сервопривода с применением контроллеров. В них подробно рассказано про систему управления сервоприводом. Примем этот опыт других разработчиков за знания необходимые нам для решения задачи. Сервопривод SG90 управляется ШИМ сигналом, параметры которого определяют положение ротора. Период ШИМ около 20 мС, длительность сигнала управления от 500 до 2100 мкС.
Задача
Идея и знания порождают задачу, которую необходимо решить. Сформулируем задачу для воплощения идеи. Это что-то вроде Технического Задания. Кажется, все просто, надо взять генератор импульсов с изменяемой скважностью, подключить питание к сервоприводу, а с генератора подать управляющий сигнал. Особо отметим, что в требованиях есть изменения скважности — то есть должны быть органы управления или пользовательский интерфейс.
Реализация
Вот тут и начинаются муки творчества: что взять и где взять? Можно найти готовый лабораторный импульсный генератор, например Г5-54 с ручками, кнопками, выставить нужные параметры, подключить генератор к сервоприводу. Однако это громоздко и не все могут позволить себе такую роскошь. Поэтому разработчики, опираясь на свой опыт и знания, пытаются совместить желание (идею-задачу) и возможности (материальные и творческие) для реализации задачи. Материальные возможности — это
Поиск альтернатив
Воспользовавшись интернетом, поищем варианты, которые предлагает СЕТЬ. Зададим в поиске: “генератор прямоугольных импульсов с переменной скважностью”. Получим очень много вариантов, как с применением интегральных таймеров NE555 (отечественный аналог КР1006ВИ1), так и на логических микросхемах. Из всего разнообразия я выбрал вариант генератора на инверторе с триггером Шмитта на входе. Во-первых, он самый простой, во-вторых, требует минимум деталей и самое интересное использует единственный логический элемент из шести, если, например, использовать микросхему 74HC14.
Схема такого генератора выглядит так:
Немного теории
Теория гласит, что частота такого генератора равна f = 1/T = 1/(0.8*R*C). Для получения требуемой частоты требуется выбрать номинал одного из элементов, задающих частоту. Так как логический элемент выполнен по технологии КМОП, то имеет большое входное сопротивление, поэтому можно применять элементы задающие небольшие рабочие токи. Выберем емкость С1 из ряда распространенных номиналов, например 0.47 мкФ. Тогда для получения требуемой частоты (50Гц) резистор должен быть приблизительно 53 кОм, но такого резистора в стандартном ряду нет, поэтому выберем 51 кОм.
На выходе такого генератора формируется сигнал близкий к меандру, поэтому нам необходимо скорректировать схему таким образом, чтобы она удовлетворяла требованиям задания. Для получения регулируемой длительности импульса на выходе необходимо изменить режим перезарядки конденсатора от высокого уровня на выходе, а именно, сократить время перезарядки. Для этого добавим в схему еще два элемента: диод и переменный резистор. Подойдет любой маломощный импульсный диод.
Тогда схема примет следующий вид:
Казалось бы: все, задача решена, но в крайних положениях переменного резистора поведение сервопривода нестабильно. Это связано с тем, что значение длительности импульсов, в крайних положениях переменного резистора, не соответствует требуемым. Лично мне также не по душе применение переменного резистора, поэтому я хочу изменить интерфейс управления, добавив новую “хотелку” в техническое задание, например чтобы скважность менялась в зависимости от освещенности. Для этого есть простое и недорогое решение: применить в качестве регулирующего элемента фоторезистор GL55xx (используют в проектах Arduino), изменение сопротивления которого лежит в широком диапазоне.
Далее начинается самое интересное. Расчетных формул для получения значений сопротивлений обеспечивающих требуемые длительности импульсов нет, поэтому на уровне интуиции (опытным путем, с помощью переменного резистора) определяем значения сопротивления, при которых устанавливаются требуемые значения длительностей импульсов. Затем изменяем схему так, чтобы при изменении сопротивления фоторезистора общее сопротивление изменялось, устанавливая требуемые значения длительностей импульсов.
Итоговая схема принимает следующий вид:
Пояснения к итоговой схеме
Конденсатор С1 номиналом 0.47 мкФ, определяет время перезаряда. Резистор R1 номиналом 51 кОм задает основную частоту повторения импульсов в районе 50 Гц. Комбинация резисторов R2-R4 в сумме будет изменяться в диапазоне от 2.5 кОм до 24 кОм в зависимости от освещенности. Вместе с диодом D1 эти резисторы будут влиять на время перезаряда конденсатора С1 при действии положительного импульса на выходе логического элемента, тем самым определять его длительность.
Результат
Подключив данный генератор к входу управления сервопривода получим возможность управлять им, изменяя освещенность фоторезистора. На видео можно посмотреть, что из этого получилось:
На этом казалось бы все, но могу предложить развитие данной разработки. Так как мы использовали всего один из шести логических элементов входящих в корпус микросхемы, то можно собрать еще пять генераторов и подключить их к другим сервоприводам. Подключив к исполнительным рычагам сервоприводов заслонки, которые будут перекрывать световой поток у фоторезисторов, управляющих другими сервоприводами, можно получить забавное поведение сервоприводов, но этот эксперимент предлагаю провести самостоятельно.
Дерзайте и удачи!
Как управлять сервоприводом?
Что такое сервопривод и для чего он нужен
Данное устройство является механизмом, который предназначен для выполнения валом электродвигателя определенных контролируемых движений. Пользуясь тем, что сервоприводы активно используются в робототехнике, приведем наглядный пример. Допустим, вам необходимо, чтобы рука робота поднялась вверх на 30° (сейчас она на отметке 0°). Вы задаете программе нужные значения, после чего блок питания сервопривода высчитывает разницу между фактическим положением (0°) и тем, которое ему предстоит занять (30°). Высчитав разницу в 30°, он старается максимально сократить этот разрыв, то есть поднять руку до заданного положения.
Аналогично сервопривод работает и в различных приборах и технике.
Как происходит управление сервоприводом
Для того, чтобы понять, как управлять сервоприводом на Ардуино, необходимо понять принцип управления технологией в целом. Благодаря одному лишь входному сигналу, привод может получить значение для совершения конкретного действия – поворота на определенное количество градусов. Что это за сигнал? Его можно хорошо проследить на рисунке ниже. Это волна, по форме напоминающая прямоугольник. Каждый прямоугольник – это, своего рода, цикл, импульс, продолжающийся определенное время. Чем дольше идет этот импульс – тем сильнее увеличивается градусное значение – что также можно хорошо увидеть на рисунке.
Серво-библиотеки
Для управления сервоприводом на Ардуино созданы специальные библиотеки, которые включают в себя специальные скетчи. Каждый скетч заставляет привод совершить определенное действие – повернуться на нужное количество градусов или выполнить целый набор движений (например, повернуться на 50°, подождать пару минут и повернуться ещё 50°). Скачав несколько подобных библиотек, вы сможете заставить сервопривод выполнять необходимые действия и комбинировать их между собой.
Само воздействие, которое оказывается на привод, понять довольно просто. Всё, что происходит – отправка сигнала по определенному проводу, отвечающему за прием подобных сигналов. Это и есть те импульсы, которые вы изучали выше. Поэтому библиотеки просто собирают группу таких сигналов, готовых к отправке на сервопривод.
класс по робототехнике «Управление сервоприводом через потенциометр»
Всем привет! В этой статье мы научим вас управлять сервоприводом SG90 через Потенциометр!
Краткая справка:
Сервопривод – электромеханический мотор, который имеет выходной вал, способный вращаться вокруг своей оси. Мы в своих проектах используем сервоприводы SG90, в роборуке, например, таких аж 4 штуки! Такое сервопривод имеет пластиковый редуктор, из-за чего при большом усилии шестаренки могут сломаться, поэтому лучше не проворачивайте выходной вал мотора вручную, а используйте для этого команды с микроконтроллера:)
Потенциометр – (он же реостат) – резистор с переменным сопротивлением. Вращая ручку потенциометра, можно менять размер проводящего участка, таким образом меняя сопротивление элемента. Собственно, принцип сегодняшнего мастер-класса будет основан на считывании положения ручки потенциометра и в перевод полученного значения в угол Сервомотора.
Для работы нам понядобатся:
– макетная плата
– плата Arduino Nano
– 6 проводов «Папа-Папа»
– Потенциометр на 100 кОм
– Сервопривод SG90
Для начала, соберем схему подключения Сервопривода к плате Arduino Nano. Крайние контакты потенциометра необходимо подключить на контакты 5V и GND на плате (какой из крайних куда не принципиально). 10) = 1024 значения, соответственно, при вращениии ручки потенциометра от одного крайнего положения к другому мы будем видеть значения от 0 до 1023.
Теперь, когда мы умеем извлекать данные с потенциометра, давайте научимся переводить их в углы для сервомотора. Для этого подключим к нашей схеме Сервомотор.
Фото схемы:
Для управление сервой, необходимо написать код, который будет переводить показания от потенциометра (0 – 1023) в углы Сервомотора (0 – 90 градусов).
Для этого вводим переменную «Коэффициент», равную отношению «Максимального значения потенциометра» к «Максимальному углу сервомотора». В цикл добавляем команду управление сервомотором, угол определяем как считанное значение потенциометра скорректированное (поделенное) на «Коэффициент». Готовый скетч можно скачать по ссылке.
Готово! Теперь при вращении ручки потенциометра, мы вращаем выходной вал Сервомотора! Для того, чтобы наглядно показать практическую пользу от мастер-класса, мы решили подключить к схеме сервопривод, отвечающий за клешню нашей Роборуки. Вот как это выглядит:
Если вы хотите повторить всё проделанное самостоятельно – все необходимые компоненты есть в нашем курсе «Легкий Старт»
Если хотите попробовать немного попрограммировать RobotON Studio – регистрируйтесь на бесплатное занятие:)
Как управлять серводвигателем с помощью библиотеки сервоприводов в C++ на Arduino?
Я пытаюсь вращать сервомотор полного вращения с помощью комплекта Arduino Pro . Я использую библиотеку сервоприводов и особенно функцию сервопривода. Я использую Write()
для управления скоростью и направлением серводвигателя с помощью этой функции.
Согласно библиотеке сервоприводов Arduino C++, параметром для функции записи является угол в стандартном сервоприводе и скорость для полного вращения сервопривода. Теперь я хочу знать единицу измерения этого параметра, потому что когда я устанавливаю этот параметр на 45, скорость выше, чем когда я устанавливаю его на 90! Как я могу решить эту проблему?
c++ arduinoПоделиться Источник Wazani 24 марта 2013 в 18:27
2 ответа
- Управление серводвигателем с помощью платы IOIO
Как управлять Серводвигателем с помощью Android с помощью IOIO платы? Что такое код android, стоящий за ним, и какой ввод требуется?
- Arduino с кодом ESP8266 и c++
У меня есть следующее сомнение:у меня есть модуль Arduino UNO, или Arduino Mega, и ESP8266 wifi. Теперь я хочу передать программу в C/C++ под ubuntu с Arduino по wifi для управления серводвигателем. Что же мне делать? Мне нужны указания, но коды тоже приветствуются. Спасибо.
4
На непрерывное вращение сервопривода, это позволит установить скорость сервопривода (где 0-полная скорость в одном направлении, 180-полная скорость в другом, а значение около 90-отсутствие движения).
Источник: http://arduino.cc/en/Reference/ServoWrite
Поделиться Markus Deibel 24 марта 2013 в 18:44
0
У меня есть пример кода для управления серводвигателями из библиотеки классов, я надеюсь, что вы можете получить небольшую помощь в его формировании.
перейти к: http://everysolutionshere.blogspot.in/2013/05/шаг-к-управлению-серводвигателями-от-c.html
Вы можете использовать карту оси для легкого управления сервоприводом. Он обеспечивает лучшую точность для управления импульсом и направлением.
Поделиться Bhavesh Ahir 03 января 2014 в 07:18
Похожие вопросы:
Как использовать внешние библиотеки в Eclipse (Java) и обработке для Arduino
Я смог получить функциональность от Arduino до Eclipse, следуя учебнику Arduino в Eclipse через обработку . Однако я столкнулся с проблемой; я не смог использовать такие библиотеки, как библиотека…
Как сгенерировать PWM для управления серводвигателем на STM32F103 с таймером
Как сгенерировать PWM для управления серводвигателем на STM32F103 с таймером Код C я хочу управлять серводвигателем по PWM я получаю значение от ADC а затем вычисляю до PWM рабочего цикла Блок-схема…
Как прочитать строковое значение с разделителем на Arduino?
Мне приходится управлять сервомоторами с компьютера. Поэтому мне приходится отправлять управляющие сообщения с компьютера на Arduino. Мне нужно управлять количеством сервоприводов и углом. Я думаю…
Управление серводвигателем с помощью платы IOIO
Как управлять Серводвигателем с помощью Android с помощью IOIO платы? Что такое код android, стоящий за ним, и какой ввод требуется?
Arduino с кодом ESP8266 и c++
У меня есть следующее сомнение:у меня есть модуль Arduino UNO, или Arduino Mega, и ESP8266 wifi. Теперь я хочу передать программу в C/C++ под ubuntu с Arduino по wifi для управления серводвигателем….
PIC или ARDUINO для управления серводвигателем
Я фанат PIC. Я не использовал arduino. но у меня есть проблемы, когда я собираюсь управлять сервоприводами с помощью pic. 1) когда PIc управляет сервоприводом, он не может делать ничего другого….
Как управлять arduino с помощью ПК с c++
Я хочу управлять своей доской arduino с помощью моей собственной программы c++ или java. В основном я хочу получить значения из arduino. И выполняйте некоторые задачи, основанные на этих значениях….
Управление непрерывным серводвигателем с Raspberry Pi и Python
Я пытаюсь управлять своим непрерывным серводвигателем с помощью этого кода: import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) p = GPIO.PWM(17, 50) p.start(7.5) try:. ..
как управлять серводвигателем с помощью arduino
Я видел много-много видео по кодированию pwn и серводвигателя, но не могу понять, как именно работает код серводвигателя в arduino. моя главная путаница заключается в том, какова точная цель…
Arduino конфликт серво-библиотеки
В моем коде я использую только библиотеку LiquidCrystal и библиотеку сервоприводов. Когда я пытаюсь скомпилировать код появляется следующая ошибка Servo/Servo.cpp.o: In function `Servo::attached()’:…
Управление сервоприводом с помощью переменного резистора. Переделка сервопривода в серво непрерывного вращения. Электрический привод выполняется с разными способами управления
Сервоприводы и механизмы оснащены датчиком, который отслеживает определенный параметр, например усилие, положение или скорость, а также управляющий блок в виде электронного устройства. Задачей этого устройства является поддержание необходимых параметров в автоматическом режиме во время функционирования устройства, в зависимости от вида поступающего сигнала от датчика в определенные периоды времени.
Устройство и работаОт обычного электродвигателя сервопривод отличается тем, что можно задать точное положение вала в градусах. Сервоприводы – это любые механические приводы, которые включают в себя датчик некоторого параметра и блок управления, который способен автоматически поддерживать требуемые параметры, соответствующие определенным внешним значениям.
1 — Шестерни редуктора
2 — Выходной вал
3 — Подшипник
4 — Нижняя втулка
5 — Потенциометр
6 — Плата управления
7 — Винт корпуса
8 — Электродвигатель постоянного тока
9 — Шестерня электродвигателя
Для преобразования электрической энергии в механическое движение, необходим . Приводом является редуктор с электродвигателем. Редуктор требуется для снижения скорости двигателя, так как скорость слишком большая для применения. Редуктор состоит из корпуса, в котором расположены валы с шестернями, способными преобразовывать и передавать крутящий момент.
Путем запуска и останова электродвигателя можно приводить в движение выходной вал редуктора, который связан с шестерней сервопривода. К валу можно присоединять устройство или механизм, которым требуется управлять. Кроме этого для контроля положения вала требуется наличие датчика обратной связи. Этот датчик может преобразовать угол поворота снова в сигнал электрического тока.
Такой датчик получил название энкодера. В качестве энкодера может применяться потенциометр. Если бегунок потенциометра поворачивать, то будет изменяться его сопротивление. Значение этого сопротивления прямо пропорционально зависит от угла поворота потенциометра. Таким образом, есть возможность добиться установки определенного положения механизма.
Кроме выше названного потенциометра, редуктора и электродвигателя, сервоприводы оснащены электронной платой, которая обрабатывает поступающий сигнал внешнего значения параметра от потенциометра, сравнивает, и в соответствии с результатом сравнения запускает или останавливает электродвигатель. Другими словами эта электронная начинка отвечает за поддержку отрицательной обратной связи.
Подключение сервопривода осуществляется тремя проводниками, два из которых подают питание напряжением электродвигателя, а по третьему проводнику поступает сигнал управления, с помощью которого выполняется установка положения вала двигателя.
Кроме электродвигателя, играть роль привода может и другой механизм, например пневматический цилиндр со штоком. В качестве датчика обратной связи применяют также датчики поворота угла, либо . Управляющий блок является сервоусилителем, индивидуальным инвертором. Он может содержать также и датчик сигнала управления.
При необходимости создания плавного торможения или разгона для предотвращения чрезмерных динамических нагрузок двигателя, выполняют схемы более сложных микроконтроллеров управления, которые могут контролировать позицию рабочего элемента намного точнее. Подобным образом выполнено устройство привода установки позиции головок в компьютерных жестких дисках.
Виды сервоприводовПри необходимости создания управления несколькими группами сервоприводов используют контроллеры с ЧПУ, которые собраны на схемах программируемых логических контроллеров. Такие сервоприводы способны обеспечить крутящий момент 50 Н*м, мощностью до 15 киловатт.
Синхронные способны задать скорость вращения электродвигателя с большой точностью, так же как ускорение и угол поворота. Синхронные виды приводов могут быстро достигать номинальной скорости вращения.
Асинхронные способны точно выдерживать скорость даже на очень низких оборотах.
Сервоприводы принципиально разделяют на электромеханические и электрогидромеханические . Электромеханические приводы состоят из редуктора и электродвигателя. Но их быстродействие оказывается намного меньше. В электрогидромеханических приводах движение создается путем движения поршня в цилиндре, вследствие чего быстродействие оказывается на очень высоком уровне.
Характеристики сервоприводовРассмотрим основные параметры, которые характеризуют сервоприводы:
- Усилие на валу . Этот параметр является крутящим моментом. Это наиболее важный параметр сервопривода. В паспортных данных чаще всего указывается несколько значений момента для разных величин напряжения.
- Скорость поворота также является важной характеристикой. Она указывается в эквиваленте времени, необходимом для изменения позиции выходного вала привода на 60 градусов. Этот параметр также могут указывать для нескольких значений напряжения.
- Тип сервоприводов бывает аналоговый или цифровой.
- Питание . Основная часть сервоприводов функционирует на напряжении 4,8-7,2 вольта. Питание подается чаще всего по трем проводникам: белый – сигнал управления, красный – напряжение работы, черный – общий провод.
- Угол поворота – это наибольший угол, на который выходной вал способен повернуться. Чаще всего этот параметр равен 180 или 360 градусов.
- Постоянного вращения . При необходимости обычный сервопривод можно модернизировать для постоянного вращения.
- Материал изготовления редуктора сервоприводов бывает различным: карбон, металл, пластик, либо комбинированный состав. Шестерни, выполненные из пластика, не выдерживают ударных нагрузок, однако обладают высокой износостойкостью. Карбоновые шестерни намного прочнее пластмассовых, но имеют высокую стоимость. Шестерни из металла способны выдержать значительные нагрузки, падения, но имеют низкую износостойкость. Выходной вал редуктора устанавливают по-разному на разных моделях: на втулках скольжения, либо на шариковых подшипниках.
Преимущества
- Легкость и простота установки конструкции.
- Безотказность и надежность, что важно для ответственных устройств.
- Не создают шума при эксплуатации.
- Точность и плавность передвижений достигается даже на малых скоростях. В зависимости от поставленной задачи разрешающая способность может настраиваться работником.
- Сложность в настройке.
- Повышенная стоимость.
Сервоприводы в настоящее время используются достаточно широко. Так, например, они применяются в различных точных приборах, промышленных роботах, автоматах по производству печатных плат, станках с программным управлением, различные клапаны и задвижки.
Наиболее популярными стали быстродействующие приводы в авиамодельном деле. Серводвигатели имеют достоинство в эффективности расхода электрической энергии, а также равномерного движения.
В начале появления серводвигателей использовались коллекторные трехполюсные моторы с обмотками на роторе, и с постоянными магнитами на статоре. Кроме этого, в конструкции двигателя был узел с коллектором и щетками. Далее, по мере технического прогресса число обмоток двигателя увеличилось до пяти, а момент вращения возрос, так же как и скорость разгона.
Следующим этапом развития серводвигателей было расположение обмоток снаружи магнитов. Этим снизили массу ротора, уменьшили время разгона. При этом стоимость двигателя увеличилась. В результате дальнейшего проектирования серводвигателей было решено отказаться от наличия коллектора в устройстве двигателя. Стали применяться двигатели с постоянными магнитами ротора. Мотор стал без щеток, эффективность его возросла вследствие увеличения крутящего момента, скорости и ускорения.
В последнее время наиболее популярными стали сервомоторы, работающие от программируемого контроллера (Ардуино). Вследствие этого открылись большие возможности для проектирования точных станков, роботостроения, авиастроения (квадрокоптеры).
Так как приводы с моторами без коллекторов обладают высокими функциональными характеристиками, точным управлением, повышенной эффективностью, они часто применяются в промышленном оборудовании, бытовой технике (мощные пылесосы с фильтрами), и даже в детских игрушках.
Сервопривод отопленияПо сравнению с механической регулировкой системы отопления, электрические сервоприводы являются наиболее совершенными и прогрессивными техническими устройствами, обеспечивающими поддержание параметров отопления помещений.
1 — Блок питания
2 — Комнатные термостаты
3 — Коммутационный блок
4 — Серводвигатели
5 — Подающий коллектор
6 — Обход
7 — Водяной теплый пол
8 — Обратный коллектор
9 — Датчик температуры воды
10 — Циркулярный насос
11 — Шаровый клапан
12 — Регулировочный клапан
13 — Двухходовой термостатический клапан
Привод системы отопления функционирует совместно с термостатом, установленным на стену. Кран с электрическим приводом монтируется на трубе подачи теплоносителя, перед коллектором теплого водяного пола. Далее выполняется подключение питания 220 вольт и настройка терморегулятора рабочего режима.
Система управления оснащается двумя датчиками. Один из них расположен в полу, другой в помещении. Датчики передают сигналы на термостат, управляющий сервоприводом, который соединен с краном. Повысить точность регулировки можно путем установки дополнительного прибора снаружи помещения, так как условия климата непрерывно изменяются, и оказывают влияние на температуру в комнате.
Привод механически соединен с клапаном для его управления. Клапаны могут быть двух- и трехходовыми. Двухходовой клапан может изменять температуру воды в системе. Трехходовой клапан способен поддерживать температуру неизменной, однако изменяет потребление горячей воды, которая подается в контуры. В устройстве трехходового клапана имеется два входа для горячей воды (трубы подачи) и выход обратной воды, через который подается смешанная вода с заданной температурой.
Смешивание воды происходит с помощью клапана. При этом осуществляется регулировка подачи теплоносителя в коллекторы. При открывании одного входа, другой начинает закрываться, а расход воды на выходе не изменяется.
Сервоприводы багажникаВ настоящее время современные автомобили чаще всего стали производит с функцией автоматического открывания багажника. Для такой цели применяют рассмотренную нами конструкцию сервопривода. Автопроизводители используют два метода для оснащения такой функцией автомобиля.
Конечно, пневмопривод багажника более надежен, однако его стоимость достаточно высока, поэтому в автомобилях такой привод не нашел применения.
Электрический привод выполняется с разными способами управления:
- Рукояткой на крышке багажника.
- Кнопкой на панели двери водителя.
- С пульта сигнализации.
Открывать багажник вручную не всегда бывает удобным. Например, зимой замок имеет свойство замерзать. Сервопривод дополнительно выполняет функцию защиты автомобиля от чужого проникновения, так как совмещен с устройством замка.
Такие приводы багажника используются на некоторых импортных автомобилях, однако, можно установить такой механизм и на отечественных машинах, было бы желание.
Существуют приводы багажника с магнитными пластинами, однако они не нашли применения, так как их устройство достаточно сложное.
Наиболее приемлемыми по цене являются сервоприводы багажника, которые выполняют только открывание. Функция закрывания для них недоступна. Также можно выбрать конструкцию модели привода, имеющего инерционный механизм. Он играет роль блокировки при появлении препятствия при движении багажника.
Дорогостоящие модели сервоприводов включают в себя механизм подъема и опускания багажника, доводчика механизма запирания, датчиков и контроллера. Обычно их на автомобилях устанавливают на заводе, однако простые конструкции вполне можно монтировать самостоятельно.
Сервоприводы – это устройства, которые предназначены для управления приборами. Осуществляется этот процесс при помощи обратной связи. На сегодняшний день различают асинхронные и синхронные модификации. По устройству модели могут довольно сильно различаться. Также следует учитывать, что существуют модификации линейного типа. Отличаются они большим параметром ускорения.
По принципу действия сервоприводы бывают электромеханического и электрогидромеханического типов. Встретить вышеуказанные приборы чаще всего можно в промышленной сфере. Там они отвечают за работу различного оборудования. В частности, сервоприводы занимаются управлением станков.
Устройство
Схема сервопривода включает в себя датчик, блок питания, а также плату управления. Дополнительно в моделях можно встретить конвертер. Чаще всего он устанавливается линейного типа. В данном случае многое зависит от привода. Представлен он в сервоприводе, как правило, в виде электромотора с редуктором. Однако на сегодняшний день имеется множество модификаций с пневмоцилиндрами.
Как собрать модель?
Сделать сервопривод своими руками довольно просто. Если рассматривать простую модификацию, то в первую очередь следует подобрать корпус для устройства. В данном случае многое зависит от габаритов привода. Для самодельного устройства целесообразнее использовать маломощный электродвигатель. При этом редукторная коробка должна быть установлена рядом.
Далее, чтобы собрать сервопривод своими руками, нужно подобрать потенциометр аналогового типа. В магазине его найти не составит труда. После этого следует заняться установкой датчика. Как правило, плата управления подбирается серии РР20. Для поворотных регуляторов она подходит хорошо. В конце работы останется только установить конвертер. Все это необходимо для того, чтобы подсоединить устройство к сети.
Модель для отопления
Сервопривод для отопления в наше время является очень востребованным. Отличаются данные устройства высоким параметром предельной частоты. Двигатели чаще всего в моделях используются асинхронного типа. При этом мощность их находится на уровне 2 кВт. Для передачи вращательного момента на вал используются малые шестерни. На сегодняшний день наиболее распространенным принято считать сервопривод для отопления с аналоговыми потенциометрами.
Однако цифровые модели также не являются редкостью. Для повышения пропускной способности устройства применяются специальные контроллеры. При этом управленческие платы устанавливаются самые разнообразные. Для подключения устройства к сети стандартно используются конвертеры. В наше время чаще всего их можно встретить линейного типа. Ремонт сервопривода для отопления может делаться только в сервисном центре.
Устройство с клапаном
Клапан с сервоприводом, как правило, используется в промышленной сфере. Там он способен отвечать за регулировку станков. Отличительной особенностью данных моделей принято считать мощные двигатели. При этом параметр предельной частоты у них достигает 22 Гц. Все это, в конечном счете, дает приборам хорошее ускорение. Непосредственно моторы можно встретить в основном асинхронного типа. Соединение с валом клапан с сервоприводом имеет шестерного типа. Регуляторы в таких устройствах встречаются поворотного и кнопочного вида. В данном случае клапаны могут использоваться только односторонние.
Модель для печки
Сервопривод печки в среднем мощность имеет на уроне 2 кВт. Двигатели чаще всего устанавливаются асинхронного типа с предельной частотой на отметке в 31 Гц. Отличительной особенностью таких устройств принято считать наличие резистивного элемента. В его обязанности входит повышение пропускной способности модели. Редукторы чаще всего устанавливаются низкочастотного типа. Дополнительно следует отметить, что на рынке представлено множество модификаций с потенциометрами.
Управленческие платы, как правило, имеются серии РР20. Для многофункционального контроля печки они подходят идеально. В данной ситуации выходные валы подсоединяются напрямую к коробке редуктора. Все это необходимо для того, чтобы повысить крутящий момент. В качестве рычага производители используют плечо. Устанавливается оно, как правило, не большого размера. Подключается сервопривод печки к сети через специальные контакты на конвертере. В данном случае статор к устройству подсоединять можно. Дополнительно сервопривод отлично способен выполнять функции усилителя.
Устройство для регулировки заслонки
Сервопривод заслонки можно сделать даже самостоятельно. В данной ситуации электромотор имеет смысл подбирать с мощностью не более 2 кВт. В противном случае выходной вал не выдержит больших нагрузок и поломается. При сборке в первую очередь устанавливается коробка редуктора. Пневмоцилиндрические устройства используются довольно редко.
Статоры в сервопривод заслонки монтируются часто электронного типа. Конвертер устанавливается в модель только после плеча. Затем необходимо уделить внимание управленческой плате. Выходной вал в данном случае должен быть закреплен на оси. Для этого подбирают металлическую проволоку не больших размеров. В последнюю очередь останется только подсоединить проводы к конвертеру. Далее их напрямую появится возможность подключить к блоку управления.
Модель с краном
Кран с сервоприводом позволяет регулировать напор воды. Встретить прибор данного типа чаще всего можно в промышленной сфере. В данном случае используются только пневмоцилиндры. В свою очередь электромоторы встречаются довольно редко. Статорные коробки для сервопривода подходят ручного типа. Для регулировки устройства обязана быть предусмотрена специальная плата.
На сегодняшний день многие производители отдают предпочтение модификации РР20. Непосредственно контроллеры устанавливаются поворотного типа. Подключение сервопривода к сети осуществляется при помощи конвертера. На рынке в наше время представлены как нелинейные, так и линейные его типы.
Синхронные модификации
Синхронный сервопривод – что это? На самом деле указанное устройство используется для регулировки станков. При этом в вентиляционных системах они также являются востребованным. Датчики у моделей устанавливаются, как правило, проворного типа. В данном случае мощность двигателя может варьироваться от 1 до 3 кВт. Отдельного внимания в устройствах заслуживает конвертер. Устанавливается он, как правило, на два контакта. Однако имеются и другие модификации.
Статоры используются цифрового типа, и регулировать их можно при помощи котроллера. Еще одной отличительной чертой данных устройств принято считать наличие энкодеров. Данные детали необходимы для обратной связи. Параметр предельной частоты у сервоприводов не превышает 35 Гц. Подключение устройства к сети осуществляется только через клеммы. Дополнительно следует отметить, что резистивные механизмы используются, как правило, низкочастотного типа. Самостоятельно сложить сервопривод довольно сложно. Однако в данном случае многое зависит от типа управленческой платы.
Асинхронные сервоприводы
Асинхронный сервопривод – что это? В действительности указанное устройство предназначено исключительно для оборудования, которое блок питания имеет на 15 В. В этом случае мощность прибора, как правило, не превышает 2 кВт. Нагрузку максимум потенциометр в моделях способен выдерживать на уровне 23 А. Для передачи крутящего момента от мотора используются не большого диаметра выходные валы. При этом рычаг двигается за счет шестерни.
Изменение частоты вращения происходит благодаря котроллеру. Управление сервоприводом осуществляется при помощи специальной платы. В некоторых случаях для изменения положения регулятора используется плечо. Резистивные устройства чаще всего устанавливаются низкочастотные. При этом сервоприводы на пневмоцилиндрах в наше время встречаются довольно редко. Чтобы самостоятельно собрать такую модификацию, потребуется мощный редуктор. Также для него следует подобрать статор ручного типа.
Сервоприводные модификации линейного движения
Линейного движения сервопривод – что это? На самом деле указанное устройство является регулятором с обратной связью. На сегодняшний день модели очень востребованы. Для различных систем отопления они подходят идеально. Конвертеры в них чаще всего используются на три контакта. Статорные коробки устанавливаются различной мощности. Двигатели могут использоваться только синхронного типа.
В противном случае блоки питания не выдерживают предельного напряжения. В качестве приводов в данной ситуации применяются редукторные коробки. Для передачи крутящего момента от двигателя используются шестерни. Да сегодняшний день на рынке представлено множество модификаций с выходным валом. В данном случае регулировать скорость оборотов можно при помощи котроллера. Также следует помнить, что в устройствах имеются специальные платы. Устанавливаются они с маркировкой Р20. Смена режима в данном случае производится за счет контроллера. Роторные модификации сервоприводов в наше время встречаются довольно редко. Используются они чаще всего для управления станками.
Устройства для промышленных роботов
Для сервопривод – что это? В действительности указанное устройство является многофункциональным котроллером. В данном случае платы используются серии РР30. За счет этого у пользователя открывается возможность регулировать параметр предельной частоты. В среднем он колеблется в районе 25 Гц. Работают устройства данного типа от блоков питания на 15 В.
Управление сервоприводом осуществляется часто при помощи регулятора поворотного типа. Однако цифровые аналоги в наше время не являются редкостью. Роторы применяются в устройствах исключительно низкочастотные. Все это необходимо для быстрого ускорения сервопривода. Потенциометры можно встретить как аналогового, так и цифрового типа. Редукторные коробки по конструкции могут довольно сильно отличаться. Самостоятельно собрать сервопривод указанного типа сложно. В данном случае проблема заключается в поиске нужного контролера.
Сервоприводные модели для полиграфических станков
Для полиграфических станков модели необходимы с синхронными типами моторов. Мощность их обязана достигать 2 кВт. Параметр предельной частоты приветствуется на уровне 30 Гц. На сегодняшний день большинство производителей выпускают сервоприводы с аналоговыми потенциометрами. Также следует отметить, что редукторные коробки, как правило, используются плоские. Все это необходимо для того, чтобы устройство было компактным.
Отдельного внимания в сервоприводах данного типа заслуживают роторы. Показатель проводимости у них обязан минимум составлять 3 мк. Все это необходимо для хорошего ускорения. Выходные валы в данном случае используются небольшого диаметра. Конвертеры чаще всего можно встретить на три контакта. Для блоков питания на 20 В они подходят идеально. Статорные коробки устанавливаются различной формы и по конструкции могут сильно различаться. В этой ситуации многое зависит от энкодера, который установлен в сервоприводе.
Устройства для швейных машин
Сервоприводы данного типа отличаются от прочих устройств своей компактностью. Двигатели у таких моделей чаще всего можно встретить асинхронного типа. От сети с напряжением 220 В они работают без каких-либо проблем. Регулятор в данном случае используется поворотного типа. Максимум параметр предельной мощности достигает 1. 2 кВт. Пороговая частота в этой ситуации едва доходит до отметки 20 Гц. Потенциометры используются только аналогового типа.
Редукторные коробки для этой модификации подходят маломощные. Сервоприводы на две шестерни попадаются довольно часто. Однако в основном устанавливаются роторы для передачи крутящего момента от мотора. Выходные валы обладают малой частотой вращения. При этом нагрузка на плечо оказывается небольшая. Контроллеры в данном случае используются одноканальные. При этом менять параметр мощности у пользователя нет возможности. Датчик обратной связи в сервоприводах данного типа располагается возле статора.
Сервоприводные модификации для упаковочных станков
Модель данного типа чаще всего работает от движения пневмоцилиндров. При этом блоки питания часто используются на 12 В. В данном случае системы защиты устанавливаются довольно часто. Конвертеры можно встретить на два и три контакта. Статорные коробки устанавливаются различной конфигурации. В некоторых случаях датчики обратной связи в сервоприводах заменяются энкодерами. Роторные коробки на предельное напряжение должны быть рассчитаны в районе 12 В. Резистивные механизмы в устройствах встречаются довольно редко.
Самостоятельно собрать сервопривод данного типа можно. С этой целью лучше всего подобрать аналоговый потенциометр. При этом конвертер лучше использовать на два контакта. Вместо энкодера многие специалисты рекомендуют применять датчики обратной связи. Однако для их успешной эксплуатации необходимо проверить устройство на чувствительность. Регулятор проще всего использовать поворотного типа из пластика. Модуляторы применяются только одноканальные.
Несмотря на то, что автоматизированные системы управления вошли в наш быт, далеко не всем известно про сервопривод. Что это такое? Он представляет собой систему, реализующую высокоточные динамичные процессы. Устройство состоит из двигателя, датчика и блока управления, обеспечивающих отработку требуемых скорости, позиции и момента.
К сервоприводам относятся различные усилители и регуляторы, но термин больше применяется в автоматических системах при обозначении электропривода с отрицательной обратной связью по положению. Основой является корректировка работы электродвигателя при подаче управляющего сигнала.
Как устроен сервопривод
Что это такое, легче понять, если рассмотреть конструкцию и работу устройства. Электромеханический узел сервопривода размещается в одном корпусе. Его характеристиками являются конструкция, рабочее напряжение, частота и крутящий момент. По показаниям датчика от контроллера или микросхемы поступает сигнал на корректировку работы серводвигателя.
Простейшее устройство представляет собой электродвигатель постоянного тока, схему управления и потенциометр. Конструкция предусматривает наличие редуктора, чтобы получить заданную скорость перемещения выходного вала.
Схема управления
Подключение сервопривода можно производить с помощью простой схемы с таймером NE555 в режиме генератора импульсов.
Положение вала двигателя определяется шириной импульса, которая устанавливается переменным резистором R 1 . Сигналы должны подаваться генератором непрерывно, например каждые 20 мсек. При поступлении команды (перемещение движка резистора) выходной вал редуктора поворачивается и устанавливается в определенное положение. При внешнем воздействии он будет сопротивляться, пытаясь оставаться на месте.
Механическое регулирование системы отопления
Сервопривод – что это такое? Это хорошо понятно по его работе в системе теплого пола как приспособления, регулирующего поток теплоносителя. Если это делать вручную, придется непрерывно крутить вентили на коллекторах, поскольку расход горячей воды, подаваемой в обогревающие контуры, является переменной величиной.
Для автоматического регулирования систем теплого пола применяются разные устройства. Простейшим является термоголовка, устанавливаемая на регулирующий клапан. Она состоит из ручки механической настройки, пружинного механизма и сильфона, соединенного с толкателем. При повышении температуры внутри сильфона нагревается толуол, который при этом расширяется и давит на шток клапана, закрывая его. Поток теплоносителя перекрывается, и он начинает остывать в отопительном контуре. При охлаждении до заданного уровня сильфон снова открывает клапан, и новая порция горячей воды поступает в систему.
Механические регуляторы устанавливаются на каждый контур теплого пола и настраиваются вручную, после чего температура автоматически поддерживается постоянной.
Электрический сервопривод для отопления
Более совершенным устройством является электрический сервопривод для отопления или теплого пола. Он включает систему взаимосвязанных механизмов, обеспечивающих поддерживание температуры воздуха в помещении.
Сервопривод для отопления работает вместе с термостатом, который монтируется на стену. Кран с электроприводом устанавливается на подающей трубе, перед коллектором водяного теплого пола. Затем производится подключение, подача питания 220 В и установка на терморегуляторе заданного режима. Система снабжается двумя датчиками: один – в полу, а другой – в комнате. Они передают команды на термостат, который управляет сервоприводом, соединенным с краном. Точность регулирования будет выше, если установить еще прибор на улице, поскольку климатические условия постоянно меняются и влияют на температуру в помещениях.
Сервопривод управляет двух- или трехходовым клапаном. Первый изменяет температуру теплоносителя в системе отопления. Трехходовой клапан с сервоприводом поддерживает температуру постоянной, но изменяет расход горячей воды, подаваемой в контуры. Од содержит 2 входа для горячей жидкости (подающий трубопровод) и холодной (обратка). Выход всего один, через него подается смесь с заданной температурой. Клапан обеспечивает смешивание потоков, регулируя таким путем подачу тепла в коллекторы. Если один из входов открывается, то другой начинает прикрываться. При этом расход на выходе остается постоянным.
Сервопривод крышки багажника
Современные автомобили большей частью выпускаются с автоматическим открыванием и закрыванием багажника. Для этого требуется установка сервопривода. Производители применяют 2 способа, чтобы обеспечить авто подобной опцией. Надежным вариантом является пневмопривод, но он стоит дороже. Электропривод управляется несколькими способами на выбор:
- с пульта;
- кнопка на дверной панели водителя;
- ручка на крышке багажника.
Ручное открывание не всегда удобное, особенно зимой, когда замок может замерзнуть. Сервопривод багажника совмещается с замком, что дополнительно защищает авто от несанкционированного проникновения.
Устройства применяются на иномарках, но при желании их можно установить на отечественных моделях. Предпочтительно использовать привод с электродвигателем.
Есть еще устройства с магнитными пластинами, но они сложней и применяются реже.
Самыми дешевыми являются электроприборы, предназначенные только для открывания. Можно подобрать привод багажника, состоящий из электродвигателя с инерционным механизмом, отключающийся при возникновении препятствия перемещению. Дорогие модели состоят из устройства подъема и опускания крышки, доводчика запорного механизма, контроллера и датчиков.
Установка и настройка сервопривода крышки багажника производятся на заводе, но простые устройства могут быть установлены своими руками.
Характеристики сервоприводов
Устройства выпускаются аналогового и цифрового типов. Приводы внешне ничем не отличаются, но различие между ними существенное. Последние обладают более точной отработкой команд, поскольку управление производится микропроцессорами. Для сервоприводов пишутся и вводятся программы. Аналоговые устройства работают от сигналов микросхем. Их преимуществами являются простое устройство и меньшая цена.
Основными параметрами для выбора являются следующие:
- Питание. Подача напряжения производится по трем проводам. По белому передают импульс, через красный – рабочее напряжение, черный или коричневый является нейтральным.
- Размеры: большие, стандартные и микроустройства.
- Скорость. От нее зависит, за какой промежуток времени вал повернется на угол 60 0 . Недорогие устройства обладают скоростью 0,22 сек. Если требуется высокое быстродействие, она составит 0,06 сек.
- Величина момента. Параметр является приоритетным, поскольку при малом вращающем моменте управление затрудняется.
Как управлять цифровым сервоприводом?
Приводы подключаются к программируемым контроллерам, среди которых хорошо известен Arduino. Подключение к его плате производится тремя проводами. По двум подается питающее напряжение, а по третьему – управляющий сигнал.
Инструкция сервопривода с цифровым управлением предусматривает наличие в контроллере простой программы, позволяющей считывать с потенциометра показания и переводить их в число. Затем оно преобразуется в команду передачи на поворот вала сервопривода в заданное положение. Программа записывается на диске, а затем передается на контроллер.
Заключение
Мы подробно рассмотрели сервопривод. Что это такое, станет понятным, когда потребуется автоматизация различных процессов, где требуется поворачивать и удерживать в заданном положении вал электродвигателя. Устройства выпускаются аналоговые и цифровые. Последние нашли более широкое применение благодаря высокому уровню разрешения, большой мощности и точности позиционирования.
Как уже говорилось, сервопривод это точный исполнитель который получая на вход значение управляющего параметра стремится создать и поддерживать значение на выходе исполнительного элемента.
В данной статье рассмотрим что же из себя представляют управляющие импульсы, а также то, как лучше подключать сервоприводы к Arduino.
Используемые компоненты (купить в Китае):
. Управляющая плата
. Соединительные провода
Полезная вещь для проверки сервориводов
О том как входные импульсы преобразуются в сигналы управления мотором мы уже рассказали в этой , о самих сигналах управления мотором и их отличиях в различных типах сервоприводов можно прочитать . В данной же статье речь пойдет непосредственно о управляющих импульсах, будут даны примеры как их сгенерировать на Arduino.
Управляющий сигнал представляет из себя импульсы с нужной нам шириной, которые посылаются с определенной частотой. Для рассматриваемых нами сервоприводов частота посылания импульса почти всегда будет около 50 Гц (это примерно 1 раз в 20мс), а ширина импульса будет лежать в пределе от 544мкс до 2400мкс.
Как видно из картинке, импульс шириной в 544мкс выставит выводной вал в положение 0°, 1520мск соответствует углу в 90°, а 2400мкс соответствует 180°.
Изменяя ширину импульсов в данных пределах мы сможем точно задавать угол поворота выводного вала, но об этом чуть позже. На данном этапе статьи хочется рассказать о том как подключить сервопривод к Arduino.
Для подключения к контроллеру от сервопривода тянется 3 провода обжатых стандартным 3 пиновым разъемом с шагом 2.54мм. Цвета проводов могут варьироваться. Коричневый или черный – земля (GND), красный – плюс источника питания (VTG), оранжевый или белый – управляющий сигнал (SIG).
Подключение сервоприводов к ArduinoУ старых Ардуин, укомплектованных мегой 8, имеется всего три ШИМ вывода (digital 9,10,11), у Ардуин укомплектованных мегой 168 или 328 их 6 (digital 3,5,6,9,10,11). Семейство Arduino MEGA имеет на своем борту целых 14 ШИМ выводов.
Купить в России
Является элементом точной кинематики, позволяющий достигать точное позиционирование механизмов. Но в отличии от шагового двигателя, сервопривод имеет обратную связь, позволяющую в любой момент отследить точный угол поворота вала. В качестве источника обратной связи могут быть использованы различные типы энкодеров и потенциометры.
В статье рассмотрим подключение и работу с младшими представителями сервоприводов – т.н. сервомашинками – горячо любимыми среди роботостроителей и моделистов.
Конструктив
Сервомашинка состоит из корпуса, в котором заключен небольшой коллекторный электромотор, редуктор и управляющая электроника.
В качестве обратной связи применяются потенциометры. Поэтому эти сервы имеют ограничения по углу поворота вала вокруг оси. Так, в приобретенных мной сервах Futaba S3003, угол поворота выходного вала составляет 225°.
Технические характеристики Futaba S3003
Параметр Напряжение питания, В 4,8 6,0 Усилие на валу 3,2 кг/см 4,1 кг/см Скорость позиционирования 0,23 sec/60° 0,19 sec/60° Размер, Д х Ш х В 41мм х 20мм х 36мм Масса, г 37
Потенциометр обратной связи посажен прямо на выходной вал, благодаря ему блок управления сервомашинки отслеживает точное положение вала: сопротивление потенциометра изменяется пропорционально углу поворота . Считав сопротивление, блок управления сравнивает это значение с тем, которое должно быть при заданном положении вала. Если эти значения отличаются, блок управления дает команду двигателю повернуть вал в заданном направлении, уменьшая разницу значений. Достигнув положения вала, когда значение с потенциометра совпадает с заданным значением, двигатель останавливается. Считывание значения с потенциометра и его сравнение происходит с большой частотой, поэтому выходной вал будет стремиться занять заданное положение при изменении внешней нагрузки.
Конструкция сервомашинки выполнена таким образом, что крутящий момент от двигателя к выходному валу передается через редуктор с большим передаточным числом, поэтому при малых размерах и энергозатратах, сервомашинки могут обеспечивать большую тягу.
Управление
В качестве управляющего сигнала служит импульсный сигнал с периодом 20 мс и с длительностью от 0,8 до 2,2 мс. Это некий стандарт управления сервомашинок. Чем длинее пришел импульс, тем на больший угол повернется вал сервомашинки.
Для разгона сервомашинки период следования импульсов можно уменьшить до 10 мс.
Управляющий сигнал подается на серву по сигнальному проводу S. В моей сервомашинке он белый, в некоторых моделях – желтый. Помимо сигнального провода из сервомашинки выходят два провода – линии питания – земля (черный) и питание (красный)
Программная часть
Как видно управлять сервой достаточно просто – достаточно гнать импульсный сигнал с нужной частотой и скважностью. Этот сигнал можно генериовать ШИМ , или написать свою функцию обработки прерывания по таймеру. Но в Bascom-AVR уже есть встроенная команда для управления сервомашинками – Servo . Ее и рассмотрим.
Для начала необходимо сконфигурировать подключение сервомашинок:
Config Servos = X , Servo1 = Portb . 0 , Servo2 = Portb . 1 , Reload = Var
Servos = X ; указывается количество подключаемых сервомашинок, возможно подключение до 14 серв.
Servo1 = Portb . 0 ; указывается порт подключения первой сервы
Servo2 = Portb . 1 ; указывается порт подключения второй сервы
Reload = Var ; здесь Var время в микросекундах, которое проходит между прерываниями от таймера.
По умолчанию для организации прерываний используется Timer0, поэтому использовать его в своих целях уже не получиться. Bascom-AVR позволяет перебросить обслуживание прерываний на любой другой таймер, например чтобы освободить Timer0 и задествовать Timer1 достаточно указать это в строке конфигурации:
Config Servos
=
2
,
Servo1
=
Portb
.
0
,
Servo2
=
Portb
.
1
,
Reload
=
10
, Timer = Timer1
После того как все сконфигурировали остается только рулить нашей сервомашинкой. Это делается следующей командой
Servo ( a) = F
а – порядковый номер сервомашинки
F – переменная, значение которой задает угол поворота вала сервы
Тестовый код целиком:
$regfile =
“m8def. dat”
“микроконтроллер ATmega8
$crystal =
8000000
“частота работы 8МГц
“конфигурируем порты для подключения сервоприводов
Config Portb
.
0
= Output
Config Portb
.
1
= Output
“настраиваем подключения двух сервомашинок
Config Servos
=
2
,
Servo1
=
Portb
.
0
,
Servo2
=
Portb
.
1
,
Reload
=
15
Dim F As Byte “переменная для первой сервы
Dim S As Byte “переменная для второй сервы
“разрешаем прерывания
Enable Interrupts
F =
15
“значением переменной задается угол поворота вала сервомашинки
S =
70
Do
Servo (1
)
=
F
Servo (2
)
=
S
Loop
End
Схему подключения не привожу, думаю один сигнальный провод проблем не вызовет;) Его можно подключать к порту микроконтроллера напрямую, а можно через резистор сопротивлением пару сотен ом – для перестраховки.
Меняя значения перемменных F и S можем менять угол поворота первой и второй сервомашинок соответственно. Чем меньше значение параметра Reload, тем шустрее наши сервомашинки будут поворачиваться на нужный угол.
Для своих серв подобрал рабочий диапаз он значений Servo(a), в которых вал может вращаться. Крайнее положения вал занимает при значении 0 и 150, соответственно при значении 75 вал занимает промежуточное положение.
Servo(a) =0 Servo(a) =75 Servo(a) =150
Сервопривод SERVO-E-3 – наиболее распостраненный вариант сервоприводов
*Серия снята с производстваДанный сервопривод ранее являлся самым распространенным и наиболее востребованным из серии SERVO-E. В настоящий момент ему на смену предлагается более современный и совершенный вариант SERVO-E-5.
Приводы SERVO-E-3 мощностью от 0,75кВт до 5,0кВт имеют оптимальное соотношение скорости и крутящего момента для применения в станках и роботах.
Сервоприводы SERVO-E-3 поставляются в трех модификациях по соотношению скорости и момента серводвигателя. Привод состоит из блока управления и двигателя: с повышенной скоростью и пониженным моментом, стандартного серводвигателя, либо двигателя с повышенным моментом и пониженной скоростью.
Обратная связь:
Для осуществления обратной связи по скорости и положению в сервоприводах SERVO-E-3 используется инкрементный энкодер с разрешением 2500 импульсов/оборот.Основные характеристики сервопривода SERVO-E-3:
- Напряжение питания – однофазное или трехфазное, 220В 50/60Гц
- Класс защиты: IP65
- Частотный диапазон – 300Гц
- Условия эксплуатации: 0 ~ +40C, влажность до 80% без конденсата
- Стояночный электромагнитный тормоз: опция, по требованию клиента
- Дополнительное уплотнение вала (сальник)
Сервопривод* | Мощность, Вт | Крутящий момент, Нм номин./макс. | Скорость, об/мин номин./макс. | Питание | Размер фланца, мм |
---|---|---|---|---|---|
SERVO-E-3-1-0-75 | 750 | 2,39 / 7,16 | 3000 / 4500 | 220В 50/60Гц, однофазное или трехфазное | 80х80 |
SERVO-E-3-1-0-100 | 1000 | 3,18 / 9,55 | |||
SERVO-E-3-4-0-100 | 1000 | 4,78 / 14,3 | 2000 / 3000 | 130х130 | |
SERVO-E-3-4-0-150 | 1500 | 7,16 / 21,5 | |||
SERVO-E-3-7-0-100 | 1000 | 9,55 / 28,7 | 1000 / 1500 | 220В 50/60Гц, однофазное или трехфазное | 130х130 |
SERVO-E-3-7-0-200 | 2000 | 19,1 / 57,3 | 1000 / 1500 | 220В 50/60Гц, однофазное или трехфазное | 180×180 |
Управление сервоприводом SERVO-E-3:
Варианты управления
- Непрерывное вращение с программно заданной скоростью.
- Непрерывное вращение с заданием скорости внешними цифровыми сигналами – движение с разными скоростями инициируется от одного из трех входов. Значение скорости для каждого входа предустанавливается пользователем. При необходимости значение скорости может быть изменено в процессе работы через внешнюю панель или коммуникационный интерфейс.
- Непрерывное вращение с аналоговым заданием скорости внешним сигналом +/- 10В
- Управление моментом внешним аналоговым сигналом +/- 10В
- Смещение в заданное положение (контроль по положению) – задание абсолютного положения или относительного смещения, табличное программируемое движение: используется для осуществления сложных алгоритмов движения: параметры элементарных независимых отрезков движения (скорость, ускорение, замедление, направление, величина перемещения, паузы) записываются в таблицу движения (до 16 отрезков движения).
- Управление входной частотой – сигналы PULSE/DIR, CW/CCW или двухфазное управление со сдвигом фаз 90°.
- Ручное управление – «джойстик».
Настройка параметров работы
Все характеристики работы сервопривода определяются задаваемыми параметрами. Параметры задаются пользователем с внешней панели, расположенной на корпусе блока управления, или через коммуникационный интерфейс (от компьютера или контроллера). Старт и остановка привода осуществляется как командами через коммуникационный интерфейс, так и сигналами на внешние входы.
Коммуникационные интерфейсы
Сервоприводы и SERVO-E-3 поддерживают распространенные стандартные интерфейсы: RS-482, RS-422 – Modbus ASCII или RTU.
Импульсное управление (управление PULSE/DIR, CW/CCW, A-B-phases)
Для позиционирования предусмотрен режим управления сигналами PULSE/DIR, CW/CCW или двухфазное импульсное управление со сдвигом фаз 90°.
Скорость перемещения пропорциональна частоте следования сигналов PULSE (импульсы напряжения +24В), направление определяется уровнем сигнала DIR.
CW/CCW – модификация управления PULSE/DIR – для вращения по часовой стрелке подается управляющая частота PULSE на вход CW, против часовой стрелки – на вход CCW.
Двухфазное (квадратурное) импульсное управление распространено при использовании энкодера или сельсина в качестве ведущего устройства: управляющие импульсы подаются на два входа, со сдвигом фаз 90°. Направление в этом случае определяется опережающей фазой.
Управление аналоговыми сигналами +/-10В
Предусмотрено аналоговое управление скоростью или моментом: скорость или момент на валу серводвигателя задаются внешним аналоговым сигналом +/-10В и пропорциональны уровню сигнала.
Входы и выходы
Для согласования с внешними устройствами сервоприводы и SERVO-E-3 имеют цифровые входы и выходы.
Динамический тормоз
Привод предусматривает применение динамического торможения блоком управления. Параметры работы динамического тормоза определяются пользователем.
Стояночный и аварийный тормоз
Для предотвращения самопроизвольного перемещения при снятии питания серводвигатель по требованию клиента оснащается дополнительным стояночным тормозом. Также тормоз может быть применен при аварийных остановках
Ограничение и контроль крутящего момента на валу серводвигателя
Крутящий момент серводвигателя может быть ограничен пользователем заданием параметров или внешними сигналами отдельно для движения по часовой стрелке и против часовой стрелки.
Поиск начального положения
В режиме табличного управления положением (задание рабочих отрезков перемещения) привод обеспечивает поиск начального положения.Скорость и направление поиска задаются пользователем через параметры.
Электронное передаточное отношение – функция электронной редукции
Функция электронной редукции применяется для задания соответствия количества управляющих импульсов на входе привода величине фактического перемещения вала серводвигателя.
Электронное передаточное отношение определяется пользователем параметрами. Между передаточными числами можно динамически переключаться во время работы.
Панель управления сервопривода:
В приводе SERVO-E-3 на блоке управления расположена внешняя панель управления, которая позволяет не только вводить параметры, но и контролировать текущее состояние двигателя: реальную скорость двигателя, скорость заданную входным сигналом, момент, состояние энкодера и т.д. А также позволяет использовать дополнительные функции: корректировку тока, корректировку смещения аналогового сигнала, определение момента инерции и др. Работа серводвигателей| Как работают серводвигатели
Как работают серводвигатели
Этот маленький мотор отличается высоким КПД и мощностью
Серводвигатели существуют уже давно и используются во многих приложениях. Они небольшие по размеру, но обладают большой мощностью и очень энергоэффективны. Эти особенности позволяют использовать их для управления игрушечными машинками, роботами и самолетами с дистанционным или радиоуправлением. Серводвигатели также используются в промышленных приложениях, робототехнике, поточном производстве, фармацевтике и пищевой промышленности.Но как работают маленькие ребята? Сервосистема встроена прямо в моторный блок и имеет позиционируемый вал, который обычно оснащен шестерней (как показано ниже). Двигатель управляется электрическим сигналом, который определяет величину перемещения вала.
Что внутри сервопривода?
Чтобы полностью понять, как работает сервопривод, вам нужно заглянуть под капот. Внутри находится довольно простая установка: небольшой двигатель постоянного тока, потенциометр и схема управления.Двигатель прикреплен шестернями к управляющему колесу. Когда двигатель вращается, сопротивление потенциометра изменяется, поэтому схема управления может точно регулировать, насколько велико движение и в каком направлении. Когда вал двигателя находится в желаемом положении, питание двигателя прекращается. В противном случае двигатель вращается в соответствующем направлении. Требуемое положение передается с помощью электрических импульсов по сигнальному проводу. Скорость двигателя пропорциональна разнице между его фактическим положением и желаемым положением.Таким образом, если двигатель находится рядом с желаемым положением, он будет вращаться медленно, в противном случае он будет вращаться быстро. Это называется пропорциональным управлением . Это означает, что двигатель будет работать ровно настолько, насколько это необходимо для выполнения поставленной задачи, очень эффективный маленький парень.
Как сервопривод управляется?
Внутренности серводвигателя (L) и сервопривода в сборе (R) Сервомашинкиуправляются посылкой электрического импульса переменной ширины или широтно-импульсной модуляции (ШИМ) через провод управления.Есть минимальный импульс, максимальный пульс и частота повторения. Серводвигатель обычно может поворачиваться только на 90 ° в любом направлении, всего на 180 °. Нейтральное положение двигателя определяется как положение, в котором сервопривод имеет одинаковую величину потенциального вращения как по часовой стрелке, так и против часовой стрелки. ШИМ, отправляемый на двигатель, определяет положение вала и на основе длительности импульса, отправляемого через провод управления; ротор повернется в нужное положение. Серводвигатель ожидает увидеть импульс каждые 20 миллисекунд (мс), и длина импульса будет определять, насколько далеко двигатель вращается.Например, импульс 1,5 мс заставит двигатель повернуться в положение 90 °. Менее 1,5 мс перемещает его против часовой стрелки к положению 0 °, а более 1,5 мс поворачивает сервопривод по часовой стрелке к положению 180 °. Положение сервопривода с регулируемой шириной импульса
Когда эти сервоприводы получают команду двигаться, они перемещаются в положение и удерживают это положение. Если внешняя сила толкает сервопривод, когда сервопривод удерживает позицию, сервопривод будет сопротивляться выходу из этого положения. Максимальное усилие, которое может оказать сервопривод, называется номинальным крутящим моментом сервопривода . Однако сервоприводы не будут оставаться на своем месте вечно; импульс положения должен быть повторен, чтобы сервопривод оставался на месте.
Типы серводвигателей
Есть два типа серводвигателей – переменного и постоянного тока. Сервопривод переменного тока может выдерживать более высокие скачки тока и, как правило, используется в промышленном оборудовании. Сервоприводы постоянного тока не предназначены для сильных скачков тока и обычно лучше подходят для небольших приложений.Вообще говоря, двигатели постоянного тока менее дорогие, чем их аналоги переменного тока. Это также серводвигатели, которые были созданы специально для непрерывного вращения, что упрощает движение вашего робота. Они оснащены двумя шарикоподшипниками на выходном валу для уменьшения трения и легкого доступа к потенциометру регулировки точки покоя.Применения серводвигателя
Сервоприводы используются в радиоуправляемых самолетах для позиционирования поверхностей управления, таких как рули высоты, рули направления, ходьба робота или управление захватами .Серводвигатели небольшие, имеют встроенную схему управления и обладают хорошей мощностью для своего размера.В сфере общественного питания и фармацевтики инструменты предназначены для использования в более суровых условиях, где высока вероятность коррозии из-за многократной мойки при высоких давлениях и температурах для соблюдения строгих гигиенических стандартов. Сервоприводы также используются в поточном производстве , где требуется большое количество повторений, но при этом необходима точная работа.
Конечно, вам не нужно знать, как работает сервопривод, чтобы использовать его, но, как и в случае с большинством электроники, чем больше вы понимаете, тем больше возможностей открывается для расширенных проектов и возможностей проектов.Если вы любитель, создающий роботов, инженер, разрабатывающий промышленные системы, или просто постоянно любопытствуете, куда вас приведут серводвигатели? Руководство покупателя серводвигателя
Если у вас есть история или проект в области электроники, которым вы хотели бы поделиться, отправьте электронное письмо [электронная почта защищена]. Сервопривод
– Ссылка на Arduino
Позволяет платам Arduino / Genuino управлять различными серводвигателями.
Эта библиотека может управлять большим количеством сервоприводов.Он осторожно использует таймеры: библиотека может управлять 12 сервоприводами, используя только 1 таймер.
На Arduino Due вы можете контролировать до 60 сервоприводов.
Эта библиотека совместима с avr, megaavr, sam, samd, nrf52, stm32f4, mbed архитектуры так что вы должен иметь возможность использовать его на следующие платы Arduino:
Чтобы использовать эту библиотеку, откройте Диспетчер библиотек в в Arduino IDE и установите ее оттуда.
Использование
Эта библиотека позволяет плате Arduino управлять серводвигателями RC (хобби). Сервоприводы имеют встроенные шестерни и вал, которым можно точно управлять. Стандартные сервоприводы позволяют расположить вал под разными углами, обычно от 0 до 180 градусов. Сервоприводы непрерывного вращения позволяют устанавливать различные скорости вращения вала.
Библиотека Servo поддерживает до 12 двигателей на большинстве плат Arduino и 48 на Arduino Mega. На платах, отличных от Mega, использование библиотеки отключает функцию analogWrite ()
(PWM) на контактах 9 и 10, независимо от того, есть ли на этих контактах сервопривод.На Mega можно использовать до 12 сервоприводов, не мешая функциональности ШИМ; использование двигателей от 12 до 23 отключит ШИМ на контактах 11 и 12.
Для использования этой библиотеки:
Схема
Серводвигателиимеют три провода: питание, заземление и сигнал. Провод питания обычно красного цвета и должен быть подключен к выводу 5V на плате Arduino. Заземляющий провод обычно бывает черного или коричневого цвета и должен быть подключен к контакту заземления на плате Arduino. Сигнальный контакт обычно желтого, оранжевого или белого цвета и должен быть подключен к цифровому контакту на плате Arduino.Обратите внимание, что сервоприводы потребляют значительную мощность, поэтому, если вам нужно управлять более чем одним или двумя, вам, вероятно, потребуется запитать их от отдельного источника (то есть не от вывода + 5V на вашем Arduino). Обязательно соедините заземление Arduino и внешнего источника питания вместе.
Примеры
- Ручка: управление валом серводвигателя поворотом потенциометра
- Sweep: перемещает вал серводвигателя вперед и назад
Как управлять сервоприводом с Raspberry Pi
Вы хотите связать Raspberry Pi с серводвигателем? Вы не понимаете, как работают серводвигатели?
Что ж, вы попали в нужное место! В этой статье я покажу вам, как подключить и запрограммировать серводвигатели с помощью Python, и проясню концепцию «рабочего цикла» для расчета угла сервопривода.
Готовы начать?
Серводвигательи двигатель постоянного тока
Что такое серводвигатель? Серводвигатель – это тип двигателя постоянного тока, который может вращаться на заданный угол. Двигатель постоянного тока – это тип двигателя, который преобразует электрическую энергию в механическую с помощью магнитной силы. Разница между серводвигателем и двигателем постоянного тока заключается в том, что вы можете контролировать угол наклона серводвигателя, тогда как с двигателем постоянного тока вы можете контролировать только то, включен или выключен двигатель.
Если вы хотите управлять скоростью, направлением и положением двигателя постоянного тока, вам необходимо использовать контроллер двигателя и энкодер соответственно.(Я рекомендую L298N.) Самым большим преимуществом серводвигателей является то, что вы можете точно контролировать угол наклона сервопривода. В отличие от двигателей постоянного тока, вам не потребуются дополнительные датчики для достижения точности и точности на уровне градуса.
Еще одним преимуществом использования серводвигателей является отсутствие необходимости в контроллере двигателя. Вы можете подключить серводвигатель напрямую к контактам на большинстве контроллеров (Raspberry Pi и Arduino) без использования промежуточного чипа. Это упрощает подключение и настройку.
Типы серводвигателей
Большинство серводвигателей не работают в непрерывном режиме. Это означает, что они не могут вращаться на 360 градусов. Большинство серводвигателей имеют диапазон 0–180 градусов. Проверьте техническое описание сервопривода, чтобы определить его минимальное и максимальное положение. Популярны три типа серводвигателей: серводвигатель 9g, серводвигатель MG996R и серводвигатель непрерывного вращения.
Серводвигатель 9g
Если вы увлекаетесь робототехникой или хобби, серводвигатель SG90 9g (техническое описание) – популярный выбор.SG90 – это небольшой и легкий серводвигатель с высокой выходной мощностью. Он может вращаться на 180 градусов (90 в любом направлении). Как и у традиционных серводвигателей, у этого двигателя есть три провода (заземление, сигнал и питание).
СерводвигательMG996R
Другой популярный серводвигатель – цифровой сервопривод с высоким крутящим моментом MG996R. Он может вращаться на 120 градусов (60 в любом направлении). И SG90, и MG996R имеют одинаковый рабочий цикл и период ШИМ. Я включил диаграмму ШИМ и диаграммы углового вращения ниже.
Вы можете управлять сервоприводом, задав рабочий цикл (%) или преобразовав рабочий цикл в измерение угла (в градусах). Щелкните здесь, чтобы просмотреть расчеты.
Сервопривод непрерывного вращения
Сервопривод непрерывного вращения (например, сервопривод FT90R) вращается на 360 градусов. Это отличный вариант, если вы хотите построить мобильного робота без использования контроллера мотора или если вам нужна высокая точность при повороте на 360 градусов. Следует отметить, что, как и в случае с большинством сервоприводов для хобби, остановка или обратное движение сервоприводов могут повредить их.
Управление серводвигателем с использованием ШИМ с Raspberry Pi
Сервомашинкиуправляются с помощью сигнала широтно-импульсной модуляции (ШИМ) от Raspberry Pi. ШИМ – это тип цифрового сигнала, который позволяет нам управлять устройствами аналоговым способом. ШИМ изменяет количество времени, в течение которого сигнал будет ВЫСОКИМ или НИЗКИМ.
В результате мы получаем переменный сигнал, который можно использовать для управления углом поворота серводвигателя. В этом разделе вы узнаете, как рассчитать рабочий цикл для вашего серводвигателя с помощью таблицы данных.В качестве примера мы возьмем популярный сервопривод SG90 9g; однако эту методику можно использовать для большинства серийных серводвигателей.
Шаг 1. Подключите серводвигатель к Raspberry Pi, используя схему соединений
.Вот схема подключения сервомотора для Arduino. Все, что вам нужно, это Raspberry Pi, 3 перемычки и сервомотор. Вы также можете приобрести комплект, в котором есть все эти компоненты. Серводвигатели имеют три провода (заземление, сигнал и питание). Сначала подключите заземляющий провод к GND на Raspberry Pi.Затем подключите сигнальный провод к контакту GPIO на Raspberry Pi. Наконец, подключите вывод питания к 5V на Raspberry Pi.
После того, как серводвигатель подключен к Raspberry Pi, пора выполнить несколько тестов, чтобы проверить положение сервопривода.
Шаг 2. Проверьте положение серводвигателя с помощью кода примера Raspberry Pi
Во-первых, возьмите копию таблицы данных сервопривода. Затем найдите диаграмму ШИМ. Вы хотите найти диапазон рабочего цикла и / или «нейтральное» положение длительности импульса.
Когда они у вас есть, я рекомендую создать трехпозиционный график для левого, нейтрального (в центре) и правого. Добавьте аннотацию к диаграмме, указав угол (градусы) и рабочий цикл (мс) для каждого из трех положений. См. Таблицу ниже.
Затем преобразуйте продолжительность рабочего цикла в проценты, разделив рабочий цикл позиции на общий период ШИМ (20 мс). Например, левое положение имеет рабочий цикл = 1 мс. Следовательно, 1/20 x 100% = 5% . Я включил эту удобную таблицу для вашей справки.
Левый | нейтральный | Правый | |
---|---|---|---|
Угол (град) | -90 | 0 | +90 |
Рабочий цикл (мс) | 1 мс | 1,5 мс | 2 мс |
Рабочий цикл (%) | 5% | 7,5% | 10% |
Теперь, когда у вас есть проценты рабочего цикла для трех положений, пора проверить, что эти проценты точно представляют каждое из этих положений.Мы сделаем это с помощью библиотеки RPi.GPIO и написания кода Python на Raspberry Pi.
Сначала импортируйте библиотеку RPi.GPIO и функцию сна.
импортировать RPi.GPIO как GPIO от времени импорт сна
Затем настройте режим GPIO как BOARD, чтобы вы могли ссылаться на PIN-коды, а не на контакты BCM. ( Не стесняйтесь использовать контакты BCM. Если вы пришли из мира Arduino, контакты Board будут иметь больше смысла. )
GPIO.setmode (ПЛАТА GPIO) GPIO.настройка (11, GPIO.OUT)
Я подключил серводвигатель к контакту 11 (BCM GPIO17) на Raspberry Pi.
Затем создайте переменную для сервопривода. Я назвал свой «ШИМ». Затем отправьте сигнал PWM 50 Гц на этот вывод GPIO с помощью функции GPIO.PWM (). Начните сигнал с 0.
pwm = GPIO.PWM (11, 50) pwm.start (0)
Мы почти готовы к запуску наших тестов. Используйте функцию ChangeDutyCycle () для записи процентов рабочего цикла в серводвигатель. Используйте три процента рабочего цикла, рассчитанные в начале этого шага.Вы можете обратиться к таблице выше для серводвигателя SG90 9g. (Левый -90 градусов составляет 5%, нейтраль – 7,5%, а правый +90 градусов – 10%.) Дайте сервоприводу 1 секунду, чтобы он достиг своего положения.
pwm.ChangeDutyCycle (5) # влево -90 град. сон (1) pwm.ChangeDutyCycle (7.5) # нейтральное положение сон (1) pwm.ChangeDutyCycle (10) # вправо + 90 градусов положение сон (1)
Наконец, очистите код, остановив сигнал ШИМ и запустив функцию очистки на выводах GPIO.
pwm.stop () GPIO.cleanup ()
Сохраните вашу программу, а затем запустите ее на Pi. Убедитесь, что позиции правильные. Если это не так, отрегулируйте процентное соотношение рабочего цикла. Когда я проводил этот тест, у меня был диапазон от 2% до 12%, а не от 5% до 10%. Вы также можете использовать этот метод для калибровки диапазона рабочего цикла для других серводвигателей.
Сэкономьте время и бесплатно скачайте тестовый код ниже!
Шаг 3. Вычислите формулу «рабочий цикл в градусах» для серводвигателя
Серводвигатель легко принимает процент рабочего цикла в коде Raspberry Pi Python.Вместо того, чтобы вручную рассчитывать процентное значение для угла, который мы хотим достичь, давайте создадим формулу для преобразования процента рабочего цикла в измерение угла в градусах.
Углы намного проще определять людям, к тому же мы можем использовать наш код Python для выполнения всех вычислений за нас.
Для этого мы создадим два отношения известных значений на основе линейной зависимости между рабочим циклом% и желаемым углом. Спасибо Марсело Роваи за то, что поделился этой методологией!
Теперь вы можете создать функцию Python на основе этой формулы для вычисления процента рабочего цикла на основе заданного угла.
def setAngle (угол): нагрузка = угол / 18 + 3 GPIO.output (11, Истина) pwm.ChangeDutyCycle (долг) сон (1) GPIO.output (11, ложь) pwm.ChangeDutyCycle (долг)
Чтобы установить сервопривод на 35 градусов, вы можете использовать команду setAngle (35)
в вашей программе. Довольно просто, правда ?!
Сэкономьте время и загрузите код сервопривода Python для Raspberry Pi.
Серводвигателипросты в управлении
Рабочий цикл можно представить как процент времени, в течение которого сервопривод получает высокий сигнал от Raspberry Pi.Чем длиннее рабочий цикл, тем дальше вправо будет вращаться сервопривод. В этом примере мы использовали техническое описание для определения трех положений сервопривода.
Затем мы проверили эти позиции с помощью Python. Наконец, мы создали формулу для преобразования угла в рабочий цикл в процентах. В результате мы можем управлять сервоприводом с точностью до градуса.
Хотя эта концепция может поначалу сбивать с толку или запутанной, вы можете использовать линейную зависимость и набор эквивалентных соотношений, чтобы определить формулу рабочего цикла для ваших серводвигателей.Все, что вам нужно, это зафиксировать эти три позиции и подставить значения в формулу на шаге 3 выше.
Сервоприводыв значительной степени основаны на приложениях, поэтому в зависимости от того, как вы устанавливаете сервопривод и что вы пытаетесь переместить, вам придется выполнить некоторые дополнительные тесты. Я включил несколько примеров проектов сервоприводов, которые вы можете попробовать как с Raspberry Pi, так и с Arduino.
Приложения для серводвигателей
Теперь, когда вы знаете основы управления серводвигателем, вот несколько приложений серводвигателя, которые вы можете попробовать!
Независимо от того, что вы делаете со своими серводвигателями, у вас должна быть довольно прочная основа того, как работают сервоприводы и как их использовать в вашей следующей робототехнике или электронике.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже. Попробовать один из этих проектов? Не забудьте отметить нас в Instagram @learnrobotics.
Поддержка такого содержания
Часто задаваемые вопросы о сервоприводах
Что такое сервопривод?
Как управлять сервоприводом?
В отличие от щеточных двигателей постоянного тока, сервоприводы не могут работать, просто подавая напряжение. Помимо подачи напряжения питания (на красный провод) для двигателя, по сигнальному проводу (обычно желтому или белому) должен быть послан специальный сигнал, называемый сигналом ШИМ.Этот сигнал может поступать из различных источников, таких как сервоконтроллеры, RC-приемники или Arduinos.
Сервоприводы
управляются посылкой им импульсов переменной ширины. Контрольный провод используется для отправки этого импульса. Параметры этого импульса заключаются в том, что он имеет минимальный импульс, максимальный импульс и частоту повторения. Учитывая ограничения вращения сервопривода, нейтраль определяется как положение, в котором сервопривод имеет точно такое же количество потенциального вращения в направлении по часовой стрелке, как и в направлении против часовой стрелки.Важно отметить, что разные сервоприводы будут иметь разные ограничения на их вращение, но все они имеют нейтральное положение, и это положение всегда составляет около 1,5 миллисекунд (мс).
Угол определяется длительностью импульса, подаваемого на провод управления. Это называется широтно-импульсной модуляцией. Сервопривод ожидает увидеть импульс каждые 20 мс. Длина импульса определяет, как далеко вращается двигатель. Например, импульс 1,5 мс заставит двигатель повернуться в положение 90 градусов (нейтральное положение).
Когда эти сервоприводы получают команду двигаться, они перемещаются в положение и удерживают это положение. Если внешняя сила толкает сервопривод, когда сервопривод удерживает позицию, сервопривод будет сопротивляться выходу из этого положения. Максимальное количество силы, которое может оказать сервопривод, – это номинальный крутящий момент сервопривода. Однако сервоприводы не будут оставаться на своем месте вечно; импульс положения должен быть повторен, чтобы сервопривод оставался на месте.
Когда на сервопривод отправляется импульс, который меньше 1.За 5 мс сервопривод поворачивается в положение и удерживает выходной вал на несколько градусов против часовой стрелки от нейтральной точки. Когда импульс шире 1,5 мс, происходит обратное. Минимальная ширина и максимальная ширина импульса, который заставит сервопривод повернуться в допустимое положение, являются функциями каждого сервопривода. Разные марки и даже разные сервоприводы одной марки будут иметь разные максимумы и минимумы. Обычно минимальный импульс имеет ширину около 1 мс, а максимальный – 2 мс.
Еще один параметр, который меняется от сервопривода к сервоприводу, – это скорость поворота. Это время, которое требуется сервоприводу, чтобы перейти из одного положения в другое. Наихудшее время поворота – это когда сервопривод удерживает минимальное вращение, и ему дана команда перейти на максимальное вращение. На сервоприводах с очень высоким крутящим моментом это может занять несколько секунд.
Цель этой информации – дать обзор того, как работают сервоприводы и как с ними взаимодействовать. Хотя мы предприняли шаги для обеспечения качества информации здесь, ServoCity не дает никаких гарантий относительно представленной информации.ServoCity не несет ответственности за любое использование или неправильное использование предоставленной информации. Если у вас есть вопросы по этой информации, пишите на [email protected].
Как мне управлять сервоприводом от Arduino?
Как мне управлять сервоприводом с Raspberry Pi?
Хотя Raspberry Pis может выводить сигнал ШИМ, они часто не могут поддерживать чистый сигнал из-за отсутствия специального таймера. Если вы управляете сервоприводами с Raspberry Pi, мы настоятельно рекомендуем приобрести сервопривод для вашего Raspberry Pi.
Как включить сервопривод?
Лучший способ запитать сервопривод – это использовать аккумулятор с напряжением в диапазоне напряжений, указанном в таблице спецификаций серво страниц. Обязательно используйте исправную батарею, которая может обеспечивать более чем достаточный ток. Поскольку ток втягивается, а не проталкивается, наличие большего тока, чем необходимо, не повредит сервоприводу (это все равно, что иметь больше газа, чем нужно, чтобы получить место в машине). Питание серводвигателя подается по красному проводу.Может быть полезно перерезать красный провод (или использовать X-Acto, чтобы вытащить разъем из корпуса), чтобы вы могли подавать питание отдельно от сигнала. Это позволит вам питать ваш приемник от другой батареи, чем ваш сервопривод, если им нужны другие напряжения. Это также позволит вам запитать двигатель сервопривода напрямую от батареи, в то время как сигнал поступает от Arduino, поскольку выводы Arduino не могут обрабатывать ток, необходимый сервоприводу (обычно они достигают максимума 40 мА).
Как послать сигнал на большое расстояние?
Иногда при отправке сигнала на большое расстояние сигнал может ухудшаться из-за падения напряжения и электромагнитных помех (EMI).Усилитель сервосигнала может решить эти проблемы и упростить передачу сигнала на большое расстояние по проводу.
Как мне повернуть сервопривод на определенную величину (90 °, 180 °, непрерывно и т. Д.)?
При управлении с помощью системы радиоуправления большинство сервоприводов для хобби предлагают вращение на 90 ° (45 ° в любом направлении) прямо из коробки. Иногда это можно увеличить, если ваша радиосистема предлагает настройку конечной точки или ваш сервоконтроллер имеет перемычку на 180 °.Если вы используете цифровые сервоприводы Hitec, вы просто хотите приобрести ручной программатор, чтобы увеличить вращение. Если у вас есть аналоговый сервопривод Hitec или Futaba, который предлагает вращение только на 90 °, угол поворота иногда можно увеличить до 180 °, выполнив простую модификацию.
Примечание: Вы можете приобрести у нас сервоприводы Hitec, предварительно модифицированные на нашем собственном производственном предприятии, на отдельных страницах сервоприводов Hitec. Эта модификация аннулирует все гарантии ServoCity и Hitec.
Как заменить сервопривод?
Как измеряется скорость сервопривода?
Как измеряется крутящий момент сервопривода?
На что ссылается “направление” сервопривода?
Все сервоприводы будут вращаться по часовой стрелке и против часовой стрелки. Направление вращения сервопривода зависит от сигнала, который принимает сервопривод. Не все сервоприводы сразу же из коробки совпадают по направлению вращения.Если вы подключите сервопривод Hitec к приемнику радиоуправления или сервоконтроллеру и прикажете сервоприводу повернуться вправо (по часовой стрелке), он переместится вправо. Если вы затем подключите сервопривод Futaba к тому же ресиверу или сервоконтроллеру и скажете ему двигаться в том же направлении, что и сервопривод Hitec, он будет двигаться в противоположном направлении (против часовой стрелки). Это легко исправить с большинством систем радиоуправления, поскольку они имеют функцию серво реверсирования
на передатчике. Эта разница между производителями является причиной того, что каждый сервопривод будет иметь спецификацию, указывающую направление, в котором сервопривод будет двигаться с возрастающим сигналом ШИМ.
Что такое серво-сплайн?
Зубчатый выходной вал сервопривода обычно называют шлицем сервопривода. Для разбивки всех различных видов шлицевых сервоприводов на сервоприводы, которые мы продаем, ознакомьтесь с записью Servo Spline в нашем глоссарии.
Основы работы с контроллером серводвигателя| Галил
Эта статья представляет собой краткое введение в управление серводвигателем и объясняет различные компоненты в системе серводвигателя и то, как каждый компонент работает для создания всего решения управления движением.Здесь показан пример системы:
Компоненты системы серводвигателя
- Щеточный или бесщеточный серводвигатель
- Кодировщик / устройство обратной связи
- Усилитель серводвигателя / привод
- Контроллер серводвигателя
Щеточный / бесщеточный мотор
Выбор того, какой двигатель использовать, обычно является ранним шагом в процессе выбора сервосистемы. Важнейшие вещи, о которых нужно знать, – это желаемая скорость (обороты в минуту или обороты в минуту) и желаемый крутящий момент.Часто для двигателя будет доступна кривая скорость-крутящий момент, которая показывает величину крутящего момента, которую двигатель имеет на определенной скорости. Серводвигатели обычно имеют относительно плоскую кривую крутящего момента скорости, поскольку величина крутящего момента, доступная двигателю, остается относительно постоянной до тех пор, пока вы не достигнете максимальной скорости двигателя. (Шаговый двигатель, с другой стороны, может иметь значительную рампу, при которой крутящий момент значительно падает по мере увеличения скорости). При необходимости можно использовать зубчатую головку или механическую зубчатую передачу для увеличения крутящего момента двигателя.
Кодировщик / устройство обратной связи
Энкодер – это датчик положения, который выдает сигнал, сообщающий контроллеру, где находится двигатель и с какой скоростью он движется. Многие серводвигатели поставляются со встроенным энкодером, однако также можно использовать внешний энкодер или устройство обратной связи для управления двигателем. При использовании внешнего энкодера очень важно не допускать чрезмерного соответствия между двигателем и энкодером. По сути, любое изменение положения двигателя должно немедленно обнаруживаться энкодером.Ситуация, когда энкодер установлен после ременной передачи, вызовет проблемы из-за податливости ремня. В системе, где требуется положение нагрузки, рекомендуется использовать два датчика положения – один непосредственно на задней части двигателя, а второй датчик на «нагрузке». Контроллер Galil имеет встроенный функционально называемый «двухконтурный» режим для управления системой с двумя устройствами обратной связи.
Усилитель серводвигателя / привод
Усилитель серводвигателя принимает управляющий сигнал от контроллера двигателя и усиливает его, чтобы передать определенное количество мощности на двигатель.Существует несколько различных типов сервоусилителей, но самый распространенный из них называется усилителем «крутящего момента». Этот тип усилителя преобразует командный сигнал от контроллера в определенную величину тока (в амперах), подаваемого на двигатель. Во вращающемся двигателе ток прямо пропорционален крутящему моменту, поэтому усилитель фактически напрямую регулирует величину крутящего момента на двигателе. В линейном двигателе ток пропорционален силе, поэтому усилитель напрямую контролирует силу, исходящую от двигателя.Усилитель замыкает токовую петлю вокруг двигателя с очень высокой скоростью, так что командный сигнал контроллера двигателя точно соответствует фактическому току, который подается на двигатель.
Контроллер серводвигателя
До этого момента компоненты, описанные выше, могут по существу принимать управляющий сигнал и передавать определенное количество тока на двигатель – двигатель будет вращаться, и значение, которое он вращает, может быть замечено кодировщиком. Задача контроллера серводвигателя (или обычно называемого контроллером движения) состоит в том, чтобы замкнуть контур в системе, постоянно глядя на сигнал энкодера и прикладывая крутящий момент к двигателю для управления им.Самая простая форма этого – занимать определенную должность. В этом сценарии, если возмущение заставляет двигатель смещаться с позиции – энкодер обнаруживает это изменение положения – создавая сигнал ошибки. Этот сигнал ошибки затем преобразуется контроллером в заданный ток, чтобы вернуть двигатель в исходное положение. Более сложный случай – когда контроллер хочет переместить двигатель в новое положение. В этом случае контроллер создает желаемый профиль движения, используя определенные ускорение, замедление и скорость.В очень быстром цикле контроллер задает определенное положение для двигателя в точное время – это приводит к тому, что двигатель вращается по желаемому профилю движения.
Заключение
Galil предлагает широкий выбор контроллеров движения для сервосистем. Чтобы упростить задачу, Galil также предлагает множество дополнительных подключаемых усилителей, которые подключаются непосредственно к контроллеру. Есть две серии контроллеров движения, которые предлагают это: первая – это высокопроизводительная серия «Accelera», показанная здесь: http: // www.galil.com/motion-controllers/multi-axis/dmc-40×0, а другая – более экономичная серия “Econo”, показанная здесь: http://www.galil.com/motion-controllers/multi-axis/dmc -41×3
Как управлять серводвигателем
Серводвигатели – это не новая технология. Фактически, они существуют уже много лет и используются во многих приложениях. Они очень компактные. Но не заблуждайтесь, они довольно мощные и энергоэффективные. Серводвигатели, такие как серия сервоприводов Elmo, часто используются для управления радиоуправляемыми или дистанционно управляемыми роботами, игрушечными машинками и самолетами.
Они также используются во многих промышленных приложениях, а также в робототехнике, в сфере общественного питания, производства и фармацевтики. Но как они работают и как ими управляют?
Проверить скорость
Скорость серводвигателя определяется количеством магнитных полюсов и частотой приложенного к нему напряжения. Сервомоторы по своей природе не контролируются по скорости. Таким образом, когда они получают сигнал местоположения, они будут работать с максимально возможной скоростью – и вы действительно ничего не можете сделать, чтобы заставить их двигаться быстрее.Однако вы можете заставить их работать медленнее, используя обходной путь. Вы можете сделать это, отправив им серию позиций, что приведет к достижению требуемой позиции.
Понимание схемы управления
Серводвигатели, такие как серия сервоприводов Elmo, состоят из четырех компонентов: редуктора, датчика положения, стандартного двигателя постоянного тока (DC) и цепи управления. Двигатель постоянного тока питается от батареи и работает с низким крутящим моментом и высокой скоростью.Вал и зубчатый механизм, прикрепленный к нему, помогают генерировать более высокий крутящий момент и соответствующую скорость, в то время как датчик положения сообщает цепи управления текущее положение вала из его определенного положения.
В отличие от схемы шагового двигателя, которая преобразует импульсный сигнал от контроллера в движение шагового двигателя, схема управления серводвигателем декодирует всю информацию, которую она получает от датчика положения. Затем он сравнивает его с фактическим положением двигателя, чтобы определить, достигнуто ли требуемое положение.В противном случае он будет управлять направлением вращения двигателя постоянного тока, пока он не достигнет желаемого положения.
Функции серводвигателя
Сервоприводы, такие как серия сервоприводов Elmo, используются в различных приложениях, где требуется быстрое изменение скорости без перегрева двигателя. Вот лишь некоторые из распространенных сегодня функций сервоприводов:
- Они используются в радиоуправляемых самолетах для управления движением и положением управляющих поверхностей, таких как рули направления и рули высоты.
- Они помогают поддерживать гидравлическую жидкость в гидравлических системах в аэрокосмической промышленности.
- Они используются в роботах из-за их точного позиционирования и плавного включения и выключения.
- Они помогают поддерживать скорость автомобилей.
- Они также весьма полезны в отраслях промышленности с летучими средами, таких как фармацевтика и пищевая промышленность, где очень высока вероятность коррозии.
- Они используются для управления автоматическими открывателями дверей во многих коммерческих зданиях.
Некоторые из их промышленных приложений включают:
- Робототехника
- Упаковка
- Станки
- Автоматизация производства
- Печать
- Сборочные линии
- Обработка материалов
- Деревообрабатывающее оборудование / станки с ЧПУ
- Автоматизированное производство
- Позиционирование антенн
- Станки для резки и формовки металла
- Текстильное производство
Сигнал с широтно-импульсной модуляцией
Сервомоторыуправляются путем отправки сигнала широтно-импульсной модуляции (ШИМ) через провод управления.Ширина импульса, посылаемого на двигатель, определяет угловое положение вала. Таким образом, способность ротора поворачиваться в желаемое положение будет зависеть от импульса, который получает управляющий провод.
Например, 1,5-миллисекундный импульс заставляет двигатель сдвигаться на 90 градусов. Все, что меньше этого, переместит сервопривод в положение 0 ° против часовой стрелки. Если импульс длиннее 1,5 мс, это заставит двигатель повернуться на 180 ° по часовой стрелке.
Разъемы серводвигателя
Сервоприводыбывают разных размеров.К счастью, все еще существуют стандарты, регулирующие их дизайн. Коннектор, в частности, является одной из частей, на которую распространяются стандарты. Соединители серводвигателя соединяются стандартными квадратными штырями 0,025 дюйма с центрами 0,1 дюйма.
Три основных типа разъемов:
- «J» (стиль Futuba)
- «S» (стиль Hitec / JR)
- «A» (стиль Airtronics)
Обратите внимание, что разные производители могут использовать разные цвета для обозначения различных функций.Вы должны внимательно следить за тем, как каждый производитель кодирует свой разъем цветом, так как любая ошибка в подключении приведет к повреждению двигателя.
Заключение
Если вам требуется точность и аккуратность для вашего робототехнического проекта, вы можете воспользоваться серводвигателем. Однако обратите внимание, что сервоприводы нуждаются в специальных управляющих сигналах для правильной работы. Вы не можете просто подключить их к батарее и ожидать, что они будут работать как по волшебству. К счастью, есть много способов сделать это с помощью простых электронных схем или сервоконтроллеров.
Просмотрите нашу страницу для получения более проницательных статей о серводвигателях, робототехнике и общих технических новинках!
razzpisampler
Solution
Используйте ШИМ для управления шириной импульсов серводвигателя для изменения его угла. Хотя это будет работать, генерируемый ШИМ не полностью стабилен, поэтому сервопривод будет немного дрожать.
Вам также следует запитать сервопривод от отдельного источника питания 5 В, потому что пики тока нагрузки могут привести к сбою или перегрузке Raspberry Pi.
Для приготовления этого рецепта вам потребуются:
Макетная плата для этого показана на Рисунке 5-1.
Рисунок 5-1. Управление серводвигателемРезистор 1 кОм не является существенным, но он защищает вывод GPIO от неожиданно высоких токов в управляющем сигнале, которые могут возникнуть в случае возникновения неисправности в сервоприводе.
Цвет выводов сервопривода может отличаться от цвета, указанного на Рисунке 5-2. Обычно провод 5 В бывает красным, земля – коричневым, а контрольный провод – оранжевым.
Вы можете, если хотите, запитать сервопривод от аккумуляторной батареи, а не от источника питания. Использование четырехэлементного батарейного отсека AA с перезаряжаемыми батареями обеспечивает около 4,8 В и хорошо работает с сервоприводом. Использование четырех щелочных элементов AA для обеспечения 6 В подойдет для многих сервоприводов, но проверьте техническое описание сервопривода, чтобы убедиться, что все в порядке с 6 В.
Пользовательский интерфейс для установки угла сервопривода основан на программе gui_slider.py , предназначенной для управления яркостью светодиода («Управление яркостью светодиода»).Однако вы можете изменить его так, чтобы ползунок устанавливал угол от 0 до 180 градусов (рисунок 5-2).
Рисунок 5-2. Пользовательский интерфейс для управления серводвигателемОткройте редактор (nano или IDLE) и вставьте следующий код. Как и все примеры программ в этой книге, вы также можете загрузить программу из раздела «Код» на веб-сайте Raspberry Pi Cookbook , где она называется servo.py .
Обратите внимание, что эта программа использует графический интерфейс пользователя, поэтому вы не можете запустить ее из SSH.
Вы должны запустить его из оконной среды на самом Pi или через удаленное управление с помощью VNC («Удаленное управление Pi с помощью VNC»). Вам также необходимо запустить его как суперпользователя, поэтому запустите его с помощью команды sudo python servo.py
:
from
Tkinter
import
*
импорт
RPi.GPIO
как
GPIO
импорт
время
GPIO
.
setmode
(
GPIO
.
BCM
)
GPIO
.
настройка
(
18
,
GPIO
.
OUT
)
pwm
=
GPIO
.
ШИМ
(
18
,
100
)
ШИМ
.
начало
(
5
)
класс
Приложение
:
def
__init__
(
self
,
master
):
рама
=
рама
(
главный
)
рама
.
упаковка
()
Масштаб
=
Масштаб
(
рамка
,
от _
=
0
,
до
=
180
,
ориентировать
=
ГОРИЗОНТАЛЬНО
,
команда
=
self
.
обновить
)
Масштаб
.
сетка
(
ряд
=
0
)
def
обновить
(
self
,
угол
):
режим
=
поплавок
(
угол
)
/
10,0
+
2,5
ШИМ
.
ChangeDutyCycle
(
DutyCycle
)
корень
=
Tk
()
корень
.
wm_title
(
'Сервоуправление'
)
приложение
=
приложение
(
корень
)
корень
.
геометрия
(
"200x50 + 0 + 0"
)
корень
.
mainloop
()
Обсуждение
Серводвигатели используются в транспортных средствах с дистанционным управлением и робототехнике. Большинство серводвигателей не непрерывно ; то есть они не могут вращаться полностью, а только на угол около 180 градусов.
Положение серводвигателя определяется длиной импульса.