Что такое сервопривод, управление сервоприводом. Подключаем сервопривод к Arduino

Servoдвигатели - это тип электромеханических приводов, которые не вращаются постоянно,как DC / AC или шаговый двигателей, а перемещаются в определенное положение исохраняют его. Они применяются там, где не требуется непрерывное вращение. Серво приводы применяют там, где необходимоперейти к конкретной позиции,а затем остановиться и сохранять положение .Наиболеечасто серво двигатели используются для управлением положением руля воздушныхсудов и лодок т.д. Сервоприводы эффективно используются в этих областях, потомучто руль не нужно перемещать на 360 градусов и не требуют непрерывного вращениякак например колеса. В с ервоприводахтакже используется механизм обратной связи, поэтому он может обрабатыватьошибки и при позиционировании их исправить. Такая система называется следящей . Такимобразом, если поток воздуха оказывает давление на руль и отклоняет его, тосервопривод будет применять силу в противоположном направлении и попытаетсяисправить ошибку.Например, есливы скажете серво пойти и заблокироваться на 30 градусах, а затем попытаетесь повернутьего рукой, серво будут стараться, чтобы преодолеть силу и сохранить заданныйугол.

Сервоприводыприменяются также для контроля руля RC- автомобилей, робототехники и т.д. Существует много видов сервоприводов, но здесь мы сосредоточимсяна малых сервоприводы так называемых hobby . H obb y двигатель и его механизм управления встроен в один блок. Подключение осуществляеться спомощью трех присоединительных проводов . Мы будем использовать сервопривод FutabaS3003 .

FutabaS3003 проводки.

1.RED -> Управление позицией,питание +4.8В до 6В

2.BLACK-> Земля

3.WHITE -> Сигнал управления.

Управление Сервоприводом.

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

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

  • 0.388ms= 0 градусов.
  • 1.264ms= 90 градусов.
  • (Нейтральнаяпозиция) 2.14ms= 180 градусов.

Управление Серво двигателем.

Вы можете использовать микроконтроллер AVR с функцией PWM дляуправления сервомоторов. Таким образом, PWM автоматически сгенерирует сигналыблокировки сервопривода и центральный процессор контролера освободится длядругих задач. Чтобы понять, как можно настроить и использовать PWM необходимоиметь базовые знания аппаратных таймеров и PWM модулей в AVR.

Здесь мы будемиспользовать AVR Timer модуль, который является 16bit таймером и имеет два канала PWM (А и B).

Частота центрального процессора составляет 16 МГц,эта частота - максимальная частота,на которой большинство AVR способны работать.Так же будем использовать делитель частоты на 64. Так таймера получат 16MHz/64 =250khz (4 мкс).Таймер установим в режим 14.

Функциитаймера в режими 14

  • РежимFAST PWM
  • T T OP Значение = ICR1

Такимобразом, мы устанавливаемICR1A = 4999,это дает нам PWM периода 20мс (50 Гц).Убедитесь что в режими выводаустанавленны правильные настройки COM1A1, COM1A0 (для PWM канала) и COM1B1,COM1B0 (для PWM канал B)

COM1A1= 1 и COM1A0 = 0 (PWM Источник)

COM1B1= 1 и COM1B0 = 0 (PWM канал B)

Теперь рабочий цикл может быть установлен путем настройки OCR1A иOCR1B регистров.Эти два регистрауправления PWM периодом Так как период таймера 4мкс (помните 16 МГц разделили на 64), Мы можем вычислить значения, необходимые для поворотасервопривод на определенный угол.

§ Servoугол 0 градусов требуется ширина импульса 0.388ms (388uS), поэтому значениеOCR1A = 388us/4us = 97

§ Servoугол 90 градусов требуется ширина импульса 1.264ms (1264uS), поэтому значениеOCR1A = 1264us/4us = 316

§ Servoугол 180 градусов требуется ширина импульса 2.140ms (2140uS), поэтому значениеOCR1A = 2140us/4us = 535

Такимобразом, мы можете вычислить значение OCR1A (или OCR1B для второгосервопривода) для любого угла.Заметимчтозначение OCR1x колеблются от 97 до535 для углов от 0 до 180 градусов.

Программа управления двигателем.

Демонстрационнаяпрограмма приведена ниже, показано, как использовать сервомоторов смикроконтроллером AVR. Работы программы очень проста, она начинается синициализации таймера и PWM.В начале фиксируеться сервопривод на 0 градусов, азатем перемещается на 90 градусов и подождатв некоторое время перемещается на135 градусов, и наконец, на 180градусов. Этот процесс повторяется до тех пор, пока привод подключен к питанию.

Параметрыдля правильной работы программы .

  • LOW Fuse = 0xFF и HIGH Fuse = 0xC9
  • Частота= 16 МГц.
  • СервомоторклеймоFutaba S3003 .
  • MCUявляется AtMega32 или однокристальный микроконтроллер ATmega16.

Схема

ПРИЛОЖЕНИЯ:

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

Угол на который поворачивается серва, задается шириной импульса. Стоит уточнить небольшую тонкость, сервоприводы бывают разные. Бывают такие, которые крутятся постоянно в определенную сторону, при этом ширина импульса влияет только на скорость поворота. Бывают многооборотистые. Те о которых речь пойдет дальше, на сайте производителя имеют явную маркировку, в которой указан угол поворота. Поэтому учтите если серва, не имеет явной маркировки, то может оказаться так, что она тупо постоянно вращается. Не путайте, надписи 0.20 sec/60° означают скорость вращения, они никак не связаны с максимальным углом поворота.

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

Теперь рассмотрим вариант 2. Ручка резистора насажена на вал двигателя, таким образом, что когда двигатель вращается, он изменяет сопротивление резистора, следовательно и напряжение, которое подается на вход АЦП. При этом, если имеется еще один источник сигнала, то микроконтроллер сравнивает напряжение на входах и если оно больше, то крутит в одну сторону, если меньше, то в другую. Рано или поздно напряжения уровняются и движок остановится. Поэтому серва включает в себя все что нарисовано: резистор, микроконтроллер, двигатель. Внешний сигнал естественно подавать должны мы, чтобы управлять.

Типовые кишки выглядят так:

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

Чаще всего ширина импульса колеблется в диапазоне от 1100мкс до 1900мкс, при периоде 20мс, но цифры могут отличаться, причем достаточно сильно. Пример из даташита:
Control System: +Pulse Width Control 1520usec Neutral
Required Pulse: 3-5 Volt Peak to Peak Square Wave
Operating Voltage: 4.8 Volts
Operating Speed (6V): 0.20sec/60 degrees at no load
Operating Angle: 45 Deg. one side pulse traveling 400usec
Continuous Rotation Modifiable: No
Direction: Counter Clockwise/Pulse Traveling 1520-1900usec

Отсюда четко видно, что средняя точка 1520мкс, чтобы повернуть такую серву на 45градусов, уже нужно подать импульс 1900мкс, соответственно остальные углы рассчитываются пропорцией. Чтобы повернуть на -45 градусов нужно подать импульс 1100мкс. Т.е. диапазон 90град. Еще видно, что под Continuous Rotation сей девайс не заточен, что хорошо.

Перейдем к практике. Есть поциент Futaba S3152, которым нужно покрутить туды — сюды.

Также можно это дело потестить в протеусе. Обычное подключение по трем проводам красный +5В, черный — земля, белый — управляющий.

В последних версиях CAVR, в Codewizard появилось много ништяков, например можно вбить цифры в попугаях и увидеть период и импульс в секундах. Собственно нам важен режим fast pwm top ICR. Примечателен этот режим тем, что ICR задает период, а OCR ширину импульса.

