Популярные статьи

BMW 3-series Coupe (Бмв ) 2006-2009: описание, характеристики, фото, обзоры и тесты

С сентября 2006 года серийно выпускается БМВ 3-й серии купе (Е92). Невзирая на свое техническое родство с седаном и Touring, купе БМВ 3-й серии имеет

Длительный тест Range Rover Sport: часть вторая

Аш длительный тест Range Rover Sport Supercharged подошел к концу. Первая хорошая новость: машину не угнали! Вторая: несмотря на соблазн, за

Audi E-tron (Ауди ) 2010: описание, характеристики, фото, обзоры и тесты

Audi E-tron, представленный на автосалоне в Детройте в январе 2010 года, совсем не то же самое, что E-tron, который выставлялся осенью на IAA 2009 во

Принципы ухода за АКБ зимой

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

SEAT Toledo (Сиат Толедо) 1998-2004: описание, характеристики, фото, обзоры и тесты

Эта модель расширяет присутствие компании SEAT в сегменте рынка престижных автомобилей. Toledo - первый автомобиль компании дизайн которого выполнен

В 2000 г. семейство японских Corolla лишь обновилось. Спрос на эти машины падал и классическая Corolla уже не устраивала японских покупателей. Как

Skoda Octavia (Шкода Октавия) 1996-1999: описание, характеристики, фото, обзоры и тесты

Skoda Octavia - это современный переднеприводной автомобиль с поперечным расположением двигателя. На нём может стоять один из пяти моторов концерна

Chrysler PT Cruiser (Крайслер Пт крузер) 1999-2010: описание, характеристики, фото, обзоры и тесты

Дебют серийной модели PT Cruiser состоялся в 1999 году в Детройте. Компании Chrysler удалось зацепить ностальгическую струну в душе каждого простого

Примеряем Audi A6 Allroad и A8 Hybrid к нашим дорогам

Компания сыграла на контрасте, представив одновременно две модели, совершенно противоположные по идеологии: сверхэкономичный лимузин-гибрид А8 и

Toyota Tundra Crew Max (Тойота Тундра Crew Max) 2006-2009: описание, характеристики, фото, обзоры и тесты

Toyota Tundra (Тойота Тундра) проектировался как грузовик. Мощный двигатель, основательная рама и большая грузоподъемность... вот что отличает этот

Архив сайта
Облако тегов
Календарь

Підключення сервоприводу до Arduino

  1. Пристрій сервомотора (servo)
  2. Як підключити сервопривід до Ардуіно
  3. Скетч для сервоприводу на Ардуіно
  4. Пояснення до коду:
  5. Управління сервоприводом потенціометром
  6. Скетч для сервоприводу з потенціометром
  7. Пояснення до коду:

Як підключити та управляти сервоприводом на Ардуіно Розглянемо пристрій і принцип роботи сервоприводів, розберемо скетчі для управління сервоприводу.

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

Пристрій сервомотора (servo)

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

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

Що таке сервопривід. Схема пристрою сервоприводу

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

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

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

Управління сервоприводом за допомогою широко-імпульсної модуляції

Як підключити сервопривід до Ардуіно

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

Для заняття нам знадобляться наступні деталі:

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

Схема підключення сервоприводу до Ардуіно UNO

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

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

#include <Servo .h> // підключаємо бібліотеку для роботи з сервоприводом 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 .h> // підключаємо бібліотеку для роботи з сервоприводом 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)) зчитує значення кута повороту вала сервоприводу і передає його на монітор порту.

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