การกดปุ่มควบคุมระยะไกลด้วย GPIO และทรานซิสเตอร์


11

แผนภูมิวงจรรวม

ฉันพยายามควบคุมประตูโรงรถระยะไกลด้วยพิน GPIO จาก Raspberry Pi ของฉัน แทนที่จะขับรีเลย์มันจะง่ายกว่าการกดปุ่มกดสั้น ๆ บนรีโมท นี่เป็นวิธีที่ฉันควรทำหรือไม่? ฉันต้องการไดโอดป้องกันหรือไม่และถ้าเป็นเช่นนั้นจะไปที่ไหน?

มันเป็นเรื่องสำคัญที่ pin GPIO 3.3V ถูกอ้างอิงไปยังดินที่แตกต่างกัน (กราวด์ Raspberry Pi) กว่ากราวด์ระยะไกลหรือไม่?

จะขอบคุณคำแนะนำเกี่ยวกับทรานซิสเตอร์ที่จะใช้และค่าตัวต้านทาน

UPDATE; ข้อมูลเพิ่มเติมจากความคิดเห็นโดย OP: หลังจากตรวจสอบคุณถูกต้องปุ่มกดเพียงแค่ลัดวงจรวงจรไปยังเส้นทางกลับของแบตเตอรี่ 9V ข้อกังวลหลักของฉันคือ 3.3V ที่อ้างอิงถึง GND ในขณะที่ทุกอย่างบนรีโมทนั้นลอย

คำตอบ:


10

เพื่อขจัดความเป็นไปได้ของความประหลาดใจใด ๆ และโดยทั่วไปทำให้สิ่งที่มีประสิทธิภาพมากขึ้นผมขอแนะนำให้ใช้ OPTOCOUPLER เช่น4N25

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

ด้วยข้อตกลงนี้คุณไม่ต้องกังวลกับการรวมพื้นที่แยกต่างหากของทั้งสองระบบเข้าด้วยกันเพราะพื้นที่ไม่ได้เชื่อมต่อกัน นอกจากนี้หากมีปัญหาที่ปลายทั้งสองด้าน optocoupler อาจแยกความผิดไปด้านหนึ่งและมีราคาถูกเพื่อแทนที่ที่ราสเบอร์รี่ Pi หรือระยะไกลโรงรถไม่ได้

คุณอาจต้องเพิ่มทรานซิสเตอร์อีกตัวเพื่อจัดการกับกระแสไฟเพิ่มเติมเนื่องจาก 4N25 มีค่าสูงสุด 50mA ขึ้นอยู่กับว่ารีโมทรีโมตคืออะไร Q1 เป็นวิธีหนึ่งในการทำเช่นนั้นและทรานซิสเตอร์ PNP ทั่วไปที่คุณสามารถหาได้จะทำงานในแอปพลิเคชันนี้ ข้อตกลงนี้เกิดขึ้นจากไตรมาสที่ 1 และทรานซิสเตอร์การส่งออกของ 4N25 จะเรียกว่าเป็นคู่ Sziklai

8.2V9V0.6V0.2V


อาจเป็นทางออกที่ปลอดภัยที่สุดของพวกเขาทั้งหมด (จนถึงตอนนี้)
jippie

ขอบคุณ Phil ฉันชอบโซลูชัน optocoupler กระแสสูงสุด RPi GPIO ประมาณ 50mA ดังนั้นฉันคิดว่าฉันอาจไม่ต้องการ Q1 ฉันมีตัวต้านทาน 130 โอห์มและมี 3.3V ที่ประมาณ 25mA และฉันมี MCT6 opto ให้ใช้กับกระแสสูงสุด 60mA ที่ด้าน emitter (diode) อัตราส่วนการถ่ายโอนปัจจุบันคือ 20% ซึ่งหมายถึงประมาณ 5mA ที่ด้านตรวจจับ (ทรานซิสเตอร์) ... ซึ่งฉันไม่แน่ใจว่าเพียงพอสำหรับระยะไกล แต่ฉันจะให้มันถ่ายและดู
nummy

