Сервопривід – що це? Як зробити та підключити сервопривід своїми руками? Що таке сервомотор та як він працює Електро сервоприводи.

5 вересня 2011 року о 17:28

Зворотній зв'язок від сервоприводу або «забиваємо цвяхи»

  • Блог компанії Амперка

Всім хабраконструкторам, привіт!

Прийшла мені якось на думку безглузда думка: зібрати девайс, який би молотком забивав цвяхи. Просто заради демонстрації роботи сервоприводу. Алгоритм простий: даємо команду на підняття молотка, чекаємо, поки він підніметься, відпускаємо молоток; і так поки цвях не буде забитий. Але як дізнатися, що молоток здійнявся і що цвях забитий, не користуючись додатковими датчиками? Запитати у «дурного» сервоприводу! Як саме це зробити – про це й йтиметься у статті.

Що таке сервопривід? Напевно, всі знають, але про всяк випадок: це привід, який на відміну від двигуна постійного струму не просто крутиться, поки подається напруга, а прагне повернутися до заданого кута і втриматися в цьому положенні. Кут встановлюється за допомогою ШІМ (PWM)-сигналу. Сервопривід прагне певному становищу, отже повинен знати своє власне. Перед початком складання я був упевнений, що запитати поточний кут буде простіше простого і це можливо "з коробки". Не тут то було. Але про все по порядку.

Отже, гаданий аксесуар: сервопривід з прикріпленим до нього молотком на маленькому постаменті для рівноваги. Сервопривід підключається до Arduino через IO Shield, а мікроконтролер виконує алгоритм:

  • Встановити сервопривод певний кут для підняття молотка
  • Не діяти поки що сервопривід не повідомить, що кут досягнуто
  • Вимкнути живлення сервоприводу, щоб молоток упав на цвях
  • Прочитати кут в положенні, що впало
  • Якщо кут після падіння кілька разів поспіль не змінився - значить цвях перестав забиватися. Імовірно, він забитий - припиняємо виконання
  • Якщо кут змінився, починаємо спочатку
Беремо вихідні частини:

Пилимо і скручуємо:

Приступаємо до написання прошивки для Arduino. Досить швидко стає зрозуміло, що встановити певний кут для серви – не проблема. Зокрема, це дозволяє зробити стандартну бібліотеку Servo, яка із заданого в градусах кута формує відповідний PWM-сигнал. А ось із читанням – проблема: функції для цього немає.

Швидко погугливши проблему, знайшов купу повідомлень на форумах, де на це запитання авторитетно відповідали: Це неможливо! Сервоприводи - це write-only пристрої». Мене це збентежило, я інтуїтивно відчував, що дістати ці дані якось просто можна.

Матчастина
Після недовгих пошуків у мережі можна зрозуміти як влаштована серва. Це звичайний двигун постійного струму, який з'єднаний з виведеним шпинделем через кілька шестерень, що формують знижену передачу. Цей же шпиндель із внутрішньої сторони фізично прикріплений до потенціометра (підстроювального резистора). При обертанні мотора шпиндель повертається, повертається і бігунок потенціометра, вихідна напруга потенціометра змінюється, мізки серви його зчитують і якщо напруга досягла заданого рівня - мета досягнута, мотор відключається від живлення.

Тобто, ми маємо потенціометр, за сигналом з якого можна визначити поточний кут. Залишилося лише розібрати сервопривід та підключитися у потрібному місці. Розбираємо:

Відразу скажу, що сервопривід із фотографії я безповоротно зламав у процесі розбирання. Не потрібно було взагалі виламувати плату з електронікою, досить просто зняти задню кришку, яка тримається на 4 гвинтах. Але відразу це було не очевидно, і щоб зрозуміти куди на платі припаяний потенціометр, довелося пожертвувати одним приводом.

Ось як припаяний потенціометр на сервоприводах від DFRobot:

Нам потрібен сигнал з бігунка, який змінюється в залежності від кута повороту від мінімальної до максимальної напруги. Беремо мультиметр, обертаємо шпиндель і дивимося: яким кутам який сигнал відповідає. Для моєї серви куту в 0° відповідає напруга 0.43, а максимальному куту повороту в 180° відповідає напруга 2.56 В.

Акуратно припаюємо новий сигнальний провід.

Підключаємо його до аналогового входу A5 на Arduino. Закриваємо кришку. Пишемо програму:

