จะเกิดอะไรขึ้นถ้าฉันจ่ายพลังงาน Arduino ทั้ง USB และแรงดันไฟฟ้าภายนอกพร้อมกัน?


45

ฉันเป็นผู้ใช้ Arduino ใหม่ ฉันไม่แน่ใจว่าฉันสามารถเชื่อมต่อทั้ง USB และแหล่งจ่ายไฟภายนอกผ่านอะแดปเตอร์ไฟฟ้าไปยัง Arduino ได้หรือไม่ สิ่งนี้จะเผาตัวควบคุมหรือไม่

โดยทั่วไปฉันต้องการปิดเครื่องคอมพิวเตอร์โดยอัตโนมัติหลังจากบันทึกเอกสารที่เปิดทั้งหมดก่อนที่แบตเตอรี่ UPS ของฉันจะดับเมื่อใดก็ตามที่ฉันไม่ได้อยู่ที่นั่นเพื่อปิดเครื่องด้วยตนเอง ฉันพยายามแจ้งคอมพิวเตอร์เกี่ยวกับความล้มเหลวของแหล่งจ่ายไฟหลัก - AC 220V 50 Hz (แจ้งเตือน / ส่งสัญญาณเมื่อไฟฟ้าดับ) ผ่าน USB โดยใช้ Arduino ฉันคิดว่าสามารถทำได้โดยใช้พินของแหล่งจ่ายไฟแรงดันภายนอก เมื่อใดก็ตามที่ไฟฟ้าดับลงหมุดไฟของแหล่งจ่ายไฟแรงดันภายนอกจะลดลงถึง 0 V จาก 7 V ค่าของแรงดันไฟฟ้าสามารถอ่านได้โดยใช้ซอฟต์แวร์ ) Arduino จะยังคงถูกเปิดใช้งานเนื่องจากเชื่อมต่อกับ USB ของคอมพิวเตอร์และสื่อสารกับคอมพิวเตอร์เกี่ยวกับความล้มเหลวของพลังงาน

คำตอบ:


11

จากarduinoBoardUno :

อำนาจ

Arduino Uno สามารถขับเคลื่อนผ่านการเชื่อมต่อ USB หรือด้วยแหล่งจ่ายไฟภายนอก แหล่งพลังงานถูกเลือกโดยอัตโนมัติ

ใส่พลังงานภายนอกผ่านตัวแบ่งแรงดันไฟฟ้าหรืออินเวอร์เตอร์ที่ใช้ทรานซิสเตอร์และเข้าสู่ขาอะนาล็อก (ตัวแบ่ง) หรือดิจิตอล (อินเวอร์เตอร์) แล้วตรวจสอบค่าที่เหมาะสมจากขา โปรดทราบว่าการทำเช่นนี้ไม่ต้องการการเปิดเครื่อง Uno จากแหล่งจ่ายไฟภายนอก


ตกลง. ขอบคุณสำหรับคำตอบ จะเกิดอะไรขึ้นเมื่อฉันจ่ายไฟให้พวกเขาผ่านการเชื่อมต่อ USB และแหล่งจ่ายไฟภายนอก หากเลือกโดยอัตโนมัติจะเลือกแหล่งใด
Jagat

2
ตามพลังงานภายนอกแผนผังจะถูกเลือกถ้ามันสูงกว่า 7.4V หรือมากกว่านั้นคือพลังงาน USB
Ignacio Vazquez-Abrams

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

@AnnonomusPerson: ไม่มีตัวแบ่งแรงดันไฟฟ้าหรือการกำหนดค่าอินเวอร์เตอร์ไม่ต้องการ Uno ที่จะขับเคลื่อนโดยแหล่งจ่ายไฟภายนอก มันใช้สำหรับการตรวจจับเท่านั้น
Ignacio Vazquez-Abrams

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

57

ฉันเป็นผู้ใช้มือใหม่ของ Arduino ฉันไม่แน่ใจว่าฉันสามารถเชื่อมต่อทั้ง USB และแหล่งจ่ายไฟภายนอกผ่านอะแดปเตอร์ไฟฟ้าไปยัง Arduino ได้หรือไม่ สิ่งนี้จะเผาตัวควบคุมหรือไม่

ให้ศึกษาแผนผังของArduino UNO R3

