Arduino для початківців, урок №2 - управління сервоприводом
Продовжуємо серію уроків "Arduino для початківців". Сьогодні ми з вами навчимося керувати за допомогою Arduino приладом, який називається "сервопривід" І так почнемо з поняття про СЕРВОПРИВОДИ.
поняття сервоприводу
Сервоприводи використовуються в робототехніці для управління

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

Привід - електромотор з редуктором. Щоб перетворити електрику в механічний поворот, необхідний електромотор. Однак найчастіше швидкість обертання мотора буває занадто великий для практичного використання. Для зниження швидкості використовується редуктор: механізм з шестернею, передає і перетворює крутний момент.
Включаючи і вимикаючи електромотор, можна обертати вихідний вал - кінцеву шестерню сервоприводу, до якої можна прикріпити щось, ніж ми хочемо керувати. Однак, для того щоб положення контролювалося пристроєм, необхідний датчик зворотного зв'язку - енкодер, який буде перетворювати кут повороту назад в електричний сигнал. Для цього часто використовується потенціометр. При повороті бігунка потенціометра відбувається зміна його опору, пропорційне куту повороту. Таким чином, з його допомогою можна встановити поточний стан механізму.
Крім електромотора, редуктора і потенціометра в СЕРВОПРИВОДИ є електронна начинка, яка відповідає за прийом зовнішнього параметра, зчитування значень з потенціометра, їх порівняння і включення / вимикання двигуна. Вона-то і відповідає за підтримання негативного зворотного зв'язку.
До сервоприводу тягнеться три дроти. Два з них відповідають за харчування мотора, третій приносить керуючий сигнал, який використовується для виставлення положення пристрою.
Отже ми ознайомилися з цим пристроєм і тепер перейдемо безпосередньо до підключення. Ознайомимося з необхідними компонентами для підключення.
необхідні компоненти
- плата Arduino
- Breadboard (макетна плата для зручного підключення приладів до Arduino)
- Провід
- сервопривод

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


Після підключення потрібно переходити до написання скетчу, за допомогою якого ми зможемо управляти сервоприводом. Але для початку нам необхідно завантажити та правильно встановити потрібну бібліотеку.
Бібліотека - це набір додаткових команд, який дозволяє вводити програму в спрощеному форматі.
Тут ми використовуємо бібліотеку для роботи з сервоприводами Servo.h.
Для роботи з цією бібліотекою її потрібно завантажити і встановити.
Завантажити бібліотеку можна тут.
Після того, як ми завантажили потрібну бібліотеку, її потрібно правильно встановити. викачані файли потрібно перемістити за наступним шляхом:
Диск C Progtam Files Arduino Libraries

Після того, як ми все зробили перейдемо до найважливішої сходинці, а саме до програмування.
програмування
Для початку нам потрібно скопіювати скетч представлений нижче, а трохи далі ми розберемо його детально.
Детальний пояснення скетчу
Отже приступимо, про перші чотири команди я не стану повторюватися, адже про них ви розповідали на першому уроці
Останні чотири команди програми задають кут повороту вала сервоприводу servo.write (кут повороту) і час очікування (в мілісекундах) до наступного повороту delay (час).
У вас з'явиться питання: "Коли сервопривід повертається ліворуч, а коли направо?" Або "Як зробити, щоб сервопривід повертався в певну сторону?"
Наша порада, як початкове положення найкраще встановлювати сервопривід на кут рівний 90 градусам, чому ви зрозумієте пізніше. Припустимо, що після цієї команди сервопривід повинен повернути праворуч, тоді вам потрібно задати кут більший, ніж 90 градусів, але не перевищує 180 градусів. Відповідно, щоб вал сервоприводу повернув ліворуч, вам необхідно встановити в скетчі кут менший ніж 90 градусів і до 0 градусів. Як ви бачите, все дуже просто! У нашому прикладі сервопривід повертається як наліво, так і направо для більшої наочності.
Я сподіваюся що у вас все вийшло, і ви все зрозуміли, адже наш сайт створений для цього. Якщо вам сподобався цей урок, то ви можете поділитися ним в соц.сетях.
Вам можливо буде цікаво
Як підключити lcd екран до Arduino