У цьому підручнику ми збираємося управляти сервомотором за допомогою ARDUINO UNO. Сервомотори використовуються там, де є необхідність у точному русі вала або його положенні. Вони не пропонуються для високошвидкісних програм. Вони пропонуються для низької швидкості, середнього крутного моменту та точного застосування положення. Ці двигуни використовуються в робототехнічних машинах, системах управління польотом та управління.
Сервомотори доступні різних форм і розмірів. Сервомотор буде мати в основному там дроти, один для позитивної напруги, інший для заземлення і останній для встановлення положення. ЧЕРВОНИЙ провід підключений до живлення, Чорний провід підключений до землі, а ЖОВТИЙ провід - до сигналу.
Сервомотор - це комбінація двигуна постійного струму, системи управління положенням, шестерень. Положення вала електродвигуна постійного струму регулюється керуючою електронікою в сервоприводі, виходячи з коефіцієнта завантаження ШІМ-сигналу штифтом СИГНАЛУ.
Простіше кажучи, керуюча електроніка регулює положення вала, керуючи двигуном постійного струму. Ці дані щодо положення вала передаються через штифт SIGNAL. Дані про положення управління повинні надсилатися у вигляді ШІМ-сигналу через сигнальний штифт сервомотора.
Частота сигналу ШІМ (модульована по ширині імпульсу) може змінюватися залежно від типу сервомотора. Тут найважливішим є КОЕФІЦІЄНТ ШИМ-сигналу. На основі цього ОБОВ'ЯЗКУ ОБЛАСТІ управління електроніка регулює вал.
Як показано на малюнку нижче, для того, щоб вал переводився на 9o годинник, СИЛОВОСТЬ УВІМКНЕННЯ повинна становити 1/18. 1 мс часу увімкнення та 17 мс часу вимкнення при сигналі 18 мс.
Щоб вал був перенесений на годинник 12o, час включення сигналу повинен становити 1,5 мс, а час вимкнення - 16,5 мс. Цей коефіцієнт декодується системою управління на сервоприводі, і він регулює положення на основі нього. Цей ШІМ тут генерується за допомогою ARDUINO UNO.
Компоненти схеми
Апаратне забезпечення: ARDUINO UNO, блок живлення (5 В), конденсатор 100 мкФ, кнопки (дві частини), резистор 1 кОм (дві частини), сервомотор (який потрібно було протестувати).
Програмне забезпечення: arduino IDE (Arduino nightly).
Схема та пояснення сервомотора Arduino
У звичайних випадках нам потрібно перейти до реєстрів контролера для регулювання частоти та отримання необхідного коефіцієнта коефіцієнта для точного контролю положення сервоприводу, в ARDUINO ми не повинні робити ці речі.
В ARDUINO у нас є заздалегідь визначені бібліотеки, які встановлюватимуть частоти та коефіцієнти коефіцієнта відповідності після виклику або включення заголовного файлу. В ARDUINO ми просто повинні вказати необхідну позицію сервоприводу, і ШІМ автоматично регулюється UNO.
Що нам потрібно зробити для отримання точного положення сервоприводу:
|
Спочатку нам потрібно встановити частоту сигналу ШІМ, і для цього нам слід зателефонувати “#include
Тепер нам потрібно визначити назву для сервоприводу «Сервопривід sg90sevo», тут вибрано назву «sg90servo», тому під час написання для зілля ми будемо використовувати цю назву, ця функція стане в нагоді, коли у нас є багато сервоприводів для управління, ми можемо цим керувати до восьми сервоприводів.
Тепер ми повідомляємо UNO, де підключений сигнальний штифт сервоприводу або де йому потрібно генерувати ШІМ-сигнал. Для цього у нас є “Sg90.attach (3);”, тут ми говоримо UNO, що ми підключили сигнальний штифт сервоприводу на PIN3.
Залишилося лише встановити положення, ми збираємося встановити положення сервоприводу, використовуючи “Sg90.write (30);”, за цією командою стрілка сервоприводу рухається на 30 градусів, так що все. Після цього, коли нам потрібно змінити положення сервоприводу, нам потрібно викликати команду ”Sg90.write (необхідний_позиційний_кут);”. У цій схемі ми матимемо дві кнопки, одна кнопка збільшує положення сервоприводу, а друга - для зменшення положення сервоприводу.
Підручник з управління серводвигуном Arduino пояснюється поетапно наведеним нижче кодом C.