Серводвигатель (устройство и принцип работы)
Сервопривод (лат.servus – слуга, помощник; следящий привод) — привод с управлением через отрицательную обратную связь, позволяющую точно управлять параметрами движения.
Сервопривод чаще всего встречается в робототехнике. Без него невозможно обойтись, особенно когда речь идет о решении задачи точного перемещения грузов или предметов. Такая задача возникает при выполнении какой-либо механической работы (покраска, сварка, шлифовка, перемещение изделий на конвейере и т. д.). Выполняют такую работу манипуляторы, которые выглядят как механические руки. Собственно говоря, знаменитая промышленная робототехника, которая используется для автоматизации производства по всему миру, представлена прежде всего манипуляторами. И не один такой манипулятор не обходится без сервоприводов, которые приводят в действие его звенья. Почему?
Все дело в свойствах сервопривода. Сервопривод — это привод, в котором используется отрицательная обратная связь, позволяющая точно управлять параметрами движения исполнительного(выходного) звена привода (чаще всего это выходной вал). Для создания такой обратной связи обычно используется датчик положения выходного звена сервопривода, но могут применяться и датчики скорости, усилия и т. д. Получается, что сервопривод — это привод, на который подается сигнал, указывающий выдвинуться или повернуться в определенное положение. Он в это положение устанавливается и «ждет», пока не поступит команда об изменении положения. Например, подается сигнал об установке вала в угловое положение 90 градусов. Вал поворачивается в это положение и держит его, пока не придет сигнал о новом положении. Такие возможности управления серьезно отличают сервопривод от обычного мотор-редуктора, который способен только непрерывно вращаться, пока на него подано напряжение. В результате, если такими приводами оснащен робот, то он может двигаться подобно руке человека и выполнять всю ту работу, которую можем выполнять мы.
Разновидностей сервоприводов в промышленности многоВ этой статье мы будем рассматривать электрические сервоприводы вращательного действия. Проще говоря, у таких сервоприводов выходным исполнительным звеном является вращающийся вал. Для простоты мы рассмотрим устройство хобби-сервопривода SG-90 (рис. 1), который активно применяется для создания учебных моделей роботов и прочих плавающих, летающих или ходящих механизмов. Хобби-сервопривод в отличие от промышленного существенно меньше по размерам, развивает меньшее усилие, по-другому управляется, но по общему принципу действия абсолютно идентичен промышленному собрату.
Рисунок 1
Устройство хобби-сервопривода показано на рисунке 2. В его состав входит электродвигатель, редуктор с набором шестеренок, потенциометр (выполняет функцию датчика положения для обратной связи), электронная плата управления электродвигателем и корпус, в который заключено все содержимое. На этом же рисунке показан провод, посредством которого сервопривод питается и управляется. Он состоит из 3-х жил: питание «плюс», питание «минус» и провод, на который подается управляющий сигнал. На разных моделях хобби-сервоприводов провода могут иметь разный цвет. Но практически всегда провод питания «плюс» окрашен в красный цвет, а провод питания «минус» - в черный. В отношении же сигнального провода (для передачи управляющего сигнала) четких цветовых стандартов нет. У разных производителей сервоприводов сигнальный провод может быть белым, оранжевым или желтым.
Рисунок 2
Для управления такими двигателями принят стандарт управляющего сигнала. Он представляет собой постоянно повторяющиеся импульсы или, как мы говорим, череду импульсов (Рис. 3). Частота этих импульсов все время остается постоянной и составляет 50 Гц. Получается, что временной период импульсов (время между передними фронтами соседних импульсов) составляет 1с/50 = 0,02 секунды, т. е. 20 миллисекунд.
Рисунок 3
Что интересно, угловое положение выходного вала сервопривода задается продолжительностью подаваемого импульса. Для пояснения на рисунке 4 показано приблизительное соотношение ширины импульса во временных координатах и угла поворота вала сервопривода. Управление поворотом вала сервопривода выполняется с помощью импульсов продолжительностью от 1 до 2 мс (миллисекунд).
Рисунок 4
Как видно из графика, для управления сервоприводом используется не что иное как сигнал с широтно импульсной модуляцией - ШИМ. Что такое ШИМ можно узнать из соответствующей статьи на нашем сайте.
А как ширина импульса превращается в угол вала на выходе?
Как указано на рисунке 2, в корпусе сервопривода присутствует еще и электронный модуль управления мотором. Подаваемый на сервопривод сигнал попадает на эту плату. А вот то, что происходит с этим сигналом дальше, показано на блок-схеме рисунок 5, которую мы проанализируем поэтапно. Каждый этап изображен прямоугольником или кружочком и пронумерован. Внутри этих прямоугольников изображены устройства, на которых происходит преобразование или обработка сигнала.
Рисунок 5
Итак, входной управляющие сигнал Sупр с ШИМ модуляцией приходит на специальную микросхему с логическими элементами, с помощью которой преобразуется в напряжение Uупр (этап №1). После этого сигнал Uупр (управляющее напряжение) поступает на элемент сравнения напряжений. Данный элемент называется сумматором, но на самом деле он из входного сигнала Uупр вычитает напряжение Uобр (напряжение обратной связи), приходящее через обратную связь с переменного резистора (этап №2).
Получившаяся разница Uкорр (корректирующее напряжение) усиливается встроенным усилителем (этап №3) и подается на электродвигатель. Мотор вращается (этап №4) и приводит в движение выходной вал сервопривода, а вместе с ним и датчик обратной связи в виде потенциометра. При вращении ручки потенциометра изменяется напряжение и получается, что поворот вала преобразуется в напряжение Uобр (этап №5). Это напряжение Uобр сравнивается (снова этап №2) с напряжением Uупр, и разница в виде Uкорр снова идет на усилитель (этап №3) и так далее. Сигнал «ходит» по цепи с обратной связью до тех пор, пока не выполнится соотношение Uупр = Uобр. Тогда Uкорр станет равно 0, и двигатель остановится. Произойдет это тогда, когда вал сервопривода займет положение, соответствующее входному управляющему сигналу Sупр.
Обобщим все сказанное. Вал сервопривода механически соединен с ручкой потенциометра. Из-за этого вместе с поворотом вала сервопривода поворачивается потенциометр, в результате чего изменяется его сопротивление и выходное напряжение Uобр. Соответственно, выходное напряжение с потенциометра Uобр прямо зависит от угла поворота сервопривода. Одновременно входной в сервопривод сигнал Sупр с продолжительностью импульсов от 0,001 до 0,002 секунды задает уровень напряжения Uупр, которое определяет угол на который должен повернуться вал сервопривода. Остановка электродвигателя в момент, когда вал сервопривода именно в нужном положении, достигается за счет вычитания из сигнала Uупр сигнала обратной связи Uобр. А усилитель этапа №3 необходим для того, чтобы на электродвигатель подавалось усиленное напряжение и двигатель переводил вал сервопривода в заданное положение максимально быстро.
Примеры управления серводвигателем
Как было сказано выше, для управления серводвигателем приминяется ШИМ с определенными параметрами. Сгенерировать такую ШИМ можно различными способами. Покажем некоторые из них.
1. Управление серводвигателем при помощи 555 таймера. Микросхема таймера 555 может работать в режиме генератора импульсов (подробнее об этой микросхеме читайте соответствующую статью). Следовательно можно подобрать такие параметры работы этой микросхемы, что бы она выдавала нужные нам импульсы. Путем изменения скважности этих импульсов, т. е. изменения продолжительности импульсов от 0,001 до 0,002 секунды, мы и будем задавать угол поворота вала сервопривода.
Для того чтобы реализовать ШИМ сигнал, необходимо использовать схему с регулируемой скважностью импульсов при неизменной частоте 50 Гц. Параметры компонентов на схеме (рис.6) подобраны таким образом, чтобы обеспечить эти условия. Но чтобы сигнал управления удовлетворял всем условиям, его необходимо инвертировать. Транзистор в схеме необходим именно для этого. Чтобы управлять скважностью в заданных пределах, потребовался бы потенциометр на максимальное сопротивление 20 кОм. Мы будем использовать два потенциометра по 10 кОм (так как именно такие потенциометры используются в Основном наборе 1-ого уровня Эвольвектор, где эта схема подробно описана. Рабочий ход серводвигателя составляет 180 градусов. В этом случае при вращении ручки одного потенциометра сервопривод будет поворачиваться на 90 градусов, а при дополнительном вращении другого — на вторые 90 градусов.
Рисунок 6
Более подробно изучить данную схему, а так же собрать ее, вы сможете купив Основной набор 1-ого уровня Эвольвектор.
2. Управление серводвигателем при помощи контроллера. Сгенерировать нужный сигнал ШИМ так же можно при помощи контроллера. Например можно использовать программируемый контроллер на платформе Ардуино. Чтобы максимально упростить программирование алгоритма управления серводвигателем (генерацию ШИМ) применяются заранее написанные программы, называемые библиотеками. Их сложный программный код скрыт от пользователя, предлагается только вызов нужных нам функций посредством коротких команд при подключении библиотеки к нашей основной программе. Все это делает сложное с алгоритмической точки зрения управление такими устройствами как серводвигатель крайне простым и удобным.
Схема подключения, а так же Скетч (программа) для управления серводвигателем контроллером Arduino показаны на рисунке 7.
Для реализации данной схемы на макетной плате Вам потребуются: |
Рисунок 7
ВНИМАНИЕ: Подключение питания серводвигателя к плате напрямую, как в нашем примере (рисунок 7), нежелательно. У нас на рисунке подключен один серводвигатель из категории «мини», потребляющий очень небольшие токи, отчего он вполне штатно работает, питаясь непосредственно от платы. Сервопривод стандартного размера требует большей мощности, что может привести к перегреву и повреждению контроллера. Подключение питания двигателей следует осуществлять только через отдельный источник, особенно если предполагается управление одновременно несколькими сервоприводами.
#include <Servo.h> - эта команда означает подключение библиотеки для управления сервоприводом. Эта библиотека присутствует на диске Эвольвектор, который поставляется совместно с нашими наборами 2-ого уровня. Так же её можно найти в интернете и положить в папку «libraries» вашей Arduino IDE.
Подключенная нами библиотека имеет большое количество команд, мы рассмотрим только те, который используются в программе.
Servo dvig; - это объявление переменной специального типа. dvig – это переменная (название выбираем произвольно). Servo – это тип переменной (специальный тип, который задается в присоединенной библиотеке). Можно задать до 12 переменных этого типа, то есть для управления 12 серво-приводами. Иными словами, этой командой мы сообщили плате, что у нас есть сервопривод, который мы назвали dvig.
dvig.attach(9); - эта команда означает, что серво-привод (dvig) присоединен к 9 пину (выводу).
dvig.write(90); – эта команда заставляет сервопривод (dvig) повернуться в среднее положение (90 градусов).
dvig.write(0); – поворачивает сервопривод в положение 0 градусов.
dvig.write(180); – поворачивает сервопривод в положение 180 градусов.
Что означают остальные строки в программе вы можете найти на страницах нашего сайта или узнать из учебных пособий которые входят в состав наборов Эвольвектор 2 ого уровня.
Написать отзыв
Ваше Имя:Ваш отзыв: Внимание: HTML не поддерживается! Используйте обычный текст.
Оценка: Плохо Хорошо
Введите код, указанный на картинке: