จ่ายไฟ 5V รีเลย์จากพิน GPIO


22

ฉันมีธนาคารแห่งการถ่ายทอด (5) ที่ฉันต้องการที่จะหนีจาก Pi ของฉัน ฉันใช้รีเลย์ 5V TE Connectivity ซึ่งขับเคลื่อนโดยชุดรีเลย์กำลังสูงของ Sparkfun ซึ่งใช้ทรานซิสเตอร์ NPN เพื่อทริกเกอร์รีเลย์

จนถึงตอนนี้ปัญหาที่ฉันมีอยู่ก็คือฉันไม่สามารถเปลี่ยนรีเลย์ได้ หมุดส่งออก GPIO ไม่จ่ายไฟ 5V หรือไม่? ฉันคิดว่าพี่ทำใน GPIO


4
ไม่มีพิน Gpio เป็น 3.3 โวลต์
Steve Robillard

ถ้าเช่นนั้นคุณรู้วิธีที่ฉันจะแก้ไขวงจรได้หรือไม่?
hightekjonathan

1
มันจะต้องมีแหล่งจ่ายไฟ 5 โวลต์และผู้เชื่อมต่อเพื่อเชื่อมต่อพื้นที่ทั้งหมดเข้าด้วยกัน - ฉันกำลังทำสิ่งนี้เพื่อเปลี่ยนสัญญาณไฟแบบทาวเวอร์เช่นนี้ebay.com/itm/…
Steve Robillard

2
ฉันขอแนะนำให้ให้มันทำงานร่วมกับแหล่งจ่ายไฟแยกกันก่อนจากนั้นจัดการกับความซับซ้อนของความต้องการพลังงานของ Pi และการพกพา อย่างที่พวกเขาพูดว่าวิธีที่ดีที่สุดในการกินช้างคือการกัดครั้งหนึ่ง
Steve Robillard

1
พื้นที่ทั้งหมดถูกมัดเข้าด้วยกัน และค่าบวก 5v นั้นเชื่อมต่อกับค่าทั่วไปบนดาร์ลิงตัน ฉันตามแผนภาพ
hightekjonathan

คำตอบ:


36

ทำไมไม่ทำอย่างนี้?

Raspberry Pi สลับระหว่าง 0 และ 3V3 มากกว่าเพียงพอที่จะทำให้อิ่มตัวไตรมาสที่ 1 ซึ่งใช้งาน "งานหนัก": สลับเปิด / ปิด + 5V รีเลย์ อาจมีการดัดแปลงเล็กน้อยสำหรับ D1 และ Q1 ขึ้นอยู่กับรีเลย์ที่คุณใช้

Raspberry Pi ควบคุมการถ่ายทอด


คำตอบที่ยอดเยี่ยม! และเป็นวิธีที่ปลอดภัยมากในการทำเช่นนี้
Piotr Kula

3
คำตอบที่ดีที่ควรแก้ปัญหา "รีเลย์คำถาม" ทันทีและสำหรับทั้งหมด บางทีมันอาจเป็นการดีที่จะเพิ่มว่าข้อเท็จจริงที่ว่าแรงดันไฟฟ้าของ Pi และรีเลย์ควรจะเหมือนกันหรืออย่างน้อยก็แบ่งปัน GND ทั่วไป ในขณะนี้อาจดูเหมือนชัดเจนกับวิศวกรไฟฟ้า แต่อาจเป็นอันตรายสำหรับผู้เริ่มต้น
Ghanima

@Ghanima: ใช่คุณมีจุดแน่นอน แต่อย่างที่คุณพูดถึงฉันมัน "ชัดเจน" ถ้าฉันเห็นสัญลักษณ์ภาคพื้นดินนั่นคือทั้งสองด้าน (ที่นี่: ราสเบอร์รี่และรีเลย์) และฉันตั้งใจขับเคลื่อนรีเลย์ด้วย + 5V (อาจเป็น + 24V หรืออะไรก็ตามที่แรงดันไฟฟ้ากระแสตรงต่ำที่ปลอดภัย) เพื่อแสดงให้ผู้ชมเห็นอย่างชัดเจนมันเป็นจุดประสงค์ของวงจรข้างต้นที่มีแรงดันไฟฟ้าที่แตกต่างกันในทั้งสองไซต์ นั่นคือเป้าหมายของวงจร
GeertVc

1
วัตถุประสงค์ของ R2 คืออะไร
erikH