4

ความคิดที่ถูกต้องการดำเนินการที่ผิด สมมติว่าไดอะแกรมของรีโมตของคุณนั้นถูกต้อง (ฉันไม่มีวิธีการตรวจสอบและอาจมีการกำหนดค่าต่าง ๆ มากมาย) คุณต้องการใช้ทรานซิสเตอร์ PNP NPN ในฐานะผู้ติดตาม emitter ที่คุณแสดงจะไม่ทำงานเพราะบล็อกสีน้ำเงินจะเห็นเฉพาะระดับดิจิตอล 3.3V ลบด้วยการลบ BE

นั่นทำให้เกิดปัญหาว่าจะเปิด PNP ได้อย่างไร นี่เป็นวิธีง่ายๆ:

Q2 จะจมประมาณ 2.7 mA เมื่อสัญญาณดิจิตอลสูง การคำนวณ Q1 ควรได้รับอย่างน้อย 50 ซึ่งจะอนุญาตให้บล็อกวาดได้สูงถึง 130 mA ซึ่งน่าจะเป็นมากกว่าระยะไกลจากโรงรถ ปรับ R1 ตามลำดับหากจำเป็นต้องใช้กระแสเพิ่มเติม

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

ที่เพิ่ม:

ตอนนี้คุณบอกว่าปุ่มกดไม่ได้เปิดเครื่อง แต่ใส่กางเกงให้สั้นลง นั่นทำให้รู้สึกมากขึ้น ในกรณีนี้วงจรนี้ควรทำงาน:

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


หลังจากตรวจสอบคุณถูกต้องปุ่มกดจะลัดวงจรไปยังเส้นทางย้อนกลับของแบตเตอรี่ 9V ข้อกังวลหลักของฉันคือ 3.3V ที่อ้างอิงถึง GND ในขณะที่ทุกอย่างบนรีโมทนั้นลอย
nummy

1
@nummy: ดูเพิ่มเติมที่คำตอบของฉัน อย่าปล่อยให้ความเชื่อโชคลางของผู้อื่นทำให้คุณกลัวเกี่ยวกับการเชื่อมต่อบริเวณ ไม่มีเหตุผลทางไฟฟ้าที่ไม่สามารถเชื่อมต่อได้
Olin Lathrop

3

แนวคิดเบื้องหลังวงจรของคุณดีการใช้งานต้องมีการปรับปรุงบางอย่าง:

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

คุณมีสองทางเลือกฉันชอบวงจรซ้ายที่สุด:

  • LEFT : ย่อสวิตช์และย้ายทรานซิสเตอร์NPNไปยังด้านล่างของแบตเตอรี่ นี่เป็นวิธีที่ใช้กันโดยทั่วไปในการควบคุมโหลดจากไมโครคอนโทรลเลอร์ กราวด์ของ RPi และกราวด์ของรีโมตจะถูกแชร์
  • ขวา : ถ้าคุณต้องการใช้รายชื่อติดต่อสำหรับปุ่มกดซึ่งอาจทำให้ใช้งานได้ง่ายขึ้นคุณต้องใช้PNPทรานซิสเตอร์และคุณต้องการ RPi Vcc และ Vcc จากระยะไกลเชื่อมต่อกัน นี่อาจเป็นเรื่องยากหาก RPi มีตัวควบคุมแรงดันไฟฟ้าบนบอร์ด คุณต้องการรางจ่ายไฟ 3V3 ของ RPi ที่นี่ ด้วยเหตุนี้ฉันจะไปทางซ้าย; มันมีประสิทธิภาพมากขึ้นง่ายกว่าที่จะใช้ ที่จริงแล้วฉันชอบทางออกของแลงดีกว่าวงจรที่เหมาะสมด้วย

