ฉันจะใช้รีเลย์ 5V กับ 3.3v arduino pro mini ได้อย่างไร


12

ฉันกำลังใช้ arduino pro mini (3.3V) สำหรับโครงการระบบอัตโนมัติที่บ้านและต้องการเพิ่มรีเลย์ไปยังการออกแบบ PCB ขั้นสุดท้ายเพื่อเปิดและปิดบางสิ่ง

เนื่องจากฉันต้องการใช้รีเลย์ 5V เช่นนี้: HF 46F 5V, รีเลย์พลังงาน HF ขนาดเล็ก, 5 V, 1 NO 5 A

ฉันสงสัยว่าฉันจะสลับรีเลย์นี้ด้วย arduino ได้อย่างไรเนื่องจาก mini pro มีเพียงเอาต์พุต 3.3V บนหมุดเท่านั้น arduino ขับเคลื่อนด้วยแบตเตอรี่ Li-Ion 3.7V

คำถามอีกข้อคือจะใช้รีเลย์อย่างปลอดภัยกับแรงดันไฟฟ้าสูงได้อย่างไร (นอกเหนือจากความกว้างร่องรอยและระยะห่างระหว่างการติดตามระหว่างแรงดันสูงและต่ำบน pcb) ขอบคุณล่วงหน้า!


1
ทำไมไม่เลือกรีเลย์แรงดันไฟฟ้าที่ต่ำกว่า มีรุ่น 3V ที่คุณเชื่อมโยงอยู่ คุณอาจพบว่า 3.7V ก็เพียงพอที่จะปิดรายชื่อผู้ติดต่อในบางรีเลย์ไฟฟ้าแรงสูงกว่า; มันจะพูดในแผ่นข้อมูล แรงดันไฟฟ้าขั้นต่ำ 'รับ' สำหรับรีเลย์ที่เชื่อมโยงคือ 3.75V ดังนั้นจึงไม่ทำงาน ฉันไม่มีประสบการณ์ในการถ่ายทอดรีเลย์ระยะยาวดังนั้นฉันไม่สามารถพูดได้อย่างชัดเจนว่าคุณควรพึ่งพาเทคนิคนั้น
CharlieHanson

ใช้รีเลย์จากแรงดันไฟฟ้าที่สูงกว่า PSU ที่ป้อน Arduino และนำโหลดออกจาก 3.3 V regulator คุณกำลังมองหาสวิตช์ MOSFET หรือทรานซิสเตอร์ มีโพสต์หลายพันรายการในเว็บไซต์ SE นี้เกี่ยวกับเรื่องนี้
ทรานซิสเตอร์

1
@ CharlieHanson ไม่มีทางที่ตัวควบคุมจะสามารถแหล่งจ่ายกระแส / จมเพียงพอที่จะขับรีเลย์แบบนี้โดยตรงแม้ว่าแรงดันไฟฟ้าของขดลวดจะเข้ากัน คุณจะต้องมีลำดับขั้นของบัฟเฟอร์เสมอ
jippie

@ jippie ฉันไม่ได้บอกว่าตัวควบคุมเคยทำได้ เนื่องจากนี่เป็นความคิดเห็นและไม่ใช่คำตอบฉันไม่เห็นความจำเป็นที่จะต้องกำจัดโคลงสั้น ๆ เกี่ยวกับปัญหาในปัจจุบัน
CharlieHanson

เหตุใดแบตเตอรี่นี้ใช้พลังงานและไม่ได้ใช้แหล่งจ่ายไฟที่ได้มาจากโหลดซัพพลาย แม้ว่าคุณต้องการให้แบตเตอรี่ MCU ขับเคลื่อนเพื่อการสำรองข้อมูลให้รันสวิตช์สับเปลี่ยน (รีเลย์ ฯลฯ ) จากแหล่งจ่ายที่ได้รับจากแหล่งจ่ายโหลด - มีประโยชน์ไม่มากสำหรับการคลิกที่รีเลย์หากไม่มีกำลังไฟหลักในการโหลด และอายุการใช้งานแบตเตอรี่ของคุณจะดีขึ้นมากหากคุณไม่ได้ใช้งานรีเลย์คอยล์ออก
Chris Stratton

คำตอบ:


10

มีวิธีมากมายในการเชื่อมต่ออุปกรณ์ 5V เข้ากับขาออก 3.3V

// แก้ไขคำตอบต้นฉบับ / คำตอบที่ยอมรับได้อยู่ด้านล่าง ส่วนที่แก้ไขนี้ควรเป็นรุ่นปรับปรุงของต้นฉบับ

โปรดทราบว่าคำตอบนี้ใช้สำหรับการขับรีเลย์ถ้าคุณจะสลับ 20VDC ที่ ~ 3A MOSFET จะเป็นวิธีที่ดีกว่าหรือถูกกว่าเพราะคุณไม่ต้องการรีเลย์