2
@erikH: ตัวต้านทานนี้จะทำให้แน่ใจว่าฐานของ Q1 มีระดับคงที่ (ในกรณีนี้เชื่อมต่อกับพื้นดิน) ในกรณีที่อินพุตที่ R1 จะลอย หากคุณแน่ใจว่าอินพุตไม่ลอยดังนั้น R2 ไม่จำเป็น แต่เป็น "การป้องกัน" หากอินพุตสามารถลอยได้และคุณไม่ได้เชื่อมต่อกับ R2 ทรานซิสเตอร์สามารถเริ่มสลับในแบบที่ไม่สามารถควบคุมได้
GeertVc

7

# บทนำ #

OP ต้องการใช้ Rpi เพื่อควบคุมโมดูลรีเลย์ Beefcake ของ Sparkfun 5 ชุดอย่างปลอดภัยอย่างปลอดภัย เขามีปัญหาเพราะระดับตรรกะ Rpi GPIO เป็น 3.3V แต่รีเลย์ของเขาใช้การควบคุมตรรกะ 5V เขาต้องการทราบวิธีการแก้ไข Rpi เพื่อแก้ไขปัญหาความไม่เท่าเทียมระดับตรรกะ ทางเลือกของเขา ได้แก่ : ใช้ทรานซิสเตอร์ BC5468 เพื่อขับเคลื่อนขดลวดรีเลย์ รับรีเลย์แยก opto และขับโดยใช้ ULN2803 ใช้ไดรเวอร์ต้นฉบับเช่น UDN2981, ...

หลังจากการสอบสวนตอนนี้ฉันขอแนะนำวิธีแก้ไขปัญหาสองข้อพร้อมข้อดีและข้อเสียตามลำดับ OP สามารถเลือกวิธีแก้ปัญหาหลังจากซื้อขายความเสี่ยงความน่าเชื่อถือราคาและอื่น ๆ

# สารบัญ #

โซลูชันที่ 1 - แก้ไขตัวต้านทาน biasing ของทรานซิสเตอร์ NPN

โซลูชันที่ 2 - การใช้ UDN2981 เพื่อเลื่อนสัญญาณ GPIO 3.3V ของ Rpi เป็น 5V

โซลูชันที่ 3 - การใช้ 74HC03 และ 74HC04 เพื่อเลื่อนสัญญาณ GPIO 3.3V ของ Rpi เป็น 5V

โซลูชันที่ 4 - การใช้ 74HCT125 เพื่อทำการแปลงระดับตรรกะ

โซลูชันที่ 5 - การใช้ TXS0102 เพื่อทำการแปลงระดับโลจิคัล

ส่วนที่ 6 - การใช้ 2N2222 เพื่อทำการแปลงระดับตรรกะ

โซลูชันที่ 7 - การใช้ 2N7000 เพื่อทำการแปลงระดับตรรกะ

FAQ1 - วิธีการจ่ายไฟ Rpi และโมดูลรีเลย์

FAQ2 - วิธีหลีกเลี่ยงปัญหาอินพุตแบบลอย

FAQ3 - รีเลย์ของฉันเปิดอยู่เสมอไม่ว่าจะเป็นอินพุตสูงหรือต่ำนั้นเป็นเพราะสัญญาณ Rpi ต่ำไม่เพียงพอหรือไม่

FAQ3 - สัญญาณ Rpi ของฉันต่ำ GPIO ไม่สามารถปิดรีเลย์ได้ แต่ตั้งค่า GPIO ตามอินพุต ฉันจะทำร้าย Rpi ของฉันหรือไม่ถ้าทำเช่นนั้น?

คำแนะนำการแก้ไขปัญหาฮาร์ดแวร์

คำแนะนำการแก้ไขปัญหาซอฟต์แวร์

อ้างอิง

# โซลูชัน 1. การปรับเปลี่ยนการให้น้ำหนักทรานซิสเตอร์ NPN เพื่อให้เข้ากันได้ 3.3V #

โซลูชันทั่วไปมีสองประเภท:

(1) แก้ไขวงจรอินพุตระดับตรรกะ 5V ของโมดูลเพื่อปรับให้เข้ากับสัญญาณ 3.3V

(2) ใช้ตัวแปลงโลจิคัลระดับ 3.3V ถึง 5V เพื่อเลื่อนสัญญาณ 3.3V ของ Rpi ไปเป็น 5V

