Реле, двигатель постоянного тока и Arduino

Всем привет. В этом туториале мы научимся управлять двигателем постоянного тока с использованием реле и Arduino.

Необходимые компоненты

  • Плата Arduino (в данном примере использовалась плата SainSmart UNO R3)
  • Батарейка на 9 вольт
  • Коннекторы папа-мама
  • Мотор (двигатель постоянного тока)
  • Реле на 5 вольт

Подключаем мотор, источник питания и реле

Схема подключения:

Позитивный контакт мотора - switch 1 COM input на реле

Отрицательный контакт мотора - switch 2 COM input на реле

9v позитивный контакт на батарейке - switch 1 NO на реле и switch 2 NO на реле

9v отрицательный контакт на батарейке - switch 1 NC и switch 2 NC на реле

Каждый свич на реле имеет три входа. NO (Normally open - в обычном состоянии открыт), COM (Common - общий) and NC (Normally closed - в обычном состоянии закрыт).

В этом проекте оба контакта от мотора подключаются к обоим COM (средним) контактам-входам на переключателях реле.

Позитивный контакт от батарейки 9 В подключаются к обоим NO (верхним) входам.

Отрицательный контакт от батарейки 9 В подключаются к обоим NO (нижним) входам.

Внешнее питание (батарейка 9 В) используется для питания мотора.

Двигатель постоянного тока и реле Реле и контакты для источника питания

Подключаем Arduino

Подключаем:

  • Arduino контакт 5v - контакт VCC на модуле реле
  • Arduino контакт GND - контакт GND на модуле реле
  • Arduino контакт 7 - IN1 на модуле реле
  • Arduino контакт 8 - IN2 на модуле реле

После подключения мотора, все что нам остается - запитать сам модуль реле. Для активации переключателей реле мы будем использовать сигналы непосредственно с нашего контроллера - Arduino.

Arduino и контакты Реле и контакты

Загружаем скетч на Arduino

Скетч для Arduino

Программа и необходимые пояснения к ней:

#define CW 7 // CW инициализируется на контакте 7//

#define CCW 8 // CCW инициализируется на контакте 8//

void setup() { // функция Setup отрабатывает один раз//

pinMode(CW, OUTPUT); // настраиваем CW в качестве выхода//

pinMode(CCW, OUTPUT); // настраиваем CCW в качестве выхода//

}

void loop() { // цикл отрабатывает бесконечное количество раз//

digitalWrite(CW,HIGH); // мотор вращается по часовой стрелке//

delay(1000); // задержка между итерациями на 1 секунду//

digitalWrite(CW, LOW); // мотор останавливается//

digitalWrite(CCW, HIGH);// мотор вращается в против часовой стрелки//

delay(1000); // задержка на 1 секунду//

digitalWrite(CCW, LOW); // мотор останавливается//

}

// конец программы//

Результат!

Если вы все сделали в соответсвии с инструкцией выше, ваш двигатель должен вращаться по часовой стрелке на протяжении 1 секунды, а потом против часовой стрелки тоже на протяжении одной секунды.

Подключенное реле и Arduino

Как и в остальных проектах, вы смело можете модифицировать сам скетч и напряжение питания в зависимости от вашего оборудования. При этом логика программы и подключения для работы Arduino с реле и двигателем постоянного тока остается такой же.

Видеоинструкция и результат работы на английском языке на видео ниже:

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!