Сервопривід: як користуватися серводвигуном з Arduino

сервопривід, сервомотор

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

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

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

сервопривод

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

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

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

Різниця між кроковим двигуном та сервомотором

Нема 17

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

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

Технічні характеристики

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

Наприклад, якщо ви подивитесь на один з найпопулярніших, Micro Servo 9G SG90 від відома фірма Tower Pro, тоді у вас будуть деякі дуже своєрідні характеристики, хоча програмування та підключення моделей більш-менш однакові, і все сказане тут корисно для будь-кого.

У випадку з цією моделлю це високоякісний двигун з кутом повороту, що дозволяє розмах між -90 і 90º, тобто загальний поворот на 180º. Роздільна здатність, яку ви можете досягти, дуже висока, тому ви зможете просуватися дуже потроху. Наприклад, з обмеженнями сигналу ШІМ Arduino UNO, ви навіть могли отримати аванс від класу до класу.

Подібним чином, ШІМ-сигнал також вводить іншу межу, і це кількість разів, коли кожна позиція може змінюватися за одиницю часу. Наприклад, оскільки імпульси працюють з 1 до 2 мс і з Періоди 20 мс (50 Гц), тоді сервопривід може рухатися один раз на 20 мс.

Крім того, він матиме вагу 9 грам, і, незважаючи на цю вагу та компактні розміри, він може розвинути крутний момент або крутний момент 1.8 кг / см з 4.8v. Це завдяки набору передач POM.

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

Де придбати сервопривід

серводвигун

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

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

Інтеграція з Arduino

серво ардуіно

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

  • Червоний з 5В
  • Чорний із GND
  • Жовтий з ШІМ-сигналом Arduino, в даному випадку з -9.

Для того, щоб запрограмувати ескіз для початку використання цих типів двигунів, у вас є кілька варіантів. Але, перш за все, щоб почати, треба додати бібліотеку IDE Arduino для керування цим типом сервомоторів:

  1. Відкрийте IDE Arduino.
  2. Перейдіть до програми.
  3. Потім включіть бібліотеку.
  4. Сервопривід

Щодо код ескізу, це може бути настільки просто, коли сервопривід буде проходити свої позиції, зупиняючись на 0º, 90º та 180º:

//Incluir la biblioteca del servo
#include <Servo.h>
 
//Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar el monitor serie
  Serial.begin(9600);
 
  // Iniciar el servo para que use el pin 9 al que conectamos
  servoMotor.attach(9);
}
 
void loop() {
  
  // Desplazar a la posición 0º
  servoMotor.write(0);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazar a la posición 90º
  servoMotor.write(90);
  // Esperar 1 segundo
  delay(1000);
  
  // Desplazamos a la posición 180º
  servoMotor.write(180);
  // Esperar 1 segundo
  delay(1000);
}

Тепер, якщо ви хочете переміщати його від ступеня до ступеня, то це було б так:

// Incluir la biblioteca servo
#include <Servo.h>
 
// Declarar la variable para el servo
Servo servoMotor;
 
void setup() {
  // Iniciar la velocidad de serie
  Serial.begin(9600);
 
  // Poner el servo en el pin 9
  servoMotor.attach(9);
 
  // Iniciar el servo en 0º
  servoMotor.write(0);
}
 
void loop() {
 
  // Los bucles serán positivos o negativos, en función el sentido del giro
  // Positivo
  for (int i = 0; i <= 180; i++)
  {
    // Desplazar ángulo correspondiente
    servoMotor.write(i);
    // Pausa de 25 ms
    delay(25);
  }
 
  // Negativo
  for (int i = 179; i > 0; i--)
  {
    // Desplazar el ángulo correspondiente
    servoMotor.write(i);
    // Pausa e 25 ms
    delay(25);
  }
}


Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.