ไม่ควรใช้พินเอาต์พุตเพื่อขับอะไร สัญญาณเอาต์พุตเป็นสัญญาณควบคุมปัจจุบันต่ำ มันค่อนข้างเป็นที่ยอมรับในการขับเคลื่อน LED โดยตรงจากขาออก (ถ้าใช้ตัวต้านทาน จำกัด กระแสสูงพอ) แต่มันอาจนำไปสู่ปัญหาเนื่องจากกระแสรวมผ่านหมุดหลายตัวสามารถถูก จำกัด โดยฮาร์ดแวร์ สำหรับการสื่อสารบางครั้งอาจใช้ 3.3V เนื่องจากสามารถลงทะเบียนได้ในระดับสูง แต่คุณไม่ควรไว้ใจแอพพลิเคชั่นที่จริงจัง

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

โดยปกติคุณจะจ่ายพลังงานให้กับอุปกรณ์ 3.3V จากปลั๊ก USB 5V หรือ 9V แหล่งเหล่านี้มักจะสามารถให้พลังงานที่จำเป็นในการรวมขดลวดของรีเลย์ของคุณ คุณจะต้องทำสัญญาณควบคุมของบอร์ดของคุณและสลับ "กำลังไฟฟ้าเข้า" ไปที่ขดลวดของรีเลย์ของคุณ (สิ่งที่ต้องทำเพิ่มแผนภาพฉันไม่สามารถให้ 12h ในขณะนี้)

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

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

// สิ้นสุดการแก้ไข

  1. เพียงแค่เชื่อมต่อ (ทางที่ผิด)**

สิ่งนี้อาจใช้ได้ในบางสถานการณ์ แต่ไม่ใช่ในสถานการณ์นี้ รีเลย์จะวาดกระแสมากเกินไป สำหรับการเชื่อมต่อการเชื่อมต่อข้อมูลต่ำในปัจจุบันสามารถใช้งานได้จริงเนื่องจาก 3.3V อาจถูกมองว่าเป็นตรรกะระดับสูง

2. วิธีการ Arduino

ซื้อตัวเปลี่ยนระดับ TTL ลอจิก - https://www.sparkfun.com/products/12009

บอร์ดเล็ก ๆ นี้จะเปลี่ยน 5V output เมื่อให้สัญญาณ 3.3V ที่ปัญหาอย่างไรก็ตามปัญหาเดียวคือคุณจะต้องมี 5V บนอินพุตของบอร์ด

3. วิธีการอิเล็กทรอนิกส์

คุณสามารถใช้ทรานซิสเตอร์หรือมอสเฟตเพื่อสลับกระแส (สูงกว่า) อื่นได้อย่างง่ายดาย สิ่งนี้ไม่ได้แตกต่างจากตัวเลือกที่ 2 มากนัก แต่มันซับซ้อนกว่าเล็กน้อย แต่ราคาถูกกว่า

4. อีกวิธีหนึ่งเช่นเจ้านาย

ค้นหา Stack-Exchange / Google สำหรับผู้ที่มีปัญหาเดียวกัน ฉันพบว่าคุณสามารถเพิ่มระดับ 3.3V เป็น 5V ได้จริงเพื่อที่คุณจะไม่ต้องใช้แหล่งจ่าย 5V https://www.circuitsathome.com/dc-dc/33v-to-5v-dc-dc-converter

5. วิธีแก้ปัญหา

รับรีเลย์ที่ทำงานกับแรงดันไฟฟ้าแบตเตอรี่ของคุณและสามารถเรียกใช้จาก 3.3V คุณสามารถพิจารณาบางสิ่งเช่นนี้: http://www.ebay.com/itm/5PCS-3V-3-3V-Relay-High-Level-Driver-Module-optocouple-Relay-Module-for-Arduino-/331413255692

มันมีออปโตคัปเปลอร์เพื่อแยกอาร์ดิโนออกจากรีเลย์ที่เกิดขึ้นจริง มันอาจจะดีกว่าถ้าคุณได้แบตเตอรี่ที่ใช้งานได้จริงในช่วงแรงดันไฟฟ้าของแบตเตอรี่ เพื่อให้คุณสามารถขอขึ้นกับแบตเตอรี่ (และขาสัญญาณไปยัง Arduino) ดังนั้นขดลวดจึงไม่ทำงานโดยตรงจาก Arduino ซึ่งจะดึงกระแสไฟมากเกินไป

6. การใช้แหล่งจ่ายไฟ 5V

