Управление сервоприводом потенциометром. Управление сервоприводом с помощью Arduino и потенциометра: пошаговое руководство

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

Содержание

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

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

  • Электродвигатель постоянного тока
  • Редуктор для снижения скорости вращения
  • Потенциометр для определения текущего положения вала
  • Электронная схема управления

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

Необходимые компоненты для проекта

Для создания системы управления сервоприводом с помощью потенциометра нам понадобятся следующие компоненты:


  • Плата Arduino (например, Arduino Nano)
  • Сервопривод (например, популярная модель SG90)
  • Потенциометр на 10-100 кОм
  • Макетная плата
  • Соединительные провода
  • USB-кабель для подключения Arduino к компьютеру

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

Подключение компонентов выполняется по следующей схеме:

  1. Подключите потенциометр:
    • Крайние выводы к 5V и GND на Arduino
    • Средний вывод к аналоговому входу A0
  2. Подключите сервопривод:
    • Красный провод к 5V
    • Черный/коричневый провод к GND
    • Желтый/оранжевый провод к цифровому пину 9 на Arduino

Написание скетча для Arduino

Теперь напишем программу для Arduino, которая будет считывать значения с потенциометра и управлять сервоприводом. Вот базовый скетч:

«`cpp #include Servo myservo; // создаем объект сервопривода int potpin = A0; // аналоговый пин для потенциометра int val; // переменная для хранения значения с потенциометра void setup() { myservo.attach(9); // привязываем сервопривод к пину 9 } void loop() { val = analogRead(potpin); // считываем значение с потенциометра (0-1023) val = map(val, 0, 1023, 0, 180); // масштабируем значение к диапазону сервопривода (0-180) myservo.write(val); // устанавливаем положение сервопривода delay(15); // даем серво время на перемещение } «`

Давайте разберем этот код подробнее:


Подключение библиотеки и создание объекта сервопривода

В начале скетча мы подключаем библиотеку Servo и создаем объект myservo для управления сервоприводом:

#include <Servo.h>
Servo myservo;

Определение пинов и переменных

Затем мы определяем пин для потенциометра и переменную для хранения его значения:

int potpin = A0;  // аналоговый пин для потенциометра
int val;    // переменная для хранения значения с потенциометра

Настройка в функции setup()

В функции setup() мы привязываем сервопривод к пину 9:

void setup() {
  myservo.attach(9);  // привязываем сервопривод к пину 9
}

Основной цикл программы

В функции loop() происходит основная работа программы:

  1. Считываем значение с потенциометра (0-1023)
  2. Масштабируем это значение к диапазону сервопривода (0-180 градусов)
  3. Устанавливаем новое положение сервопривода
  4. Добавляем небольшую задержку для стабильности работы

Загрузка скетча и тестирование

После написания скетча выполните следующие шаги:

  1. Подключите Arduino к компьютеру через USB-кабель
  2. Откройте Arduino IDE и загрузите скетч на плату
  3. После успешной загрузки поверните ручку потенциометра

Вы должны увидеть, как сервопривод поворачивается в соответствии с положением потенциометра. Если сервопривод не двигается или двигается неправильно, проверьте подключения и убедитесь, что вы выбрали правильную модель платы Arduino в IDE.


Возможные улучшения проекта

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

  • Добавление второго потенциометра для управления скоростью вращения сервопривода
  • Использование нескольких сервоприводов для создания простого робота-манипулятора
  • Добавление дисплея для отображения текущего угла поворота сервопривода
  • Интеграция проекта с другими датчиками, например, ультразвуковым дальномером

Применение сервоприводов в реальных проектах

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

  • Робототехника: управление суставами роботов и манипуляторов
  • Авиамоделизм: управление рулями и закрылками моделей самолетов
  • Автоматизация: управление клапанами и задвижками в промышленных системах
  • 3D-принтеры: точное позиционирование печатающей головки
  • Камеры видеонаблюдения: управление поворотом и наклоном камер

Часто задаваемые вопросы

Какой максимальный угол поворота у сервопривода SG90?

Стандартный сервопривод SG90 имеет диапазон вращения около 180 градусов. Однако точный диапазон может немного отличаться в зависимости от конкретного экземпляра.


Можно ли использовать внешний источник питания для сервопривода?

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

Как изменить направление вращения сервопривода?

Чтобы изменить направление вращения, можно модифицировать функцию map() в скетче следующим образом:

val = map(val, 0, 1023, 180, 0);  // инвертируем диапазон

Заключение

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


класс по робототехнике «Управление сервоприводом через потенциометр»

Всем привет! В этой статье мы научим вас управлять сервоприводом SG90 через Потенциометр!

Краткая справка:
Сервопривод — электромеханический мотор, который имеет выходной вал, способный вращаться вокруг своей оси. Мы в своих проектах используем сервоприводы SG90, в роборуке, например, таких аж 4 штуки! Такое сервопривод имеет пластиковый редуктор, из-за чего при большом усилии шестаренки могут сломаться, поэтому лучше не проворачивайте выходной вал мотора вручную, а используйте для этого команды с микроконтроллера:)

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