อินพุตจากปลั๊กแหล่งจ่ายไฟ (PWRIN, แจ็คไฟ) ผ่านไดโอด D1 (เพื่อป้องกันการกลับขั้ว) และฟีดตัวควบคุมNCP1117ที่แปลงลงไปเป็นแหล่งจ่ายไฟ 5v ที่ป้อนชิ้นส่วน 5v

กำลังไฟเข้า

แหล่งจ่ายไฟสำรองมาจากปลั๊ก USB (USBVCC) วงจรที่เกี่ยวข้องดังแสดงด้านล่าง

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

สายไฟ USB ผ่าน P-mosfet (T1) ซึ่งทำหน้าที่เป็นสวิตช์แล้วไปที่โหนด + 5V (นั่นคือเอาท์พุทตัวควบคุม + 5v ดังแสดงในแผนผังแรก)

mosfet ควบคุมโดยแอมป์แอมป์LMV358 (OPAMP) ที่ทำงานเป็นตัวเปรียบเทียบ
อินพุตเชิงลบของ opamp เชื่อมโยงกับ 3.3 โวลต์และขั้วบวกที่ป้อนผ่านตัวแบ่งแรงดันที่มีระดับการจ่าย Vin ครึ่งหนึ่ง

  • เมื่อ Vin> 6.6V ดังนั้นอินพุต + ของ opamp จะสูงกว่า - อินพุตและ opamp จะปิด mosfet

  • เมื่อ Vin <6.6V จากนั้นอินพุต + ของ opamp จะต่ำกว่า - อินพุตและ opamp จะเปิด mosfet

โปรดทราบว่า Vin อยู่หลังไดโอดอินพุตดังนั้นจึงต่ำกว่าระดับแหล่งจ่ายไฟภายนอกที่เชื่อมต่ออยู่ประมาณ 0.6V ดังนั้นเมื่อมีแหล่งจ่ายไฟเชื่อมต่อกับแหล่งจ่ายไฟที่สูงกว่า 6.6V + 0.6V (ที่ 0.6V คือแรงดันไดโอด D1 ลดลง) จากนั้นสายจ่ายไฟ USB จะถูกตัดออก (เนื่องจากมอสเฟตปิด) และกำลังไฟ ให้มาจากปลั๊กไฟ การเชื่อมต่อหรือตัดการเชื่อมต่อแหล่งจ่ายไฟ USB ในกรณีนี้จะไม่สร้างความแตกต่างดังนั้นคุณจึงสามารถเชื่อมต่อแหล่งจ่ายไฟทั้งสองพร้อมกันเฉพาะเมื่อกำลังไฟลดลงต่ำกว่าระดับที่ระบุ (ประมาณ 6.6V + 0.6V = 7.2V) USB เริ่มเปิดเครื่องบอร์ด


4
+1 คำตอบที่ยอดเยี่ยม: มีรายละเอียดแม่นยำและการสอนมาก
Ricardo

โปรดทราบว่า M7 มีเส้นโค้ง Vf ที่น่ารังเกียจ การเพิ่มโล่ไม่กี่ (หรือหนึ่งใหญ่) จะผลัก Vf ของมันเพื่อ 0.8V หรือสูงกว่า
Ignacio Vazquez-Abrams

2
โปรดทราบว่าในขณะที่ D1 เพิ่มการป้องกันสำหรับ PWRIN pin มันไม่ได้ป้องกันจากเช่นขั้วกลับใน Vin
รัสเซลแม็คมาฮอน

1
@sraboy Motor Shieldใช้สาย 5V เฉพาะสำหรับส่วนวงจรลอจิกมอเตอร์จะใช้พลังงานจากสายแยกต่างหาก คุณอธิบายสถานการณ์ที่มอเตอร์ขับเคลื่อนโดยสายจ่ายดิบ Vin (แบตเตอรี่ 7.2v) และส่วนที่เหลือของวงจรจากสาย 5V หากแบตเตอรี่หมดแล้ว 5V ของ USB เพียงแค่เปิดวงจรตรรกะของตัวป้องกันมอเตอร์และ Arduino มอเตอร์ก็จะไม่ได้รับพลังงานเนื่องจากไม่มีเส้นทางจากสาย 5V (ซึ่งอยู่หลังตัวควบคุม 5V) Vin (ซึ่งอยู่ก่อนผู้ควบคุม)
alexan_e

1
@alexan_e ฉันขอขอบคุณการชี้แจง!
sraboy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.