Управление сервоприводом 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 при действии положительного импульса на выходе логического элемента, тем самым определять его длительность.
Результат
Подключив данный генератор к входу управления сервопривода получим возможность управлять им, изменяя освещенность фоторезистора. На видео можно посмотреть, что из этого получилось:
На этом казалось бы все, но могу предложить развитие данной разработки. Так как мы использовали всего один из шести логических элементов входящих в корпус микросхемы, то можно собрать еще пять генераторов и подключить их к другим сервоприводам. Подключив к исполнительным рычагам сервоприводов заслонки, которые будут перекрывать световой поток у фоторезисторов, управляющих другими сервоприводами, можно получить забавное поведение сервоприводов, но этот эксперимент предлагаю провести самостоятельно.
Дерзайте и удачи!
Сервопривод SG90
(1 оценка, рейтинг 5.00 из 5)
Сервопривод Tower Pro 9g SG90 не имеет мощные характеристики (всего 1,2-1,6 кг*см), но имеет недорогую цену. Отлично подходит для несложных задач под управлением контроллеров Arduino.
Сервопривод – это мотор-редуктор, способный поворачивать выходной вал в заданное положение (на заданный угол) и удерживать его в этом положении, вопреки сопротивлениям и возмущениям. Нужно это в первую очередь моделистам, для управления положениями различных закрылков, рулей и вертолётных лопастей.
Сервопривод SG-90 9g | 1 шт |
Пластиковые плечи для сервопривода (см. фото) | 3 шт |
Винт для крепления | 3 шт |
Вес серво | 9 грамм |
Размеры | 21.5мм X 11.8мм X 22.7мм |
Напряжение питания | 4,8 … 6 В |
Момент (усилие) | 1.2 кг*см при напряжении 4,7В |
Время поворота на 60° | 0,12 сек. при напряжении 4,7В |
Рабочая температура | -30°C … +60°C |
Длина кабеля | 23 см |
Материал шестерней | Нейлон |
Механика | Аналоговая |
Dead-set | 7 мкс |
- Pin Brown = connect to Arduino – / GND
- Pin Orange = connect to arduino +5V
- Pin Yellow = in this example connect to Arduino Digital port 9
A – 30 мм
B – 24 мм
C – 27 мм
D – 12 мм
E – 32 мм
F – 16 мм
Добавить комментарий
Сервоприводы для ардуино по хорошей цене и с доставкой
Сервоприводом называют привод, имеющий управление через отрицательную обратную связь. Это позволяет организовать точный контроль за параметрами движения какого-либо устройства. То есть в конструкции модуля предусмотрено наличие датчика:
- положения;
- скорости;
- усилия или т.п.
Поэтому рационально использовать сервоприводы для роботов разного назначения, так как они позволяют поддерживать необходимые параметры в соответствии с заданными значениями и командами. В результате работа созданного проекта осуществляется в следующем порядке:
- Сервопривод получает входное значение в диапазоне какого-то параметра, например, поворот.
- Блок управления сопоставляет полученное значение с информацией на датчике.
- Выполняется действие.
Сегодня в широком ассортименте представлены современные сервоприводы, виды этих модулей, позволяющих удерживать градус угла или скорость вращения, являются самыми популярными среди опытных и начинающих ардуинщиков.
Как устроены сервоприводы Ардуино
Привод представляет собой электромотор и редуктор. Двигатель необходим для преобразования электричества в определенную функцию. Редуктор снижает количество оборотов от двигателя увеличивая силу, в его роли выступает механизм с шестернями, которые передают и преобразуют крутящий момент.
Прежде чем сервоприводы купить, вам также следует учитывать особенности работы и других основных его составляющих:
- Выходной вал — шестерня, конечная в структуре, к ней прикрепляется то, чем планируется управлять.
- Блок управления — считывает параметры, поступающие извне, отвечает за включение или выключение двигателя. “Начинка” может быть различной, самой простой обладает сервопривод Ардуино SG90.
- Потенциометр — преобразует угол поворота или другую команду в электрический сигнал. Это необходимо для контроля устройства в совокупности с датчиком энкодером.
Любой сервопривод Arduino оснащается тремя проводами. Пара из них необходимы для организации питания провода, третий подает сигнал, чтобы задать расположение устройства.
Как выбрать сервоприводы для Ардуино
Следует помнить, что современный ассортимент разнообразен, и, в первую очередь, нужно учитывать функционал создаваемого проекта, чтобы сопоставлять его с основным функционалом сервопривода:
- Скорость вращения — измеряется в интервале времени, необходимом для поворота на определенный градус. Например, сервопривод SG90 повернется на 60° за 0,14 секунд.
- Крутящий момент — описывает воздействие сил на какое-то твердое тело во время вращения. То есть крутящий момент показывает, какой груз способен удержать модуль.
При этом достаточно сложно найти компромисс между данными характеристиками. Если вам нужно мощный сервопривод Ардуино купить, который сможет выдерживать большой вес, будьте готовы к тому, что готовая установка будет двигаться достаточно долго. Поэтому при выборе модуля также следует учитывать его фактические размеры и вес. Официальных стандартов в этом отношении не существует, однако можно разделить на три группы почти все сервоприводы, типы соответствуют габаритам:
- Большие. Имеют массивный корпус длиной до 50 мм, вес может быть различным — от 50 до 90 г.
- Маленькие сервоприводы. Не превышают веса в 25-30 г, в длину достигают 20-25 мм.
- Стандартные. Вес этих модулей варьируется от 40 до 80 г, при этом длина устройств может достигать 40 мм.
Также бывают специальные сервоприводы для ЧПУ и другого специального оборудования с габаритами, не попадающими под классификацию. Выбор таких модулей чрезвычайно мал.
Шестерни сервоприводов производятся из разных материалов, что также следует учитывать перед сборкой проекта. В основном производители используют пластик, карбон и металл.
- Пластиковые шестерни — самые легкие, износоустойчивые, но они не выдерживают больших нагрузок. Поэтому ими оснащаются сервоприводы микро габаритов для создания небольших устройств.
- Карбоновые шестерни — долговечные, износостойкие, в несколько раз прочнее, но и дороже пластиковых.
- Металлические — самые тяжелые, рассчитаны на максимальные нагрузки. Эти сервоприводы мощные, но и самые тяжелые, быстро изнашиваются.
Моторы сервоприводов могут оснащаться сердечником или собираться без него, распространены и бесколлекторные агрегаты.
Сервоприводы и Ардуино: особенности подключения
Большинство модулей можно подключить напрямую к Arduino. Стандартное исполнение проводов:
- красный — для питания;
- черный (иногда коричневый) — “земля”;
- белый (оранжевый или желтый) — подключение к плате Arduino.
Для удобного подключения можно воспользоваться breadboard, платой-расширителем, не запрещается прямое подключение к контактам.
Сервоприводы: цена
Интернет-магазин Ekot предлагает в режиме онлайн подобрать сервоприводы, каталог представляет подробное техническое описание каждого и фото. Цены доступны и зависят от:
- характеристик выбранного модуля;
- страны-производителя.
Ekot предлагает сервопривод купить в Украине с доставкой — мы организуем отправку заказа в любой город. Консультанты в режиме онлайн или по телефонам, указанным на сайте, готовы ответить на все вопросы.
Учебное пособие поArduino: Использование сервопривода SG90 с Arduino – education8s.tv
Привет, ребята, еще раз добро пожаловать на education8s.tv, канал, посвященный изучению электронных проектов DIY с использованием популярных плат, таких как платы на базе Arduino, Raspberry pi, Esp и т. Д.
Сегодня мы рассмотрим, как использовать серводвигатель в вашем проекте Arduino. Этот проект прост, и это идеальный проект для новичков, чтобы начать исследовать крутой мир электроники, и, научившись их использовать, вы сможете создавать более интересные и крутые проекты, такие как роботы, которые используют много сервоприводов в будущем. .
По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки. Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности. Я принимаю Сервоприводыочень важны в электронике, это двигатели с редукторным выходным валом, которым можно управлять для поворота на один (1) угол за раз. Помимо выводов источника питания (VCC и GND) к серводвигателям, им требуется сигнальный вывод, который используется, чтобы сообщить сервоприводу, на какой угол повернуться или на какую степень вращения он должен сделать. Серводвигатели обычно имеют очень высокий крутящий момент и используются в робототехнике и некоторых других приложениях в основном из-за легкости, с которой можно контролировать их вращение.
Сервоприводыимеют высокие требования к току, поэтому при использовании более одного серводвигателя с Arduino важно подключить их силовые соединения к внешнему источнику питания, так как Arduino может быть не в состоянии обеспечить ток, необходимый для сервопривода. Поскольку в этом руководстве мы будем использовать только один сервопривод, его можно подключить к Arduino.
Микро-серводвигатель SG90
В этом руководстве мы будем использовать популярный и дешевый серводвигатель SG90, и нашей целью будет вращение серводвигателя от одного конца до другого.Вскоре мы обновим этот проект, включив в него цветной TFT-дисплей с диагональю 3,2 дюйма и ультразвуковой датчик.
Необходимые компоненты и где купить
Для создания этого проекта требуются следующие компоненты, и их можно купить, перейдя по ссылке перед каждым компонентом. Были включены некоторые компоненты, которые будут использоваться для обновления проекта.
1. Сервопривод SG90 ▶ https://educ8s.tv/part/SG90
2. Arduino Due ▶ https: // education8s.телевизор / часть / ArduinoDue
3. Дисплей 3,2 дюйма ▶ https://educ8s.tv/part/32TFT
4. Датчик расстояния ▶ https://educ8s.tv/part/HCSR04
5. Дешевый Arduino Uno ▶ https://educ8s.tv/part/ArduinoUno
6. Провода ▶ https://educ8s.tv/part/Wires
Схемы
Подключите сервопривод к Arduino, как показано на схеме ниже.
Схема
Соединение с Arduino чрезвычайно простое, поскольку сервопривод имеет всего три контакта / вывода, а подключение к Arduino также описано ниже.
Сервопроводы ▶ Arduino Красный (VCC) ▶ 5 В Черный / коричневый (GND) ▶ GND Желтый / оранжевый (сигнал) ▶ D8
Важно отметить, что сигнальный вывод для серводвигателя должен быть подключен к выводу PWM на Arduino, поскольку углы сервопривода контролируются путем отправки сигналов PWM на серводвигатель через сигнальный провод.
Код
Код этого проекта, как и схемы, довольно прост. Он сильно зависит от сервопривода.h, которая предустановлена вместе с Arduino IDE. Цель, реализованная в коде, проста: повернуть серводвигатели в другом направлении под разными углами, чтобы продемонстрировать его возможности.
Чтобы сделать объяснение кода, как обычно, первое, что мы делаем, это включаем библиотеки, которые мы будем использовать, то есть библиотеку servo.h.
#include
Далее мы создаем объект серво библиотеки
Серво сервопривод;
Затем мы переходим к функции настройки пустоты, где мы присоединяем сервообъект к цифровому выводу и устанавливаем угол сервопривода на 0.Это называется центрированием сервопривода.
void setup () { сервопривод (8); servo.write (угол); }
Далее идет функция цикла. Чтобы повернуть сервопривод до определенной степени, мы используем функцию servo.write (), чтобы записать желаемую степень вращения сервопривода. Мы использовали функцию для поворота сервопривода от одного к другому и обратно.
пустая петля () { // сканирование от 0 до 180 градусов для (угол = 10; угол <180; угол ++) { сервопривод.написать (угол); задержка (15); } // теперь сканирование назад от 180 до 0 градусов для (угол = 180; угол> 10; угол -) { servo.write (угол); задержка (15); } }
Полный код проекта можно скачать по ссылке ниже.
[AdSense]——————–
КОД ПРОЕКТА
——————– Загрузить
Загрузите код в свой Arduino, и вы должны увидеть, как сервопривод начинает вращаться! как показано на видео.Это так просто!
Это все, что вам нужно для сегодняшнего урока, спасибо за просмотр / чтение. Как и обещал, я опубликую обновление этого проекта, используя дешевый и большой цветной TFT-дисплей с диагональю 3,2 дюйма и ультразвуковой датчик. Я также очень скоро буду использовать сервопривод во многих проектах робототехники, так что следите за обновлениями!
ПОДПИСАТЬСЯ НА YOUTUBE
——————–
Не пропустите видео: подпишитесь на education8s.tv
Сервомотор приводас Arduino | Код сервопривода SG90
Серводвигатель – это электродвигатель, который принципиально отличается исключительной управляемостью: он позволяет точно регулировать угловое положение, ускорение и скорость.Для достижения этих результатов, помимо самого серводвигателя, датчик положения ротора также является частью базовой архитектуры устройства. Этот датчик, также называемый датчиком вращения или системой обратной связи двигателя, способен точно определять положение вала двигателя в данный момент. Большинство доступных серводвигателей могут вращаться с точностью от 0 до 180 градусов. Здесь мы будем управлять серводвигателем с помощью Arduino, используя библиотеку Servo.h в ее IDE.
1. КОНЦЕПЦИИ Что такое серводвигатель?Внутри сервопривода находится двигатель, ряд шестерен, снижающих скорость двигателя, цепь управления и потенциометр.Двигатель и потенциометр подключены к цепи управления, и комбинация этих трех элементов определяет систему обратной связи с обратной связью. Схема и двигатель питаются от стабилизированного постоянного напряжения, обычно от 4,8 В до 6,0 В, хотя многие двигатели могут принимать потребляемую мощность до 7,2 В.
Рис. 1. Серводвигатель Tower Pro SG90Для запуска двигателя необходимо отправить цифровой сигнал в схему управления. Это активирует двигатель, который через ряд шестерен соединен с потенциометром.Положение вала потенциометра указывает на измерение положения вала серводвигателя. Когда потенциометр достигает желаемого положения, цепь управления выключает двигатель.
Легко сделать вывод, что серводвигатели обычно предназначены для частичного вращения, а не для непрерывного вращательного движения, как в случае с непрерывным или шаговым двигателем. Хотя можно настроить сервопривод с дистанционным управлением для непрерывного вращения, основное использование сервопривода состоит в достижении точного положения вала двигателя с перемещениями в диапазоне от 90 ° до 180 ‘.Хотя это движение не кажется значительным, его может быть более чем достаточно, чтобы маневрировать роботом, поднимать и опускать ноги, вращать датчик, который должен исследовать то, что их окружает, и многое другое. Точное вращение угла сервоприводом в ответ на определенные цифровые сигналы представляет собой одну из наиболее часто используемых функций во всех областях робототехники.
Технические характеристики серводвигателя SG90- Рабочее напряжение: от 4,8 В до 7,2 В
- Крутящий момент: 1.От 6 кг / см до 2,5 кг / см
- Рабочая скорость: 0,1 с / 60 °
- Вращение: 0 ° -180 °
- Рабочая температура: от 30 ° C до 60 ° C
Сигнал ШИМ состоит из серии импульсов включения и выключения. Импульсы должны следовать друг за другом с частотой , , , 50 Гц, , или шириной , 20 мс, . Эта ширина определяет угловое положение сервопривода. При пульсе 1.Через 5 мс сервопривод занимает промежуточное положение (90 градусов), при импульсе 1 мс сервопривод полностью вращается в одну сторону (0 градусов), а при длительном импульсе 2 мс сервопривод поворачивается на противоположной стороне (180 градусов).
На рисунке 2 ниже показаны импульсы разной длительности и углового положения, которое сервопривод последовательно занимает
Для управления серводвигателем с помощью Arduino мы можем использовать сервопривод.h, которая может управлять 12 сервомоторами на большинстве плат Arduino и до 48 двигателями на Arduino Mega. Обратите внимание, что использование библиотеки Servo.h отключит функцию analogWrite () / PWM на контактах 9 и 10 (кроме Arduino Mega), независимо от того, подключите ли вы сервопривод к этим двум контактам. Более того, серводвигателями Arduino Mega 12 можно управлять, не мешая работе ШИМ любого контакта. Но если вы выйдете за пределы 12 сервоприводов, ШИМ на контактах 11 и 12 будет отключен.
Обратите внимание, что сервоприводы потребляют значительную мощность, поэтому, если вам нужно управлять более чем одним или двумя, вам, очевидно, потребуется запитать их от отдельного источника (а не от вывода 5 В на вашем Arduino).Обязательно соедините заземление Arduino и внешнего источника питания вместе.
2.
КОМПОНЕНТЫ 3. ПОДКЛЮЧЕНИЯРисунок 3: Подключения; Серводвигатель SG90 с Arduino
4. ПРОГРАММЫ Программа 1: Серводвигатель развертки от 0 до 180 градусов и наоборот./ * UNCIA ROBOTICS | www.unciarobotics.com ПРОГРАММА: ПЕРЕМЕЩЕНИЕ СЕРВО В И ОТНОСИТЕЛЬНО Серводвигатель развертки от 0 до 180 градусов и наоборот.Подключения: Сервопривод Arduino 9 Сигнал (оранжевый / желтый) 5V VCC (красный) GND GND (коричневый) * / #include < Servo .h> // включаем заголовочный файл Servo.h Servo myServo; // даем имя вашему сервоприводу void setup () { myServo.attach (9); // присоединяем сервопривод к выводу 9 } void loop () { myServo.write (0); // поворот сервопривода на 0 градусов задержка (2000); // ждем некоторое время myServo.write (180); // поворот сервопривода на 180 градусов задержка (2000); // ждем некоторое время }
Программа 2: Эта программа поворачивает серводвигатель на определенный угол, введенный в Serial Monitor.
/ * UNCIA ROBOTICS | www.unciarobotics.com ПРОГРАММА: ПОВЕРНИТЕ СЕРВОДВИГАТЕЛЬ НА ОПРЕДЕЛЕННЫЙ УГОЛ Эта программа поворачивает серводвигатель на указанный угол. на последовательном мониторе. Подключения: Сервопривод Arduino 9 Сигнал (оранжевый / желтый) 5V VCC (красный) GND GND (коричневый) ВАЖНО: На последовательном мониторе выберите «Без окончания строки». * / #include < Servo .h> // подключаем библиотеку Servo.h Servo myServo; // даем имя вашему сервоприводу void setup () { myServo.прикрепить (9); // присоединяем сервопривод к выводу 9 Серийный . Начало (9600); // Запуск последовательной связи } void loop () { if ( Serial .available ()) // если доступны последовательные данные {unsigned long angle = Serial .parseInt (); // чтение до тайм-аута if (angle <= 180 && angle> = 0) // угол между пределами? { Серийный .println (угол); // выводим значение угла myServo.write (угол); // записываем угол на серводвигателе } иначе, если (угол> 180 || угол <0) { Серийный .println ("Invalid"); // иначе вывести Invalid } } }
Внимание! : Выберите опцию «Без окончания строки» на Serial Monitor, как показано на Рисунке 4 ниже. в противном случае сервопривод не будет работать должным образом.
Рисунок 4: Монитор последовательного порта Arduino 5. ИСПОЛЬЗУЕМЫЕ ФУНКЦИИ И БИБЛИОТЕКИ6. Часто задаваемые вопросы Какая польза от серводвигателей в проектах робототехники? Сервоприводы
играют очень важную роль во многих проектах, от робототехники до систем умного дома.Все, что связано с механизмом, традиционно требует специальных знаний и создать полноценный, исправно работающий привод – задача не из легких. Но с помощью серводвигателя во многих случаях можно упростить задачу, поэтому сервопривод постоянно используется даже в проектах начального уровня. В проектах робототехники сервопривод часто используется для простейших механических действий, например:
- Поверните дальномер или другие датчики на определенный угол, чтобы измерить расстояние в узком секторе поля зрения робота.
- Сделайте небольшой шаг, движение конечностью или головой.
- Для создания роботов-манипуляторов.
- Для реализации рулевой механизм.
- Откройте или закройте дверь, ставни или другой предмет.
- Конечно, сфера применения сервопривода в реальных проектах намного шире, но приведенные выше примеры являются наиболее популярными схемами.
Задайте свои вопросы о том, как взаимодействовать серводвигатель с Arduino, в разделе комментариев ниже или свяжитесь с нами.
СерводвигательMicro SG90 – ProtoSupplies
Описание
Серводвигатель Micro SG90 – очень распространенный и недорогой сервопривод в компактном микро-корпусе.
В ПАКЕТ:
- 1 Серводвигатель SG90 с присоединенным кабелем управления 9,5 ″
- 3 рычага / рожка для различных интерфейсных приложений
- Винты для крепления рычагов к сервоприводу и крепления сервопривода
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ СЕРВОМОТОРА MICRO SG90:
- Очень маленький микро
- Может поднять 3.75 фунтов на расстоянии 1 см от центра вала
- Поворот на 180 градусов
- Аналоговый привод
- Низкая стоимость
Серводвигатель Micro SG90 хорошо подходит для базовых экспериментов с сервоприводом и может использоваться в приложениях, где малый размер является достоинством и не требует большого крутящего момента, но они все еще довольно сильны. Шестерни изготовлены из нейлона, что характерно для большинства недорогих сервоприводов.
Серводвигателямможно дать команду перейти в определенное положение, и они являются обычным двигателем, когда требуется точное позиционирование, например, для поворота передних колес на модели RC для управления или поворота датчика, чтобы осмотреться на роботе. транспортное средство.
Серводвигателисостоят из двигателя постоянного тока, шестерен, потенциометра для определения его положения и небольшой электронной платы управления.
Стандартные сервоприводы имеют указанный ограниченный диапазон. Обычно это 180 градусов. Часто фактический диапазон составляет менее полных 180 градусов и ограничен механическими шестернями и потенциометром, используемыми для определения положения, которые содержатся в устройстве. Если двигатель полностью доведен до 0 или 180, он может начать издавать неприятные звуки и начать вибрировать, пытаясь переместиться в положение, до которого он не может добраться.Это вызывает состояние высокого тока останова и может привести к срыву шестерен и повреждению двигателя, поэтому лучше либо установить его в безопасном уменьшенном диапазоне, например 20-160, либо немного поэкспериментировать, чтобы определить фактический полезный диапазон, если вы хотите. чтобы максимально увеличить диапазон.
Серво ожидают увидеть импульс на своем выводе ШИМ каждые 20 мс. Импульс активен ВЫСОКИЙ, и ширина импульса определяет положение (угол) вала сервопривода. Импульс может варьироваться от 1 мсек до 2 мсек.Импульс длительностью 1 мс устанавливает вал на 0 градусов. Импульс 1,5 мс позиционирует вал под углом 90 градусов (по центру диапазона). Импульс 2 мсек перемещает вал на 180 градусов. Импульсы со значениями между ними могут использоваться для произвольного позиционирования вала.
Подключение двигателя
Встроенный кабель имеет 3-контактный гнездовой разъем, который обычно соединяется со стандартным штекерным разъемом 0,1 ″.
Гнездовой разъем 1 × 3
- Коричневый = Земля
- Красный = 5 В
- Оранжевый = сигнал ШИМ
РЕЗУЛЬТАТЫ ОЦЕНКИ:
В нашем тестировании эти сервоприводы могут поднять около 3.75 фунтов, который расположен на рычаге на расстоянии 1 см от вала, так что на самом деле это довольно сильные маленькие моторы. У нас также не было проблем с снятием нейлоновых шестерен при максимальном нажатии.
Сервопривод работает от 5 В с потребляемым током около 10 мА на холостом ходу и от 100 до 250 мА при получении команды на движение в зависимости от того, как он работает. Максимальный ток потребления может достигать 360 мА в условиях остановки. Один SG90 обычно можно отключить от вывода питания Arduino во время экспериментов, но двигатели в целом являются электрически шумными и энергоемкими устройствами.Всегда лучше отключать их напрямую от источника питания, чем пытаться запитать от встроенного регулятора Arduino, когда это возможно
Если вы все же решите запустить его непосредственно от Arduino, вы можете избежать большинства проблем, подключив питание и землю от Arduino к макетной плате, а затем к сервоприводу. Поместив довольно большой электролитический колпачок около 470-1000 мкФ на источник питания и землю на макетной плате, это поможет изолировать Arduino от некоторых скачков напряжения двигателя.
Приведенную ниже программу можно использовать для проверки серводвигателя, используя потенциометр для установки положения сервопривода. Эту настройку также можно использовать для определения пределов диапазона сервоприводов, запустив сервопривод рядом с его конечными точками и наблюдая, где он механически останавливается относительно выдаваемой команды положения. Константы MIN_VALUE и MAX_VALUE используются для установки двух конечных точек в программе ниже.
Программа тестирования серводвигателя Micro SG90
/ * Упражнение Серводвигатель Используйте потенциометр на выводе A0, чтобы дать команду сервоприводу, подключенному к выводу 9, перейти к конкретная позиция.Сервопривод MIN_VALUE и MAX_VALUE можно настроить на Избегайте ударов серво-упоров Использует встроенную библиотеку Servo.h * / #include "Servo.h" #define SERVO_PIN 9 // Может использовать любой вывод ШИМ #define POT_PIN A0 // Может использовать любой аналоговый вывод #define MIN_VALUE 0 // Минимальное положение сервопривода #define MAX_VALUE 180 // Максимальное положение сервопривода сервопривод сервопривод; // создает сервообъект, используемый для управления серводвигателем int value_pot = 0; // Текущее значение потенциометра int value_servo = 0; // Текущее положение сервопривода int value_servo_old = 0; // Используется для хранения старого значения сервопривода для поиска изменений.// ================================================ =============================== // Инициализация // ================================================ =============================== установка void () { servo.attach (SERVO_PIN); // назначает вывод ШИМ сервообъекту Серийный . Начало (9600); // Устанавливаем скорость связи окна Serial Monitor } // ================================================ =============================== // Основной // ================================================ =============================== пустой цикл () { value_pot = аналоговое чтение (POT_PIN); // Считывает значение потенциометра.Возвращаемое значение = от 0 до 1023 значение_ резервуар = карта (значение_потока, 0, 1023, MIN_VALUE, MAX_VALUE); // переназначить значение горшка на значение сервопривода if (value_servo! = value_servo_old) {// Делаем что-то только в том случае, если есть изменение в положении сервопривода servo.write (значение_хранилище); // Обновить положение сервопривода Серийный номер .print ("Pot Value:"); // Обновление окна Serial Monitor с учетом того, что происходит Серийный .print (value_pot); Серийный номер .print ("Значение tServo:"); Серийный .println (резервуар_значения); value_servo_old = значение_ резервуар; задержка (25); // даем сервоприводу время на движение } }
Эти двигатели имеют следующие виды перед отгрузкой:
- Проверено
- Основная работа серводвигателя проверена
- Переупакован для безопасного хранения.
Примечания:
- Нет
Технические характеристики
Модель двигателя | Generic SG90 (Китай) | |
Тип привода | Аналог | |
Вращение на | градусов180 ° (± 15 °) | |
Эксплуатационные характеристики | ||
Напряжение | 4.8-6 В постоянного тока (обычно 5 В) | |
Ток (холостой ход) | 10 мА (номинал) | |
Ток (типичный при движении) | 100-250 мА | |
Ток (стойло) | 360 мА (измерено) | |
Крутящий момент при остановке | 1,7 кг-см (измерено) | |
Скорость | 0,12 с / 60 градусов (зависит от напряжения постоянного тока) | |
Размеры | ||
Длина кабеля | 24 см (9.5 ″) | |
Корпус двигателя Д x Ш x В | 23 x 12 x 26 мм (0,9 x 0,5 x 1 дюйм) | |
Высота двигателя (с валом) | 32 мм (1,26 ″) | |
Ширина корпуса двигателя с монтажными проушинами | 32 мм (1,26 ″) |
Микро Серводвигатель SG90 Серводвигатели TowerPro
Все продукты поставляются запечатанными в коробке. Вся продукция тщательно упакована. Перед отправкой мы проверяем всю электронику и контролируем механику всех продуктов.Так что вы никогда не будете разочарованы, когда откроете нашу упаковочную коробку JSumo.
У нас есть 2 варианта доставки:
- Зарегистрированная авиапочта (фиксированная цена 9,95 долларов США, бесплатно при заказе на сумму свыше 199 долларов США)
Экспресс-доставка DHL Worldwide (в зависимости от веса)
Пример расписания для международных перевозок воздушным транспортом Почта | |||
Страны Европы | 2-3 недели (иногда меньше) | США | 3-4 недели |
* Мексика | 4-6 недель | Страны Африки | 4-6 недель |
Япония | 2-3 недели | Катар | 3-4 недели |
Бразилия | 3-6 недель | Малайзия | 4-5 недель |
* Перу, Эквадор, Колумбия | 4-6 недель | Филиппины | 4-6 недель |
Россия | 3-4 недели | Саудовская Аравия | 3-4 недели |
Страны Средней Азии | 3-4 недели | Азербайджан | 2-3 недели |
Монголия, Китай | 4-6 недель | Великобритания, Ирландия | 3-4 недели |
Латвия, Эстония, Литва | 3 недели | Канада | 2-3 недели |
* Доставка из Мексики, Перу, Эквадора и Колумбии может потерять слишком много время в переходах после выхода. Мы отправляем код доставки, но его можно только отследить внутри вашей страны. Мы предлагаем эти страны для экспресс-доставки DHL (Время прибытия 3-5 дней) для более надежного и отслеживания вариант. | |||
Эти страны – единственные примеры. Если вашей страны нет в список, не бойтесь. Мы отправляем по всему мир включая вашу страну тоже 🙂 |
Какова ваша политика возврата?
Вы можете вернуть товар для возврата или обмена (если возникла из-за нашей ошибки) в течение 30 дней с даты отправки заказа.(Дата отгрузки заказа и уведомление о заказе отправляются вам по электронной почте). Все возвраты должны сопровождаться номером разрешения на возврат товара (номер заказа).
Если мы отправили вам не тот товар, или он прибыл с дефектом или повреждением
Нет проблем. Просто свяжитесь с нами в течение 30 дней с даты первоначальной доставки товара, чтобы организовать возврат вашей покупки. Отправьте нам фото не того товара. И мы отправим вам замену или вернем вам деньги за вашу покупку при условии, что возвращенные товары будут получены обратно в оригинальной упаковке вместе со всеми аксессуарами, гарантийными талонами, руководствами, программным обеспечением и т. Д., где применимо.
СерводвигательTowerPro – SG90 Digital
SG90 от TowerPro – самый популярный сервопривод 9g в мире. Это цифровая версия! Устройство имеет крутящий момент 1,8 кг в крошечной микро-упаковке 9 г.
Устройство поставляется в комплекте с 25-сантиметровым проводом и 3-контактным гнездовым разъемом типа «S», который подходит для большинства приемников, включая Futaba, JR, GWS, Cirrus, Blue Bird, Blue Arrow, Corona, Berg, Spektrum и Hitec.
Они отлично работают с нашей серво и ультразвуковой платой управления UltraBorg, а также с другими контроллерами двигателей Raspberry Pi.Они также отлично подходят для Arduino Motor Shield – или просто подключив Arduino к библиотеке Servo. Вы можете использовать любой сервокод, оборудование или библиотеку для управления этими сервоприводами, поэтому он отлично подходит для новичков, которые хотят заставить вещи двигаться, не строя контроллер двигателя с обратной связью и коробкой передач, тем более, что он поместится в небольших местах.
СервоприводTowerpro поставляется с набором рычагов и оборудования, которые помогут вам быстро и красиво настроить!
Цифровой сервопривод TowerPro SG90 Характеристики:
- SG90 Цифровой сервопривод
- Оригинальный продукт TowerPro
- Включает набор рожков и винтов для различного применения – подробности см. На рисунке.
- Вес: 9 г
- Размер: 23 × 12,2×29 мм
- Крутящий момент: 1,8 кг / см (4,8 В)
- Шестерня: нейлоновая шестерня
- Рабочая скорость: 0,1 с / 60 градусов (4,8 В)
- Рабочее напряжение: 4,8 В
- Диапазон температур: 0-55 градусов Цельсия
- Ширина зоны нечувствительности: 1 мкс
- Источник питания: через внешний адаптер
- Длина провода сервопривода: 25 см
- Штекер сервопривода: JR (подходит для JR и Futaba)
- Размерный лист
Руководство по подключению:
- Красный: Положительный аккумулятор
- Коричневый: Отрицательный аккумулятор
- Оранжевый: Сигнал
Для управления с помощью Arduino мы предлагаем подключить оранжевый провод управления к контакту 9 или 10 и использовать библиотеку Servo, входящую в состав Arduino IDE (пример эскиза).Положение «0» (импульс 1,5 мс) – среднее, «90» (импульс ~ 2 мс) – полностью вправо, «-90» (импульс ~ 1 мс) – полностью влево.
Учебники
Как управлять несколькими серводвигателями с помощью Arduino
Обзор
В этом руководстве мы узнаем, как управлять несколькими сервомоторами с помощью Arduino. Мы подключим 4 серводвигателя к Arduino и будем управлять его вращательным движением с помощью сигнала широтно-импульсной модуляции. Но перед этим давайте узнаем о серводвигателе, в котором он работает, а также о его применении.
Что такое серводвигатель?
Серводвигатель – это поворотный или линейный привод, который позволяет точно контролировать угловое или линейное положение, скорость и ускорение. Он состоит из подходящего двигателя, соединенного с датчиком обратной связи по положению. Также требуется относительно сложный контроллер, часто специальный модуль, разработанный специально для использования с серводвигателями.
не относятся к определенному классу двигателей, хотя термин серводвигатель часто используется для обозначения двигателя, подходящего для использования в системе управления с обратной связью.Существует много типов серводвигателей, и их главная особенность – способность точно контролировать положение их вала.
Конструкция серводвигателя
Серводвигатель – это двигатель постоянного тока, который состоит из 5 следующих частей:
Обмотка статора: Эта намотка на неподвижную часть двигателя. Он также известен как обмотка возбуждения двигателя.
Обмотка ротора: Это намотка на вращающуюся часть двигателя.Он также известен как обмотка якоря двигателя.
Подшипник: Это два типа, то есть подшипник купели и задний подшипник, которые используются для движения вала.
Вал: Обмотка якоря соединена на железном стержне, известном как вал двигателя.
Энкодер: Он имеет приблизительный датчик, который определяет скорость вращения двигателя и число оборотов двигателя в минуту.
Работа серводвигателя
Серводвигатель работает по принципу автоматической системы с обратной связью.Контроллер необходим для этой системы с обратной связью. Этот контроллер состоит из компаратора и цепи обратной связи. Он имеет один выход и два входа. Для создания выходного сигнала компаратор используется для сравнения необходимого опорного сигнала, и выходной сигнал воспринимается датчиком.
Входной сигнал для двигателя называется сигналом обратной связи. На основании сигнала обратной связи мотор начинает работать. Сигнал компаратора называется логическим сигналом двигателя.Двигатель включается на желаемое время, когда логическая разница выше, и двигатель выключается на желаемое время, когда логическая разница меньше. Таким образом, компаратор используется для определения положения ВКЛ / ВЫКЛ.
Управление серводвигателем с помощью сигнала ШИМ
Серводвигатели могут управляться широтно-импульсной модуляцией (ШИМ). Они посылают на двигатель электрические сигналы непостоянной ширины. Ширина импульса варьируется в диапазоне от 1 миллисекунды до 2 миллисекунд и передается на серводвигатели с повторением 50 раз в секунду.Ширина импульса определяет угловое положение вращающегося вала. Для управления серводвигателем используются 3 термина:
1. Максимальный импульс 2. Минимальный импульс 3. Частота повторения |
Сервопривод перемещается с импульсом в 1 миллисекунду, чтобы повернуть двигатель в сторону 0 °, тогда как импульс в 2 миллисекунды для поворота двигателя в сторону 180 °. Сервопривод поворачивается на 90 ° с импульсом длительностью 1,5 миллисекунды.
Когда серводвигатель получает команду на движение с помощью импульсов соответствующей ширины, вал перемещается в требуемое положение и удерживает его. Если внешняя сила пытается изменить положение вала, двигатель сопротивляется изменению. Чтобы двигатель удерживал свое положение, необходимо повторять импульсы.
Как управлять несколькими серводвигателями с помощью Arduino
Здесь мы собираемся показать вам, как управлять несколькими сервомоторами с помощью Arduino. Подключение нескольких сервомоторов к Arduino кажется простым.Но если мы подключим все сервоприводы к источнику питания Arduino, они не будут работать правильно. Это связано с отсутствием тока, достаточного для привода всех двигателей. Поэтому вам нужно использовать отдельный внешний источник питания для двигателей, таких как адаптеры (5 В 2 А) или батареи 9 В.
Мы используем три серводвигателя SG-90 для практической демонстрации. Ниже представлена принципиальная схема.
Исходный код / программа
Скопируйте и загрузите этот исходный код / программу для управления несколькими серводвигателями с помощью Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 19 20 21 22 23 24 25 26 27 28 | #include & lt; Servo.h & gt; Сервопривод servo1; Сервопривод servo2; Сервопривод servo3; int i = 0; void setup () { servo1.attach (3); servo2.attach (5); servo3.attach (6); } void loop () { for (i = 0; i & lt; 180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); задержка (10); } для (i = 180; i> 0; i–) { servo1.написать (я); servo2.write (i); servo3.write (i); задержка (10); } } |
Расшифровка кода
Arduino имеет библиотеку для сервомоторов и обрабатывает все, что связано с ШИМ, для вращения сервопривода.
Итак, мы начинаем с определения библиотеки для серводвигателя.
Затем мы инициализируем все три сервопривода как Servo1, Servo2, Servo3.
И затем мы устанавливаем настройку всех входных контактов сервопривода с помощью Arduino.
В функции void loop () мы просто вращаем все сервоприводы от 0 до 180 градусов, а затем с 180 до 0 градусов. Задержка, используемая в приведенном ниже коде, используется для увеличения или уменьшения скорости сервопривода с помощью переменной «i».
СервоприводPCA9685 с Seeeduino Nano (совместим с Arduino) – desertbot.io
Как можно управлять серводвигателями с помощью Seeeduino Nano (совместимого с Arduino)?
Для управления несколькими серводвигателями с любым Arduino вы можете использовать популярный 16-канальный модуль I2C драйвера серводвигателя PCA9685 с ШИМ-управлением.Используя Seeeduino Nano, вы можете сделать это проще, используя встроенный разъем I2C Grove.
Этот проект также может работать с обычным Arduino Nano. Я тоже расскажу об этом.
Первое, что вам нужно сделать, это собрать детали.
Шаг 1. Список запчастей
Вот список деталей, которые вам понадобятся для этого проекта:
Вы можете использовать Seeeduino Nano ( Option 1, ) или Arduino Nano ( Option 2 ).
Seeeduino Nano
Часть | Продавец |
---|---|
Seeeduino Nano (вариант 1) | увидели |
Seeeduino не поставляется с кабелем.Требуется разъем USB-C. Выберите ниже USB-C или USB-A. | |
Кабель зарядного устройства USB Type-C – USB Type-C 2.0 Выберите, если в вашем ноутбуке есть разъем USB-C | Амазонка |
Кабель зарядного устройства USB Type-C – USB-A 2.0, вилка Выберите, если в вашем ноутбуке есть разъем USB-A | Амазонка |
Arduino Nano с USB-кабелем (вариант 2) Поставляется с кабелем | Walmart |
Grove Shield для Arduino Nano (вариант 2) Требуется, если вы используете стандартный Arduino Nano | увидели |
PCA9685 Драйвер серводвигателя PWM (комплект из 3 шт.) | Амазонка |
PCA9685 Драйвер серводвигателя PWM | AliExpress |
Комплект серводвигателя SG90 9G (10 шт.) | Амазонка |
Комплект серводвигателя SG90 9G | AliExpress |
Комплект серводвигателя SG90 9G (5/10 шт.) | AliExpress |
Кабель-переходник Grove 4 Pin | AliExpress |
Кабель-переходник Grove 4 Pin | Амазонка |
Внешний источник питания
Вам также понадобится внешний источник питания.Вы можете запитать сервоплату прямо от Seeeduino. Но для моторов следует использовать внешний источник питания.
У вас есть как минимум три варианта:
- Вариант 1: Аккумулятор, производящий от 4,8 до 5 В
- Вариант 2: адаптер постоянного тока, вырабатывающий от 4,8 до 5 В (проверьте мультиметром!)
- Вариант 3: Источник переменного тока, обеспечивающий напряжение от 4,8 до 5 В
Я использую этот источник питания: Dr.Meter PS-305DM, 30 В / 5 А, источник питания постоянного тока с одним выходом, 110 В / 220 В, переключаемый, зажим «крокодил» в комплекте, трехконтактный кабель США (Amazon)
Шаг 2.Настройте Nano
Этот проект работает с Seeeduino Nano или Arduino Nano
.Seeeduino Nano
Если вы никогда раньше не использовали Seeeduino Nano с Arduino IDE, см. Мое руководство по установке:
Если вы используете Seeeduino Nano, перейдите к следующему разделу.
Ардуино Нано
Эти инструкции предназначены для обычного Arduino Nano, подключенного к Mac. Адаптировать под Windows:
В Arduino IDE выберите следующее:
- Инструменты > Порт > / dev / cu.usbserial-1410
- Инструменты > Доска > Arduino Nano
Шаг 3. Отключить все
В следующих нескольких шагах вы все подключите. Чтобы случайно что-нибудь не замкнуть, отключите все компоненты от источников питания и т. Д.
Шаг 4. Подключите кабель Grove к PCA9685
Seeeduino Nano может обмениваться данными с PCA9685 через I2C. Он имеет встроенный разъем Grove (похожий на Molex) сверху, подключенный для связи I2C.PCA9685 просто имеет ряд контактов разъема сбоку. Таким образом, вам нужно использовать 4-контактный кабель-переходник Grove для создания соединения.
Подключите следующий кабель от переходного кабеля Grove к PCA9685:
- Черный провод – GND
- Желтый провод – SCL
- Белый провод – SDA
- Красный провод – VCC
Seeeduino Nano
Подключите другой конец переходного кабеля к порту I2C на верхней панели Seeeduino Nano.
Ардуино Нано
Подключите другой конец переходного кабеля к порту I2C на Grove Shield (вы также можете использовать этот порт вместо Seeeduino Nano).
Шаг 5. Подключите сервоприводы
Если вы используете стандартные сервоприводы SG90 и рекомендованную мной плату, цветовая кодировка проводов сервопривода должна соответствовать цвету штыревых разъемов на плате.
- Подключите сервоприводы, подбирая цвета разъемов к цвету проводов
- Вставьте первый сервопривод в разъем с меткой 0, затем 1 и т. Д.
Шаг 6. Подключите кабели питания 5 В постоянного тока к PCA9685
.На той плате, которую я рекомендовал, есть зеленый блок питания.
Для заворачивания винтов вам понадобится небольшая отвертка или отвертка для очков.
- Вставьте красный провод в зеленый разъем с надписью Power / V + .
- Вставьте черный провод в зеленый разъем с надписью GND .
- Если вы используете блок питания, выключите его
- Если вы используете батарейный блок без переключателя, извлеките батареи
- Подключите красный (+) и черный (- / Земля) провода к источнику питания
Шаг 7.Подключите Nano к ПК или Mac
Вам необходимо соединение с вашим компьютером, чтобы отправить код на Nano.
Seeeduino Nano
- Подключите кабель, рекомендованный в списке деталей, к Seeeduino Nano и к вашему Mac или ПК
Ардуино Нано
- Подключите кабель, прилагаемый к плате, которую я рекомендовал в Arduino Nano и на вашем Mac или ПК.
Шаг 8. Включите блок питания
- Не пугайтесь, если сервоприводы прыгают
- Убедитесь, что “рожки” сервопривода не задевают ничего, особенно провода.
- Включите питание или вставьте батареи в держатель
Шаг 9.Установите IDE
Установить библиотеку и примеры
- Запустите Arduino IDE
- Выберите Инструменты> Управление библиотеками …
- Поиск в библиотеках по запросу “Adafruit pwm”
- Установите библиотеку сервоприводов Adafruit PWM
Запустить пример сервопривода
- Выберите файл > Примеры> Библиотека сервоприводов Adafruit PWM> servo
- Загрузите пример в Seeeduino Nano
Двигатели должны пройти последовательность, подтверждающую, что они работают!
Очистка примера
Вы можете очистить пример, изменив счетчик в этой строке:
, если (servonum> 7) servonum = 0; // Тестирование первых 8 сервоканалов
Если у вас только два сервопривода, подключенные к первым двум портам (0 и 1) на PCA9685, измените 7 выше на 1.Это заставит код быстрее перебирать только ваши доступные сервоприводы.
Правило состоит в том, что если у вас количество сервоприводов X , измените 7 выше на то, что равно X – 1 .
Заключение
В этой статье я показал вам, как управлять серией серводвигателей с платой, совместимой с Arduino, и реальной платой. В примере используется популярная плата сервопривода PCA9685. Поскольку сервоплата обменивается данными с использованием I2C, она работает со многими одноплатными компьютерами.В этот список входят Arduino, Seeeduino, ESP32, Raspberry Pi и Jetson Nano.
Чтобы упростить разводку, я показал вам, как собрать проект с использованием клона Arduino Nano со встроенным разъемом I2C Grove. Я также показал вам, как использовать Grove Shield для работы с обычным Arduino Nano.
С одной платы можно управлять до 16 сервоприводов. Вы можете использовать его для управления вашим следующим роботом или роботизированным компонентом.