Для работы нам понядобатся:
 — макетная плата
 — плата Arduino Nano
 — 6 проводов «Папа-Папа»
 — Потенциометр на 100 кОм
 — Сервопривод SG90

Для начала, соберем схему подключения Сервопривода к плате Arduino Nano. Крайние контакты потенциометра необходимо подключить на контакты 5V и GND на плате (какой из крайних куда не принципиально). Центральный контакт, который как раз подключен к вращающейся ручке потенциометра, подключаем на любой из аналоговых пинов Arduino, мы подключили на пин A0. Схема подключения выглядит так:

В реальной жизни, выглядит так:

Отлично! Теперь нам необходим написать программу для считывания показаний потенциометра через аналоговый пин A0. Для этого делаем бесконечный цикл считывания показаний с A0 с задержкой 0,1с (задержку можно менять, для более плавного управления), готовый скетч можно скачать по ссылке.

Теперь в мониторе порта (фиолетовая кнопка в правом верхнем углу) мы можем наблюдать считываемые значения.10) = 1024 значения, соответственно, при вращениии ручки потенциометра от одного крайнего положения к другому мы будем видеть значения от 0 до 1023.

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

Фото схемы:

Для управление сервой, необходимо написать код, который будет переводить показания от потенциометра (0 — 1023) в углы Сервомотора (0 — 90 градусов). 
Для этого вводим переменную «Коэффициент», равную отношению «Максимального значения потенциометра» к «Максимальному углу сервомотора». В цикл добавляем команду управление сервомотором, угол определяем как считанное значение потенциометра скорректированное (поделенное) на «Коэффициент». Готовый скетч можно скачать по ссылке.

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

Если вы хотите повторить всё проделанное самостоятельно — все необходимые компоненты есть в нашем курсе «Легкий Старт»

Если хотите попробовать немного попрограммировать RobotON Studio — регистрируйтесь на бесплатное занятие:)

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

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

Устройство и работа

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

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 способа, чтобы обеспечить авто подобной опцией. Надежным вариантом является пневмопривод, но он стоит дороже. Электропривод управляется несколькими способами на выбор:

  • с пульта;
  • кнопка на дверной панели водителя;
  • ручка на крышке багажника.

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

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

Есть еще устройства с магнитными пластинами, но они сложней и применяются реже.

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

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

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

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

Основными параметрами для выбора являются следующие:

  1. Питание. Подача напряжения производится по трем проводам. По белому передают импульс, через красный — рабочее напряжение, черный или коричневый является нейтральным.
  2. Размеры: большие, стандартные и микроустройства.
  3. Скорость. От нее зависит, за какой промежуток времени вал повернется на угол 60 0 . Недорогие устройства обладают скоростью 0,22 сек. Если требуется высокое быстродействие, она составит 0,06 сек.
  4. Величина момента. Параметр является приоритетным, поскольку при малом вращающем моменте управление затрудняется.

Как управлять цифровым сервоприводом?

Приводы подключаются к программируемым контроллерам, среди которых хорошо известен 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

#22. Подключаем к Arduino джойстик. Управление servo сервоприводом.

Сегодня в уроке подключим джойстик к Arduino UNO. И рассмотрим пару примеров использования джойстика в робототехнике:

  1. Вывод данных о положении стика джойстика в монитор порта.
  2. Управление свечением двух светодиодов с помощью джойстика.
  3. Подключить джойстик и сервопривод к Arduino. Научимся управлять сервоприводами с помощью джойстика.

А для начала рассмотрим, что такое джойстик, из чего он состоит и как устроен.

Устройство аналогово джойстика и принцип работы.

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

Управляет всем стик. При изменении положения стика по оси X — вращается потенциометр, выход которого outX, а при перемещении по оси Y — меняется значение потенциометра с выводом outY. По сути, это 2 потенциометра, с которых снимаем показания. Стик устроен таким образом, что он возвращается самостоятельно в центральное положение. Что обеспечивает центрование потенциометров. В данном состоянии джойстика на выходах outX, outY будет 511.

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

На плате установлена тактовая кнопка. Использовать ее или нет решать вам. При создании пульта для радиоуправляемой машинки я использовал данную кнопку для переключения режима работы: с джойстика или с акселерометра. Если интересно читайте на странице проекта: Машинка на радиоуправлении. Arduino + nrf24l01 + пульт.

Вывод данных о положении стика джойстика в монитор порта.

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

После чего нужно загрузить код в Arduino UNO.

В мониторе порта будут вот такие данные.

Как видите, они отличаются от 511. Показание отличаются на разных осях X=507, Y=510. Эти данные нам пригодятся в следующем примере.

Если мы подвигаем стик джойстика, то увидим изменение значений от 0 до 1023 по каждой оси.

На выходе мы получаем значение до 1023. Данный диапазон значений практически не применим в проектах на Ардуино, поэтому давайте приведем это значение к диапазону от 0 до 255, для этого воспользуемся функцией map().

После чего в мониторе порта мы получим вот такие значения.

Управление свечением двух светодиодов с помощью джойстика.

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