คุณสามารถหมุนสิ่งต่าง ๆ ถ้าคุณต้องการ คุณอาจต้องการใช้ USB-Powerbank (หรือวงจรที่สร้างขึ้นเอง / ให้มาด้วย) เพื่อเปิดใช้งาน mini pro ของคุณ pro mini จะสามารถใช้ 5V ได้โดยตรง ( https://www.arduino.cc/en/ หลัก / ArduinoBoardProMini )

ตอนนี้คุณสามารถใช้ 5V เพื่อจ่ายไฟรีเลย์ของคุณโดยใช้ตัวเลือก 2, 3 หรือ 5


@ jippie คุณถูกต้องแก้ไขทันทีเมื่อฉันเห็นมัน
พอล

ขอบคุณ! ฉันคิดว่ามันจะดีกว่าถ้าใช้รีเลย์ 3V ในกรณีนี้ฉันไม่ต้องการตัวควบคุมแรงดันไฟฟ้า (ซึ่งใช้พื้นที่มากซึ่งฉันไม่มี) <br/> ฉันจะไปกับ Songle SRD จีนราคาถูก 03VDC-SL-C (ฉันจะใช้มันสำหรับแรงดันไฟฟ้าต่ำกว่า 20V DC) เพื่อขับถ่ายทอดรีเลย์อย่างปลอดภัยฉันต้องมีทรานซิสเตอร์และไดโอด (โปรดแก้ไขให้ฉันด้วยถ้าผิดฉันจะไปกับ NPN 2N2222 และ 1N4007 ถ้าไม่เป็นไร นี่คือวิธีที่ schematics ของฉันกำลังมองหา (D5 คือ Digital arduino pin 5; GND.2 เป็น GND ของ arduino): link
Henry

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

ใช่ฉันรู้ฉันผสมบางอย่างที่นั่น: D ฉัน googled เล็กน้อยและจบลงด้วยการเดินสายใหม่นี้: ลิงค์ มันถูกต้อง? ขอบคุณล่วงหน้า!
เฮนรี่

@Henry ฉันคิดว่าสิ่งนี้wired.com/geekdad/wp-content/uploads/2012/09/relay_driver.jpgเพียง google: "ทรานซิสเตอร์วงจรขับทรานซิสเตอร์" คุณไม่ใช่คนแรกที่ทำสิ่งนี้ดังนั้น ไม่จำเป็นต้องบูรณาการล้อ (ในกรณีนี้) :)
พอล

2

วงจรนี้สามารถแก้ปัญหาของคุณได้ ฉันหวังว่ามันจะใช้งานได้กับแหล่งจ่ายไฟ 3.3 V และรีเลย์ 5V เช่นกัน เพื่ออธิบายเหตุผลที่ใช้งานได้ให้อ้างจากหน้าเชื่อมโยง:

"วงจรนี้อนุญาตให้รีเลย์ 12 โวลต์ทำงานกับแหล่งจ่ายไฟ 6v หรือ 9 โวลต์รีเลย์ 12v ส่วนใหญ่ต้องการประมาณ 12 โวลต์เพื่อ" ดึงเข้า "แต่จะ" หยุด "ที่ประมาณ 6 โวลต์ค่า 220u ชาร์จผ่าน 2k2 และไดโอดด้านล่าง 1.5 โวลต์ด้านบนถูกนำไปใช้กับอินพุตของวงจรทรานซิสเตอร์ทั้งสองถูกเปิดและ 5 โวลต์ผ่านทางอิเล็กโทรไลติคทำให้เกิดการลบปลายของอิเล็กโทรดไปด้านล่างราง 0v ประมาณ 4.5 โวลต์และนี่ทำให้ประมาณ 10 โวลต์

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


5V มาจากไหน
CharlieHanson

ฉันพลาดจุดที่ไม่มีเสบียงอื่น อัพเดทวงจร ขอขอบคุณที่แจ้งให้ทราบ
Abu Bakar

0

ค้นหารีเลย์ที่มีคอยล์ 3.3 โวลต์หรือ . .

คุณจะต้องได้รับ (หรือสร้าง) อุปทาน 5 โวลต์

หากคุณค้นหา "ขั้นตอนการฝ่าวงล้อม" คุณจะพบผลิตภัณฑ์ที่สามารถเพิ่มระดับ 3.3 โวลต์ถึง 5 โวลต์ อุปกรณ์แบบนี้จะมีราคาไม่กี่ดอลลาร์

หรือถ้าคุณกำลังขับวงจร AC คุณสามารถใช้วงจรไดรเวอร์ TRIAC ได้โดยตรงจาก 3.3 โวลต์ของคุณ

อาจพิจารณา SSR (โซลิดสเตตรีเลย์)

แก้ไข: ตามความคิดเห็นฉันเพิ่งรู้ว่าคุณจะต้องมีทรานซิสเตอร์ (MOSFET) เพื่อขับเคลื่อนขดลวดของรีเลย์


การแก้ไขของคุณจะยกเลิกคำตอบที่เหลือทั้งหมด เมื่อคุณมีทรานซิสเตอร์ (จริง ๆ แล้วจะดีกว่าไบโพลาร์มากกว่า FET) แรงดัน MCU นั้นน้อยอย่างน้อยในช่วง 3.3v ขึ้นไป
Chris Stratton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.