# Giới thiệu #
OP muốn sử dụng Rpi để kiểm soát an toàn một ngân hàng gồm 5 mô-đun tiếp sức Beeffun's Beefdding . Anh ta gặp vấn đề vì mức logic RIO GPIO là 3,3V, nhưng rơle của anh ta sử dụng điều khiển logic 5V. Anh ta muốn biết làm thế nào để sửa đổi Rpi để giải quyết vấn đề chênh lệch mức logic. Các lựa chọn của anh ta bao gồm: sử dụng bóng bán dẫn BC5468 để điều khiển cuộn dây rơle; nhận được một rơle cách ly opto và lái nó bằng cách sử dụng ULN2804; sử dụng trình điều khiển nguồn như UDN2981, ...
Sau khi điều tra, bây giờ tôi đề xuất một vài giải pháp, với ưu và nhược điểm tương ứng. OP có thể chọn giải pháp sau khi đánh đổi rủi ro, độ tin cậy, chi phí, v.v.
# Nội dung #
Giải pháp 1 - Sửa đổi điện trở phân cực của bóng bán dẫn NPN
Giải pháp 2 - Sử dụng UDN2981 để tăng tín hiệu GPIO 3,3V của Rpi lên 5V
Giải pháp 3 - Sử dụng 74HC03 và 74HC04 để tăng tín hiệu GPIO 3.3V của Rpi lên 5V
Giải pháp 4 - Sử dụng 74HCT125 để thực hiện hội tụ mức logic
Giải pháp 5 - Sử dụng TXS0102 để thực hiện chuyển đổi mức logic
Soution 6 - Sử dụng 2N2222 để thực hiện chuyển đổi mức logic
Giải pháp 7 - Sử dụng 2N7000 để thực hiện chuyển đổi mức logic
FAQ1 - Cách cấp nguồn cho Rpi và mô-đun tiếp sức và liên kết các căn cứ với nhau
FAQ2 - Cách tránh sự cố đầu vào nổi
FAQ3 - Rơle của tôi luôn bật, cho dù đầu vào Cao hay Thấp, có phải do tín hiệu Rpi Thấp không đủ thấp?
FAQ3 - GPIO Rpi của tôi Tín hiệu thấp không thể tắt rơle, nhưng đặt GPIO làm đầu vào sẽ làm được. Tôi sẽ làm tổn thương Rpi của tôi nếu tôi làm như vậy?
Đề xuất khắc phục sự cố phần cứng
Đề xuất khắc phục sự cố phần mềm
Tài liệu tham khảo
# Giải pháp 1. Sửa đổi xu hướng bóng bán dẫn NPN để làm cho nó tương thích 3,3V
Có hai loại giải pháp chung:
(1) sửa đổi mạch đầu vào mức logic 5V của mô-đun để thích ứng với tín hiệu 3,3V,
(2) sử dụng bộ chuyển đổi mức logic 3,3V sang 5V để chuyển tín hiệu 3,3V của Rpi lên 5V.
Bây giờ tôi bắt đầu với (1).
Cuộc điều tra
Mô-đun chuyển tiếp Beefdding của Sparkfun có bóng bán dẫn NPN 2N3904 (Q2) điều khiển cuộn dây (U1). Nó được thiết kế cho tín hiệu logic 5V của Arduino.
Tôi có một mô-đun bóng bán dẫn NPN tương tự KY019 có thể được điều khiển bởi tín hiệu 3.3V của Rpi. Vì vậy, tôi đã kiểm tra các yêu cầu tín hiệu đầu vào của nó để tìm ra lý do KY019 có thể giải trí các tín hiệu 3.3V nhưng Beecake không thể.
Tôi thấy rằng KY-019 có mức kích hoạt là 2,5V và 0,1mA . Tín hiệu này được khuếch đại bởi bóng bán dẫn NPN đến 50mA, đủ cao để kết hợp cuộn dây để kích hoạt rơle.
Rpi GPIO (với mức Cao trên 2,8V và giới hạn dòng tối đa 16mA ), có thể thoải mái nguồn 4mA, không có vấn đề gì khi trực tiếp lái mô-đun.
Cuộn dây có thời gian đáp ứng là 10mS. Tôi đã lập trình chân RIO GPIO 17 để chuyển đổi mô-đun tiếp sức ở khoảng thời gian 40mS (25cps) và thấy rơle bấm vui vẻ như mong đợi. (Tôi đang sử dụng dây kết nối dài 2 mét cho tín hiệu GPIO, vì vậy tín hiệu ở đầu vào rơle hơi nhiễu.)
Cách sửa đổi mô-đun Beefdding để làm cho nó tương thích với logic 3.3V
Transitor NPN Beefdding có điện trở giới hạn R2 hiện tại có giá trị 1K. Điện trở này giới hạn dòng cơ sở ở mức cao logic Arduino 5V. Dòng cơ sở trong giới hạn, sau khi khuếch đại (thường là hFE> 100), đủ lớn để kết hợp cuộn dây.
Tính toán dòng Arduino Arduino GPIO vào mô đun chuyển tiếp Beefdding:
Arduino hiện tại i ~ (4V [Cao Arduino] - 1V [Vce (sat)]) / 1K [R]) = 3V / 1K = 3mA
Tuy nhiên, tín hiệu logic cao của Rpi thấp hơn Arduino, do đó dòng giới hạn tương ứng nhỏ hơn và sau khi khuếch đại không đủ lớn để điều khiển cuộn dây.
Dòng điện Rpi i ~ ((3V [Rpi Cao] - 1V) / 1K = 2mA
Việc sửa đổi rất đơn giản - chỉ cần thay thế 1K R2 bằng một điện trở nhỏ hơn, giả sử 510R.
Rpi hiện tại i (sau khi sửa đổi) = (3V - 1V) / 501R = 4mA
Tôi đang đoán giáo dục dựa trên phân tích và thử nghiệm mạch. Tôi nghĩ rằng dự đoán của tôi là 90% có khả năng đúng.
Phân tích rủi ro
Mặc dù bóng bán dẫn NPN 2N3094 tín hiệu nhỏ có thể được sử dụng để chuyển đổi tải nhỏ, nhưng nó không đáng tin cậy. Đối với chuyển mạch rơle, sẽ an toàn hơn khi sử dụng các bóng bán dẫn điện như SS8050, UDN2981, được thiết kế đặc biệt cho tải cảm ứng.
OP muốn một phương pháp an toàn sẽ không chiên Pi của anh ấy, vì vậy để có độ tin cậy, trình điều khiển nguồn như UDN2981 là cách tốt nhất.
/ ...
# Giải pháp 2 - Sử dụng UDN2981 để lái mô-đun tiếp sức Beefdding #
Các ý kiến chỉ ra rằng mô-đun tiếp sức Sparkfun Beefdding của OP là trình kích hoạt cấp cao, do đó, trình điều khiển chìm thường được sử dụng ULN2804 không thể được sử dụng. Một trình điều khiển tương tự như ULN2804, nhưng nguồn hiện tại, thay vì chìm hiện tại, nên được sử dụng thay thế
Tôi nghĩ UDN2981 là trình điều khiển phù hợp cho mô-đun tiếp sức của OP.
Tôi đã xác minh thành công UDN2981 khi lái mô-đun chuyển tiếp tirgger cấp cao tương tự như Beefcak và ULN2804 là mô-đun kích hoạt thấp. Dưới đây là một bản tóm tắt.
UDN2981 điều khiển Mô-đun chuyển tiếp loại đầu vào bóng bán dẫn NPN kích hoạt cao
Lần đầu tiên tôi đã thử nghiệm UDN2981, không kết nối với Rpi, để nhấp nháy 4 đèn LED, để đảm bảo mạch hoạt động tốt.
Sau đó, tôi thiết lập 4 mô đun chuyển tiếp loại đầu vào bóng bán dẫn NPN (KY019) và kết nối 4 đầu vào mô đun chuyển tiếp với 4 đầu ra kênh UDN2981.
Sau đó, tôi kết nối trực tiếp 4 chân GPIO 3 Rpi với các đầu vào kênh 4 UDN2981. Tôi đã sử dụng chức năng python sau đây để chuyển đổi 4 mô-đun chuyển tiếp ở 25 cps.
Kết quả rất tốt. 4 mô-đun tiếp sức nhấp và đèn LED nhấp nháy ở tốc độ 25cps như mong đợi. Các tín hiệu đầu ra GPIO Rpi ở gần mức 3,3V và tín hiệu đầu ra UDN quanh 4.0V, ngụ ý rằng không có đầu vào nào bị quá tải.
UDN2981 kiểm soát các mô đun chuyển tiếp kích hoạt cao, tách biệt
OP cũng cân nhắc sử dụng các mô-đun tiếp sức bị cô lập bởi vì chúng an toàn hơn. Tôi đã sử dụng thành công cùng một UDN2981 để điều khiển 4 trình kích hoạt cấp cao, các mô đun chuyển tiếp bị cô lập (MK055).
Trên thực tế, UDN2981 có thể được sử dụng để điều khiển bất kỳ loại mô-đun kích hoạt Cao nào, bất kể bóng bán dẫn NPN hoặc các loại bị cô lập.
Tuy nhiên, đối với các mô-đun kích hoạt Thấp, cho dù bóng bán dẫn PNP hoặc bị cô lập, trình điều khiển nguồn UDN2981 không hoạt động, nên sử dụng ULN2804 hoặc trình điều khiển chìm khác.
Điều khiển ULN2804 điều khiển đầu vào bóng bán dẫn PNP kích hoạt thấp hoặc các mô đun rơle bị cô lập
Tôi đã xác minh thành công trình điều khiển chìm ULN2083 có thể điều khiển 4 mô đun rơle bị cô lập kích hoạt thấp. Lần đầu tiên tôi thử nghiệm nhấp nháy 4 đèn LED bằng tay, sau đó sử dụng cùng chức năng python ở trên để kiểm tra 4 mô-đun. Kết quả cũng tốt.
Thảo luận
Ưu điểm và nhược điểm của ULN2804 và UDN2981
Ưu
ULN2804 và UDN2981 có thể được điều khiển trực tiếp bằng tín hiệu logic TTL hoặc CMOS với điện áp cung cấp 3,3V hoặc 5V.
Đầu ra 500mA được đánh giá của họ với điốt kẹp là phù hợp để chuyển đổi rơle và động cơ bước.
Nhược điểm
ULN2804 và đặc biệt là UDN2981 không quá phổ biến.
Chúng có 8 kênh và do đó có kích thước gói DIP 18 pin lớn hơn. Đối với các kênh ít hơn, 74HC03 / 04 hoặc 74HCT125 phổ biến hơn với gói DIP 14 pin là phổ biến hơn và dễ xử lý hơn ..
# Giải pháp 3 - Sử dụng 74HC03 và 74HC04 để tăng tín hiệu GPIO 3.3V của RPi #
Sử dụng UDN2981 để điều khiển một mô-đun tiếp sức là một tiêu diệt lớn, bởi vì chúng được thiết kế với các điốt bay ngược tích hợp để cung cấp năng lượng trực tiếp cho rơle.
UDN2981 không phổ biến và không dành cho người mới bắt đầu thử nghiệm. Đối với người mới bắt đầu, các IC cổng logic rất phổ biến và rẻ tiền, cổng Quad NAND 74HC03 và Bộ biến tần Hex HC4 có thể thực hiện công việc tương tự như UDN2981, làm tăng tín hiệu logic 3.3V.
Tôi đã xác minh thành công HC03 và HC04 chuyển logic 3,3V lên 5V và thấy nó hoạt động cho cả đầu vào bóng bán dẫn và các mô-đun kích hoạt mức cao bị cô lập.
# Tài liệu tham khảo #
R 1. Làm thế nào để một rơle điện hoạt động? - Kỹ thuật
R2. Mạch chuyển mạch - Hướng dẫn điện tử
R3. Hướng dẫn móc nối tiếp xúc với bánh bò - SparkFun
R4. Bộ đệm kỹ thuật số và bộ đệm ba trạng thái - Hướng dẫn điện tử
R5. Điện trở kéo lên - Hướng dẫn điện tử
R6. Hướng dẫn cấp độ logic - SparkFun
Arduino Voh 4.2V, Vol 0.9V
R7. Rpi GPIO pin điện áp và đặc điểm kỹ thuật hiện tại
Rpi Voh 2.4V, Vol 0.7V
R8. Transitor lưỡng cực - Hướng dẫn điện tử
================
# A.3 Bộ chuyển đổi mức logic bằng HCT125 #
Vì vậy, tôi đã thử nghiệm một công cụ chuyển đổi lên khác, HCT125. Tôi rất vui khi thấy nó hoạt động tốt. Tín hiệu 5V0 được chuyển đổi HCT125 không giảm khi được kết nối với mô đun rơle điều khiển bóng bán dẫn NPN.
/ ...
Kết thúc phụ lục
** * Câu trả lời dài sẽ bị xóa * **
Câu trả lời dài này quá dài ngoằn ngoèo và lộn xộn. Bây giờ tôi đang cố gắng loại bỏ các đoạn không liên quan và có lẽ thay thế chúng bằng cách đặt câu hỏi có liên quan và tự trả lời.
Làm thế nào để kiểm tra Module Coupler / Opto Module Relay
- Nhận một dây nhảy.
- Kết nối một đầu với chân tín hiệu / đầu vào của mô-đun tiếp sức.
- Giữ đầu kia và chạm vào pin Vcc (+) và Gnd (-) và kiểm tra kết quả bên dưới.
2.1 Kiểu đầu vào của bóng bán dẫn
Đối với loại đầu vào bóng bán dẫn NPN lưỡng cực phổ biến, tín hiệu trình điều khiển nguồn (tín hiệu Rpi GPIO hoặc tín hiệu RPi GPIO sau khi chuyển đổi mức logic 3,3V sang 5V) đi đến đế của bóng bán dẫn thông qua một đèn LED nối tiếp và điện trở phân cực.
Ví dụ về mô-đun chuyển tiếp loại đầu vào bóng bán dẫn (BJT NPN)
Có những mạch chuyển mạch rơle không phổ biến khác như được mô tả trong
hướng dẫn chuyển mạch rơle này
2.2 Kiểu đầu vào của bộ ghép quang
Rơle loại đầu vào bộ ghép có một bộ ghép nối làm đầu vào. Bộ ghép quang điều khiển một bóng bán dẫn khác, lần lượt điều khiển cuộn dây rơle.
Phụ lục C - Bộ chuyển đổi mức logic sử dụng TXS0102
Bây giờ tôi biết rằng Rpi GPIO có thể trực tiếp lái mô-đun tiếp sức, nhưng có hai vấn đề. Đầu tiên, tín hiệu GPIO với dây kết nối dài không gây nhiễu, do đó không đáng tin cậy. Thứ hai, diode bánh đà 1N4148 có thể không triệt tiêu hoàn toàn EMF của cuộn dây và nếu không may thì 1N4148 bị hỏng hoặc không được kết nối đúng cách (tiếp xúc kém, khớp hàn khô, v.v.), EMF phía sau có thể làm hỏng Rpi.
Vì vậy, tôi quyết định sử dụng bộ chuyển đổi mức logic để chuyển tín hiệu GPIO Rpi từ 3V3 lên 5V. Lần đầu tiên tôi đã thử chuyển đổi TXS102 và thấy nó hoạt động tốt. Bên cạnh việc tăng tốc độ GPIO, tiếng ồn ở mức cao cũng giảm đi rất nhiều.
Tuy nhiên, tôi đã gặp một vấn đề lớn khi cung cấp đơn vị chuyển đổi GPIO 5V cho mô-đun tiếp sức. Rơle vẫn bật và tắt như trước, với tín hiệu 3V3, nhưng khi tôi sử dụng phạm vi để kiểm tra dạng sóng, tôi thấy rất ngạc nhiên khi tín hiệu 5V giảm một nửa, xuống còn 2.2V .
Tôi nghi ngờ lý do là TXS0102 có thể chìm dòng điện tốt hơn nhiều so với nguồn cung cấp cho mô-đun tiếp sức. Để xác minh dự đoán của mình, tôi đã đưa tín hiệu 5V đến một mô-đun tiếp sức khác, loại bộ ghép quang kéo xuống, model MK01.
Lần này tôi thấy tín hiệu 5V không giảm bất kỳ lượng đáng chú ý nào.
Vì vậy, tôi nhanh chóng kết luận rằng mô-đun chuyển tiếp loại bóng bán dẫn NPN là một lựa chọn tồi. Tôi sẽ ngừng thử nghiệm loại rơle này từ bây giờ và chuyển sang loại rơle quang.
Tôi cũng đã thử nghiệm một mô-đun trình điều khiển quang khác MK101. Mô-đun này có một nút nhảy để chọn Kích hoạt cao hơn hoặc Kích hoạt thấp. Tôi thấy rằng đối với kích hoạt Thấp, mức tín hiệu 5V được chuyển đổi TSX0102 không bị ảnh hưởng. Nhưng khi chọn Kích hoạt thấp, mức tín hiệu 5V được chuyển đổi giảm xuống khoảng 2,5V, mặc dù rơle vẫn hoạt động.
Phụ lục E - Bộ chuyển đổi mức logic bằng HC04
HCT125 không quá phổ biến. Vì vậy, tôi đã thử thêm một mạch chuyển đổi, sử dụng cổng NAND quad open open NAND và biến tần hex HC04. Khi tôi kiểm tra đầu ra HC04, tôi thấy nó rất ồn. Tôi đoán một lý do là tôi đang sử dụng nguồn cung cấp năng lượng dirrerent, một cho rpi, một lý do khác cho bộ chuyển đổi. Ngay cả tôi đã kết nối các điểm mặt đất của các bộ nguồn để tạo điểm chung, tiếng ồn cũng không biến mất. Sau đó tôi đã sử dụng một nguồn cung cấp năng lượng cho cả rpi và bộ chuyển đổi, và tiếng ồn biến mất.
Tôi đã thử tín hiệu đầu ra HC04 cho mô-đun chuyển tiếp ở chế độ kích hoạt Thấp (yêu cầu dòng điện chìm, nhưng không ở chế độ kích hoạt cao (yêu cầu dòng nguồn), vì vậy tôi sẽ thêm cổng hex hex HC04 có thể cấp nguồn cho mô-đun tiếp sức.
Phụ lục F - Vấn đề đầu vào chuyển đổi cấp độ HC04
Lần trước khi tôi thử bộ chuyển đổi mức dựa trên HC03, trên mô-đun rơle quang, tôi thấy rằng nếu tôi để đầu vào nổi, mô-đun đã thu được tiếng ồn và rơ-le bật và tắt một cách điên cuồng. Tôi nghĩ tần số có lẽ là 1kHz. Tôi không chắc đó có phải là một loại dao động phản hồi tích cực hay không. Nhưng khi tôi sử dụng phạm vi để kiểm tra, tôi ngạc nhiên thấy nó là 50Hz! Tôi đoán đó là một số cộng hưởng. Nhưng tôi không biết sự khác biệt giữa cộng hưởng và dao động là gì. Có lẽ tôi nên cười một lần nữa. Dù sao, tôi nghĩ rằng tôi cần thêm một điện trở kéo lên / xuống ở đâu đó.
Dưới đây để được rút ngắn hoặc xóa
# Phụ lục #
# A1. Opto cô lập / Bảng ghép mô-đun tiếp sức ghép ảnh và sơ đồ #
Mô-đun tiếp sức cách ly Opto có một bộ ghép ảnh là IC 4 chân. Hình dưới đây cho thấy một photoCoupler PC1 (với 4 chân được dán nhãn 1, 2, 3, 4 màu xanh lá cây) và một bóng bán dẫn Q1. Các IC không phải luôn luôn được đánh dấu. Trong ảnh này, PC1 là EL354 và Q1 8050.
Liên kết sơ đồ
35 : https://i.stack.imgur.com/cWkRi.jpg