Так как мы знаем значение при центральном положении стика, для оси Х это 507, а для оси Y 510, используя функцию map(), приведем к необходимому диапазону, например для оси Х от 507 до 1023 к диапазону от 0 до 255. Код будет вот таким.

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

Подключить джойстик и сервопривод к Arduino. Научимся управлять сервоприводами с помощью джойстика.

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

Для данного примера устанавливать дополнительные библиотеки не нужно, так как библиотека servo устанавливается вместе с Arduino IDE.

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

Итог: Как видим из примеров, применение джойстика достаточно большое в разработке проектов на Arduino и в робототехнике.

Если вас интересует дополнительная информация о джойстике, пишите об этом в комментариях.

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке

Понравилась статья? Поделитесь ею с друзьями:

Файлы для скачивания

Вывод в монитор порта.ino1 Kb 435Скачать

Вы можете скачать файл.

Вывод в монитор порта + map().ino1 Kb 337Скачать

Вы можете скачать файл.

Управление светодиодами с помощью джойстика.ino1 Kb 435Скачать

Вы можете скачать файл.

Управление сервоприводами с помощью джойстика.ino1 Kb 653Скачать

Вы можете скачать файл.

Управление серводвигателем с помощью потенциометра! — ARDUINO | ЭЛЕКТРОНИКА | ПРОТОТИПИРОВАНИЕ | ДАТЧИКИ | КОД!

В последнем уроке мы получили несколько основных идей о сервомоторе, и он работает! Итак, в этом кратком руководстве мы собираемся управлять серводвигателем с помощью потенциометра!

Это действительно даст вам старт в ServoMotor и Robotics!

Необходимые материалы

1.Любая плата Arduino или плата-клон Arduino (покупка на Amazon.in) (покупка на Amazon.com)

2. USB-кабель типа A к штекеру B (Купить на Amazon.in) (Купить на Amazon.com)

3. Micro Servo SG90 (купить на Amazon.in) (Купить на Amazon.com)

4.Провода перемычки (покупаются на Amazon.in) (покупаются на Amazon.com)

Как это работает?

Прежде чем мы начнем с нашего руководства по сервоприводам Arduino, при использовании двигателя всегда используйте внешний источник для питания Arduino, не потребляйте питание через USB-соединение!

Сервомашинки управляются путем отправки электрического импульса переменной ширины или широтно-импульсной модуляции (ШИМ) через провод управления.Таким образом, им можно управлять с помощью выводов ШИМ или — любого цифрового вывода. Как показано на диаграмме ниже, при ширине импульса 1,5 мс, приложенной к линии управления, сервопривод находится в нейтральном положении — в данном случае обозначенном как 90º. Когда ширина импульса увеличивается или уменьшается, сервопривод перемещается в сторону 180º или 0º соответственно. Вы также можете описать нейтральное положение как 0º, и в этом случае угловой диапазон сервопривода простирается от -90º до + 90º.

Другими словами, 1.Импульс 5 мс заставит двигатель повернуться в положение 90 °. Импульс короче 1,5 мс перемещает его против часовой стрелки к положению 0 °, а любой импульс длиннее 1,5 мс поворачивает сервопривод по часовой стрелке к положению 180 °.

Схемы

Серводвигатели имеют три провода: питание, заземление и сигнальный.

1. Провод питания обычно красного цвета и должен быть подключен к выводу 5V на плате Arduino.

2. Заземляющий провод обычно бывает черным или коричневым и должен быть подключен к контакту заземления на плате Arduino.

3. Сигнальный контакт обычно желтого, оранжевого или белого цвета и должен быть подключен к цифровому контакту на плате Arduino.

Потенциометр

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

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

Помните, что использование библиотеки Servo автоматически отключает функцию ШИМ на выводах 9 и 10 ШИМ на Arduino UNO и подобных платах. Таким образом, вывод 9 ШИМ в нашем случае действует как обычный цифровой вывод!

Код

Arduino IDE имеет встроенный сервокод в списке примеров кодов.

Вы можете получить код из примеров кодов или просто загрузить его по приведенной ниже ссылке!

[Arduino Ide> Файл> Примеры> Сервопривод> Ручка].

Код сервоконтроллера

Готов к рок!

Теперь запустите код!

Как всегда, вы можете настроить код, чтобы внести желаемые изменения и заставить сервопривод двигаться соответствующим образом! (Указания приведены в коде)

Делайте лайки, делитесь и подписывайтесь на наш канал Youtube, чтобы быть в курсе новых проектов MIY!

Поделитесь с нами своим опытом с помощью фотографий и комментариев в разделе комментариев ниже! 😀

Нравится:

Нравится Загрузка…

Связанные

Сервоуправление

В этом примере показано, как использовать Target для использования с оборудованием Arduino® Mega 2560 для управления стандартным серводвигателем.

Содержание

Введение

Target для использования с оборудованием Arduino Mega 2560 позволяет создавать и запускать модели Simulink® на плате Arduino Mega 2560. Цель включает в себя библиотеку блоков Simulink для настройки датчиков, исполнительных механизмов и интерфейсов связи Arduino и доступа к ним.