ตอนนี้ฉันเริ่มต้นด้วย (1)

ตรวจสอบ

โมดูลรีเลย์ Beefcake ของ Sparkfun มีทรานซิสเตอร์ NPN 2N3904 (Q2) ขับขดลวด (U1) มันถูกออกแบบมาสำหรับสัญญาณตรรกะ 5V ของ Arduino

ชุดควบคุมรีเลย์ SparkFun

ฉันมีโมดูลทรานซิสเตอร์ NPN ที่คล้ายกัน KY019 ซึ่งสามารถขับเคลื่อนด้วยสัญญาณ 3.3V ของ Rpi ดังนั้นฉันจึงตรวจสอบข้อกำหนดสัญญาณอินพุตเพื่อหาสาเหตุที่ KY019 สามารถให้ความบันเทิงกับสัญญาณ 3.3V ได้ แต่ Beecake ไม่สามารถทำได้

ข้อมูลจำเพาะ KY019

ฉันพบว่า KY-019 มีระดับไก2.5V และ 0.1mA สัญญาณนี้จะถูกขยายโดยทรานซิสเตอร์ NPN ถึง 50mA สูงพอที่จะรวมขดลวดเพื่อเปิดใช้งานรีเลย์

สเปคตงลิ่ง

Rpi GPIO (ที่มีระดับสูงกว่า2.8Vและ จำกัด กระแสสูงสุด16mA ) สามารถให้แหล่ง 4mA ได้อย่างสะดวกสบายไม่น่าจะมีปัญหาในการขับขี่โมดูลโดยตรง

ขดลวดมีเวลาตอบสนอง 10mS ฉันตั้งโปรแกรม Rpi GPIO pin 17 เพื่อสลับโมดูลรีเลย์ที่ระยะ 40mS (25cps) และพบว่ารีเลย์คลิกอย่างมีความสุขตามที่คาดไว้ (ฉันใช้สายเชื่อมต่อยาว 2 เมตรสำหรับสัญญาณ GPIO ดังนั้นสัญญาณที่จุดสิ้นสุดของอินพุตรีเลย์นั้นค่อนข้างมีเสียงดัง)

การทดสอบสลับ KY019

วิธีการปรับเปลี่ยนโมดูล Beefcake เพื่อให้เข้ากันได้กับตรรกะ 3.3V

ทรานซิสเตอร์ Beefcake NPN มีค่าความต้านทาน จำกัด R2 ปัจจุบันของค่า 1K ตัวต้านทานนี้จะ จำกัด กระแสฐานที่ Arduino 5V ระดับสูงตรรกะ กระแสฐานภายในขีด จำกัด หลังจากการขยาย (ปกติ hFE> 100) มีขนาดใหญ่พอที่จะรวมขด

การคำนวณ Arduino 5V 5V GPIO ในโมดูลรีเลย์ Beefcake:

Arduino ปัจจุบันฉัน ~ (4V [Arduino สูง] - 1V [Vce (sat)]) / 1K [R]) = 3V / 1K = 3mA

อย่างไรก็ตามลอจิกสัญญาณสูงของ Rpi นั้นต่ำกว่า Arduino ดังนั้นกระแสไฟฟ้า จำกัด ที่ จำกัด จึงมีขนาดเล็กลงและหลังจากการขยายไม่ใหญ่พอที่จะขับเคลื่อนขดลวด

