Chân Arduino và ESP32 chịu được bao nhiêu mA?
Hỏng board vì ép chân cấp quá dòng là lỗi phổ biến nhất của người mới. Con số cần nhớ rất ít, và nhớ rồi thì gần như không bao giờ cháy board nữa.
Arduino Nano (ATmega328P, logic 5V)
| Hạng mục | Giới hạn | Ghi chú |
|---|---|---|
| Một chân, mức khuyến nghị | 20mA | con số nên thiết kế theo |
| Một chân, mức tuyệt đối | 40mA | vượt là hỏng, không có vùng đệm |
| Tổng qua chân VCC và GND | 200mA | cộng tất cả chân đang cấp dòng |
| Đường 3V3 trên board | 50mA | rất nhỏ, chỉ đủ cho cảm biến |
| Chân VIN khi cấp nguồn ngoài | 7 – 12V | ổn áp tuyến tính, càng cao càng nóng |
Datasheet ATmega328P ghi 40mA ở mục “absolute maximum ratings” — nghĩa là mức không được chạm tới trong bất kỳ điều kiện nào, chứ không phải mức làm việc. Thiết kế theo 20mA là cách duy nhất đúng.
ESP32 DevKit V1 (logic 3,3V)
| Hạng mục | Giới hạn | Ghi chú |
|---|---|---|
| Một chân, mức tối đa | 40mA | Espressif xác nhận con số này |
| Một chân, nên thiết kế theo | 20mA | chạy mát và ổn định |
| Đường 3V3 của board | khoảng 400mA | phụ thuộc ổn áp trên bo, chip còn ăn phần của nó |
| Chân VIN | 5V từ cổng USB | cấp được cho cảm biến 5V |
| Chip tiêu thụ khi phát WiFi | đỉnh 250 – 500mA | nguồn yếu là board tự khởi động lại |
Điểm khác biệt quan trọng: chân ESP32 chỉ chịu 3,3V ở ngõ vào. Đưa tín hiệu 5V vào là hỏng chân — xem cách xử lý ở phần dưới.
Thế thì tải lớn phải làm sao
Nguyên tắc: chân vi điều khiển chỉ ra lệnh, không gánh dòng. Chen vào giữa một linh kiện công suất:
- Còi, rơ-le rời, mô tơ nhỏ (20 – 500mA): transistor NPN như S8050 với trở chân B 1kΩ.
- Dây LED, bơm, tải vài ampe: MOSFET logic-level như IRLZ44N.
- Thiết bị điện xoay chiều: module rơ-le có opto.
Chi tiết cách tính nằm trong bài transistor hay MOSFET.
Cộng dòng cho cả mạch, đừng chỉ nhìn từng chân
Mạch 8 LED chạy đuổi là ví dụ dễ hiểu: mỗi LED 9mA thì từng chân rất an toàn, nhưng lúc cả 8 cùng sáng, tổng là 72mA chạy qua chân GND của chip. Cộng thêm 30mA của bản thân board, vẫn còn xa mức 200mA — nên thiết kế này đạt.
Đổi thành 16 LED mỗi con 15mA thì tổng lên 240mA, vượt giới hạn, dù từng chân vẫn trong ngưỡng. Lúc đó phải chuyển sang IC đệm hoặc quét từng nhóm.
Nguồn cho board và nguồn cho tải nên tách
Nhiều mạch hỏng không phải vì chân quá dòng mà vì điện áp sụt. Rơ-le hút 75mA, mô tơ khởi động giật 500mA — dòng ấy kéo qua đường mạch nhỏ làm điện áp tụt xuống dưới mức ổn định, vi điều khiển khởi động lại giữa chừng.
Ba việc nên làm:
- Dùng cục sạc 5V từ 1A trở lên, không dùng cổng USB máy tính cho mạch có rơ-le hoặc mô tơ.
- Hàn tụ hoá 470µF ngay gần tải để nó gánh những cú giật dòng ngắn.
- Tải trên 1A thì cấp nguồn riêng, chỉ nối chung dây mát với board.
Đưa tín hiệu 5V vào ESP32
Cảm biến 5V như HC-SR04 xuất mức 5V ở chân ECHO. Nối thẳng vào ESP32 là làm hỏng chân. Cầu chia áp hai điện trở là cách rẻ nhất: 1kΩ nối tiếp, 2kΩ xuống mát, tín hiệu còn khoảng 3,3V. Mạch thước đo siêu âm OLED làm đúng như vậy.
Chiều ngược lại thì không cần gì: 3,3V từ ESP32 đủ để cảm biến 5V hiểu là mức cao.
Dấu hiệu đang ép quá dòng
- Board nóng bất thường quanh chip, hoặc con ổn áp bỏng tay.
- Board tự khởi động lại mỗi khi bật tải.
- Một chân ra lúc được lúc không, hoặc luôn ở mức thấp dù code bật — chân đó đã chết, đổi sang chân khác thì chạy lại.
- Mùi khét nhẹ: rút điện ngay, không cắm lại để thử.
Câu hỏi thường gặp
Cắm mô tơ nhỏ thẳng vào chân Arduino được không?
Không. Mô tơ dù bé cũng kéo 200 – 500mA lúc khởi động, và còn sinh xung ngược. Bắt buộc có transistor hoặc MOSFET kèm đi-ốt dập ngược.
Chân 5V của Nano cấp được bao nhiêu cho cảm biến?
Khi cấp nguồn qua USB, dòng lấy từ chân 5V bị giới hạn bởi cầu chì tự phục hồi 500mA của board. Vài cảm biến thì thoải mái, nhưng đừng cấp cho mô tơ hay dây LED.
Làm sao biết mạch của mình có vượt giới hạn không?
Mọi mạch trong thư viện Mạch Gọn đều được mô phỏng và kiểm tra tự động các ngưỡng này; trên trang mạch bạn bấm thử từng trạng thái sẽ thấy ngay dòng của từng chân và tổng dòng.
Mạch dùng kiến thức này
Mô hình đèn giao thông có nút nhấn cho người đi bộ (Arduino Nano)
Mô hình ngã tư cho học sinh: đèn xanh – vàng – đỏ cho xe và đèn đỏ/xanh cho người đi bộ chạy đúng chu kỳ. Người đi bộ bấm nút thì đèn xe rút ngắn thời gian xanh để cho sang đường. Code dạng máy trạng thái, không dùng delay chặn — bài học chuẩn về lập trình nhúng.
Chuông cửa WiFi: kêu còi và ghi lại lịch sử bấm chuông xem trên điện thoại
Nút bấm chuông ngoài cổng làm còi trong nhà kêu, đèn nháy, đồng thời lưu lại giờ bấm (50 lần gần nhất) để xem trên điện thoại qua WiFi. Có chống bấm liên tục và chế độ im lặng (chỉ ghi lịch sử, không kêu) cho giờ ngủ.
Dãy 8 đèn LED chạy đuổi, đổi hiệu ứng và chỉnh tốc độ bằng núm vặn
Tám đèn LED nhiều màu chạy theo 4 hiệu ứng: chạy đuổi, con mắt quét qua lại, nhấp nháy xen kẽ và sáng dần từng đèn. Vặn núm để đổi tốc độ, bấm nút để đổi hiệu ứng — mạch nhớ hiệu ứng đang chọn kể cả khi mất điện. Mạch nhập môn rất hợp để học cách điều khiển nhiều chân cùng lúc.
Chưa có mạch mình cần?
Gõ mục tiêu bằng tiếng Việt, Mạch Gọn trả về sơ đồ đấu dây, linh kiện kèm giá, code nạp sẵn và mạch in 1:1 để ủi — đã kiểm luật điện và mô phỏng dòng áp tự động.