В этом примере вы узнаете, как создать модель Simulink, которая управляет стандартным серводвигателем. В стандартном серводвигателе положение вала может быть точно установлено, обычно от 0 до 180 градусов. Серводвигатели используются во многих промышленных, военных и потребительских приложениях и продуктах.

Предварительные требования

Мы рекомендуем завершить Начало работы с оборудованием Arduino Mega 2560.

Требуемое оборудование

Для запуска этого примера вам потребуется следующее оборудование:

  • Плата Arduino Mega 2560
  • USB-кабель
  • Стандартный серводвигатель
  • Потенциометр
  • Фотоэлемент CdS
  • Резистор 10 кОм Провода
  • Маленькая макетная плата (рекомендуется)

Задача 1 — Подключите серводвигатель к плате Arduino

В этой задаче вы подключите свой двигатель к плате Arduino.Серводвигатели имеют три провода: питание, заземление и сигнал. Подключите их, как описано ниже.

1. Подключите провод питания (обычно красный) к контакту 5V.

2. Подключите провод заземления (обычно черный) к контакту заземления.

3. Подключите сигнальный провод (обычно оранжевый) к цифровому контакту 4.

Задача 2 — Установите положение серводвигателя через внутренний источник

В этой задаче вы установите положение вала серводвигателя. используя внутренний источник.Угол вала будет варьироваться от 0 до 180 градусов вверх и вниз.

1. Откройте модель сервоуправления.

2. Обратите внимание на блок Standard Servo Write . Блок устанавливает новый угол вала серводвигателя каждые 0,01 секунды.

3. В вашей модели Simulink выберите Tools> Run on Target Hardware> Run .

4. Когда модель запускается на плате Arduino Mega 2560, обратите внимание на положение вала двигателя, колеблющееся от 0 до 180 градусов.

Задача 3 — Управление положением серводвигателя с помощью потенциометра

В этой задаче вы вручную установите положение вала серводвигателя с помощью потенциометра. Подключите внешние клеммы потенциометра к контактам 5V и GND на плате Arduino Mega 2560. Подключите среднюю клемму к контакту 0 аналогового входа. Когда вы вращаете потенциометр, его сопротивление изменяется. В результате изменяется и напряжение на выводе аналогового входа. Ваша задача — установить угол серводвигателя, пропорциональный этому напряжению.

1. В MATLAB® выберите File> New> Model.

2. Введите simulink в приглашении MATLAB®. Это открывает браузер библиотеки Simulink.

3. В браузере библиотеки Simulink перейдите к цели для использования с оборудованием Arduino Mega 2560 .

4. Перетащите блок Analog Input в модель. Дважды щелкните блок и установите номер вывода на 0, а время выборки на 0.01 секунда.

5. Перетащите блок Standard Servo Write в модель. Дважды щелкните блок и установите номер контакта на 4.

6. Подключите блоки аналогового входа и Standard Servo Write .

7. Из библиотеки Simulink Math Operations перетащите блок Gain в модель и поместите его на линию, соединяющую блок Analog Input и Standard Servo Write .Дважды щелкните блок Gain и установите его значение на 0,1760 (максимальное смещение серводвигателя в градусах, деленное на разрешение цифрового аналогового входа, т. Е. 180/1023).

8. В вашей модели выберите Инструменты > Запуск на целевом оборудовании> Подготовка к запуску … .

9. Просмотрите параметры в открывшемся диалоговом окне. Если это еще не установлено, установите для параметра Target hardware значение Arduino Mega 2560.

10. В модели выберите Tools> Run on Target Hardware> Run .

11. Когда модель начнет работать на плате Arduino Mega 2560, обратите внимание на угол поворота вала двигателя от 0 до 180 градусов.

Если у вас возникли проблемы с созданием модели, как описано выше, вы можете использовать модель сервоуправления.

Задача 4 — Управление положением серводвигателя с помощью фотоэлемента

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

Используйте фотоэлемент и резистор вместо потенциометра, который вы использовали в задаче 3. Подключите один конец фотоэлемента к выводу 5V на плате Arduino Mega 2560. Затем подключите один конец резистора к контакту GND на плате. Подключите другие концы фотоэлемента и резистора вместе, а затем к контакту 0 аналогового входа на плате.

Модель будет аналогична модели, использованной в Задаче 3.

Другие вещи, которые стоит попробовать

Поэкспериментируйте с другими блоками в библиотеке блоков Arduino.Например:

  • Используйте блок Digital Input для регулировки положения вала двигателя в зависимости от внешнего управляющего сигнала или сигналов.
  • Используйте блок Standard Servo Read , чтобы считать положение вала двигателя и сравнить его с желаемым положением.

Резюме

В этом примере показано, как использовать Target для использования с оборудованием Arduino Mega 2560 для управления стандартным серводвигателем. В этом примере вы узнали, что:

  • Стандартный блок записи сервомотора позволяет вам установить положение вала серводвигателя, обычно в диапазоне от 0 до 180 градусов.
  • Блок аналогового ввода измеряет напряжение, подаваемое на аналоговый входной вывод Arduino. К аналоговым контактам можно прикрепить различные датчики.

MATLAB и Simulink являются зарегистрированными товарными знаками The MathWorks, Inc. Список других товарных знаков, принадлежащих The MathWorks, Inc., см. На веб-сайте www.mathworks.com/trademarks. Другие названия продуктов или брендов являются товарными знаками или зарегистрированными товарными знаками соответствующих владельцы.

Положение управления сервоприводом с потенциометром

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

1. КОНЦЕПЦИИ

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

Рисунок 1: Потенциометр с ручкой

Серводвигатель : — это электродвигатель, который принципиально отличается исключительной управляемостью: он позволяет точно регулировать угловое положение, ускорение и скорость. Для достижения этих результатов, помимо самого серводвигателя, датчик положения ротора также является частью базовой архитектуры устройства.10 = 1024 значения. В то время как серводвигатель может вращаться от 0 до 180 градусов. Поэтому, чтобы он работал правильно, мы должны сопоставить входные значения с выходными значениями. Это можно сделать с помощью формулы наклонной линии. На Рисунке 3 ниже вы можете видеть, что по оси Y показаны значения выходного угла, которые необходимо подать на сервопривод, чтобы заставить его вращаться от 0 до 180 градусов. В то время как на оси x у нас есть значения потенциометра от 0 до 1023.

Рисунок 3: График линии наклона

Расчет наклона линии:

наклон, м = (y2-y1) / (x2-x1) = (180-0) / (1023-0)

м = 0.176

Отображение значений потенциометра с углом:

Сейчас, Точечный уклон прямой

y-y1 = m (x — x1)

или, угол — 0 = 0,176 (potValue — 0)

, следовательно, угол = 0,176 * potValue

Примечание: если есть ошибка в крайних значениях серводвигателя, то ее можно исправить, заменив значения y2 и y1 (y2 = максимальное значение, y2 = min значение) в формулах выше.

Отображение входных и выходных значений с помощью функции карты:

Используя Arduino, вам даже не нужно выполнять все эти вычисления, вы можете использовать функцию map () для автоматического сопоставления входных значений с выходными.

Синтаксис: map (value, fromLow, fromHigh, toLow, toHigh)

значение : переменная для сопоставления.
fromLow : нижняя граница текущего диапазона значения.
fromHigh : верхняя граница текущего диапазона значения.
toLow : нижняя граница целевого диапазона значения.
toHigh : верхняя граница целевого диапазона значения.

Это повторно отобразит число из одного диапазона в другой. То есть, значение из Low будет отображаться в to Low , значение из High в to High , промежуточные значения в значения между ними и т. Д.

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

2. КОМПОНЕНТЫ

3. ПОДКЛЮЧЕНИЯ

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

Рисунок 3: Соединения серводвигателя и потенциометра с Arduino

4.ПРОГРАММЫ

Программа 1: Управляйте положением сервопривода-любителя с помощью потенциометра, используя формулу линии наклона .
 / * UNCIA ROBOTICS |  www.unciarobotics.com 
 ПРОГРАММА: ВРАЩАЙТЕ СЕРВОДВИГАТЕЛЬ С ПОТЕНЦИОМЕТРОМ
 Управляйте положением сервопривода хобби с помощью потенциометра
 с использованием формулы наклонной линии.

 Подключения:
 Сервопривод Arduino | Потенциометр Arduino
 9 Signal (оранжевый) | Сигнальный контакт A0
 5V VCC (красный) | VCC на одном конце
 GND GND (коричневый) | GND другой конец
* /

#include < Серво .h> // подключаем библиотеку сервопривода
  Servo  myServo; // даем имя вашему сервоприводу
int pot; // переменная для хранения входных значений
внутренний угол; // переменная для хранения угла
void setup () {
 myServo.attach (9); // присоединяем сервопривод к выводу 9
  Серийный .begin (9600); // Запуск последовательной связи
}

void loop () {
 pot = analogRead (A0); // Считываем значение потенциометра
 угол = 0,176 * горшок; // отображаем IP / OP с помощью формулы наклонной линии
  Serial  .println (angle); // печать отображаемого значения на последовательном мониторе
 myServo.написать (угол); // записываем отображаемое значение на сервопривод
}
 

Программа 2: Управляйте положением сервопривода для хобби с помощью потенциометра, используя функцию map () .
 / * UNCIA ROBOTICS |  www.unciarobotics.com 
 ПРОГРАММА: ВРАЩАЙТЕ СЕРВОДВИГАТЕЛЬ С ПОТЕНЦИОМЕТРОМ
 Управляйте положением сервопривода хобби с помощью потенциометра
 используя функцию map ().

 Подключения:
 Сервопривод Arduino | Потенциометр Arduino
 9 Signal (оранжевый) | Сигнальный контакт A0
 5V VCC (красный) | VCC на одном конце
 GND GND (коричневый) | GND другой конец
* /

#include < Серво .h> // подключаем библиотеку сервопривода
  Servo  myServo; // даем имя вашему сервоприводу
int pot; // переменная для хранения входных значений
внутренний угол; // переменная для хранения угла
void setup () {
 myServo.attach (9); // присоединяем сервопривод к выводу 9
  Серийный .begin (9600); // Запуск последовательной связи
}

