Реле, двигатель постоянного тока и 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

Программа и необходимые пояснения к ней:
#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 с реле и двигателем постоянного тока остается такой же.
Видеоинструкция и результат работы на английском языке на видео ниже:
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!