Период вычисляется очень просто:
ICR = (Частота таймера/50Hz)-1

Тогда нужную ширину импульса можно легко вычислить по пропорции:
20ms = ICR
?ms = OCR

В итоге можно переписать так:
OCR = (x*ICR)/20; где x это необходимая длительность импульса. Например, нужна длительность импульса в 1мс, значит OCR= (1*9C3)/20=0x7C.

Собственно и все. Теперь исходим из того, что нейтральная точка = 1524мкс или OCR1 = (1.524*9C3)/20 = 0xBE и зависимости от тогу куда нам нужно повернуть пересчитываем OCR. Простенький пример, поворачиваем на -45, затем 0 и потом +45.

#include #include void main(void ) { // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=Out Bit2=In Bit1=Out Bit0=In DDRB= (0 << DDB7) | (0 << DDB6) | (0 << DDB5) | (0 << DDB4) | (1 << DDB3) | (0 << DDB2) | (1 << DDB1) | (0 << DDB0) ; // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=0 Bit2=T Bit1=0 Bit0=T PORTB= (0 << PORTB7) | (0 << PORTB6) | (0 << PORTB5) | (0 << PORTB4) | (0 << PORTB3) | (0 << PORTB2) | (0 << PORTB1) | (0 << PORTB0) ; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 125,000 kHz // Mode: Fast PWM top=ICR1 // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 20 ms // Output Pulse(s): // OC1A Period: 20 ms Width: 0,9924 ms // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A= (1 << COM1A1) | (0 << COM1A0) | (0 << COM1B1) | (0 << COM1B0) | (1 << WGM11) | (0 << WGM10) ; TCCR1B= (0 << ICNC1) | (0 << ICES1) | (1 << WGM13) | (1 << WGM12) | (0 << CS12) | (1 << CS11) | (1 << CS10) ; TCNT1H= 0x00 ; TCNT1L= 0x00 ; ICR1H= 0x09 ; ICR1L= 0xC3 ; OCR1AH= 0x00 ; OCR1AL= 0x7C ; OCR1BH= 0x00 ; OCR1BL= 0x00 ; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK= (0 << OCIE2) | (0 << TOIE2) | (0 << TICIE1) | (0 << OCIE1A) | (0 << OCIE1B) | (0 << TOIE1) | (0 << TOIE0) ; while (1 ) { //-45 OCR1A = (1100 * 0x9C3 ) / 20000 ; delay_ms(1000 ) ; //0 OCR1A = (1524 * 0x9C3 ) / 20000 ; delay_ms(1000 ) ; //+45 OCR1A = (1900 * 0x9C3 ) / 20000 ; delay_ms(1000 ) ; } }

#include #include void main(void) { // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=Out Bit2=In Bit1=Out Bit0=In DDRB=(0<

Получилось так:

Для stm32 приведу пример настройки, которая помойму даже проще. Пример для stm32f103, нога PA1, тактовая 72МГц.

//Настройка ножки PA1 на альтернативную функцию GPIO_InitTypeDef PORT_SETUP; PORT_SETUP.GPIO_Mode = GPIO_Mode_AF_PP; PORT_SETUP.GPIO_Pin = GPIO_Pin_1; PORT_SETUP.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, & PORT_SETUP) ; //настройка таймера TIM_TimeBaseInitTypeDef TIM_SETUP; TIM_SETUP.TIM_CounterMode = TIM_CounterMode_Up; TIM_SETUP.TIM_Period = 4096 ; TIM_SETUP.TIM_Prescaler = 351 ; // 72мгц/4096/351=50hz TIM_TimeBaseInit(TIM2, & TIM_SETUP) ; //настройка ШИМ TIM_OCInitTypeDef PWM_SETUP; //PWM_SETUP.TIM_Pulse = 200; //4096 = 20ms 200 ~ 1ms PWM_SETUP.TIM_Pulse = 0 ; PWM_SETUP.TIM_OCMode = TIM_OCMode_PWM2; PWM_SETUP.TIM_OutputState = TIM_OutputState_Enable; PWM_SETUP.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OC2Init(TIM2, & PWM_SETUP) ; TIM_Cmd(TIM2, ENABLE) ; while (1 ) { .... //где то внутри основного цикла меняем угол поворота переменной result TIM2-> CCR2 = (4096 * result) / 20000 ; }