void loop () {
 pot = analogRead (A0); // Считываем значение потенциометра
 угол = карта (горшок, 0, 1023, 0, 180); // сопоставляем значения IP / OP
  Serial  .println (angle); // печать отображаемого значения на последовательном мониторе
 myServo.написать (угол); // записываем отображаемое значение на сервопривод
}
 

5. ИСПОЛЬЗУЕМЫЕ ФУНКЦИИ И БИБЛИОТЕКИ

6. Часто задаваемые вопросы Какой метод лучше всего подходит для отображения значений; карта () или ручные расчеты?

Это зависит от типа проекта, над которым вы работаете. Если вы хотите быстро преобразовать один диапазон значений в другой, вы можете использовать функцию map (). Но если вы работаете над проектом, который требует точных вычислений или преобразований, включая десятичные значения, вы можете выполнить вычисления вручную.

Какова формула линии наклона?

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

Пусть P (x1, y1) и Q (x2, y2) — две точки
на невертикальной прямой l с наклоном θ. Очевидно, что x1 ≠ x2, иначе линия станет перпендикулярной оси x и ее наклон не будет определен. Наклон линии l может быть острым или тупым. Возьмем эти два случая. Нарисуйте QR перпендикулярно оси x и PM перпендикулярно RQ, как показано на рис. a и рис b .

ВАРИАНТ 1: Когда угол θ острый:

В Рисунок , ∠MPQ = θ. … (1)
Следовательно, наклон прямой l = m = tan θ

Но в ∆MPQ у нас

tanθ = MQ / MP = (y2-y1) / (x2-x1)… (2)

Из уравнений (1) и (2) получаем

м = (y2-y1) / (x2-x1)

Рисунок а

ВАРИАНТ 2: Когда угол θ тупой:

В Рисунок b, ∠MPQ = 180-θ.… (1)
Следовательно, θ = 180 — ∠MPQ

Сейчас, наклон линии l

m = tanθ

m = загар (180 ° — MPQ) = — загар ∠MPQ

м = — (MP / MQ) = — ((y2-y1) / (x2-x1))

м = (y2-y1) / (x2-x1)

Рисунок б

Следовательно, мы видим, что в обоих случаях наклон m прямой, проходящей через точки (x1, y1) и (x2, y2), равен

м = (y2-y1) / (x2-x1)

Все еще сомневаетесь?

Задайте свои вопросы по управлению сервоприводом с помощью потенциометра в разделе комментариев ниже или свяжитесь с нами.

Использование внешнего потенциометра для управления заданным значением — maxon Support

Тема:

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

Решение:

Сервоконтроллер ESCON может управляться аналоговым или ШИМ заданным значением. Аналоговое заданное значение может быть предоставлено как аналоговое напряжение (например,грамм. аналоговый выход ПЛК, например) или внешний или внутренний потенциометр.

Схема подключения внешнего потенциометра, используемого как заданное значение:

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

Важно:

  • Нам рекомендуется потенциометр 10 кОм.
  • Потенциометр с сопротивлением менее 4,7 кОм не должен использоваться из-за того, что выходное напряжение 5 В может быть перегружено в случае других периферийных устройств (например,грамм. энкодер, датчики Холла, входы / выходы), которые также питаются от тех же внутренних 5V.

Примечания:

  • Напряжение, подаваемое на аналоговый вход ESCON, можно регулировать в диапазоне 0 … 5 В с помощью питания внешнего потенциометра, показанного на рисунке выше.
  • Диапазон напряжения 0 … 5 В должен соответствовать требуемому диапазону тока двигателя (в случае контроля тока), соответственно. диапазон скорости двигателя (в случае регулирования скорости).

Конфигурация заданного значения ESCON:

Мастер запуска ESCON Studio должен использоваться для настройки интерфейса установки значения.Диалоговое окно «Установить значение» позволяет это сделать.

  • Тип заданного значения:
    Независимо, если заданное значение применяется как аналоговое напряжение напрямую или с помощью внешнего потенциометра , должен быть выбран тип «Заданное значение» «Аналоговое заданное значение» .
  • Масштабирование диапазона установленного значения:
    Диапазон напряжения сигнала установленного значения должен быть сопоставлен с соответствующим диапазоном тока двигателя (в случае управления по току), соответственно.диапазон скоростей (при управлении скоростью).

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

Пример 1: Управление диапазоном скорости в одном направлении

Требование:
Скорость двигателя должна регулироваться внешним потенциометром в диапазоне от
0 до 8000 об / мин

Конфигурация:

Пример 2: Управление двунаправленным диапазоном скорости

Требование:
Скорость двигателя должна регулироваться внешним потенциометром в диапазоне
-8000 до 8000 об / мин

Конфигурация:

Пример 3: Выбор направления с помощью цифрового входа

Требование:
Скорость двигателя должна регулироваться внешним потенциометром в диапазоне от
0 до 8000 об / мин
, а направление вращения должно выбираться цифровым входом.

Конфигурация:

PICAXE 18M2 Servo Control Tutorial


Рис. 1 Схема моей домашней тестовой платы без резисторов ввода / вывода.

