Светодиод мигает, и в какой-то вечер этого перестаёт хватать: хочется, чтобы плата щёлкнула и зажгла настоящую лампу или запустила помпу фонтана. Нагрузку прямо к пину не повесишь — пин вытянет максимум пару десятков миллиампер, а даже скромный моторчик берёт сотни, и я это уже разбирал на пальцах в уроке про транзисторный ключ 2N2222. Реле-модуль — самый честный ответ для макетки: на крошечной плате уже стоит всё, что в том уроке я собирал руками, — транзистор, диод, резисторы. Осталось подвести три провода и не перепутать клеммники.
Модуль, который кладут почти в каждый стартовый набор, построен на реле Songle SRD-05VDC-SL-C. Паспорт у него конкретный: катушка рассчитана на 5 вольт и берёт около 71 миллиампера, контакты держат 10 ампер при 250 вольтах переменного тока и те же 10 ампер при 30 вольтах постоянного. Срабатывание укладывается в 10 миллисекунд, и это слышно: сухой щелчок — лучший индикатор жизни катушки, громче любого светодиода. Именно поэтому первый мой тест любого модуля — подать питание и послушать, а уже потом лезть с проводами к клеммам.
План такой: карта платы модуля — три входа и три винтовые клеммы; бюджет тока, чтобы понять, потянет ли Uno один канал и восемь; скетч-поверка клеммников без всякой нагрузки. Первую встречу с реле мы уже заводили в уроке про реле и мощную нагрузку — там был принцип, здесь пойдёт разбор самой платы модуля до винтика.
Три входа и три клеммы: карта модуля
На стороне управления у модуля три штырька: VCC, GND и IN. VCC получает плюс 5 вольт — от пина VCC Uno, от внешнего блока или от силовой шины макетки, GND — общий провод. Вход IN — не силовая цепь: внутри него светодиод оптопары за резистором около 1 кОм, и когда пин прижимает вход к земле, через этот светодиод течёт примерно 4 миллиампера. Пин ничего не питает, он лишь разрешает току течь — поэтому подключение реле к ардуино безопасно даже для слабых плат.
На стороне нагрузки — винтовой клеммник на три гнезда: COM, НО и НЗ. COM — общий полюс, механически связанный с подвижным контактом реле. НО — нормально открытая клемма: пока катушка обесточена, с COM она разомкнута. НЗ — нормально закрытая: с COM она замкнута всегда, кроме момента, когда катушка втянула якорь. Щёлкнуло — пара COM-НО сомкнулась, пара COM-НЗ разомкнулась; щёлкнуло ещё раз — всё вернулось. Для лампы или помпы берут пару COM-НО: сигнал есть — нагрузка питается.
Диод-развязка на модуле уже стоит — это и есть причина, по которой я голосую за модуль, а не за голое реле на макетке. Катушка — индуктивность, и при размыкании она выбрасывает всплеск в десятки вольт обратной полярности; диод на плате замыкает этот выброс на себя. Ставьте голое реле без диода рядом с Uno — и всплеск отправится в общий провод платы: плата перезагрузится, а искать причину вы будете неделю. На модуле diode запаян фабрично, вместе с транзистором, который держит все 71 миллиампер катушки, — пин остаётся в роли диспетчера.
Бюджет тока: пин, катушка и восемь каналов
Считаем честно. Вход оптопары берёт с пина около 4 миллиампер — незаметно. Катушка ест 71 миллиампер, но не с пина, а с шины 5 вольт через транзистор модуля: пин только управляет, электричество идёт мимо него. Один канал — 75 миллиампер суммарно, и плате на USB это по силам; но если рядом висит сервопривод, светодиодная матрица и дисплей, бюджет порта кончится — я раскладывал такой расчёт в уроке про бюджет тока проекта. Когда щелчки реле заставляют Uno перезагружаться, виноват не скетч, а просадка питания — это родной симптом.
Перемычка JD-VCC на плате — про то, откуда катушки получают своё. На одноканальных модулях она замыкает VCC с JD-VCC: релейная часть ест от того же источника, что и оптопары, — оставьте её на месте. На многоканальных плат jumper снимают и подают на JD-VCC отдельный плюс: например, для восьми реле внешний блок на 5 вольт и минимум на полампера, потому что восемь катушек — это 8 раз по 71 миллиампер, то есть около 570. Питание для такого хозяйства я тяну с отдельной линии, о том как — в уроке про внешнее питание макетки; минус при этом остаётся общим с платой.
Пара слов о выборе модуля, потому что на рынке они разные. Одноканальный — идеальный первый: одна катушка, один клеммник, всё видно глазами. Двух- и четырёхканальные платы живут на той же схеме: IN1, IN2 и дальше — по одному пину на канал, бюджет считайте умножением. Восьмиканальные — уже силовой агрегат с гребёнкой входов и общими клеммниками, и их я отношу к стендам на перфборде, а не к макетке. Катушку берите строго 5-вольтовую для Uno: модули с катушкой 12 В, которых тоже полно на маркетплейсах, щёлкают вяло или не щёлкают вовсе, потому что транзистору не хватает питания.
Второй критерий — наличие оптопары на входе: маленький чип с восемью ногами между входной гребёнкой и транзисторами. Модули без оптопары дешевле и работают, но развязки там нет вовсе, и вся дисциплина тихого старта ложится на ваш скетч. Третий — индикация: светодиод на каждый канал и один на питание. Кажется избыточным, пока не ловишь в тёмной комнате вопрос «а какой из четырёх реле сейчас включён?» — и тогда индикаторы отвечают быстрее любого Serial.println.
| Точка на модуле | Что подаём | Сколько | Грабля при перепутывании |
|---|---|---|---|
| VCC и GND | плюс 5 В и общий провод | катушка 71 мА на канал | перепутали полярность — индикатор молчит, щелчка нет |
| IN | цифровой пин, у меня D7 | около 4 мА через оптопару | полярность входа обратная: включение по LOW |
| Перемычка JD-VCC | на одноканальном стоит штатно | кормит релейную часть от VCC | сняли и не подали на JD-VCC своё — катушки мертвы |
| COM, НО, НЗ | нагрузка, до 10 А по паспорту | максимум модуля | НО и НЗ путают — лампа горит наоборот |
Щелчок и прозвонка: поверяем модуль до нагрузки
// Тест клеммников: каждые 3 секунды реле перещёлкивается, D12 горит,// пока замкнута пара COM-НО. Кнопка D2 ставит счёт на паузу, чтобы// успеть приложить щупы мультиметра к клеммам.const int PIN_RELAY = 7;const int PIN_LED = 12;const int PIN_BTN = 2;const unsigned long PERIOD = 3000; bool releVkl = false;unsigned long tPerel = 0; void setup() { Serial.begin(9600); pinMode(PIN_RELAY, OUTPUT); pinMode(PIN_LED, OUTPUT); pinMode(PIN_BTN, INPUT_PULLUP); digitalWrite(PIN_RELAY, LOW); Serial.println("test klemmnikov: COM-NO / COM-NC po ocheredi");} void loop() { bool pauza = digitalRead(PIN_BTN) == LOW; if (!pauza && millis() - tPerel >= PERIOD) { tPerel = millis(); releVkl = !releVkl; digitalWrite(PIN_RELAY, releVkl ? HIGH : LOW); digitalWrite(PIN_LED, releVkl ? HIGH : LOW); Serial.print("shchelchkov: "); Serial.print(millis() / PERIOD); Serial.println(releVkl ? " zamknuta COM-NO" : " zamknuta COM-NC"); }}Скетч ходит по кругу без единой задержки — паузы держит millis, приём из урока про millis вместо delay, и кнопка честно замирает посреди цикла, пока вы прозваниваете клеммы. Ожидание простое: без питания COM замкнут с НЗ, после щелчка — с НО. Если маркировка на дешёвом клоне врёт, вы поймаете это сейчас, на столе с мультиметром, а не потом, когда на клеммнике висит светильник.
Параллельно обратите внимание на момент прошивки: если при каждом залипании порта реле коротко щёлкает — у вас модуль с обратной полярностью входа, и это лечится тремя строками скетча. Я целиком посвятил этому следующий урок кластера. А куда двигаться с готовым модулем дальше — по командам с ИК-пульта, как в уроке про команды реле и PROGMEM, или к свету из брокера через MQTT — зависит от проекта; здесь же цель одна: модуль повёрен, клеммы прозвонены, щелчок сухой и ровный.
- 1. Сколько тока берёт катушка реле SRD-05VDC-SL-C при 5 В?
- 2. Куда подключается управляющий провод от цифрового пина Uno?
- 3. Пока катушка обесточена, клемма COM замкнута с…
- 4. Что отдаёт пин Uno, когда реле включается?
- 5. Контакты этого реле на постоянном токе держат…
- Модуль реле — готовый узел: транзистор, диод-развязка и оптопара уже на плате, пину остаётся отдать 4 мА на вход.
- Катушка SRD-05VDC-SL-C берёт 71 мА при 5 В: один канал Uno тянет, восемь каналов живут только на внешнем БП.
- COM-НО-НЗ: без питания замкнута пара с НЗ, после щелчка — с НО; прозвонка показывает это за минуту.
- Перемычка JD-VCC кормит релейную часть от VCC; сняли её — подайте на JD-VCC отдельный плюс при общем минусе.
- Щелчок — бесплатная диагностика: молчит при подаче питания — ищите обрыв VCC/GND, щёлкает при прошивке — читайте урок про активный LOW.
Частые вопросы по теме урока
- Сколько тока берёт катушка реле SRD-05VDC-SL-C при 5 В?
- Паспорт Songle даёт 71,4 мА на катушку при 5 В. Транзистор на плате модуля держит этот ток, пину достаются скромные 4 мА входа оптопары. около 71 мА
- Куда подключается управляющий провод от цифрового пина Uno?
- IN — вход управления через оптопару; COM, НО и НЗ — винтовые клеммы силовой стороны, туда идёт нагрузка, а не пин. на вход IN
- Пока катушка обесточена, клемма COM замкнута с…
- Без тока якорь отпущен, и подвижный контакт держит нормально закрытую пару COM-НЗ; после щелчка он переходит на НО. НЗ — нормально закрытой
- Что отдаёт пин Uno, когда реле включается?
- Катушку кормит шина 5 В через транзистор модуля. Пин лишь втягивает ток входа оптопары, порядка 4 мА, — поэтому пины живы. около 4 мА на светодиод оптопары
- Контакты этого реле на постоянном токе держат…
- Паспорт: 10 А 250 В AC и лишь 10 А 30 В DC. На постоянке дуга не гаснет сама, поэтому постоянное напряжение в разы ниже. Подробно — в уроке про 220 В этого кластера. 10 А при 30 В DC