Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Подключение драйвера двигателя L293D к DC-мотору с Arduino: Пошаговое руководство

1. Что такое драйвер двигателя L293D?

Для робота или игрушечной машинки знание о моторах критично. Дешевый и простой способ управления — драйвер L293D (motor shield). Лучше — в интерфейсе с микроконтроллером Arduino.

L293D — один из самых популярных чипсетов. Разнообразное применение: сервоприводы, шаговые, DC-двигатели. Ключевая особенность — независимое управление направлением и скоростью двух DC-двигателей.

16-выводной чип — двухканальный H-мост. Основная функция: управляющий интерфейс для пары DC-двигателей или одного шагового. По умолчанию shield содержит два L293D → способен управлять четырьмя DC-двигателями. Ценен для четырехколесных роботов. Всего 4 H-моста, каждый выдает 0,6 А. 74HC595 сдвиговый регистр расширяет 8 управляющих выводов двух L293D до 4-х выводов Arduino.

Подключение драйвера двигателя L293D к DC-мотору с Arduino: Пошаговое руководство
Четырехканальный высокотоковый H-мост 16-пиновый L293D

2. Особенности L293D

3. Выводная распиновка L293D Motor Driver Shield

Подключение драйвера двигателя L293D к DC-мотору с Arduino: Пошаговое руководство
Схема распиновки биполярного шагового драйвера L293D
Номер выводаИмя выводаОписание
1Enable 1,2Активирует входы: Input 1(2) и Input 2(7)
2Input Pin 1Прямое управление Output 1. Цифровое управление.
3Output Pin 1Подключение к одному концу Мотора 1
4GroundЗемля цепи (0В) с одной стороны
5GroundЗемля цепи (0В) с другой стороны
6Output Pin 2Подключение ко второму концу Мотора 1
7Input Pin 2Прямое управление Output 2. Цифровое управление.
8Vs (Vcc2)4,5–36 В, питание двигателей
9Enable 3,4Активирует входы: Input 3(10) и Input 4(15)
10Input 3Управление Output 3. Цифровое управление.
11Output 3Подключение к одному концу Мотора 2
12GroundЗемля цепи (0В)
13GroundЗемля цепи (0В)
14Output 4Подключение ко второму концу Мотора 2
15Input 4Управление Output 4. Цифровое управление.
16Vss (Vcc1)+5 В внешнее питание для логики IC

4. Принцип работы L293D

Управляет двумя DC-двигателями. Важно понимать работу двухканального H-моста.

Подключение драйвера двигателя L293D к DC-мотору с Arduino: Пошаговое руководство
Схема 5-вольтового униполярного мотора с L293D

Первый этап — построение H-моста. Две пары Дарлингтоновских транзисторов: Q2/Q3 и Q1/Q4. Диоды параллельно коллектору-эмиттеру каждой пары предотвращают повреждение от обратного ЭДС двигателя.

Когда Q1/Q4 открыты, Q2/Q3 закрыты → ток от Vcc через мотор к земле → вращение по/против часовой стрелки. Направление определяется полярностью мотора и способом подключения к питанию.

Когда Q1/Q4 закрыты, Q2/Q3 открываются автоматически → ток через мотор меняет направление → меняется направление вращения.

5. Как использовать L293D Motor Driver?

Двунаправленный ток ~600 мА, диапазон 4,5–36 В. Используем 16-пиновый чип с Arduino Uno.

Проект: подключение DC-двигателей и L293D к Arduino. Пошаговая настройка управления направлением и скоростью.

Шаг 1: Сборка материалов

Шаг 2: Сборка схемы

Соединения просты. Для наглядности используется видео-урок.

Двигателю лучше отдельное питание. Здесь: 12 В для мотора, 5 В для L293D и Arduino. Внешнее питание → Pin 8 L293D. Осторожно: ошибки могут повредить моторы.

Шаг 3: Код для программирования DC-двигателя

Два базовых этапа.

Установка библиотеки AFMotor.h

Нужен интерфейс общения с L293D. Установка AFMotor.h:

  1. Sketch → Include Library → Manage Libraries.
  2. Library Manager обновляет список, скачивает индекс.
  3. Поиск: "Motor Shield".
  4. Выбор: Adafruit Motor Shield Library by Adafruit → Install.

Запуск Arduino кода

#include <AFMotor.h>

AF_DCMotor motor(4);

void setup() {
  // Начальная скорость и стоп
  motor.setSpeed(200);
  motor.run(RELEASE);
}

void loop() {
  uint8_t i;
  // Включение мотора
  motor.run(FORWARD);
  // Разгон от 0 до макс
  for (i=0; i<255; i++) {
    motor.setSpeed(i);
    delay(10);
  }
  // Торможение от макс до 0
  for (i=255; i!=0; i--) {
    motor.setSpeed(i);
    delay(10);
  }
  // Смена направления
  motor.run(BACKWARD);
  // Разгон
  for (i=0; i<255; i++) {
    motor.setSpeed(i);
    delay(10);
  }
  // Торможение
  for (i=255; i!=0; i--) {
    motor.setSpeed(i);
    delay(10);
  }
  // Выключение
  motor.run(RELEASE);
  delay(1000);
}

Шаг 4: Настройка завершена

DIY схема готова. Механизм управления любым DC-устройством через L293D и Arduino Uno работает.

6. Эквивалентные двухтактовые таймеры (L293D Equivalent)

Аналоги: ULN2003, SN754410, LB1909MC.

Подключение драйвера двигателя L293D к DC-мотору с Arduino: Пошаговое руководство
ULN2003 на PCB с маркировкой выводов

7. Применение L293D

Заключение

Существует много способов управления DC-моторами через Arduino. Один из простейших — L293D. Дает преимущество: одновременное независимое управление скоростью и направлением двух DC-двигателей. Научились настраивать и программировать. Для более сложных задач — обращайтесь за полной поддержкой.

Промышленные технологии

  1. Робот для поиска людей на базе Arduino Uno: пошаговая интеграция датчиков
  2. Декодирование PPM-сигнала RC-приёмника на Arduino: пошаговое руководство
  3. Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
  4. Измерение массы Земли с Arduino: пошаговое руководство по DIY
  5. Создание PHP-веб-интерфейса для управления Arduino Uno
  6. DIY манипулятор, управляемый жестами руки: пошаговая сборка на Arduino
  7. Веб-управляемый XY-плоттер на Arduino с контроллером шаговых двигателей
  8. Как работает щеточный двигатель постоянного тока: простая механика и надежная мощность
  9. Цифровой компас в реальном времени на Arduino и Processing
  10. Пошаговое руководство по инспекции и диагностике неисправностей двигателей постоянного тока