by Lewis Loflin


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

Рис. 2 как подключить сервопривод.Подключите к контакту B.0.

Программа 1


#rem

Ссылки на страницы относятся к PICAXE Manual 2 Basic Commands

#endrem

; использует команду "сервопривод"

символ pulse_pin = B.0
символ val = b0

init: servo pulse_pin, 75; инициализировать сервопривод

основной:

    readadc control, val; прочитать 8-битный режим ADC1 в переменную b0 p. 170
    val = val * 1 МИН 75 МАКС 225; установить лимит на val
    серво pulse_pin, val
    пауза 20
  
goto main; вернуться назад, чтобы начать

 

Рис. 3, подключение потенциометра.Подсоедините стеклоочиститель к C.1.

Положение программы 2 с потенциометром

Связано: также см. Потенциометры и аналого-цифровое преобразование с помощью PICAXE

 
; использует команду Pulsout (стр. 161), не использует сервокоманды
; использует потенциометр для позиционирования сервопривода

символ pulse_pin = B.0
управление символом = C.1; стеклоочиститель с контролем положения
символ val = b0

НИЗКИЙ pulse_pin

основной:
    
    readadc control, val; считываем ADC1 в переменную b0 p. 170
    val = val * 1 МИН 75 МАКС 225; установить ограничения на val
    пауза 19
    Pulsout pulse_pin, val; val * 10 мкс при 4 МГц
 
goto main; вернуться назад, чтобы начать

  

Программа 3 развертки назад и вперед

 

; Управляйте сервомеханизмом вперед и назад.символ pulse_pin = B.5
символ val = b1

init: servo pulse_pin, 75; инициализировать сервопривод

основной:

   для val = от 75 до 224
    серво pulse_pin, val
    пауза 20
   следующий вал
    
   для val = от 224 до 75 шаг -1
    серво pulse_pin, val
    пауза 20
   следующий вал
    
goto main; вернуться назад, чтобы начать


  



Проекты микроконтроллеров Picaxe!

Серия микроконтроллеров PICAXE считается самым простым и наиболее экономичным способом использования процессоров Microchip.Мне нужен был более простой и менее дорогой способ познакомить моих студентов с микроконтроллером «PIC». Здесь я надеюсь помочь тем, кто только что начал писать плохо написанную литературу и отсутствие простых примеров рабочего кода.

Посмотрите, как я попал в электронику

Повышение точности позиционирования сервоприводов

Повышение точности позиционирования сервоприводов

Дэвид П.Андерсон

[email protected]

Я задокументировал методику повышения точности и повторяемости сервопривода. позиционирование с использованием внешнего опорного потенциометра.

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

Мы посмотрели на сервоприводы R / C парусной шлюпки для горизонтального вращения, но они довольно дорогие. Кроме того, у нас есть много стандартных сервоприводов Futaba и Airtonics от Другое наше хобби, самолеты с радиоуправлением, валяются повсюду.

Первый пример заключался в том, чтобы настроить стандартный сервопривод 1: 3 путем установки большой шпоры. шестерня непосредственно на выходном колесе сервопривода, 36 зубьев и небольшая шестерня, прикрепленная к основанию вертикальной оси платформы камеры, 12 зубцов.Это сработало, чтобы дать нам немного больше чем 360 градусов вращения со стандартным сервоприводом.

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

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

Здесь может быть полезна небольшая небольшая теория операций. Отсылаю заинтересованного читателя к отличный обзор Ли Буса в сентябрьском кодировщике SRS 2000:

http: // www.seattlerobotics.org/encoder/200009/S3003C.html

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

ПДУ сервоуправления и опорные сигналы:

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

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

Нормальный двигатель с сервоприводом с ПДУ и элемент обратной связи:

Эти горшки обычно имеют линейный конус 5k или что-то подобное. Как мотор движется выходное колесо, оно поворачивает горшок, который изменяет ширину генерируемого внутри Pulse, заставляя его соответствовать ширине управляющего импульса. Когда два импульса одинаковой ширины или очень близкой к той же ширине, двигатель выключен.

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

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

Для нашей платформы камеры мы прикрепили зубчатое кольцо с 80 зубьями к внешней стороне основание платформы.Мы использовали 20-зубную шестерню на 10-оборотном горшке, поэтому один полный оборот платформу, сопоставленную с 4 полными оборотами горшка, и 5 поворотов банка дали нам полный диапазон движения сервопривода. Таким образом, мы не увеличиваем ошибку положения сервопривода x3 как перед.

Последовательность строительства:

1.Откройте сервопривод и снимите и / или отсоедините сервопривод обратной связи от выходной шестерни. тренироваться.

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

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

4. Выберите подходящий многооборотный горшок для вашего приложения.

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

5. Механически соедините многооборотный потенциометр с выходным устройством 🙂

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

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

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

надеюсь, что это будет полезно, счастливого робота,

19 сентября 2000

Даллас, Техас

дпа

Работа с серводвигателями — XOD

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

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

В мире DIY наиболее популярны так называемые сервоприводы «хобби» или «RC» из-за их доступности, надежности и простоты управления микроконтроллерами.Внутри у них есть мотор-редуктор постоянного тока с потенциометром, устанавливающим вал. Эти сервоприводы управляются сигналами с широтно-импульсной модуляцией (PDM). Электроника переводит ширину импульса в положение вала. Когда плата управления получает команду перемещения, двигатель вращается, пока потенциометр не достигнет значения, соответствующего заданному положению.

Для работы с такими сервоприводами в XOD существует специальная библиотека узлов xod-dev / servo .

Узел быстрого запуска

Для начала работы с серводвигателем в библиотеке предусмотрен узел быстрого запуска servo .

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

Значение на штифте VAL представляет целевое положение для вращения вала сервопривода. Этот вывод ожидает значения в диапазоне от 0 до 1 . Значение 0 соответствует крайнему положению вала сервопривода в одном направлении, тогда как значение 1 соответствует противоположному направлению.Для большинства серводвигателей, созданных для роботов, максимальный угол поворота составляет 180 °. Так, при значении 0 на штифте VAL узел поворачивает вал сервопривода в положение 0 °, а при значении 1 в положение 180 °.

Значение логического типа true на входе ACT заставляет серво-узел реагировать на входящие изменения VAL . Если значение ACT равно false , серво-вал удерживается на последнем полученном значении положения.

Примеры быстрого запуска

Для серво узла значение положения вала может быть установлено по-разному.

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

В этом случае угол поворота вала сервопривода фиксируется в течение всей работы программы.

Значение положения вала можно ввести непосредственно в поле значений входного штифта VAL .

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

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

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

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

Расширенная инициализация сервоустройства

Если у вас нестандартный серводвигатель или вы хотите точно настроить сервопривод, используйте узел сервоустройства .

Серводвигатели

Hobby RC могут иметь разные углы поворота: от 0 до 120 градусов, от 0 до 180, от 0 до 270 и т. Д. Крайние положения сервопривода соответствуют импульсам PDM определенной ширины. Значение ширины импульса может лежать в диапазоне от 544 до 2400 микросекунд, от 500 до 2500, от 1000 до 2000 и т. Д.Чаще всего значения максимальной и минимальной длительности импульса упоминаются в даташите производителя сервоприводов.

Узел сервоустройства конструирует и выводит объект сервоустройства настраиваемого типа, содержащий указанную вами максимальную и минимальную длину импульса. Наименьшее значение ширины импульса устанавливается на выводе Pmin , а верхнее - на выводе Pmax . В XOD крайние значения ширины импульса по умолчанию установлены на 544 и 2400 микросекунд.Изменяя значения этих выводов, вы можете определить сервоустройство , которое подходит для вашего конкретного серводвигателя. Кроме того, они могут сузить или расширить рабочий диапазон, если это допускается конструкцией сервопривода.

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

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

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

Скорость и последовательность вращения

Вы можете регулировать скорость вращения серводвигателя с помощью узла rotate-slow . Введите желаемое значение угла в штифт VAL и требуемую скорость вращения в RATE .

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

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

Например, в техническом описании FEETECH FS90 Micro Servo указано, что он поворачивается на 60 градусов примерно за 0,12 секунды. Это означает, что полный оборот от 0 до 180 такой сервопривод совершает за 0,36 секунды. Разделив 1 секунду на 0,36, вы получите наивысшую скорость RATE этого сервопривода: 2,77 . В некоторых случаях максимальное значение RATE может быть получено опытным путем или методом проб и ошибок.

Вывод MUX узла с медленным вращением имеет тип мьютекса . Мьютекс описывает взаимоисключающий ресурс. Он используется, чтобы избежать конфликтов между узлами, контролирующими длительные процессы ротации. В rotate-slow мьютекс используется для защиты текущего процесса вращения от вставки внешних команд, генерируемых другими узлами вращения.

Давайте сделаем патч, который поворачивает сервопривод от 0 ° до 180 ° с RATE , установленным на четверть максимальной скорости вращения, а затем в противоположном направлении с RATE , установленным на половину максимальной скорости.

Добавьте в патч пару узлов с медленным вращением. Первый узел поворачивает вал на 180 градусов. Свяжите его с узлом сервоустройства и установите VAL на 1 , соответствующий 180 градусам. Чтобы установить четверть максимальной скорости вращения, разделите значение максимальной скорости 2,77 на 4 и поместите полученное значение 0,69 на вывод RATE .

Свяжите второй узел с медленным вращением с шиной DEV .Узел поворачивает вал назад сразу после первого вращения, поэтому соедините его входной вывод DO с выходным выводом DONE предыдущего узла, чтобы создать последовательность. Значение VAL , установленное на 0 , соответствует 0 °, а значение RATE , установленное на 1,38 , соответствует половине максимальной скорости сервопривода.

Здесь два узла участвуют во вращении сервопривода. Чтобы они не мешали друг другу, добавьте узел mutex и соедините шины MUX .

Последний шаг - цикл программы с использованием defer и любых узлов. Прошиваем патч и посмотрим на результат.

Текущая позиция

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

Давайте расширим предыдущий пример узлом значение позиции .

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

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