Module relay 1, 2, 4 kênh: kích mức thấp hay cao, opto cách ly, jumper JD-VCC, chọn 5 V hay 12 V
Module relay 1, 2, 4 kênh: bên trong một kênh có opto, kích mức thấp hay mức cao, jumper JD-VCC để cách ly với ESP32, chọn bản 5 V hay 12 V và đấu tải 220 V qua COM, NO an toàn.
Module relay là cách đơn giản nhất để vi điều khiển như ESP32, Arduino bật tắt thiết bị điện: đèn, quạt, máy bơm, khóa điện. Nhưng nhiều người mới gặp chuyện relay không đóng, đóng ngược, tự đóng lúc khởi động, hay ESP32 reset mỗi khi relay chuyển. Phần lớn do chưa hiểu ba điều: module kích mức thấp hay mức cao, opto cách ly làm gì, và jumper JD-VCC dùng để làm gì. Bài này giải thích từng phần trên module relay 1, 2, 4 kênh của PYWORLD, cách chọn bản 5 V hay 12 V và cách đấu tải an toàn.
1. Các loại module relay

| Loại | Chân điều khiển | Mức kích | Đặc điểm |
|---|---|---|---|
| 1 kênh (nền đỏ) | Cọc vít DC+, DC−, IN | Chọn bằng jumper H (mức cao) hoặc L (mức thấp) | Có opto cách ly, đèn báo |
| 2 kênh (nền đen) | Hàng chân GND, IN1, IN2, VCC | Mức thấp | Có opto, có jumper JD-VCC |
| 4 kênh (nền xanh) | Hàng chân GND, IN1…IN4, VCC | Mức thấp | Có opto, có jumper JD-VCC |
Mỗi loại có bản cuộn dây 5 V và bản 12 V. Relay trên module ghi tiếp điểm chịu 10 A 250 V xoay chiều, 10 A 30 V một chiều. Mỗi relay có ba cực ra: COM (chung), NO (thường hở) và NC (thường đóng).
2. Bên trong một kênh relay

- Phía điều khiển: dòng đi từ VCC qua điện trở, đèn báo và LED bên trong opto, ra chân IN. Khi IN xuống mức thấp, có dòng chạy, LED trong opto sáng.
- Opto (optocoupler): ánh sáng của LED làm transistor quang ở phía bên kia dẫn. Hai phía chỉ liên lạc bằng ánh sáng, không có dây nối điện.
- Phía công suất: transistor quang kích transistor Q, Q đóng dòng qua cuộn relay lấy từ JD-VCC. Cuộn hút, tiếp điểm chuyển từ NC sang NO.
- Diode song song với cuộn dây dập xung điện áp ngược khi cuộn ngắt, bảo vệ transistor.
Cách hoạt động của opto được trình bày kỹ hơn ở bài optocoupler PC817: cách ly tín hiệu.
3. Kích mức thấp hay mức cao

- Kích mức thấp (module 2, 4 kênh, và 1 kênh đặt jumper L): chân IN ở mức thấp (0 V) thì relay đóng; mức cao hoặc để hở thì relay nhả. Trong chương trình,
digitalWrite(chan, LOW)là bật. - Kích mức cao (module 1 kênh đặt jumper H): chân IN mức cao thì relay đóng.
Với kích mức thấp, lúc ESP32 vừa cấp nguồn, chân điều khiển chưa được khai báo là ngõ ra, relay có thể đóng thoáng qua. Cách viết chương trình để relay luôn nhả lúc khởi động được trình bày trong bài về relay làm ESP32 reset, cùng loạt bài này.
Kiểm tra trước khi nối vào ESP32: cấp nguồn cho module, để hở chân IN, đo điện áp giữa IN và GND. Nếu đo được cao hơn 3,3 V (thường gặp với bản 12 V để kích mức thấp) thì không nối thẳng IN vào chân ESP32: chân ESP32 chỉ chịu 3,3 V. Khi đó dùng cách tháo jumper JD-VCC ở mục 4, hoặc với module 1 kênh thì đặt jumper sang H.
4. Jumper JD-VCC trên module 2, 4 kênh

