- Простейший контроллер сервопривода
- 2 Схемы
- Дискретный драйвер сервопривода
- Схема принципиальная устройства
- Файл прошивки для МК
- Преимущества микроконтроллера в блоке управления серво
- Управление сервоприводом SG90 без микроконтроллера
- Знания
- Задача
- Реализация
- Поиск альтернатив
- Немного теории
- Пояснения к итоговой схеме
- Результат
- Простой сервопривод своими руками
- 2 Схемы
- Дискретный драйвер сервопривода
- Схема принципиальная устройства
- Файл прошивки для МК
- Преимущества микроконтроллера в блоке управления серво
Простейший контроллер сервопривода
Сервомоторы имеют много применений в различных областях, начиная с робототехники и заканчивая фотографией и т.д. Эти маленькие двигатели могут устанавливать свой вал в любое положение по команде и удерживать это положение. Большинство сервомоторов могут совершать движение в диапазоне 210 ° и к счастью ими легко управлять при помощи простого устройства вроде представленного здесь. Используя только 555 таймер и несколько внешних компонентов, эта схема позволяет управлять приводом регулируя скорость его вращения в соответствии с положением потенциометра.
Схема
Детали
Резистор 820 Ом, 0,25 Вт
Резистор 68 кОм, 0,25 Вт
Резистор 10 кОм, 0,25 Вт
Резистор 1 кОм, 0,25 Вт
Потенциометр с линейной характеристикой 1 кОм
Электролитический конденсатор 1 мкФ, 16 В
2N2222 или другой маломощный транзистор
Макетная плата, провода, ручка для R1, 8-пиновая сокетка для микросхемы
Замечания
- R1 устанавливает максимальную мощность сервопривода.
- Соедините выводы сервопривода как показано на схеме. Для большинства сервоприводов Futaba красный провод – мощность, черный – земля и белый – управление.
Перевод: Piyavka, по заказу РадиоЛоцман
Источник
2 Схемы
Принципиальные электросхемы, подключение устройств и распиновка разъёмов
Дискретный драйвер сервопривода
Иногда требуется настройка управления механическим элементом, например, клапаном, заслонкой устройства или другими похожими делами. Можно использовать для этого двигатель с редуктором и концевыми выключателями, но при низкой цене сервоприводов на Алиэкспрессе, редакция сайта 2shemi.ru советует рассмотреть именно их применение. Для работы драйвера к приводам нужно питание и управляющий сигнал длительностью около 1 мс, который повторяется каждые 20 мс. Импульсы задают ось в положение «0», а также позиционируют положение оси пропорционально наклону. В общем такой драйвер позволит легко выполнить управление элементом механического устройства.
Применение сервоприводов позволяет легко изменять диапазон положений механического элемента, так как серво отслеживает положение своей оси и ему не нужны дополнительные датчики или концевики.
Для управления можно применить простую аналоговую схему, однако при нынешней дешёвой цене микроконтроллеров, по предлагаемой очень простой схеме вы можете собрать отличный драйвер, позволяющий генерировать управляющий сигнал маленьким 8-ми выводным микроконтроллером.
Схема принципиальная устройства
Вот схема дискретного драйвера серво на основе микроконтроллера ATtyny13.
Серво привод на микроконтроллере ATtyny13 — схема
МК с тактовой внутренний частотой 9.6 МГц через внутренний делитель на 8 дает тактовую частоту 1.2 МГц. Кнопки S1 и S2 позволяют выполнить перемещение системы. Потенциометры P1 и P2 определяют положение сервопривода при нажатии S1 или S2. Управляющий сигнал сформирован на выходе PB0 (pin5) микроконтроллера.
В зависимости от напряжения на ползунках P1 и P2 программа генерирует соответствующие по длительности сигналы для серво.
Резисторы R3 и R4 образуют делитель напряжения, обеспечивающий сигнализацию низкого напряжения, питающего систему.
Блок предназначен для питания от батареи напряжением 4,5 вольта (3xAAA), причём низкий уровень напряжения питания сигнализируется с помощью светодиода (в МК есть слежение). В тестовой системе были использованы миниатюрные сервоприводы модели SG92R.
Файл прошивки для МК
Преимущества микроконтроллера в блоке управления серво
По правде говоря, изначально планировалось делать драйвер на NE555. Однако после некоторых размышлений выбрали именно микроконтроллер.
- С ним положение сервопривода можно сохранить в eeprom или в памяти программы, кроме того, легко модернизировать устройство более чем на 2 положения.
- При необходимости микроконтроллер может работать все время находясь в режиме сна и ожидая событие.
- Легко добавить сюда возможность многократного замыкания контакта или логику короткие-длинные нажатия.
- Если нужно будет большее расстояние, от кнопок или энкодера, возможно будет передавать информацию последовательным цифровым интерфейсом. Поэтому и решено было сделать ставку на микроконтроллер.
Источник
Управление сервоприводом 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 при действии положительного импульса на выходе логического элемента, тем самым определять его длительность.
Результат
Подключив данный генератор к входу управления сервопривода получим возможность управлять им, изменяя освещенность фоторезистора. На видео можно посмотреть, что из этого получилось:
На этом казалось бы все, но могу предложить развитие данной разработки. Так как мы использовали всего один из шести логических элементов входящих в корпус микросхемы, то можно собрать еще пять генераторов и подключить их к другим сервоприводам. Подключив к исполнительным рычагам сервоприводов заслонки, которые будут перекрывать световой поток у фоторезисторов, управляющих другими сервоприводами, можно получить забавное поведение сервоприводов, но этот эксперимент предлагаю провести самостоятельно.
Источник
Простой сервопривод своими руками
Под сервоприводом чаще всего понимают механизм с электромотором, который можно попросить повернуться в заданный угол и удерживать это положение. Однако, это не совсем полное определение.
Если сказать полнее, сервопривод — это привод с управлением через отрицательную обратную связь, позволяющую точно управлять параметрами движения. Сервоприводом является любой тип механического привода, имеющий в составе датчик (положения, скорости, усилия и т.п.) и блок управления приводом, автоматически поддерживающий необходимые параметры на датчике и устройстве согласно заданному внешнему значению.
- Сервопривод получает на вход значение управляющего параметра. Например, угол поворота.
- Блок управления сравнивает это значение со значением на своём датчике.
- На основе результата сравнения привод производит некоторое действие: например, поворот, ускорение или замедление так, чтобы значение с внутреннего датчика стало как можно ближе к значению внешнего управляющего параметра.
Наиболее распространены сервоприводы, которые удерживают заданный угол, и сервоприводы, поддерживающие заданную скорость вращения.
Сервопривод состоит из следующих компонентов: Мотор-редуктор, силовой драйвер, энкодер, зажим для энкодера, микроконтроллер.
Привод — электромотор с редуктором. Чтобы преобразовать электричество в механический поворот, необходим электромотор . Однако зачастую скорость вращения мотора бывает слишком большой для практического использования. Для понижения скорости используется редуктор : механизм из шестерней, передающий и преобразующий крутящий момент.
Включая и выключая электромотор, можно вращать выходной вал — конечную шестерню сервопривода, к которой можно прикрепить нечто, чем мы хотим управлять. Однако, для того чтобы положение контролировалось устройством, необходим датчик обратной связи — энкодер , который будет преобразовывать угол поворота обратно в электрический сигнал. Для этого часто используется потенциометр. При повороте бегунка потенциометра происходит изменение его сопротивления, пропорциональное углу поворота. Таким образом, с его помощью можно установить текущее положение механизма.
Кроме электромотора, редуктора и потенциометра в сервоприводе имеется электронная начинка, которая отвечает за приём внешнего параметра, считывание значений с потенциометра, их сравнение и включение/выключение мотора. Она-то и отвечает за поддержание отрицательной обратной связи.
К сервоприводу тянется три провода. Два из них отвечают за питание мотора, третий доставляет управляющий сигнал, который используется для выставления положения устройства.
Источник
2 Схемы
Принципиальные электросхемы, подключение устройств и распиновка разъёмов
Дискретный драйвер сервопривода
Иногда требуется настройка управления механическим элементом, например, клапаном, заслонкой устройства или другими похожими делами. Можно использовать для этого двигатель с редуктором и концевыми выключателями, но при низкой цене сервоприводов на Алиэкспрессе, редакция сайта 2shemi.ru советует рассмотреть именно их применение. Для работы драйвера к приводам нужно питание и управляющий сигнал длительностью около 1 мс, который повторяется каждые 20 мс. Импульсы задают ось в положение «0», а также позиционируют положение оси пропорционально наклону. В общем такой драйвер позволит легко выполнить управление элементом механического устройства.
Применение сервоприводов позволяет легко изменять диапазон положений механического элемента, так как серво отслеживает положение своей оси и ему не нужны дополнительные датчики или концевики.
Для управления можно применить простую аналоговую схему, однако при нынешней дешёвой цене микроконтроллеров, по предлагаемой очень простой схеме вы можете собрать отличный драйвер, позволяющий генерировать управляющий сигнал маленьким 8-ми выводным микроконтроллером.
Схема принципиальная устройства
Вот схема дискретного драйвера серво на основе микроконтроллера ATtyny13.
Серво привод на микроконтроллере ATtyny13 — схема
МК с тактовой внутренний частотой 9.6 МГц через внутренний делитель на 8 дает тактовую частоту 1.2 МГц. Кнопки S1 и S2 позволяют выполнить перемещение системы. Потенциометры P1 и P2 определяют положение сервопривода при нажатии S1 или S2. Управляющий сигнал сформирован на выходе PB0 (pin5) микроконтроллера.
В зависимости от напряжения на ползунках P1 и P2 программа генерирует соответствующие по длительности сигналы для серво.
Резисторы R3 и R4 образуют делитель напряжения, обеспечивающий сигнализацию низкого напряжения, питающего систему.
Блок предназначен для питания от батареи напряжением 4,5 вольта (3xAAA), причём низкий уровень напряжения питания сигнализируется с помощью светодиода (в МК есть слежение). В тестовой системе были использованы миниатюрные сервоприводы модели SG92R.
Файл прошивки для МК
Преимущества микроконтроллера в блоке управления серво
По правде говоря, изначально планировалось делать драйвер на NE555. Однако после некоторых размышлений выбрали именно микроконтроллер.
- С ним положение сервопривода можно сохранить в eeprom или в памяти программы, кроме того, легко модернизировать устройство более чем на 2 положения.
- При необходимости микроконтроллер может работать все время находясь в режиме сна и ожидая событие.
- Легко добавить сюда возможность многократного замыкания контакта или логику короткие-длинные нажатия.
- Если нужно будет большее расстояние, от кнопок или энкодера, возможно будет передавать информацию последовательным цифровым интерфейсом. Поэтому и решено было сделать ставку на микроконтроллер.
Источник