//Настройка ножки PA1 на альтернативную функцию GPIO_InitTypeDef PORT_SETUP; PORT_SETUP.GPIO_Mode = GPIO_Mode_AF_PP; PORT_SETUP.GPIO_Pin = GPIO_Pin_1; PORT_SETUP.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &PORT_SETUP); //настройка таймера TIM_TimeBaseInitTypeDef TIM_SETUP; TIM_SETUP.TIM_CounterMode = TIM_CounterMode_Up; TIM_SETUP.TIM_Period = 4096; TIM_SETUP.TIM_Prescaler = 351; // 72мгц/4096/351=50hz TIM_TimeBaseInit(TIM2, &TIM_SETUP); //настройка ШИМ TIM_OCInitTypeDef PWM_SETUP; //PWM_SETUP.TIM_Pulse = 200; //4096 = 20ms 200 ~ 1ms PWM_SETUP.TIM_Pulse = 0; PWM_SETUP.TIM_OCMode = TIM_OCMode_PWM2; PWM_SETUP.TIM_OutputState =TIM_OutputState_Enable; PWM_SETUP.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OC2Init(TIM2, &PWM_SETUP); TIM_Cmd(TIM2, ENABLE); while(1) { .... //где то внутри основного цикла меняем угол поворота переменной result TIM2->CCR2 = (4096 * result)/20000; }

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

Еще один момент, это крепление нагрузки. Пластиковые штуки, которые крепятся на вал называются качалками.

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

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

Устройство

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

Как собрать модель?

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

Далее, чтобы собрать сервопривод своими руками, нужно подобрать потенциометр аналогового типа. В магазине его найти не составит труда. После этого следует заняться установкой датчика. Как правило, плата управления подбирается серии РР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 В. Резистивные механизмы в устройствах встречаются довольно редко.

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

Рассмотрим на этом занятии устройство и принцип работы сервоприводов. Разберем два простых скетча для управления сервоприводом с помощью потенциометра на Ардуино. Также мы узнаем новые команды в языке программирования C++ — servo.write , servo.read , servo.attach и научимся подключать в скетчах библиотеку для управления сервоприводами и другими устройствами через Ардуино.

Устройство сервомотора (servo)

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

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

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


Управление сервоприводом с помощью широтно импульсной модуляции

Как подключить сервопривод к Ардуино

Схема подключения сервопривода к Arduino обычно следующая: черный провод присоединяем к GND, красный провод присоединяем к 5V, оранжевый/желтый провод к аналоговому выводу с ШИМ (Широтно Импульсная Модуляция). Управление сервоприводом на Ардуино достаточно просто, но по углам поворота сервомоторы бывают на 180° и 360°, что следует учитывать в робототехнике.

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Макетная плата;
  • USB-кабель;
  • 1 сервопривод;
  • 1 потенциометр;
  • Провода «папа-папа» и «папа-мама».

В первом скетче мы рассмотрим как управлять сервоприводом на Arduino с помощью команды myservo.write(0) . Также мы будем использовать стандартную библиотеку Servo.h . Подключите сервомашинку к плате Ардуино, согласно схеме на фото выше и загрузите готовый скетч. В процедуре void loop() мы будем просто задавать для сервопривода необходимый угол поворота и время ожидания до следующего поворота.

Скетч для сервопривода на Ардуино

