Вивчаємо серводвигун
Що таке серводвигун (сервопривід)?
Un серводвигун, або просто сервопривід, - це електронний двигун, схожий на звичайні двигуни постійного струму, але з деякими елементами, які роблять їх особливими. У цьому випадку він має можливість утримувати позицію, яка вказана, чого не дозволяють електродвигуни.
З іншого боку, сервопривід також може точно контроль швидкість обертання завдяки ряду внутрішніх передач та системі, яка дозволяє набагато краще керувати, ніж це можна було зробити в інших типах двигунів.
Ці особливості роблять це особливо цікавим для застосування робототехніки або для інших пристроїв, де необхідно контролювати рух і положення, наприклад, принтера або автомобіля з дистанційним управлінням. У цьому типі радіокерованого автомобіля є звичайний двигун для керування автомобілем та сервопривід для рульового управління, за допомогою якого можна точно керувати поворотом.
Різниця між кроковим двигуном та сервомотором
Якщо вам цікаво різниця між сервомотором та кроковим двигуном, правда полягає в тому, що їх можна переплутати, оскільки в кроковому двигуні або кроковому двигуні обертання також можна контролювати досить точно, а додатки дуже схожі на сервопривід. Натомість є деякі відмінності.
І це те, що зазвичай використовують сервомотори рідкісноземельні магніти, тоді як крокові двигуни використовують дешевші та більш звичні магніти. Таким чином, сервопривід може досягти більш високого розвитку крутного моменту, незважаючи на те, що залишається компактним. Тому сила повороту буде дуже великою.
Технічні характеристики
Щоразу, коли ви купуєте сервопривід, вам слід ознайомитися з його технічним паспортом або технічним паспортом. Таким чином, ви забезпечите технічні характеристики він має, але також межі, до яких ви можете його піддавати, такі як напруга, інтенсивність, максимальне навантаження, крутний момент тощо. Пам’ятайте, що кожна модель може бути абсолютно різною.
Наприклад, якщо ви подивитесь на один з найпопулярніших, Micro Servo 9G SG90 від відома фірма Tower Pro, тоді у вас будуть деякі дуже своєрідні характеристики, хоча програмування та підключення моделей більш-менш однакові, і все сказане тут корисно для будь-кого.
У випадку з цією моделлю це високоякісний двигун з кутом повороту, що дозволяє розмах між -90 і 90º, тобто загальний поворот на 180º. Роздільна здатність, яку ви можете досягти, дуже висока, тому ви зможете просуватися дуже потроху. Наприклад, з обмеженнями сигналу ШІМ Arduino UNO, ви навіть могли отримати аванс від класу до класу.
Подібним чином, ШІМ-сигнал також вводить іншу межу, і це кількість разів, коли кожна позиція може змінюватися за одиницю часу. Наприклад, оскільки імпульси працюють з 1 до 2 мс і з Періоди 20 мс (50 Гц), тоді сервопривід може рухатися один раз на 20 мс.
Крім того, він матиме вагу 9 грам, і, незважаючи на цю вагу та компактні розміри, він може розвинути крутний момент або крутний момент 1.8 кг / см з 4.8v. Це завдяки набору передач POM.
Нарешті, ви вже знаєте, що залежно від того, чого ви хочете досягти, вам доведеться вибрати ту чи іншу модель, щоб вона мала функції, необхідні для вашого проекту. Тобто, це не те саме, що ви хочете, щоб двигун переміщав вантаж X, ніж той, що відповідає XX ...
Інтеграція з Arduino
Як ви можете бачити на зображенні вище, сервопривід підключається дуже легко до Ардуїно. Він має лише три кабелі, які ви можете підключити таким чином:
- Червоний з 5В
- Чорний із GND
- Жовтий з ШІМ-сигналом Arduino, в даному випадку з -9.
Для того, щоб запрограмувати ескіз для початку використання цих типів двигунів, у вас є кілька варіантів. Але, перш за все, щоб почати, треба додати бібліотеку IDE Arduino для керування цим типом сервомоторів:
- Відкрийте IDE Arduino.
- Перейдіть до програми.
- Потім включіть бібліотеку.
- Сервопривід
Щодо код ескізу, це може бути настільки просто, коли сервопривід буде проходити свої позиції, зупиняючись на 0º, 90º та 180º:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | //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); } |
Тепер, якщо ви хочете переміщати його від ступеня до ступеня, то це було б так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | // 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); } }
|
Комментариев нет:
Отправить комментарий