Подключение двигателей к Arduino

Рассмотрим подключение электродвигателя постоянно тока к Arduino. У электродвигателя 2 контакта и чтобы заставить его работать, нужно к одному контакту подвести питание, а к другому — землю.

motor_battery

При этом, если поменять полярность, то мотор будет крутиться в противоположную сторону.

Однако, эта простота только видима, ведь моторы нельзя напрямую подключать к микроконтроллеру!

Для управления двигателями применяют драйверы двигателей. Мы будем использовать драйвер L293D.

L293D

Чтобы правильно подключить драйвер нужно знать его распиновку (какая нога за что отвечает).

L293D_1

Обратите внимание на выемку с одной стороны. Она нужна для позиционирования микросхемы. На схеме выемка находится вверху.

L293D может управлять двумя моторами, условно левая половина для одного мотора, правая — для другого. Рассмотрим назначение каждой ножки драйвера.

Enable 1,2 — включает/выключает возможность управления мотором с левой стороны. Зачастую имеет смысл держать его включенным (подавать 5в).

Input 1 и 2 — подключаются к портам Arduino и управляют работой мотора с левой стороны.

Output 1 и 2 — к этим ножкам подводятся контакты первого мотора.

GND — земля.

Vcc 2 — питание моторов (5в либо сколько необходимо моторам).

Vcc 1 — питание драйвера (5в).

Input 3 и 4 — подключаются к портам Arduino и управляют работой мотора с правой стороны.

Output 3 и 4 — к этим ножкам подводятся контакты второго мотора.

Enable 3,4 — включает/выключает возможность управления мотором с правой стороны. Зачастую имеет смысл держать его включенным (подавать 5в).

Вот более наглядная схема:

L293D_2

RA 0, 1, 2, 3 — подключаются к портам Arduino.

Теперь рассмотрим подключение и управление 1 и 2 моторами.

1_motor_arduino

Подключим мотор к пинам 7 и 8. Для управление вращением используется знакомая вам команда digitalWrite, только мы должны посылать сигнал на каждый порт, при этом один должен быть HIGH, а другой — LOW. Если же нужно остановить мотор, то на оба порта посылаем LOW. Напишем программу, которая вращает мотор в одну сторону, останавливает его на 1 секунду, вращает в другую сторону и снова останавливает на 1 секунду.

Теперь подключим 2 мотора:

2_motors_arduino_bb

Чаще всего 2 мотора используются для приводной платформы. Напишем программу, по которой платформа 2 секунды едет вперед и разворачивается в течение 1 секунды.

Если у вас тележка едет не вперед, а например, назад, или разворачивается, то вы можете исправить это одним из следующих способов:

  • Изменить порты в программе.
  • Поменять местами порты на Arduino.

Вот так можно сделать тележку и управлять ей без особого труда. В следующий раз поговорим о том, как регулировать скорость моторов.

1 Комментарий

  1. Дмитрий

    Спасибо. Очень познавательная статья для новичков.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *