Реле электромеханическое 10А 5В

Содержание:

  • Обзор
  • Технические характеристики модуля
  • Подключение
  • Пример использования
  • Часто задаваемые вопросы FAQ

Чтобы управлять электроприборами с помощью микроконтроллера существует специальный тип выключателей — электромагнитные реле. Электромагнитное реле замыкает цепь нагрузки с помощью электромагнита. При подаче напряжения на катушку,  в ней возникает поле, которое притягивает металлическую лапку, которая замыкает контакты нагрузки. Для работы с Arduino подойдут реле, которые управляются напряжением 5В.  Такие реле способны коммутировать нагрузку до 10А 30В постоянного тока  или до 10А 250В переменного тока.

Но напрямую к выводу Arduino подключить реле не получится, т.к. пины Arduino не могут обеспечить мощность, необходимую для работы катушки реле. Поэтому в схему управления реле включается транзистор по схеме с общим эмиттером для усиления управляющего тока. Схема управления реле с вывода Arduino с использованием npn-транзистора показана на рис. 1. Необходима установка ограничительного резистора между выводом Arduino и  базой транзистора.

Схема управления реле с помощью npn-транзистора (p-канальное управление)

Рисунок 1. Схема управления реле с помощью npn-транзистора (p-канальное управление)

При подаче на вывод Arduino сигнала HIGH реле включается, при подаче сигнала  LOW – выключается.

Но гораздо чаще используется используется n-канальное управление (с помощью pnp-транзистора (рис. 2)). При таком управлении реле включается подачей на вывод Arduino низкого уровня LOW.

Схема управления реле с помощью pnp-транзистора (n-канальное управление).

Рисунок 2. Схема управления реле с помощью pnp-транзистора (n-канальное управление)

Для работы с Arduino используют релейные модули на несколько реле (см. рис. 3), которые кроме схемы управления реле реле содержит еще и гальваническую развязку с помощью оптрона, которая защищает контроллер от скачков напряжения на катушке.

Релейный модуль на 8 каналов

Рисунок 3. Релейный модуль на 8 каналов

Релейные модули содержат от 1 до 8  каналов реле (n-канальное управление) , которые управляются с помощью напряжение 5В. Модули специально разработаны для управления с помощью Arduino.


Технические характеристики релейного модуля

  • Рабочий ток одного канала – 15 – 20мА;
  • Управляющее напряжение – 5В;
  • Коммутируемая нагрузка – AC250V 10A, DC30V 10A;
  • Светодиодная индикация состояния;
  • Управление – n-канальное;

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

Релейный модуль имеет два интерфейса:

  • для подключения контроллера;
  • для подключения нагрузок к реле.

Для подключения релейного модуля к управляющему устройству используется 10-пиновый  интерфейс. Контакты GND и VCC для подключения +5В, выводы IN1 – IN8 для подключения управляющего сигнала. Для подключения управляемых приборов к реле на плате присутствуют 24-контакта-зажима.

Питание релейного модуля осуществляется или от управляющего устройства, или от внешних источников питания. Если нужна полная оптическая изоляция, необходимо убрать перемычку Vcc to JDVcc и подключить  питание от внешнего блока к выводу JDVcc и Gnd с платы. В противнос случае, можно взять питание с платы Arduino и установить перемычку Vcc to JD-Vcc.

Схема подключения модуля к плате Arduino показана на рисунке 4.

Схема подключения релейного модуля к плате Arduino

Рисунок 4. Схема подключения релейного модуля к плате Arduino


Пример использования

Рассмотрим использование релейного модуля для управления пылесосом, но не простым, а подключенным к импульсному монетоприемнику. При получении монет   необходимо включить пылесос на определенное время.

Нам потребуются следующие компоненты:

  • Плата Arduino Uno -1;
  • Плата прототипирования – 1;
  • Релейный модуль — 1;
  • Монетоприемник CH-926 — 1;
  • Блок питания 12В;
  • Резистор 4.7 кОм – 1;
  • Провода.

Схема соединения элементов показана на рис. 5.

Схема подключения вендингового пылесоса

Рисунок 5. Схема подключения вендингового пылесоса

Монетоприемник по получении монеты выдает на выход OUT несколько импульсных сигналов (программируется при настройке монетоприемника). Ловить эти импульсы плата Arduino будет по прерыванию 1. После приема импульсов, плата Arduino, включает реле, к которому подключен пылесос на время, пропорциональное количеству полученных импульсов. По прошествии заданного времени реле выключается.

Содержимое скетча представлено в листинге 1.

Листинг 1

//******** константы

// стоимость 1 пульса - сек

#define TIME1 30

// пины подключения

#define PIN_RELAY 7

#define PIN_MONEY 3

#define RELAY_ON 0

#define RELAY_OFF 1

// для подсчета количества пульсов

int counter1=0;

unsigned long timeAllPulse1=1200; // макс. время приема монеты

unsigned long timeCount1=0;

// включение пылесоса

boolean run_cleaner=false;

// для подсчета времени работы пылесоса

unsigned int time_run=0;

//

unsigned long millis1=0;

void setup() {

Serial.begin(9600);

// настройка пинов

pinMode(PIN_RELAY,OUTPUT);     // реле

digitalWrite(PIN_RELAY,RELAY_OFF);  // выключить

// запуск обработчика прерываний монетоприемника

attachInterrupt(1,count_pulse1,FALLING);

Serial.println("start!!!");

}

void loop() {

// истекло время приема монеты?

if(pulse1>0 && (millis()-timeCount1)>timeAllPulse1) {

Serial.print("counter1=");Serial.println(counter1);

time_run=time_run+ counter1*TIME1;

Serial.print("time_run=");Serial.println(time_run);

pulse1=0;

run_cleaner=true;

millis1=millis();

cleaner_start();

}

// отсчет времени работы пылесоса

if(run_cleaner) {

if(millis()-millis1>=100) {

millis1=millis();

time_run=time_run-1;

Serial.print("time_run=");Serial.println(time_run);

if(time_run<1) { // выключить

cleaner_stop();

run_cleaner=false;

}

}

}

}

// обработка прерывания монетоприемника - получить кол-во импульсов

void count_pulse1()

{

detachInterrupt(1);

counter1++;

if(counter1==1)

timeCount1=millis();

delay(5);

attachInterrupt(1,count_pulse1,FALLING);

}

// включить пылесос

void cleaner_start() {

digitalWrite(PIN_RELAY,RELAY_ON);  // включить

}

// выключить пылесос

void cleaner_stop() {

digitalWrite(PIN_RELAY,RELAY_OFF);  // выключить

delay(3000);

counter1=0;

time_run=0;

}

Загружаем скетч на плату и проверяем работу.


Часто задаваемые вопросы FAQ

  1. Релейный модуль не работает
  • Проверьте подано ли питание на релейный модуль.
  • Проверьте, установлена ли перемычка Vcc to JD-Vcc.
  1. Релейный модуль не переключается
  • Проверьте подано ли питание на релейный модуль.
  • Проверьте соединение входов IN1-IN8 с платой Arduino
  1. При включении или выключении нагрузки скетч не работает
  • Идут помехи – подайте внешнее питание на модуль.