Модуль 7 — Двигуни та виконавчі пристрої (курс для початківців)

Мета модуля: навчитися керувати різними виконавчими пристроями: сервоприводами, колекторними двигунами та драйверами. Ви дізнаєтеся, як використовувати ШІМ (PWM) для регулювання швидкості, а також підключати двигуни через транзистори та драйвери.


Теорія

Сервоприводи

Сервопривід — це пристрій, який дозволяє повертати вал на заданий кут (зазвичай від 0° до 180°). Керування здійснюється за допомогою ШІМ-сигналу з фіксованим періодом 20 мс, де тривалість імпульсу визначає кут повороту.

Керування двигуном через MOSFET

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

Двонапрямлене керування — драйвер L298N

L298N — популярний драйвер для керування двигунами в обидва боки. Він дозволяє керувати двома колекторними двигунами, а також регулювати швидкість через PWM. Драйвер приймає сигнали керування від Arduino та подає живлення на двигуни від зовнішнього джерела.


Практика

Поворот сервопривода за командою

#include <Servo.h>

Servo myservo;

void setup() {
  myservo.attach(9); // Пін для керування
}

void loop() {
  myservo.write(0);   // Поворот на 0°
  delay(1000);
  myservo.write(90);  // Поворот на 90°
  delay(1000);
  myservo.write(180); // Поворот на 180°
  delay(1000);
}

Керування швидкістю двигуна через PWM (MOSFET)

int motorPin = 5; // Пін із підтримкою PWM

void setup() {
  pinMode(motorPin, OUTPUT);
}

void loop() {
  for (int speed = 0; speed <= 255; speed += 5) {
    analogWrite(motorPin, speed); // Збільшуємо швидкість
    delay(50);
  }
  for (int speed = 255; speed >= 0; speed -= 5) {
    analogWrite(motorPin, speed); // Зменшуємо швидкість
    delay(50);
  }
}

Двонапрямлене керування колекторним двигуном (L298N)

int in1 = 8;
int in2 = 9;
int enA = 5; // Пін із PWM

void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(enA, OUTPUT);
}

void loop() {
  // Обертання вперед
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(enA, 200);
  delay(2000);

  // Стоп
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  delay(1000);

  // Обертання назад
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(enA, 200);
  delay(2000);

  // Стоп
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  delay(1000);
}

Типові помилки

  • Підключення двигуна напряму до піна Arduino — це може спалити контролер. Завжди використовуйте транзистори або драйвери.
  • Відсутність діода для захисту від зворотного струму двигуна.
  • Недостатнє живлення сервопривода або двигуна — призводить до ривків і збоїв.

Що далі

У наступному модулі ми розглянемо Фінальний проєкт Arduino: ідеї та збірка


Контрольні запитання

  1. Як керувати кутом повороту сервопривода?
  2. Навіщо потрібен MOSFET при керуванні двигуном?
  3. Які функції виконує драйвер L298N?
  4. Як реалізувати реверс обертання двигуна?

Авторський курс по Arduino для початківців. Використання матеріалів на комерційних сайтах допускається з вказанням джерела.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Корпус пластиковий 100x60x25мм

Корпус пластиковий 100x60x25мм

Універсальний бокс з чорного пластику під саморобні електронні пристроїArduino UNO та Leonardo якраз..

74.20грн.

Watchdog і таймери ESP32

Watchdog і таймери ESP32

Watchdog і таймери ESP32 ESP32 має вбудований Watchdog Timer (WDT), який використовується для зах..

Які види датчиків можна підключити до Arduino для вимірювання параметрів навколишнього середовища

Які види датчиків можна підключити до Arduino для вимірювання параметрів навколишнього середовища

Які види датчиків можна підключити до Arduino для вимірювання параметрів навколишнього середовищ..

Як не спалити Arduino та ESP32: GPIO, струми і напруги простими словами

Як не спалити Arduino та ESP32: GPIO, струми і напруги простими словами

Як не спалити Arduino та ESP32: GPIO, струми і напруги простими словами Arduino та ESP32 не «ніжн..

Модуль 8 PWM виходів I2C на DIN-рейку без корпусу

Модуль 8 PWM виходів I2C на DIN-рейку без корпусу

Модуль продається без коробкиМодуль восьми ШІМ виходів I2C для побудови домашньої чи промислової сис..

971.42грн.