#include Servo servo1; // объявляем переменную servo типа "servo1" void setup () { servo1.attach (11); // привязываем сервопривод к аналоговому выходу 11 } void loop () { servo1.write (0); // ставим угол поворота под 0 delay (2000); // ждем 2 секунды servo1.write (90); // ставим угол поворота под 90 delay (2000); // ждем 2 секунды servo1.write (180); // ставим угол поворота под 180 delay (2000); // ждем 2 секунды }

Пояснения к коду:

  1. Стандартная библиотека Servo.h содержит набор дополнительных команд, которая позволяет значительно упростить скетч;
  2. Переменная Servo необходима, чтобы не запутаться при подключении нескольких сервоприводов к Ардуино. Мы назначаем каждому приводу свое имя;
  3. Команда servo1.attach(10) привязывает привод к аналоговому выходу 10.
  4. В программе мы вращаем привод на 0-90-180 градусов и возвращаем в начальное положение, поскольку процедура void loop повторяется циклично.

Управление сервоприводом потенциометром


Подключение сервопривода и потенциометра к Ардуино Уно

Ардуино позволяет не только управлять, но и считывать показания с сервопривода. Команда myservo.read(0) считывает текущий угол поворота вала сервопривода и его мы можем увидеть на мониторе порта. Предоставим более сложный пример управления сервоприводом потенциометром на Ардуино. Соберите схему с потенциометром и загрузите скетч управления сервоприводом.

Скетч для сервопривода с потенциометром

#include // подключаем библиотеку для работы с сервоприводом Servo servo; // объявляем переменную servo типа "servo" void setup () { servo.attach (10); // привязываем сервопривод к аналоговому выходу 10 pinMode (A0, INPUT); // к аналоговому входу A0 подключим потенциометр Serial .begin (9600); // подключаем монитор порта } void loop () { servo.write (analogRead (A0)/4); // передает значения для вала сервопривода Serial .println (analogRead (A0)); // выводим показания потенциометра на монитор Serial .println (analogRead (A0)/4); // выводим сигнал, подаваемый на сервопривод Serial .println (); // выводим пустую строчку на монитор порта delay (1000); // задержка в одну секунду }

Пояснения к коду:

  1. В этот раз мы присвоили имя для сервопривода в скетче, как servo ;
  2. Команда servo.write(analogRead(A0)/4) передает значения для вала сервопривода — получаемое напряжение с потенциометра мы делим на четыре и оправляем данное значение на сервопривод.
  3. Команда Serial.println (servo.read(10)) считывает значение угла поворота вала сервопривода и передает его на монитор порта.

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

Также часто читают:

Несмотря на то, что автоматизированные системы управления вошли в наш быт, далеко не всем известно про сервопривод. Что это такое? Он представляет собой систему, реализующую высокоточные динамичные процессы. Устройство состоит из двигателя, датчика и блока управления, обеспечивающих отработку требуемых скорости, позиции и момента.

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

Как устроен сервопривод

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

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

Схема управления

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

Положение вала двигателя определяется шириной импульса, которая устанавливается переменным резистором R 1 . Сигналы должны подаваться генератором непрерывно, например каждые 20 мсек. При поступлении команды (перемещение движка резистора) выходной вал редуктора поворачивается и устанавливается в определенное положение. При внешнем воздействии он будет сопротивляться, пытаясь оставаться на месте.

Механическое регулирование системы отопления

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

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

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

Электрический сервопривод для отопления

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

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

Сервопривод управляет двух- или трехходовым клапаном. Первый изменяет температуру теплоносителя в системе отопления. Трехходовой клапан с сервоприводом поддерживает температуру постоянной, но изменяет расход горячей воды, подаваемой в контуры. Од содержит 2 входа для горячей жидкости (подающий трубопровод) и холодной (обратка). Выход всего один, через него подается смесь с заданной температурой. Клапан обеспечивает смешивание потоков, регулируя таким путем подачу тепла в коллекторы. Если один из входов открывается, то другой начинает прикрываться. При этом расход на выходе остается постоянным.

Сервопривод крышки багажника

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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