Модуль 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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Датчик обертання енкодер KY-040

Датчик обертання енкодер KY-040

Енкодер обертання KY-040 - це обертальний датчик, який характеризує ступінь повороту вісі та в якому..

37.93грн.

Розробка електроніки під замовлення (схема + плата + прошивка)

Розробка електроніки під замовлення (схема + плата + прошивка)

Розробка електроніки під замовлення (схема + плата + прошивка) Якщо вашому бізнесу потрібен еле..

NRF24L01+PA+LNA модуль 2,4 ГГц SMD з розʼємом IPEX, 18×14 мм

NRF24L01+PA+LNA модуль 2,4 ГГц SMD з розʼємом IPEX, 18×14 мм

NRF24L01+PA+LNA модуль 2,4 ГГц SMD з розʼємом IPEX, 18×14 мм Компактний SMD-модуль ..

109.98грн.

Чистий код в Arduino IDE

Чистий код в Arduino IDE

Вступ Коли ми говоримо про чистий код в Arduino IDE, багато початківців дивуються: навіщо ц..

SMD світлодіод 0805

SMD світлодіод 0805

SMD світлодіоди видимого діапазону для поверхневого монтажу на плату Типорозмір 0805 Черво..

2.39грн.