#include // дозволений аналог порту #define A_MAX 1024 // опорна напруга на якому працює серва #define A_VREF 5 // граничні рівні сигналу з серви #define A_VMIN 0.43 #define A_VMAX 2.56 Servo servo; int lastHitAngle = 0; int hitAngleMatches = 0; bool jobDone = false; /* * Повертає поточний кут повороту серви виходячи * з сигналу з його потенціометра */ int realAngle() ( return map(analogRead(A5), A_MAX * A_VMIN / A_VREF, A_MAX * A_VMAX / A_VREF, 0, 180); ) void setup () ( ) void loop() ( if (jobDone) return; // включаємо серву і просимо повернутися до положення 70° servo.attach(6); servo.write(70); // чекаємо повороту. 5° запасу на всякі похибки while (realAngle()< 65) ; // бросаем молоток и ждём немного пока он успокоится servo.detach(); delay(1500); // запоминаем угол после падения и сопоставляем его с // предыдущим int hitAngle = realAngle(); if (hitAngle == lastHitAngle) ++hitAngleMatches; else { lastHitAngle = hitAngle; hitAngleMatches = 0; } // если угол не менялся 5 раз - мы закончили if (hitAngleMatches >= 5) jobDone = true; )

Включаємо, пробуємо, працює!

Що робити з отриманим досвідом – варіантів багато: можна зробити контролер на кшталт того, що використовується на кораблях для встановлення тяги (повний вперед/повний назад); можна використовувати серву зі зворотним зв'язком як елемент автономного кермового управління якоїсь машини; можна багато всього. Хай прибуде з усіма нами фантазія!

Сервопривід(лат.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 градусів.

Малюнок 6

Більш докладно вивчити цю схему, а так само зібрати її, ви зможете купивши Основний набір 1-го рівня Евольвектор.

2. Управління серводвигуном за допомогою контролера. З генерувати потрібний сигнал ШІМ також можна за допомогою контролера. Наприклад, можна використовувати програмований контролер на платформі Ардуїно. Щоб максимально спростити програмування алгоритму управління серводвигуном (генерацію ШІМ), застосовуються заздалегідь написані програми, звані бібліотеками. Їхній складний програмний код прихований від користувача, пропонується лише виклик потрібних нам функцій за допомогою коротких команд при підключенні бібліотеки до нашої основної програми. Все це робить складне з алгоритмічного погляду управління такими пристроями як серводвигун вкрай простим і зручним.

Схема підключення, а такожСкетч (програма) для керування серводвигуном контролером Arduino показано малюнку 7.

Малюнок 7

УВАГА: Підключення живлення серводвигуна до плати безпосередньо, як у прикладі (рисунок 7), небажано. У нас на малюнку підключений один серводвигун з категорії «міні», що споживає дуже невеликі струми, через що він штатно працює, харчуючись безпосередньо від плати. Сервопривід стандартного розміру потребує більшої потужності, що може призвести до перегріву та пошкодження контролера. Підключення живлення двигунів слід здійснювати лише через окреме джерело, особливо якщо передбачається керування одночасно кількома сервоприводами.

#include<Servo .h>- Ця команда означає підключення бібліотеки для керування сервоприводом. Ця бібліотека є на диску Евольвектор, який поставляється разом з нашими наборами другого рівня. Також її можна знайти в інтернеті і покласти в папку «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 градусів.

Що означають решту рядків у програмі ви можете знайти на сторінках нашого сайту або дізнатися з навчальних посібників, які входять до складу

У цій статті розглядаються сервоприводи: їх пристрій, призначення, керування сервоприводом, підключення сервоприводу, різновиди сервоприводів та їх порівняння. Давайте приступимо і почнемо з того, що таке сервопривід.

Поняття сервоприводу

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

Якщо сказати повніше, сервопривід - це привід з керуванням через негативний зворотний зв'язок, що дозволяє точно керувати параметрами руху. Сервоприводом є будь-який тип механічного приводу, що має у складі датчик (положення, швидкості, зусилля і т.п.) і блок управління приводом, що автоматично підтримує необхідні параметри на датчику та пристрої згідно з заданим зовнішнім значенням.

Іншими словами:

    Сервопривід отримує на вхід значення параметра, що управляє. Наприклад, кут повороту

    Блок керування порівнює це значення зі значенням на своєму датчику

    На основі результату порівняння привід робить деяку дію, наприклад: поворот, прискорення або уповільнення так, щоб значення з внутрішнього датчика стало якомога ближче до значення зовнішнього параметра, що управляє

Найбільш поширені сервоприводи, що утримують заданий кут і сервоприводи, що підтримують задану швидкість обертання.

Типовий хобі-сервопривід зображений нижче.

Яким чином влаштовані сервоприводи?

Пристрій сервоприводу

Сервоприводи мають кілька складових частин.

Привід – електромотор з редуктором. Щоб перетворити електрику на механічний поворот, необхідний електромотор. Однак найчастіше швидкість обертання двигуна буває занадто великою для практичного використання. Для зниження швидкості використовується редуктор: механізм з шестерень, що передає та перетворює крутний момент.

Включаючи та вимикаючи електромотор, можна обертати вихідний вал – кінцеву шестерню сервоприводу, до якої можна прикріпити щось, чим ми хочемо керувати. Проте, щоб положення контролювалося пристроєм, необхідний датчик зворотного зв'язку - енкодер, який буде перетворювати кут повороту назад на електричний сигнал. Для цього часто використовується потенціометр. При повороті бігунка потенціометра відбувається зміна опору, пропорційне куту повороту. Таким чином, за його допомогою можна встановити поточний стан механізму.

Крім електромотора, редуктора та потенціометра в сервоприводі є електронна начинка, яка відповідає за прийом зовнішнього параметра, зчитування значень з потенціометра, їх порівняння та включення/вимикання мотора. Вона й відповідає за підтримку негативного зворотного зв'язку.

До сервоприводу тягнеться три дроти. Два з них відповідають за живлення мотора, третій доставляє сигнал, що управляє, який використовується для виставлення положення пристрою.

Тепер давайте подивимося, як управляти сервоприводом ззовні.

Управління сервоприводом. Інтерфейс керуючих сигналів

Щоб вказати сервоприводу бажане положення, призначений для цього дроту необхідно посилати керуючий сигнал. Керуючий сигнал - імпульси постійної частоти та змінної ширини.

Те, яке положення має зайняти сервопривід, залежить від довжини імпульсів. Коли сигнал надходить у схему, що управляє, наявний в ній генератор імпульсів виробляє свій імпульс, тривалість якого визначається через потенціометр. Інша частина схеми порівнює тривалість двох імпульсів. Якщо тривалість різна, вмикається електромотор. Напрямок обертання визначається тим, який із імпульсів коротший. Якщо довжини імпульсів дорівнюють, електромотор зупиняється.

Найчастіше у хобі-сервах імпульси виробляються із частотою 50 Гц. Це означає, що імпульс випромінюється і приймається раз на 20 мс. Зазвичай тривалість імпульсу в 1520 мкс означає, що сервопривод повинен зайняти середнє положення. Збільшення або зменшення довжини імпульсу змусить сервопривід повернутися за годинниковою або проти годинникової стрілки відповідно. При цьому існують верхня та нижня межі тривалості імпульсу. У бібліотеці Servo для Arduino за замовчуванням виставлено такі значення довжин імпульсу: 544 мкс – для 0° та 2400 мкс – для 180°.

Зверніть увагу, що на вашому конкретному пристрої заводські установки можуть виявитися відмінними від стандартних. Деякі сервоприводи використовують ширину імпульсу 760 мкс. Середнє положення відповідає 760 мкс, аналогічно тому, як у звичайних сервоприводах середньому положенню відповідає 1520 мкс.

Також варто відзначити, що це лише загальноприйняті довжини. Навіть у рамках однієї і тієї ж моделі сервоприводу може існувати похибка, що допускається при виробництві, що призводить до того, що робочий діапазон довжин імпульсів трохи відрізняється. Для точної роботи кожен конкретний сервопривід може бути відкалібрований: шляхом експериментів необхідно підібрати коректний діапазон, характерний саме нього.

На що ще варто звернути увагу, то це на плутанину в термінології. Часто спосіб керування сервоприводами називають PWM/ШИМ (Pulse Width Modulation) або PPM (Pulse Position Modulation). Це не так і використання цих способів може навіть пошкодити привід. Коректний термін – PDM (Pulse Duration Modulation). У ньому вкрай важлива довжина імпульсів і не така важлива частота їх появи. 50 Гц - це норма, але сервопривід працюватиме коректно і за 40, і за 60 Гц. Єдине, що потрібно при цьому мати на увазі - те, що при сильному зменшенні частоти він може працювати ривками і на зниженій потужності, а при сильному завищенні частоти (наприклад, 100 Гц) може перегрітися і вийти з ладу.

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

Тепер давайте розберемося, які бувають сервоприводи і які характеристики вони мають.

Крутний момент і швидкість повороту

Спочатку поговоримо про дві дуже важливі характеристики сервоприводу: про крутний моменті про швидкості повороту.

Момент сили, або момент, що крутить, - векторна фізична величина, що дорівнює добутку радіус-вектора, проведеного від осі обертання до точки докладання сили, на вектор цієї сили. Характеризує обертальну дію сили на тверде тіло.

Простіше кажучи, ця характеристика показує, наскільки важкий вантаж сервопривід здатний утримати спокої на важелі заданої довжини. Якщо момент сервоприводу, що крутить, дорівнює 5 кг×см, то це означає, що сервопривід утримає на вазі в горизонтальному положенні важіль довжини 1 см, на вільний кінець якого підвісили 5 кг. Або що еквівалентно, важіль довжини 5 см, до якого підвісили 1 кг.

Швидкість сервоприводу вимірюється інтервалом часу, який потрібний важелю сервоприводу, щоб повернутися на 60°. Характеристика 0,1 с/60 ° означає, що сервопривід повертається на 60 ° за 0,1 с. З неї нескладно обчислити швидкість у більш звичній величині, оборотах за хвилину, але так склалося, що при описі сервоприводів найчастіше використовують таку одиницю.

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

Звичайно, ми завжди можемо взяти установку, що споживає велику потужність, головне, щоб її характеристики задовольняли потреби.

Форм-фактор

Сервоприводи різняться за розмірами. І хоча офіційної класифікації немає, виробники давно дотримуються кількох розмірів із загальноприйнятим розташуванням кріпильних елементів. Їх можна розділити на:

    маленькі

    стандартні

Мають вони при цьому такі характерні габарити:

Бувають ще так звані сервоприводи «спеціального виду» з габаритами, що не потрапляють до цієї класифікації, проте відсоток таких сервоприводів дуже малий.

Внутрішній інтерфейс

Сервоприводи бувають аналогові та цифрові. То в чому ж їхні відмінності, переваги та недоліки?

Зовні вони нічим не відрізняються: електромотори, редуктори, потенціометри у них однакові, вони відрізняються лише внутрішньою керуючою електронікою. Замість спеціальної мікросхеми аналогового сервоприводу у цифрового побратима можна побачити на платі мікропроцесор, який приймає імпульси, аналізує їх і керує двигуном. Таким чином, у фізичному виконанні відмінність лише у способі обробки імпульсів та керуванні мотором.

Обидва типи сервоприводу приймають однакові імпульси, що управляють. Після цього аналоговий сервопривід приймає рішення, чи треба змінювати положення, і в разі потреби посилає сигнал на двигун. Відбувається це зазвичай із частотою 50 Гц. Таким чином отримуємо 20 мс – мінімальний час реакції. У цей час будь-яка зовнішня дія здатна змінити положення сервоприводу. Але це єдина проблема. У стані спокою на електромотор не подається напруга, у разі невеликого відхилення від рівноваги на електромотор подається короткий сигнал малої потужності. Чим більше відхилення, тим сильніший сигнал. Таким чином, при малих відхиленнях сервопривід не зможе швидко обертати двигун або розвивати великий момент. Утворюються «мертві зони» за часом та відстанню.

Ці проблеми можна вирішувати за рахунок збільшення частоти прийому, обробки сигналу та керування електромотором. Цифрові сервприводи використовують спеціальний процесор, який отримує управляючі імпульси, обробляє їх і посилає сигнали на двигун із частотою 200 Гц і більше. Виходить, що цифровий сервопривід здатний швидше реагувати на зовнішні впливи, швидше розвивати необхідні швидкість і момент, що крутить, а значить, краще утримувати задану позицію, що добре. Звичайно, при цьому він споживає більше електроенергії. Також цифрові сервоприводи складніші у виробництві, а тому коштують помітно дорожче. Власне, ці два недоліки – всі мінуси, які є у цифрових сервоприводів. У технічному плані вони безперечно перемагають аналогові сервоприводи.

Матеріали шестерень

Шестерні для сервоприводів бувають із різних матеріалів: пластикові, карбонові, металеві. Всі вони широко використовуються, вибір залежить від конкретної задачі та від того, які характеристики потрібні в установці.

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

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

Металеві шестерні є найважчими, проте вони витримують максимальні навантаження. Досить швидко зношуються, тому доведеться міняти шестірні практично кожен сезон. Шестерні з титану - фаворити серед металевих шестерень, причому як за технічними характеристиками, так і за ціною. На жаль, вони обійдуться вам досить дорого.

Колекторні та безколекторні мотори

Існує три типи моторів сервоприводів: звичайний мотор із сердечником, мотор без сердечника та безколекторний мотор.

Звичайний мотор із сердечником (праворуч) володіє щільним залізним ротором із дротяною обмоткою та магнітами навколо нього. Ротор має кілька секцій, тому коли мотор обертається, ротор викликає невеликі коливання мотора при проходженні секцій повз магніти, а в результаті виходить сервопривід, який вібрує і є менш точним, ніж сервопривід з мотором без сердечника. Мотор з порожнистим ротором (ліворуч) має єдиний магнітний сердечник з обмоткою у формі циліндра або дзвони навколо магніту. Конструкція без сердечника легша за вагою і не має секцій, що призводить до більш швидкого відгуку та рівної роботи без вібрацій. Такі мотори дорожчі, але вони забезпечують більш високий рівень контролю, моменту, що обертає, і швидкості в порівнянні зі стандартними.

Сервоприводи з безколекторним двигуном з'явилися порівняно недавно. Переваги ті ж, що і в інших безколекторних моторів: немає щіток, а значить вони не створюють опір обертанню і не зношуються, швидкість і момент вище при струмоспоживання рівному колекторним моторам. Сервоприводи з безколекторним мотором - найдорожчі сервоприводи, проте при цьому вони мають кращі характеристики порівняно з сервоприводами з іншими типами моторів.

Підключення до Arduino

Багато сервоприводів можуть бути підключені до Arduino безпосередньо. Для цього від них йде шлейф із трьох дротів:

    червоний – харчування; підключається до контакту 5V або безпосередньо до джерела живлення

    коричневий або чорний – земля

    жовтий або білий – сигнал; підключається до цифрового виходу Arduino.

Для підключення Arduino буде зручно скористатися платою-розширювачем портів, такий як Troyka Shield . Хоча з кількома додатковими проводами можна підключити серву через breadboard або безпосередньо до контактів Arduino.

Можна генерувати керуючі імпульси самостійно, але це настільки поширене завдання, що для її спрощення існує стандартна бібліотека Servo.

Обмеження харчування

Звичайний хобі-сервопривід під час роботи споживає понад 100 мА. При цьому Arduino здатне видавати до 500 мА. Тому, якщо вам у проекті необхідно використовувати потужний сервопривід, є сенс задуматися про виділення його в контур із додатковим харчуванням.

Розглянемо з прикладу підключення 12V сервопривода:

Обмеження за кількістю сервоприводів, що підключаються.

На більшості плат Arduino бібліотека Servo підтримує управління не більше 12 сервоприводами, на Arduino Mega це число зростає до значення 48. При цьому є невеликий побічний ефект використання цієї бібліотеки: якщо ви працюєте не з Arduino Mega, то стає неможливим використовувати функцію analogWrite() на 9 та 10 контактах незалежно від того, підключені сервоприводи до цих контактів чи ні. На Arduino Mega можна підключити до 12 сервоприводів без порушення функціонування ШІМ/PWM, при використанні більшої кількості сервоприводів ми не зможемо використовувати analogWrite() на 11 та 12 контактах.

Функціонал бібліотеки Servo

Бібліотека Servo дозволяє здійснювати програмне керування сервоприводами. Для цього заводиться змінна типу Servo. Управління здійснюється такими функціями:

    attach() - приєднує змінну до конкретного піну. Можливі два варіанти синтаксису для цієї функції: servo.attach(pin) та servo.attach(pin, min, max). При цьому pin - номер піна, до якого приєднують сервопривід, min і max - довжини імпульсів мікросекундах, відповідальних за кути повороту 0° і 180°. За замовчуванням виставляються рівними 544 мкс та 2400 мкс відповідно.

    write() - дає команду сервоприводу прийняти певне значення параметра. Синтаксис наступний: servo.write(angle) , де angle - кут, який має повернутися сервопривод.

    writeMicroseconds() - віддає команду послати на сервоприводимульс певної довжини, є низькорівневим аналогом попередньої команди. Синтаксис наступний: servo.writeMicroseconds(uS) , де uS - довжина імпульсу в мікросекундах.

    read() - Читає поточне значення кута, в якому знаходиться сервопривід. Синтаксис наступний: servo.read() повертається ціле значення від 0 до 180.

    attached() - перевірка, чи приєднана змінна до конкретного піну. Синтаксис наступний: servo.attached() , повертається логічна істина, якщо змінна була приєднана до якогось піну, або брехня у протилежному випадку.

    detach() - чинить дію, зворотне дії attach() , тобто від'єднує змінну від піна, до якого вона була приписана. Синтаксис наступний: servo.detach().

Усі методи бібліотеки Servo2 збігаються з методами Servo.

Приклад використання бібліотеки Servo

Замість ув'язнення

Сервоприводи бувають різні, одні кращі - інші дешевші, одні надійніші - інші точніше. І перед тим, як купити сервопривід, варто мати на увазі, що він може не мати кращі характеристики, головне, щоб підходив для вашого проекту. Успіхів у ваших починаннях!

Сервопривід (привід, що стежить)- Привід з керуванням через негативний зворотний зв'язок, що дозволяє точно управляти параметрами руху.
Сервоприводом є будь-який тип механічного приводу (пристрою, робочого органу), що має у складі датчик (положення, швидкості, зусилля тощо) і блок управління приводом (електронну схему або механічну систему тяг), що автоматично підтримує необхідні параметри на датчику (і відповідно, на пристрої) відповідно до заданого зовнішнього значення (положення ручки управління або чисельного значення від інших систем).
Матеріал з Вікіпедії – вільної енциклопедії

Сервопривід - це система приводу, яка в широкому діапазоні регулювання швидкості забезпечує динамічні, високоточні процеси та забезпечує хорошу їх повторюваність. Це система, призначена для відпрацювання моменту, швидкості та позиції із заданою точністю та динамікою. Класичний сервопривідскладається з двигуна, датчика позиції та системи управління, що має три контури регулювання (по позиції, швидкості та струму).

Слово "серво" походить від латинського слова "servus", що перекладається як слуга, раб, помічник. У машинобудівних галузях вони були переважно допоміжними приводами (приводи подач у верстатах, приводи роботів тощо). Однак сьогодні ситуація змінилася, тепер головні приводи реалізуються з використанням сервотехніки.

В даний час, сервоприводизастосовуються там, де недостатньо точності регулювання звичайних загальнопромислових перетворювачів частоти. Застосування високоякісних сервоприводівнеобхідно у високопродуктивному устаткуванні, де головним критерієм є продуктивність. Сервоприводамиоснащуються прецизійні системи підтримки швидкості та позиціонування промислових роботів та високоточних верстатів. Сервоприводитакож встановлюються на координатно-свердлильних верстатах, на різних технологічних транспортних системах, на різних допоміжних механізмах та ін. сервоприводи.

Універсальний сервопривід

Універсальний сервопривідхарактеризується багатим набором функцій, можливістю управління серводвигунами різного типу (як синхронними, так і асинхронними), можливістю роботи з різними датчиками зворотного зв'язку, а також наявністю ряду опцій та розширень. Розглянемо універсальний Сервопривідна прикладі KEB F5-Multi (Німеччина) та Control Techniques Unidrive SP. (Англія)

Сервопривідна базі KEB F5-Multi

Сервопривід КЕВ" align="RIGHT" width="20%" border="0">

Контролер електроприводу з контуром зворотного зв'язку для синхронних та асинхронних двигунів. Спеціально розроблений для роботи в замкнутому контурі, можливі варіанти зворотного зв'язку з:

    резольвером

    енкодером

    Sin-Cos датчиком положення

    абсолютним датчиком положення

    EnDat, Hiperface або тахогенератором

Основні можливості та характеристики:

    широкий діапазон потужностей

    напруга живлення 220 або 380 В

    можливе живлення постійним струмом

    безсенсорне керування двигуном

    гальванічно розв'язані аналогові та цифрові входи/виходи

    релейні та транзисторні програмовані виходи

Можлива реалізація концепції децентралізованого керування системою приводів завдяки наявності:

    регулювання швидкості обертання та крутного моменту

    управління позиціонуванням

    режимів узгодженого обертання

Кулачкових перемикачів

Електронний кулачковий диск

Одноосьового позиціонування

Позиціювання поворотного столу

Всі приводи підтримують послідовні інтерфейси Profibus, CAN, Sercos, InterBus, DeviceNet, Modbus, Ethernet, Ethercat, Powerlink, Profinet та KEB-HSP5/DIN 66019-II.


Виконавчий та спеціальний Сервопривід

Виконавчий сервопріод працює під керуванням контролера руху, має обмежений набір функцій та налаштувань, простий у роботі. Тому виконавчий сервопріод є більш економічним. Розглянемо виконавчі Сервоприводина прикладі синхронних сервоприводів Mecapion.

Виконавчий сервопривід Mecapion

Синхронні Сервоприводи Mecapion (ex. Metronix) – базовий продукт для системних рішень у галузі промислової автоматизації давно знайомий російським споживачам.

Основні особливості сервоприводів Metronix

    діапазон потужностей від 0,03 до 11 кВт

    вбудований комплект рекуператора, що дозволяє повертати енергію в мережу, та вбудований ключ скидання енергії при динамічних гальмуваннях

    тестовий режим роботи перетворювачів частоти

    функції усунення вібрацій при обертанні двигуна та його зупинці дозволяють виключити роботу перетворювача частоти в коливальному режимі як при налагодженні, так і в експлуатації

    можливість використання як відносних, так і абсолютних інкрементальних датчиків положення

    вибір режиму роботи системи управління - управління за швидкістю або за моментом

    наявність розширеного пакета програмного забезпечення дозволяє легко та швидко змінювати функції перетворювача частоти та вирішувати на його базі різні технічні завдання (в т. ч. щодо реалізації управління приводами подачі)

    наявність у лінійці продукції Metronix двигунів з порожнім валом дозволяє виключити з кінематичної схеми проміжний пристрій - сполучну муфту

    програмовані виходи дозволяють будувати системи з високим ступенем захисту від різних нештатних ситуацій та з максимальною інформативністю для оператора

Серія VS - стандартна загальнопромислова, реалізує управління за швидкістю, моментом (±10 В) та положенням (step/dir).

Перетворювачі частоти серії VS можуть працювати у таких режимах:

    керування позицією при використанні зовнішнього контролера, що задає послідовність імпульсів.

    керування швидкістю по аналоговому входу або дискретним входам.

    керування моментом аналогового входу в режимі обмеження максимального моменту.

    керування швидкістю/позицією.

    керування швидкістю/моментом.

    керування позицією/моментом.

Спеціальна серія VP призначена для виконання спеціальних завдань:

    лінійно-координатне позиціонування з можливістю вибору до 64 позицій шістьма дискретними входами (VP1), типова сфера застосування - забезпечення лінійного переміщення в системах з трансмісією на ШВП

    кутове позиціонування з можливістю вибору до 32 позицій п'ятьма дискретними входами (VP2), типова сфера застосування – поворотні столи, роторні конвеєрні лінії, пристрої автоматичної зміни інструменту тощо.

    позиціонування з використанням подачі дотягування (VP3), типова сфера застосування - пакувальні машини, всілякі види пристроїв, що подають з позиціонуванням як за сигналом з енкодера на валу двигуна, так і за позначкою зовнішнього дискретного датчика

    програмоване покрокове позиціонування з можливістю вибору до 8 програм трьома дискретними входами (VP5), кожна програма може мати до 100 кроків (позицій), що зберігаються в пам'яті перетворювача частоти

    для зв'язку перетворювача частоти VS та персонального (промислового) комп'ютера використовується вбудований СОМ-порт, при необхідності через конвертор RS232/RS485 перетворювачі частоти можна об'єднати в мережу

Інтегрований Сервопривід

align="RIGHT" width="30%" border="0">

Головною відмінною рисою, а також переважною перевагою, інтегрованого сервоприводує висновок двигуна, контролера, датчика зворотного зв'язку та перетворювача частоти в єдиному корпусі. Що зводить до мінімуму монтажні операції, спрощує підключення та налаштування, скорочує час на налагоджувальні роботи, значно економить місце, а також позитивно позначається на вартості. сервоприводу.

На російському ринку вже встигли себе добре себе проявити і зарекомендувати вітчизняні інтегровані крокові СервоприводиСПШ.

    безкрокове (векторне) управління на основі адаптованого для крокових двигунів алгоритму

    високі динамічні показники за рахунок використання замкнутих контурів регулювання струмів в обмотках двигуна

    використання замкнутих контурів швидкості

    низька вібрація за рахунок зусилля, що динамічно регулюється

    продумана конструкція та простий монтаж

    компактні розміри та невелика маса

Режими роботи сервоприводуСПШ

Динамічний - сигнал керування від контролера верхнього рівня передається через цифровий інтерфейс в режимі реального часу. Динамічний режим використовується в системах, що потребують контурного керування (наприклад, у маніпуляторах зі складною кінематикою та координатними столами для точного позиціонування).

Аналоговий - керування за швидкістю сигналом ±10 В. Даний режим дозволяє використовувати привід для модернізації обладнання з аналоговими системами керування або керування вручну (наприклад, за допомогою штурвала).

Циклічний - виконання запрограмованих контролером верхнього рівня та збережених у пам'яті приводу циклічних операцій. Нерідко це дозволяє виключити зовнішній контролер верхнього рівня чи СЧПУ. Циклічний режим використовується, наприклад, на конвеєрах та в нескладних складальних операціях.

Мережевий – даний режим дозволяє користувачеві будувати розподілені сервосистеми на основі цифрового інтерфейсу CAN, реалізовувати синхронне або послідовне переміщення кількох осей. У цьому випадку також можливе використання режиму "master-slave", в якому ведений привід працює в режимі повторювача положення ведучого вала.

У конструкціях сучасного обладнання, що створюється на базі високих технологій, постійно розвиваються та вдосконалюються різні автоматичні процеси. Серед них широкого поширення набув сервопривід, що встановлюється з метою здійснення окремими елементами та деталями постійних динамічних рухів. Ці пристрої забезпечують постійний контроль над кутами повороту валу, встановлюють необхідну швидкість приладів електромеханічного типу.

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

Пристрій сервоприводу

Основні деталі, з яких складається типовий серводвигун - ротор та статор. Для комутації застосовуються спеціальні комплектуючі у вигляді штекерів та клемних коробок. Управління, контроль та корекція процесів здійснюється за допомогою окремого керуючого вузла. Для увімкнення та вимикання сервоприводу використовується окрема система. Всі деталі розміщуються в загальному корпусі.

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

Різниця між сервоприводом і звичайним електродвигуном полягає у можливості встановлення валу в точно задане положення, яке вимірюється в градусах. Встановлене положення, як і інші параметри, підтримуються блоком управління.

Їх принцип роботи полягає у перетворенні електричної енергії на механічну, за допомогою електродвигуна. Як привод використовується редуктор, що дозволяє знизити швидкість обертання до необхідного значення. До складу цього пристрою входять вали з шестернями, що перетворюють і передають крутний момент.

Як працює сервопривід

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

Цей датчик відомий також під назвою енкодера або потенціометра. При повороті бігунка його опір буде змінюватися. Зміни опору знаходиться у прямій пропорційній залежності з кутом повороту енкодера. Даний принцип роботи дозволяє встановлювати та фіксувати механізми у певному положенні.

Додатково кожен серводвигун має електронну плату, що обробляє зовнішні сигнали, що від потенціометра. Далі виконується порівняння параметрів, за результатами якого здійснюється запуск чи зупинка електродвигуна. Отже, за допомогою електронної плати підтримується негативний зворотний зв'язок.

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

Запобігти надмірному динамічному навантаженню на електродвигун можливо за допомогою плавного розгону або такого ж плавного гальмування. Для цього застосовуються складніші мікроконтролери, що забезпечують більш точний контроль та керування позицією робочого елемента. Як приклад можна навести жорсткий диск комп'ютера, у якому головки встановлюються на потрібну позицію з допомогою точного приводу.

Управління серводвигуном

Основна умова, щоб серводвигун міг нормально працювати, полягає в їхньому функціонуванні спільно з так званою системою G-кодів. Ці коди є набір команд управління, закладений у спеціальну програму.

Якщо як приклад взяти ЧПУ - числове програмне управління, то в даному випадку сервоприводи взаємодіятимуть з . Відповідно до рівня вхідної напруги вони здатні змінити значення напруги на збудливій обмотці або якорі електродвигуна.

Безпосереднє управління серводвигуном і системою здійснюється з одного місця - блоку управління. Коли звідси надходить команда на проходження певної відстані по осі координат Х, в цифровому аналоговому перетворювачі виникає напруга певної величини, яка надходить як живлення приводу цієї координати. У серводвигуні починається обертальний рух ходового гвинта, пов'язаного з енкодером та виконавчим органом основного механізму.

В енкодер виробляються імпульси, що підраховуються блоком, що виконує управління сервоприводом. У програмі закладено відповідність певної кількості сигналів з енкодера, встановленому відстані, яку має пройти виконуючий механізм. У потрібний час аналоговий перетворювач, отримавши встановлену кількість імпульсів, припиняє видачу вихідної напруги, в результаті серводвигун зупиняється. Так само під впливом імпульсів відновлюється напруга, і відновлюється робота всієї системи.

Види та характеристики

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

Крім того, кожен сервомотор може бути синхронним та асинхронним. Синхронні пристрої мають здатність задавати високоточну швидкість обертання, а також кути поворотів та прискорення. Ці приводи швидко набирають номінальну швидкість обертання. Сервоприводи в асинхронному виконанні управляються за рахунок зміни параметрів струму, коли його частота змінюється за допомогою інвертора. Вони з високою точністю витримують задану швидкість навіть за найнижчих обертів.

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

Кожен сервопривід характеризується певними параметрами:

  • Крутний момент або зусилля, що створюється на валу. Вважається найважливішим показником роботи сервоприводу. Для кожної величини напруги існує власний момент, що крутить, що відображається в паспорті виробу.
  • Швидкість повороту. Даний параметр являє собою певний період часу, який потрібно змінити позицію вихідного валу на 600. Ця характеристика також залежить від конкретного значення напруги.
  • Максимальний кут повороту, який може розвернутися вихідний вал. Найчастіше ця величина становить 180 чи 3600.
  • Усі сервоприводи поділяються на цифрові та аналогові. Залежно від цього здійснюється управління сервоприводом.
  • Живлення серводвигунів. У більшості моделей використовують напругу від 4,8 до 7,2В. Живлення та управління здійснюється за допомогою трьох провідників.
  • Можливість модернізації в сервопривід постійного обертання.
  • Матеріали для редуктора можуть використовуватися різні. Шестерні виготовляються із металу, карбону, пластику або комбінованих складів. Кожен з них має свої переваги і недоліки. Наприклад, пластикові деталі погано витримують ударні навантаження, але стійкі до зношування в процесі тривалої експлуатації. Металеві шестерні, навпаки, швидко зношуються, зате вони мають високу стійкість до динамічних навантажень.

Плюси та мінуси сервомоторів

Завдяки уніфікованим розмірам ці пристрої легко і просто встановлюються в будь-які конструкції. Вони безвідмовні та надійні, кожен із них працює практично безшумно, що має велике значення при їх експлуатації на складних та відповідальних ділянках. Навіть на невисоких швидкостях можна досягти точності та плавних переміщень. Кожен сервопривід може бути налаштований персоналом, залежно від вирішення тих чи інших завдань.

Як недоліки відзначаються певні складності при налаштуваннях та порівняно висока вартість.