ทรานซิสเตอร์ขนาดเล็กที่ใช้งานทั่วไปราคาถูก ๆ จะทำงานได้

  • สำหรับ NPN ซ้ายเช่น: BC547, BC548, 2N3904, ...
  • สำหรับ PNP ที่ถูกต้องเช่น: BC557, BC558, 2N3906 ...

มีตัวเลือกมากมายให้เลือก ขึ้นอยู่กับที่ตั้งทางภูมิศาสตร์ของคุณหมายเลขชิ้นส่วนอื่น ๆ อาจมีอยู่ทั่วไป เพียงเดินเข้าไปในร้านแล้วขอเทียบเท่ากับที่กล่าวไว้ข้างต้น

  • ชั่วโมงFEβ

  • VCE, สูงสุด>15V

  • ผมC, สูงสุด>100mA
  • ฉันเดาว่าคุณต้องการแพ็คเกจTO-92ซึ่งง่ายต่อการทดลอง
  • บ่งชี้ราคาในร้านค้าปกติเมื่อขายต่อชิ้น? ฉันจะบอกว่า€ 0.20 อีกครั้งขึ้นอยู่กับที่ตั้งทางภูมิศาสตร์

ตัวต้านทานสามารถเป็นอะไรก็ได้ประมาณ1kΩ-10kΩ \ $ และ 250mW ฟิล์มคาร์บอนหรือดีกว่า ราคาใกล้เคียงกับทรานซิสเตอร์ในการขายปลีกปกติ


อ๊ะคุณพูดถูก!
jippie

ฉันคิดว่าฉันแก้ไขข้อผิดพลาดโปรดอ่าน @PhilFrost
jippie

ดูสมเหตุสมผล
Phil Frost

1

อันดับแรกใช่จำเป็นต้องเชื่อมต่อด้วยกันหากคุณใช้การเชื่อมต่อกัลวานิกโดยตรงเช่นทรานซิสเตอร์ optocoupler น่าจะปลอดภัยกว่า

ประการที่สองทำไมต้องกังวลเกี่ยวกับรีโมท ที่เปิดประตูโรงรถควรมีไกไกด้วยตนเองซึ่งเป็นเพียงปุ่มกดปกติบนลวด คุณสามารถขับสิ่งนี้ด้วยทรานซิสเตอร์หรือรีเลย์ขนาดเล็กที่คุณขับด้วยทรานซิสเตอร์หรือออปโตคัปเปลอร์


1
มีหลายสาเหตุที่บางคนอาจต้องการแฮ็คการควบคุมแทนที่จะเป็นอุปกรณ์หลัก การเข้าถึงง่ายในการเปลี่ยนถ้าคุณ fubar มันพกพาขนาด ฯลฯ และจากประสบการณ์ของฉันที่เปิดประตูโรงรถในบ้านของฉันไม่ได้มีปุ่มคู่มืออยู่
Passerby

ฉันต้องการใช้รีโมทเพราะ RPi อยู่ไกลจากปุ่มกดประตูโรงรถมาก
nummy

ฉันยอมรับว่าอาจมีเหตุผลที่ถูกต้องในการใช้รีโมทแทนการใส่ปุ่มแบบแมนนวล - แต่โพสต์ดั้งเดิมไม่ได้พูดถึงสิ่งนั้นดังนั้นฉันจึงแนะนำให้ใช้ ปุ่มกดสำหรับการเชื่อมต่อ (ปกติเปิด) สามารถต่อสายแบบขนานได้ คุณสามารถมีสายมากกว่าหนึ่งไปยังที่เปิดเดียวกัน ดังนั้นหาก RPi อยู่ห่างจากปุ่มปัจจุบันคุณสามารถเรียกใช้สายที่สองเพื่อ RPi และใช้สิ่งนั้นสำหรับการเปิด สิ่งนี้น่าจะมีประสิทธิภาพมากกว่าการขับรถทางไกลถึงแม้ว่าแนวคิดระยะไกลอาจทำงานได้ดีเช่นกัน
Jon Watte
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.