Rpi ปัจจุบัน i ~ ((3V [Rpi สูง] - 1V) / 1K = 2mA

การปรับเปลี่ยนนั้นง่าย - เพียงแค่แทนที่ 1K R2 ด้วยตัวต้านทานที่เล็กกว่าพูด 510R

Rpi ปัจจุบัน i (หลังการดัดแปลง) = (3V - 1V) / 501R = 4mA

ฉันคาดเดาความรู้จากการวิเคราะห์วงจรและการทดลอง ฉันคิดว่าการเดาของฉันน่าจะถูกต้อง 90%

การวิเคราะห์ความเสี่ยง

แม้ว่าสัญญาณขนาดเล็ก NPN ทรานซิสเตอร์ 2N3094 สามารถใช้สำหรับการสลับโหลดขนาดเล็ก แต่ก็ไม่น่าเชื่อถือ สำหรับการสลับรีเลย์จะปลอดภัยกว่าหากใช้ทรานซิสเตอร์พลังงานเช่น SS8050, UDN2981 ซึ่งออกแบบมาเป็นพิเศษสำหรับโหลดอุปนัย

OP ต้องการวิธีที่ปลอดภัยซึ่งจะไม่ทอด Pi ของเขาดังนั้นเพื่อความน่าเชื่อถือโปรแกรมควบคุมแหล่งข้อมูลเช่น UDN2981 จึงเป็นวิธีที่จะไป

/ ...

# โซลูชัน 2 - การใช้ UDN2981 เพื่อขับเคลื่อนโมดูลรีเลย์ Beefcake #

ความเห็นชี้ให้เห็นว่าโมดูลรีเลย์ Sparkfun Beefcake ของ OP เป็นตัวกระตุ้นระดับสูงดังนั้นจึงไม่สามารถใช้งานไดรเวอร์อ่างล้างจาน ULN2803 ที่ใช้กันทั่วไปได้ ควรใช้ไดรเวอร์เช่นเดียวกับ ULN2803 แต่การจัดหาในปัจจุบันแทนที่จะใช้การจมปัจจุบันควรใช้แทน

ฉันคิดว่า UDN2981 เป็นไดรเวอร์ที่เหมาะสมสำหรับโมดูลรีเลย์ของ OP

ฉันตรวจสอบเรียบร้อยแล้ว UDN2981 ขับโมดูล tirgger ระดับสูงคล้ายกับ Beefcak และ ULN2803 เป็นทริกเกอร์ต่ำ ด้านล่างนี้เป็นบทสรุป

UDN2981 การควบคุมโมดูลรีเลย์ชนิดอินพุตสูงทริกเกอร์ NPN

ฉันทดสอบ UDN2981 ด้วยตนเองเป็นครั้งแรกโดยไม่ต้องเชื่อมต่อกับ Rpi เพื่อกระพริบไฟ LED 4 ดวงเพื่อให้แน่ใจว่าวงจรทำงานปกติ

uln2803 udn2981 รูปภาพ

จากนั้นฉันจะตั้งค่าโมดูลรีเลย์ประเภทอินพุตทรานซิสเตอร์ 4 NPN (KY019) และเชื่อมต่ออินพุตโมดูลรีเลย์ 4 ตัวเข้ากับช่องสัญญาณ UDN2981 4 ช่อง

KY019 x 4

จากนั้นฉันเชื่อมต่อพิน GPIO 4 Rpi 3.3V โดยตรงไปยังช่องสัญญาณ 4 UDN2981 ฉันใช้ฟังก์ชั่น python ต่อไปนี้เพื่อสลับ 4 โมดูลรีเลย์ที่ 25 cps

ฟังก์ชั่นหลามเพื่อสลับ 4 รีเลย์

ผลลัพธ์ก็ดี โมดูลรีเลย์ 4 ตัวคลิกและไฟ LED กะพริบที่ 25cps ตามที่คาดไว้ สัญญาณเอาต์พุต Rpi GPIO อยู่ใกล้กับ 3.3V และสัญญาณเอาต์พุต UDN ประมาณ 4.0V ซึ่งหมายความว่าไม่มีการป้อนข้อมูลมากเกินไป

สลับรูปคลื่นของโมดูล

UDN2981 การควบคุมโมดูลรีเลย์ทริกเกอร์สูงที่แยกได้

OP พิจารณาด้วยการใช้โมดูลรีเลย์แยก opto เพราะพวกเขาปลอดภัย ฉันใช้ UDN2981 เดียวกันเพื่อควบคุมทริกเกอร์ระดับสูง 4, opto isolated relay Modules (MK055)

โมดูลรีเลย์ MK055

ที่จริง UDN2981 สามารถใช้ควบคุมโมดูลทริกเกอร์สูงชนิดใดก็ได้ไม่ว่าจะเป็นทรานซิสเตอร์ NPN หรือประเภทแยก opto

อย่างไรก็ตามสำหรับโมดูลทริกเกอร์ต่ำไม่ว่าจะเป็นทรานซิสเตอร์ PNP หรือตัวแยก opto, ไดรเวอร์ต้นทาง UDN2981 ไม่ทำงาน, ควรใช้ ULN2803 หรือไดรเวอร์ sink อื่น ๆ

ULN2803 การควบคุมอินพุตทรานซิสเตอร์ทริกเกอร์ PNP ต่ำหรือโมดูลรีเลย์ opto isolated

ฉันตรวจสอบเรียบร้อยแล้วไดรเวอร์ ULN2083 sink สามารถควบคุมโมดูลรีเลย์ทริกเกอร์ออปโตทริกต่ำ 4 ตัวได้ ฉันทดสอบการกะพริบไฟ LED 4 ดวงด้วยตนเองก่อนจากนั้นใช้ฟังก์ชั่นหลามเดียวกันข้างต้นเพื่อทดสอบ 4 โมดูล ผลลัพธ์ก็ดีเช่นกัน

โมดูลรีเลย์ MK101

การสนทนา

ข้อดีและข้อเสียของ ULN2803 และ UDN2981

ข้อดี

  1. สามารถขับเคลื่อนULN2803และUDN2981ได้โดยตรงด้วยสัญญาณลอจิก TTL หรือ CMOS พร้อมแรงดันไฟฟ้า 3.3V หรือ 5V

  2. เอาต์พุตขนาด 500mA พร้อมแคลมป์ไดโอดเหมาะสำหรับเปลี่ยนรีเลย์และสเต็ปปิ้งมอเตอร์

จุดด้อย

  1. ULN2803 และ UDN2981 โดยเฉพาะนั้นไม่ธรรมดา

  2. พวกเขามี 8 ช่องทางดังนั้นจึงมีขนาดแพคเกจกรมทรัพย์สินทางปัญญา 18 พินที่ใหญ่กว่า สำหรับช่องสัญญาณที่น้อยกว่าทั่วไปมากขึ้น 74HC03 / 04 หรือ 74HCT125 พร้อมแพคเกจกรมทรัพย์สินทางปัญญา 14 พินเป็นเรื่องธรรมดาและจัดการได้ง่ายขึ้น ..

# โซลูชัน 3 - การใช้ 74HC03 และ 74HC04 เพื่อเลื่อนสัญญาณ GPIO 3.3V ของ RPi ขึ้น #

การใช้ UDN2981 เพื่อขับเคลื่อนโมดูลการถ่ายทอดนั้นมีขนาดใหญ่กว่าการฆ่าเนื่องจากได้รับการออกแบบด้วยไดโอดแบบ Fly Back ในตัวเพื่อเพิ่มการถ่ายทอดพลังงานโดยตรง

UDN2981 นั้นไม่ใช่เรื่องปกติและไม่ใช่สำหรับผู้เริ่มต้นที่จะทดลอง สำหรับผู้เริ่มต้นไอซีลอจิกเกตแบบธรรมดาและราคาถูก, ประตู 74HC03 Quad NAND และอินเวอร์เตอร์ Hex HC04 สามารถทำงานเช่นเดียวกับ UDN2981, เปลี่ยนสัญญาณตรรกะ 3.3V

ฉันได้ตรวจสอบ HC03 และ HC04 สำเร็จแล้วเลื่อนตรรกะ 3.3V เป็น 5V และพบว่ามันทำงานได้ทั้งอินพุตทรานซิสเตอร์และ opto isolated โมดูลทริกเกอร์ระดับสูง

hc03 04 วงจรตัวแปลง

hc03 hc04 ky019 mk047

hc03 hc04 ky019 ky047

# อ้างอิง #

R1 รีเลย์ไฟฟ้าทำงานอย่างไร - TechyDIY

R2 Relay Switch Circuit - บทแนะนำอุปกรณ์อิเล็กทรอนิกส์

R3 คู่มือการเชื่อมต่อการควบคุมรีเลย์ของ Beefcake - SparkFun

R4 บัฟเฟอร์ดิจิตอลและบัฟเฟอร์ Tri-state - สอนอิเล็กทรอนิกส์

R5 ตัวต้านทานแบบเลื่อนขึ้น - บทช่วยสอนอิเล็กทรอนิกส์

R6 การสอนระดับลอจิก - SparkFun

Arduino Voh 4.2V, Vol 0.9V

R7 Rpi GPIO พินแรงดันและข้อมูลจำเพาะปัจจุบัน

Rpi Voh 2.4V, Vol 0.7V

R8 Bipolar Transistor - บทแนะนำอุปกรณ์อิเล็กทรอนิกส์

================

# A.3 ตัวแปลงระดับตรรกะโดยใช้ HCT125 #

ดังนั้นฉันจึงทดสอบตัวแปลงค่าอีกตัว HCT125 ฉันดีใจที่พบว่าใช้งานได้ดี สัญญาณ 5V0 ที่แปลง HCT125 ไม่ได้ลดลงเมื่อเชื่อมต่อกับโมดูลรีเลย์ที่ขับเคลื่อนด้วยทรานซิสเตอร์ NPN

ตัวแปลงระดับ HCT125

/ ...

จุดสิ้นสุดของภาคผนวก

** * คำตอบแบบยาวที่จะลบ * **

คำตอบที่ยาวนานนี้ยืดเยื้อและยุ่งเหยิงไปนานเกินไป ตอนนี้ฉันกำลังพยายามลบย่อหน้าที่ไม่เกี่ยวข้องออกและอาจแทนที่ด้วยการถามคำถามที่เกี่ยวข้องและตอบตัวเอง


วิธีตรวจสอบ Photo Coupler / Opto Isolated Relay Module

  1. รับสายจัมเปอร์
  2. เชื่อมต่อปลายด้านหนึ่งเข้ากับสัญญาณ / ขาอินพุตของโมดูลรีเลย์
  3. กดปลายอีกด้านหนึ่งค้างไว้แล้วแตะที่เข็ม Vcc (+) และ Gnd (-) และตรวจสอบผลลัพธ์ด้านล่าง

ตารางผลการทดสอบโมดูลรีเลย์

2.1 ประเภทอินพุตของทรานซิสเตอร์

สำหรับประเภทอินพุตไบโพลาร์ทรานซิสเตอร์ NPN ที่เป็นที่นิยมสัญญาณไดรเวอร์การจัดหา (สัญญาณ Rpi GPIO หรือสัญญาณ RPi GPIO หลังจากการแปลงระดับตรรกะ 3.3V ถึง 5V) ไปที่ฐานของทรานซิสเตอร์ผ่านชุด LED และตัวต้านทานไบอัส

ตัวอย่างของโมดูลประเภทอินพุตทรานซิสเตอร์ (BJT NPN)

มีวงจรการสับเปลี่ยนรีเลย์อื่น ๆ ที่ไม่ค่อยเป็นที่นิยมดังที่อธิบายไว้ใน บทช่วยสอนการสลับสับเปลี่ยนนี้

2.2 ประเภทอินพุต Photocoupler

รีเลย์ประเภทอินพุตโฟโตคัปเปลอร์มี phtocoupler เป็นอินพุต โฟโตมิเตอร์จะขับทรานซิสเตอร์อีกตัวหนึ่งซึ่งจะขับเคลื่อนขดลวดรีเลย์


ภาคผนวก C - ตัวแปลงระดับตรรกะโดยใช้ TXS0102

ตอนนี้ฉันรู้แล้วว่า Rpi GPIO สามารถขับโมดูรีเลย์ได้โดยตรง แต่มีสองปัญหา ก่อนอื่นสัญญาณ GPIO ที่มีสายเชื่อมต่อยาวจะมีเสียงดังดังนั้นจึงไม่น่าเชื่อถือ ประการที่สองมู่เล่ไดโอด 1N4148 อาจไม่สามารถยับยั้งขดลวด EMF กลับมาได้อย่างสมบูรณ์และถ้า 1N4148 พังลงอย่างไม่โชคดีหรือไม่ได้เชื่อมต่ออย่างเหมาะสม (การสัมผัสที่ไม่ดีข้อต่อการบัดกรีแห้ง ฯลฯ )

ดังนั้นฉันจึงตัดสินใจใช้ตัวแปลงระดับตรรกะเพื่อเลื่อนสัญญาณ Rpi GPIO ขึ้นจาก 3V3 เป็น 5V ฉันลองตัวแปลง TXS102 เป็นครั้งแรกและพบว่าทำงานได้ดี นอกเหนือจากการขยับ GPIO siganl แล้วเสียงในระดับสูงก็ลดลงอย่างมากเช่นกัน

TXs0102 รูปถ่ายและรูปคลื่น

อย่างไรก็ตามฉันพบปัญหาใหญ่เมื่อป้อนการแปลง 5V GPIO singal ไปยังโมดูลรีเลย์ รีเลย์ยังคงเปิดและปิดเป็นก่อนที่จะมีสัญญาณ 3V3 แต่เมื่อผมใช้ขอบเขตในการตรวจสอบรูปแบบของคลื่นที่ฉันพบที่น่าแปลกใจมากว่าสัญญาณ 5V ลดลงครึ่งหนึ่งเพื่อ 2.2V

ฉันสงสัยว่าเหตุผลคือ TXS0102 สามารถจมกระแสได้ดีกว่าการจ่ายกระแสไปยังโมดูลรีเลย์ ในการตรวจสอบการเดาของฉันฉันป้อนสัญญาณ 5V ไปยังโมดูลรีเลย์อีกตัวหนึ่งซึ่งเป็นประเภทโฟโตมิเตอร์ที่ดึงลงมารุ่น MK01

ครั้งนี้ฉันพบว่าสัญญาณ 5V ไม่ได้ลดลงอย่างเห็นได้ชัด

ดังนั้นฉันจึงสรุปได้อย่างรวดเร็วว่าโมดูลรีเลย์ชนิดทรานซิสเตอร์ NPN เป็นตัวเลือกที่ไม่ดี ฉันจะหยุดการทดสอบรีเลย์ประเภทนี้ต่อจากนี้ไปและย้ายไปที่รีเลย์ประเภทโฟโตมิเตอร์

ฉันยังทดสอบโมดูลไดรฟ์โฟโตคัปเปลอร์ตัวอื่น MK101 โมดูลนี้มีจัมเปอร์เพื่อเลือกทริกเกอร์ที่สูงกว่าหรือทริกเกอร์ต่ำ ฉันพบว่าสำหรับทริกเกอร์ต่ำระดับสัญญาณ 5V ที่แปลง TSX0102 จะไม่ได้รับผลกระทบ แต่เมื่อเลือกทริกเกอร์ต่ำระดับสัญญาณ 5V ที่ถูกแปลงจะลดลงเหลือประมาณ 2.5V แม้ว่ารีเลย์ยังทำงานอยู่

txs0102 ทดสอบโมดูลทริกเกอร์ต่ำสูง


ภาคผนวก E - ตัวแปลงระดับตรรกะโดยใช้ HC04

HCT125 นั้นไม่ธรรมดา ดังนั้นฉันจึงลองใช้วงจรตัวแปลงอีกหนึ่งตัวโดยใช้ประตูท่อระบายน้ำเปิด NAND HC03 Quad และ HC04 hex อินเวอร์เตอร์ เมื่อฉันทดสอบเอาต์พุต HC04 ฉันพบว่ามีเสียงดังมาก ฉันเดาเหตุผลข้อหนึ่งก็คือฉันกำลังใช้แหล่งจ่ายไฟแบบ dirrerent หนึ่งรายการสำหรับ rpi และอีกรายการสำหรับเครื่องแปลง แม้ว่าฉันจะเชื่อมต่อจุดกราวด์ของแหล่งจ่ายไฟเพื่อสร้างจุดทั่วไปเสียงก็ไม่หายไป ฉันใช้แหล่งจ่ายไฟเดียวสำหรับทั้ง rpi และตัวแปลงและเสียงก็หายไป

เอาต์พุตตัวแปลงที่มีเสียงดัง

ป้อนคำอธิบายรูปภาพที่นี่

ฉันลองใช้สัญญาณเอาต์พุต HC04 สำหรับโมดูลรีเลย์ในโหมดทริกเกอร์ต่ำ (ซึ่งต้องใช้การจมในปัจจุบัน แต่ไม่ได้อยู่ในโหมดทริกเกอร์สูง (ซึ่งต้องใช้แหล่งจ่ายกระแสในปัจจุบัน)) ดังนั้นฉันจะเพิ่มประตู HC04 hex NOT ซึ่งแหล่งจ่ายกระแส โมดูลรีเลย์

ภาคผนวก F - HC04 ระดับตัวแปลงปัญหาการป้อนข้อมูลแบบลอยตัว

ครั้งล่าสุดเมื่อฉันลองใช้ตัวแปลงระดับ HC03 เป็นครั้งแรกบนโมดูลรีเลย์โฟโตคัปเปลอร์ฉันพบว่าถ้าฉันปล่อยอินพุตลอยไว้โมดูลก็จะส่งเสียงดังขึ้นและรีเลย์ก็เปิดและปิดอย่างบ้าคลั่ง ฉันคิดว่าความถี่น่าจะเป็น 1kHz ฉันไม่แน่ใจว่ามันเป็นสัญญาณตอบรับเชิงบวกหรือไม่ แต่เมื่อฉันใช้ขอบเขตเพื่อตรวจสอบฉันพบว่ามันน่าประหลาดใจคือ 50Hz! ฉันคิดว่ามันเป็นเสียงสะท้อนบางอย่าง แต่ฉันไม่รู้ว่าอะไรคือความแตกต่างระหว่างเสียงสะท้อนและความผันผวน บางทีฉันควรจ้องอีกครั้ง อย่างไรก็ตามฉันคิดว่าฉันต้องเพิ่มตัวต้านทานแบบเลื่อนขึ้น / ลงบางแห่ง

HC04 ตัวแปลงปัญหาระดับอินพุตลอย


ด้านล่างจะสั้นลงหรือถูกลบ

# ภาคผนวก #

# A1 Opto isolated / Photo coupler relay module คณะกรรมการและแผนผัง #

โมดูลรีเลย์ที่แยกได้ของ Opto มี photo coupler ซึ่งเป็น 4 พิน IC ภาพด้านล่างแสดง photoCoupler PC1 (ที่มี 4 พินระบุว่าเป็น 1, 2, 3, 4 เป็นสีเขียว) และทรานซิสเตอร์ Q1 IC ไม่ได้ทำเครื่องหมายไว้เสมอ ในภาพนี้ PC1 คือ EL354 และ Q1 8050

Photocoupler รูปถ่ายชนิดโมดูลรีเลย์รูปถ่าย

วงจรรีเลย์อินพุทรีเลย์

ลิงค์ไดอะแกรม

 35 : https://i.stack.imgur.com/cWkRi.jpg


1
tlfong01: "สัญญาณ GPIO 3V3 ของ Rpi จึงสามารถขับรีเลย์ได้โดยตรง" : คุณไม่ควรพูดอย่างนั้นเพราะการอ่านบรรทัดนี้อาจสร้างความประทับใจให้กับคนที่ไม่ได้ใช้เทคนิคพวกเขาสามารถเชื่อมต่อ GPIO ของ RPi ไปยังขดลวดของรีเลย์ได้โดยตรง ด้วยผลที่ตามมาอย่างหายนะ ... มีเหตุผลสำหรับการเพิ่ม 2N3904 ... คุณควรพูดว่า"ดังนั้นสัญญาณ GPIO 3V3 ของ RPi สามารถขับโมดูรีเลย์ได้โดยตรง"แทน ...
GeertVc

ขอบคุณที่ชี้ให้เห็นถึงความผิดพลาดที่เกิดจากความประมาทเลินเล่อที่ไม่ได้คำนึงถึงคนที่ไม่ใช่ช่างเทคนิค และเมื่อฉันทำการแก้ไขฉันพบว่าฉันทำผิดพลาดอีกครั้งในการแทรกรูปภาพที่เหมือนกันสองภาพของ KY019 อันที่จริงคนแรกควรเป็นวงจรของโมดูล SparkFun
tlfong01

ไม่มีปัญหาเรามาที่นี่เพื่อช่วยเหลือซึ่งกันและกัน ... :-)
GeertVc

