Xin hỏi, khi tôi thực hiện lệnh khởi động bơm hoặc quạt thì chỉ có đèn báo sáng lên, còn bản thân quạt và thiết bị khác không hoạt động. Trong mã của tôi tưởng chừng đã viết đầy đủ rồi, nhưng vẫn không thực hiện được. Có cao nhân nào giải đáp giúp tôi với.
“Đèn báo sáng chứng tỏ code của bạn hoàn toàn ổn, GPIO của MCU đã được kéo lên, và ULN2003A cũng đã kéo chân xuống thành công. Đừng sửa code nữa, sai hướng rồi. Vấn đề nằm ở nguồn cấp cho relay hoặc phần công suất. Hãy làm theo thứ tự kiểm tra của bạn:
- Nghe âm thanh trước: Khi gửi lệnh, relay có tiếng kêu ‘tách’ khi hút không? Nếu không, hãy kiểm tra nguồn 5V của relay.
- Nếu có tiếng hút: Xem sơ đồ nguyên lý của bạn, nguồn cấp cho đầu nối dây (P1/P2) được cung cấp bởi
5VR. Kiểm tra xem trên board có phải chưa cắm jumper cách ly giữa5Vvà5VRkhông? - Vấn đề dòng điện: Bạn đã kết nối quạt và máy bơm nước, cả hai đều là tải cảm kháng, dòng khởi động rất lớn. Nếu bạn cấp nguồn trực tiếp qua USB máy tính, khả năng cao là không đủ dòng, điện áp bị kéo xuống thấp không đủ kéo motor. Đề xuất thử đổi sang nguồn độc lập 2A trở lên.
Phần mềm ổn 100% rồi. LEDs được mắc song song với cuộn dây rơ-le ở đầu ra ULN2003A, nên nếu chúng sáng thì logic đang chạy hoàn hảo. Vấn đề của bạn là thiếu nguồn cho tải thực tế. Mấy cái bơm chìm nhỏ này tiêu thụ dòng điện đỉnh rất lớn khi khởi động. Nếu bạn cấp nguồn cho cả mạch này từ một cổng USB thông thường, nó sẽ bị sụt áp và không quay được động cơ, ngay cả khi rơ-le đã đóng. Thử cắm một nguồn riêng 5V/2A vào đầu vào nguồn chính của mạch và đảm bảo thanh nguồn 5VR thực sự có điện.
Vấn đề này mình trước đây cũng từng gặp y hệt rồi! Đèn báo sáng thì chứng tỏ ngõ ra GPIO của MCU, chip driver ULN2003 kia hoàn toàn ổn, đừng có cố chấp sửa code nữa. Cứ theo thứ tự mình nói này mà kiểm tra, 10 phút là tìm ra lỗi ngay:
- Trước tiên lấy đồng hồ vạn năng đo điện áp hai đầu cuộn dây rơ-le, lúc hút nên có khoảng 4.8V. Nếu điện áp không đủ, hoặc là nguồn +5V khả năng tải kém, hoặc là ULN2003 hàn không chắc;
- Đến phần quan trọng này! Trong sơ đồ mạch của bạn, tiếp điểm rơ-le dùng nguồn độc lập 5VR, không phải nguồn +5V chính đâu! 90% mọi người hay quên nối chỗ này, lần trước mình cũng mắc kẹt ở đây cả buổi chiều;
- Nếu 5VR có điện, thì cứ nối thẳng quạt vào nguồn 5V thử, quay thì là rơ-le hỏng, không quay thì là do bản thân quạt hoặc đấu dây ngược. Kiểm tra 5VR trước, khả năng cao là lỗi ở nó đấy!
Ok, cảm ơn
Được rồi, cảm ơn
Được rồi cảm ơn
Đèn LED báo hiệu sáng = đầu ra ULN2003 ở mức thấp = cuộn dây rơ le được cấp điện. Sự cố KHÔNG nằm ở mã code hay GPIO. Sự cố nằm ở mạch tiếp điểm rơ le hoặc nguồn cung cấp cho tải. Kiểm tra ngay: Đo điện áp 5VR (nguồn cấp cho tiếp điểm rơ le). Đây là điểm hay bị lỗi nhất trong thiết kế này.
- Nếu mất 5VR: Nối 5VR vào nguồn 5V của bạn.
- Nếu có điện áp 5VR: Dùng 5V cấp trực tiếp để kiểm tra quạt/bơm. Thay rơ le nếu thiết bị tải hoạt động.
Đã tìm thấy vấn đề chưa, là vấn đề gì vậy?