Module 2, 4 kênh có một hàng ba chân VCC, JD-VCC, GND và một jumper nối VCC với JD-VCC:
- VCC (ở cả hàng chân điều khiển): cấp cho phía LED opto.
- JD-VCC: cấp cho cuộn relay.
- Giữ jumper: một nguồn 5 V nuôi cả hai phía. Đơn giản, đa số trường hợp ESP32 vẫn điều khiển được, nhưng phía cuộn dây và ESP32 dùng chung nguồn, chung GND, nên không còn cách ly.
- Tháo jumper: nối VCC ở hàng chân điều khiển vào chân 3V3 của ESP32; cấp nguồn 5 V riêng vào JD-VCC và GND ở hàng ba chân. GND của nguồn riêng không nối với GND của ESP32. Cách này cách ly thật sự: dòng cuộn dây và nhiễu khi relay chuyển không đi qua mạch ESP32, và mức 3,3 V của ESP32 khớp với phía opto.
Thiết bị đặt lâu dài, điều khiển tải điện lưới, hay hay bị reset nên dùng cách tháo jumper.
5. Chọn bản 5 V hay 12 V
Con số 5 V hay 12 V là điện áp của cuộn relay, tức nguồn cấp cho JD-VCC (hoặc DC+ của module 1 kênh), không phải điện áp tải.
- Bản 5 V: hợp với thiết bị dùng nguồn 5 V như ESP32 cấp qua USB hoặc mạch hạ áp 5 V. Mỗi relay hút khoảng 70–90 mA khi đóng; module 4 kênh đóng cả bốn cần khoảng 0,35 A ở 5 V, nên dùng nguồn riêng.
- Bản 12 V: hợp với hệ thống đã có nguồn 12 V (tủ điện, ắc quy, adapter 12 V); dòng cuộn dây nhỏ hơn. Phải kiểm tra điện áp chân IN như mục 3, hoặc tháo jumper JD-VCC để phía điều khiển chỉ dùng 3,3 V.
6. Đấu tải vào tiếp điểm

- COM và NO: tải chạy khi relay đóng. Dùng cho hầu hết trường hợp.
- COM và NC: tải chạy khi relay nhả, tắt khi relay đóng. Dùng khi muốn tải mặc định có điện kể cả lúc ESP32 mất nguồn.
- Relay ngắt dây pha; dây trung tính đi thẳng tới tải. Đặt cầu chì trên dây pha.
- Mức 10 A trên relay là của tiếp điểm. Đường mạch in và cọc vít trên module nhỏ, nên tải điện lưới liên tục nên giữ dưới khoảng 5 A (khoảng 1000 W ở 220 V). Động cơ, máy bơm, bóng đèn có dòng khởi động lớn gấp nhiều lần: chọn tải nhỏ hơn nữa, hoặc dùng relay điều khiển cuộn hút của một contactor.
- An toàn điện: tắt cầu dao khi đấu nối, siết chặt cọc vít, đặt module trong hộp nhựa, không chạm vào mặt dưới mạch khi đang có điện. Xem bài an toàn khi làm việc gần điện 220 V.
7. Lỗi thường gặp
| Hiện tượng | Nguyên nhân hay gặp | Cách xử lý |
|---|---|---|
| Relay đóng khi chương trình ghi "tắt" | Module kích mức thấp, chương trình viết theo mức cao | Đảo logic: LOW là bật, HIGH là tắt |
| Đèn báo sáng nhưng relay không hút | Thiếu dòng cho cuộn dây, nguồn yếu, sai điện áp cuộn (bản 12 V cấp 5 V) | Cấp đúng điện áp cuộn, nguồn đủ dòng |
| Relay không nhả dù IN đã lên mức cao | VCC module 5 V, mức cao 3,3 V của ESP32 vẫn để lọt dòng qua opto với vài loại module | Tháo jumper JD-VCC, cấp VCC bằng 3V3 |
| Relay đóng thoáng qua lúc cấp nguồn | Chân ESP32 chưa là ngõ ra, kích mức thấp | Ghi mức tắt trước khi chuyển chân thành ngõ ra; tránh GPIO 0, 2, 12, 15 |
| ESP32 reset khi relay chuyển | Sụt áp do cuộn hút, nhiễu từ tải | Nguồn riêng, tháo JD-VCC, xem bài relay làm reset ESP32 |
| Tiếp điểm cháy đen sau thời gian ngắn | Tải khởi động lớn, tải cảm sinh hồ quang | Giảm tải, thêm mạch dập hồ quang, dùng contactor |
8. Xem thêm
- Sản phẩm: module relay 1, 2, 4 kênh 5 V và 12 V, mạch tạo trễ IC 555 có relay.
- ESP32 điều khiển module relay 4 kênh an toàn và điều khiển relay bằng điện thoại qua Bluetooth.
- Công tắc, nút nhấn, cầu chì và relay: cách chọn, cách nối với ESP32.
- Dùng transistor làm công tắc: khi muốn tự làm mạch kích relay.
- Đế ra chân ESP32 30 chân: hàng chân G V S tiện cắm module relay.
Cần tư vấn chọn module relay cho tải cụ thể, liên hệ PYWORLD qua số 0915703319.
Xem thêm