Модуль 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Модуль усилителя 2 х 3 Вт

Модуль усилителя 2 х 3 Вт

Миниатюрный стерео усилитель звуковой частоты класса D на основе микросхемы PAM8403Мощность 2 х..

29.19грн.

Шестерня для зубчатого ремня на 36 зубьев под ось 5 мм

Шестерня для зубчатого ремня на 36 зубьев под ось 5 мм

Используется для передачи и редукции крутящего момента от двигателя до оси 5 ммКоличество зубьев 36 ..

79.68грн.

Аудио штекер 3,5мм папа с винтовым клеммником

Аудио штекер 3,5мм папа с винтовым клеммником

Стерео штекер 3,5 мм для монтажа цепей передачи звукового сигнала при помощи винтового клеммника.Выв..

94.08грн.

Обмен данными между двумя Arduino при помощи программного UART

Обмен данными между двумя Arduino при помощи программного UART

Обмен данными между двумя Arduino при помощи программного UARTКоммуникация по последовательному порт..

Кнопка металлическая герметичная 16мм (латунь, IP65, 3A, без фиксации)

Кнопка металлическая герметичная 16мм (латунь, IP65, 3A, без фиксации)

Надёжная влагозащищённая кнопка без фиксации диаметром 16 мм. Изготовлена из латуни с никелевым покр..

82.91грн.