Двигатели постоянного тока очень часто используются в робототехнике. В них имеются 2 вывода, к которым можно подключить питание. Для того чтобы включить такой двигатель, достаточно подать напряжение на его выводы. Направление вращения будет зависеть от полярности подаваемого тока.
Рисунок 27. Двигатель постоянного тока
Данный тип двигателей отличается простотой управления. При этом точность этих двигателей небольшая. Поэтому их часто применяют с энкодером – устройством, которое позволяет считать обороты двигателя
Рисунок 28. Двигатель постоянного тока с энкодером
Так как ток, выдаваемый Arduino недостаточный для включения таких двигателей, в схему приходиться подключать драйвер двигателей – устройство для управления двигателями. По сути, оно усиливает сигналы с портов. Существует множество разновидностей драйверов, которые отличаются друг от друга мощностью, количеством каналов, напряжением и т.д. В качестве примера, здесь рассматривается драйвер двигателей L293D.
Данный драйвер представляет из себя микросхему с 16 выводами:
Рисунок 29. Драйвер двигателей L293D
Рисунок 30. Назначение выводов
L293D может управлять полноценно двумя двигателями. Есть возможность управления четырьмя двигателями, но в таком случае становиться невозможным управление направлением вращения двигателей.
Описание выводов драйвера L293D
Таблица 2. Назначение выводов L293D
Пин | Тип | Описание | |
Имя | Номер | ||
1, 2 EN | 1 | Вход | Включение 1 и 2 канала драйвера |
1A – 4A | 2, 7, 10, 15 | Вход | Входы драйвера |
1Y – 4Y | 3, 6, 11, 14 | Выход | Выходы драйвера |
3, 4 EN | 9 | Вход | Включение 3 и 4 канала драйвера |
GND | 4, 5, 12, 13 | — | Земля |
Vcc1 | 16 | — | 5В. Питание логики драйвера |
Vcc2 | 8 | — | 4,5 — 36В. Питание для двигателей |
Если в первый вывод драйвера (1, 2 EN) подать низкий уровень (0В), то на выводах 1Y, 2Y будет высокое сопротивление, будто эти выводы внутри никуда не подключены. При таком их состоянии, двигатель, подключенный к этим выводам, не будет работать, однако, будет свободно проворачиваться. Если же в первый вывод драйвера (1, 2 EN) подать высокий уровень (5В), то состояние выводов 1Y, 2Y будет зависеть от входов 1A, 2A. Эта зависимость состояний выводов внизу представлена в виде таблицы. Такой же принцип работы и для выводов 3, 4 EN с 3Y, 4Y и 3A, 4A.
Таблица 3. Зависимость состояний выводов от входных сигналов
Входы | Выход | |
A | EN | |
H | H | H |
L | H | L |
X | L | Z |
Здесь A – 1A, 2A, 3A, 4A;
EN – 1, 2 EN и 3, 4 EN;
H – Высокий уровень сигнала;
L – Низкий уровень сигнала;
X – Произвольный уровень сигнала;
Z – Высокое сопротивление на выводе.
Таким образом, двигатели к Arduino можно подключить по следующей схеме:
Рисунок 31. Подключение двигателей постоянного вращения к Arduino