Relay là gì? Công tắc cơ khí điều khiển bằng điện, cách ly hoàn toàn 2 mạch
Atlasbot · 20/8/2026 · 9 phút đọc
Transistor và MOSFET (2 bài trước) là công tắc điện tử, phù hợp tải DC dòng vừa phải — nhưng khi cần đóng/cắt điện lưới 220V AC (VD: bật/tắt một thiết bị gia dụng) hoặc cần cách ly hoàn toàn về điện giữa mạch điều khiển và mạch tải, relay là lựa chọn phù hợp hơn.
Relay là gì và nguyên lý hoạt động
Relay là một công tắc cơ khí được đóng/mở bằng lực điện từ, gồm 2 phần tách biệt:
- Cuộn dây điện từ (coil) — phía điều khiển, khi có dòng điện chạy qua tạo ra từ trường.
- Tiếp điểm (contact) — phía tải, là các lá kim loại thực sự đóng/mở về mặt cơ khí, dẫn dòng điện của mạch tải.
Khi cuộn dây có điện, từ trường sinh ra hút một thanh kim loại (armature), làm tiếp điểm chuyển trạng thái. Vì tiếp điểm chỉ là kết nối kim loại thuần cơ khí, mạch tải (VD: 220V AC) hoàn toàn cách ly về điện với mạch điều khiển (VD: 5V DC từ MCU) — không có điện tử bán dẫn nào tiếp xúc trực tiếp giữa 2 bên.
NO và NC — hai loại tiếp điểm
- NO (Normally Open — thường mở): tiếp điểm hở khi relay chưa có điện, đóng lại khi relay được cấp điện. Đây là kiểu dùng phổ biến nhất — muốn bật thiết bị thì cấp điện cho relay.
- NC (Normally Closed — thường đóng): tiếp điểm đóng khi relay chưa có điện, hở ra khi relay được cấp điện — dùng khi cần logic ngược lại (VD: mạch an toàn cần tự ngắt nếu mất điện điều khiển).
Tóm lại: Relay = công tắc cơ khí điều khiển bằng điện từ, cách ly hoàn toàn mạch điều khiển và mạch tải — khác hẳn transistor/MOSFET vẫn có kết nối điện tử trực tiếp giữa 2 phía.
Vì sao vẫn cần transistor để điều khiển relay từ GPIO
Cuộn dây relay thường cần dòng khoảng 50-200mA để tạo đủ từ trường — vượt quá dòng tối đa an toàn của hầu hết chân GPIO (thường 20-40mA). Đây là lý do gần như mọi mạch điều khiển relay từ vi điều khiển đều cần một transistor hoặc MOSFET trung gian (đã nói ở 2 bài trước) — GPIO điều khiển dòng nhỏ vào Base/Gate của transistor/MOSFET, transistor/MOSFET mới thực sự cấp đủ dòng cho cuộn dây relay.
Kiến thức kỹ thuật
Công thức
Cuộn dây relay về bản chất là một điện trở (điện trở dây quấn) — dòng qua cuộn dây tính bằng định luật Ohm quen thuộc, dùng để kiểm tra transistor/MOSFET điều khiển có đủ khả năng cấp dòng hay không:
I(coil) = V(coil) / R(coil)
VD: relay 5V có điện trở cuộn dây 70Ω
I = 5V / 70Ω ≈ 71mA
→ transistor điều khiển cần chịu được ít nhất ~71mA ở Collector
Thông số
Điện trở cuộn dây và dòng định mức tiếp điểm khác nhau theo điện áp cấp và model relay — luôn kiểm tra thông số in trên vỏ relay hoặc datasheet:
| Loại relay | Điện trở cuộn dây | Dòng tiêu thụ cuộn dây | Dòng tiếp điểm chịu được |
|---|---|---|---|
| Relay 5V (module phổ thông) | ~70-100Ω | ~50-70mA | ~10A @ 250VAC / 10A @ 30VDC |
| Relay 12V (module phổ thông) | ~360-400Ω | ~30-35mA | ~10A @ 250VAC / 10A @ 30VDC |
Ứng dụng thực tế
Relay thường dùng trên robot AMR để đóng/cắt các tải phụ công suất lớn hoặc điện áp khác hẳn mạch điều khiển — VD: bật/tắt đèn báo hiệu, còi báo động, hoặc chuyển mạch nguồn sạc pin khi robot tự động về trạm sạc. Vì tiếp điểm relay cách ly hoàn toàn về điện với mạch MCU, dùng relay ở đây an toàn hơn nhiều so với nối trực tiếp các tải điện áp khác (VD: 220V AC cho đèn) vào cùng mạch với vi điều khiển 5V/3.3V nhạy cảm.
Ví dụ thực tế: module relay phổ biến
Hầu hết module relay bán sẵn cho Arduino/ESP32 đã tích hợp sẵn transistor điều khiển và diode bảo vệ trên board — chỉ cần cấp nguồn và điều khiển bằng 1 chân GPIO thông thường:
const int RELAY_PIN = 7;
void setup() {
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
digitalWrite(RELAY_PIN, HIGH); // bật relay (tuỳ module: HIGH hoặc LOW mới bật, xem thêm bên dưới)
delay(1000);
digitalWrite(RELAY_PIN, LOW); // tắt relay
delay(1000);
}
Một số module relay giá rẻ dùng logic active-low (chân điều khiển ở mức LOW mới bật relay, ngược với suy nghĩ thông thường) — luôn kiểm tra tài liệu/thử nghiệm thực tế của đúng module đang dùng trước khi giả định logic HIGH = bật.
Lỗi thường gặp
- Tự làm mạch relay rời nhưng quên diode bảo vệ — cuộn dây relay vẫn tạo xung điện áp ngược khi ngắt dòng giống mọi cuộn dây khác, xem lại bài Diode — cần thiết nếu không dùng module đã tích hợp sẵn.
- Nhầm chân NO và NC khi đấu tải — đấu nhầm khiến logic bật/tắt bị đảo ngược so với mong đợi, hoặc tải luôn bật ngay cả khi tưởng đang ở trạng thái tắt.
- Dùng relay cho ứng dụng cần chuyển mạch tần số cao — relay có độ trễ cơ khí (thường vài đến vài chục mili-giây) và tuổi thọ giới hạn theo số lần đóng/cắt (thường hàng trăm nghìn đến hàng triệu lần tuỳ loại) — không phù hợp cho PWM tần số cao hay ứng dụng cần đóng/cắt liên tục hàng nghìn lần/giây, nên dùng MOSFET/transistor cho trường hợp này.
- Nhầm logic active-low của một số module relay giá rẻ — code viết đúng logic HIGH=bật nhưng relay hoạt động ngược, dễ nhầm tưởng module lỗi trong khi chỉ là khác quy ước logic.
Kết luận
Relay là lựa chọn phù hợp khi cần cách ly hoàn toàn về điện hoặc đóng/cắt tải điện áp cao/AC — đánh đổi là tốc độ chuyển mạch chậm hơn và tuổi thọ cơ khí giới hạn so với transistor/MOSFET thuần điện tử. Bài tiếp theo trong chuyên mục nói về Optocoupler — một cách khác để cách ly điện giữa 2 mạch, nhưng dùng ánh sáng thay vì cơ khí, phù hợp cho tần số chuyển mạch cao hơn nhiều.