เหตุผลที่มีความคลาดเคลื่อนโดยใช้ GPIO โดยตรงกับ GPIO ที่มีตัวเปลี่ยนคือตัวเปลี่ยนมีวัตถุประสงค์เพื่อส่งแรงดันไฟฟ้าเฉพาะ (5V) ในอีกทางหนึ่งหมุดลอจิก 3.3V นั้นมี spec'd พร้อมกับเกณฑ์ที่ระบุความแตกต่างระหว่างต่ำและสูง สำหรับ Piนี้หมายถึงอะไรมากกว่า 1.3V สูง หากคุณกำลังจมผ่านความต้านทานกับพื้นดิน (เช่นการดึงกระแส) คุณควรได้รับ 3.3V แต่นั่นอาจไม่ใช่สิ่งที่อินพุตของรีเลย์ทำ - มันลอย
goldilocks

@goldilocks: ใช่มันสับสน OA กล่าวว่าชุดรีเลย์ของเขาใช้ทรานซิสเตอร์ NPN เพื่อทริกเกอร์รีเลย์ [คอยล์] หนึ่งคำตอบดูเหมือนจะแนะนำให้ปรับเปลี่ยนทรานซิสเตอร์ [เป็น BC5468] ข้อเสนอแนะอีกข้อคือการใช้ดาร์ลิงตัน ULN2803 .. ฉันต้องอ่านความคิดเห็นอีกครั้งเพื่อล้างใจของฉัน
tlfong01
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.