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

Датчик касания ёмкостный

Датчик выдаёт дискретный сигнал на выходе, когда к нему дотрагиваются пальцем.Его можно использовать..

28.76грн.

Модуль питания повышающий 2...24В/5...28В 2А

Модуль питания повышающий 2...24В/5...28В 2А

Модуль повышающий напряжение постоянного тока с 2 ... 24 В до 5 ... 28 ВНапряжение на выходе ре..

36.78грн.

Какие виды дисплеев можно использовать с Arduino для отображения информации

Какие виды дисплеев можно использовать с Arduino для отображения информации

Какие виды дисплеев можно использовать с Arduino для отображения информации Arduino — это п..

Торцевые держатели линейных направляющих 8мм

Торцевые держатели линейных направляющих 8мм

Держатель цилиндрической направляющей диаметром 8 ммПодходит для любой оси 3D-принтера или CNCДиамет..

72.01грн.

Шаговый двигатель 28BYJ-48 с модулем драйвера

Шаговый двигатель 28BYJ-48 с модулем драйвера

Количество фаз 4Рабочее напряжение 5 ВКоэффициент изменения скорости 1/64Угол поворота минимальный&n..

114.93грн.