Arduino Uno R3: จ่ายไฟโดยตรงกับ 5V ถึง 5V ที่กำหนดไว้หรือไม่


24

ฉันต้องการใช้แบตเตอรี่ Arduino Uno R3 ขับเคลื่อนเครื่องบันทึกข้อมูล ฉันต้องการทำจัดหาโดยตรงกับขั้นตอนที่ขึ้นควบคุม 5V Powersource pin 5Vแบตเตอรี่ชาร์จที่อำนาจ

ฉันไม่ต้องการที่จะ suppy กับ 5V ที่ PowerJack หรือVinเพราะมันไม่ได้เป็นสิ่งจำเป็นที่จะส่งผลให้แรงดันไฟฟ้าที่ต่ำกว่าเมื่อขับเคลื่อนด้วย 5V ที่และกระจายอำนาจที่ไม่จำเป็นที่VinU1

ลองดูที่แผนผัง: http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

ฉันได้ทำการแก้ไขลองดูที่พื้นที่สีเขียวและเส้นทางสีน้ำเงิน (ละเว้นพื้นที่สีเหลืองในตอนแรก):
enter image description here

เพียงแค่ส่งไปที่นั้นpin 5Vแต่อาจทำลายตัวควบคุมเชิงเส้นU1ที่ควบคุม> 5V + Vinลงไปที่ 5V ฉันกลัว

คำถาม

  • เป็นที่ยอมรับและปลอดภัยที่จะปราบปรามการควบคุม 5V + ถึงpin 5V?
  • ฉันควรย่อให้สั้นลงไปด้วยVinหรือไม่

แต่น่าเสียดายที่ไม่มีวงจรภายในU1(NCP1117ST50T3G) ในแผ่นข้อมูล

สำหรับดอกเบี้ย

ลองดูที่พื้นที่สีเหลือง: ฉันผิดหรือไดโอดป้องกันกลับด้านหรือไม่ ไม่ควรมี catode ที่USBVcc?

แก้ไข 1:

ในฐานะที่เป็นสามคำตอบระบุว่ามันจะเป็นวิธีที่ปลอดภัยที่สุดในการจัดหา Arduino ด้วย 5V ที่ได้รับการควบคุมแม้ว่า USB ให้ฉันควรชี้แจงคำถามของฉันสักหน่อย: ฉันต้องการติดตั้งในกรณีเล็ก ๆ น้อย ๆ ดังนั้นฉันจึงต้องการหลีกเลี่ยงการเสียบ สาย USB ถ้าเป็นไปได้

ยกเว้นเพื่อวัตถุประสงค์ในการทดสอบซึ่งอาจเกิดขึ้นโดยบังเอิญเป็นไปไม่ได้ที่Vin/ VccUSBและVcc 5Vมีให้ในเวลาเดียวกัน


ฉันกำลังวางแผนที่จะทำสิ่งเดียวกันดังนั้นฉันถาม: ในที่สุดคุณใช้พิน 5V หรือพิน USBVCC หรืออย่างอื่น?
heltonbiker

ฉันเจอสถานการณ์ที่วงจรทำงานโดยใช้พลังงานจากภายนอก แต่หยุดทำงานอย่างถูกต้องกับ USB ที่ต่อเข้าด้วยกัน เพื่อให้การเชื่อมต่อ USB และยังคงมีพฤติกรรมที่เหมาะสมฉันใช้ลมร้อนเพื่อยกฟิวส์ออกจาก Uno มันเป็นทองคำที่มองสิ่งที่อยู่ถัดจากพอร์ต USB และมีชื่อว่า 501H
Chris K

คำตอบ:


11

นี่เป็นวิธีที่ดูเป็นทางการน้อยกว่า: การให้พลังงานโดยตรงกับ + 5V pin คือ (เกือบ) สิ่งที่เกิดขึ้นเมื่อ Uno ขับเคลื่อนผ่าน USB เนื่องจากพลังงาน USB นั้นสมบูรณ์แบบโดยการออกแบบดังนั้นการตั้งค่าของคุณก็ควรจะเป็นเช่นกัน

การควบคุมภายนอก + 5V สามารถจ่ายให้กับ USBVCC net ได้เช่นกันโดยใช้สายเคเบิล USB-B

ตามคำถามที่สองคุณไม่ควรเชื่อมต่อกับ V_in จากนั้นผลลัพธ์ของ NCP1117 อาจกลายเป็นทางเลือกแหล่งพลังงานแข่งขันและสิ่งนี้ควรหลีกเลี่ยง


1
"การให้พลังงานโดยตรงกับขา + 5V คือ (เกือบ) สิ่งที่เกิดขึ้นเมื่อ Uno ขับเคลื่อนผ่าน USB" - คุณพูดถูก ขอบคุณที่เปิดตาของฉัน :)
ลองจับในที่สุด

หลังจากเปรียบเทียบคำตอบฉันคิดว่าคำตอบของคุณตรงกับคำถามที่ดีที่สุดดังนั้นฉันจึงยอมรับคำตอบของคุณ (แต่ฉันควรจะพูดว่า "โดยการออกแบบ" ในคำตอบของคุณควรจะเน้น - พีซีของฉันให้เพียง 4.85V;)
ลองจับ - ในที่สุด

ขอบคุณ :) ข้อมูลจำเพาะของ USBกำหนดแรงดันไฟฟ้าที่อนุญาตเป็น 5V +/- 5% ดังนั้นอุปกรณ์ USB ทุกตัวควรจะสามารถจัดการแรงดันไฟฟ้าใด ๆ จาก 4.75V ถึง 5.25V หรือแหล่งจ่ายไฟที่ส่งแรงดันไฟฟ้าที่ควบคุมได้ในช่วงนี้สามารถใช้เพื่อจ่ายไฟให้กับอุปกรณ์ USB (ตราบเท่าที่สามารถจ่ายกระแสไฟได้เพียงพอ)
DimKo

14

จุดยืนอย่างเป็นทางการในการจัดหาพลังงานโดยตรงกับขา 5V บน Arduino Uno เป็นดังนี้:

5V พินนี้ส่งสัญญาณ 5V ที่ได้รับการควบคุมจากคณะกรรมการควบคุม บอร์ดสามารถจ่ายไฟได้ทั้งจากแจ็คไฟ DC (7 - 12V), ขั้วต่อ USB (5V) หรือพิน VIN ของบอร์ด (7-12V) การจ่ายแรงดันไฟฟ้าผ่านหมุด 5V หรือ 3.3V จะข้ามตัวควบคุมและอาจทำให้บอร์ดของคุณเสียหายได้ เราไม่แนะนำ

ดังที่กล่าวไปแล้วว่าการจ่ายไฟ 5 โวลต์ให้กับขั้วต่อ VUSB (ไม่แตกออกเป็นเข็ม AFAIK) ควรเป็นวิธีที่จะไป: นี่คือวิธีที่บอร์ดขับเคลื่อนโดยปกติเมื่อวิ่งออกจากสาย USB ดังนั้นจึงเห็นได้ชัดว่าแรงดันตก ยอมรับได้

นอกจากนี้แรงดันตกเพียงอย่างเดียวกับสาย + 5V เมื่อใช้พลังงานจาก VUSB คือการลดลงของความต้านทานตามแรงต้านของ FDN340P MOSFET ระหว่าง 70 ถึง 110 mOhms สำหรับการดำเนินงานทั่วไปที่ไม่เกี่ยวข้องกับการขับกระแสสูงออกจาก Uno ความต้องการกระแส 100 mA จะส่งผลให้แรงดันไฟฟ้าตกที่ 11 mVโดยการประมาณคร่าวๆ

สำหรับวิธีการง่ายๆในการจ่ายไฟ VUSB เพียงแค่ปลดสาย USB ออกโดยการตัดเปิดแล้วนำ 5 โวลต์ไปใช้กับ VUSB และหมุดภาคพื้นดิน


ขอบคุณสำหรับการอ้างอิงฉันต้องมองข้ามเพราะฉันกำลังมองหาสิ่งนี้ในหน้านั้นด้วย อย่างไรก็ตามวลี "ผ่าน 5V หรือ 3.3V" นั้นอาจทำให้เข้าใจผิด การเลี่ยงผ่านอาจสร้างความเสียหาย U2 ได้จริง แต่ในขณะที่คุณ DimKo และ Passerby กล่าวว่าการเลี่ยงผ่าน 5V ผ่าน T1 นั้นเป็นสิ่งที่ Arduino ขับเคลื่อนด้วย USB ทำ
ลองจับได้ในที่สุด

ดูการแก้ไข 1 ของฉันด้วยฉันต้องการหลีกเลี่ยงการเสียบสาย USB ฉันคิดว่าฉันจะให้พลังงาน Arduino ผ่าน5V pin(ความเสี่ยงของฉันเอง;)
ลองจับได้ในที่สุด

+1 สำหรับ"สำหรับวิธีง่ายๆในการจ่ายไฟ VUSB เพียงปลดสาย USB โดยตัดเปิดแล้วใช้แรงดันไฟฟ้า 5 โวลต์ผ่าน VUSB และหมุดภาคพื้นดิน" ความคิดที่ดี.
Penguin Penguin ไม่ระบุชื่อ

ไม่แน่ใจว่าสิ่งที่ "VUSB" นี้หมายถึงสุทธิ ฉันสมมติว่าคุณหมายถึงขา 1 ของตัวเชื่อมต่อ USB (ฉันเห็นว่า "XUSB" ใน UNO) หรือ "USBVCC" สุทธิ
gwideman

@ gwideman ใช่ USBVCC ถูกเรียกว่า VUSB ใน Arduino schematics หลาย ๆ ตัวและตัวนำนั้นก็มีฉลากที่พิมพ์หน้าจอของ VUSB บนบอร์ดของฉันเช่นกัน
Anindo Ghosh

10

ไม่แนะนำอย่างเป็นทางการ

Arduino (บริษัท ) ไม่แนะนำให้จ่ายโดยตรง 5 โวลต์เพราะ:

  1. ผู้ชมเป้าหมายไม่เข้าใจวิธีการออกแบบวงจรและในฐานะผู้เริ่มต้น / ไม่ใช่เทคโนโลยีจะทำให้เกิดสิ่งที่ไม่ดีเกิดขึ้นเช่นการเชื่อมต่อโวลต์ที่ไม่มีการควบคุม 5 โวลต์กับ5Vสิ่งที่ทำให้เกิดการโทร / ขอเงินคืน / ซ่อมแซม / เป็นต้น
  2. การจ่ายไฟโดยตรงให้ 5 โวลท์นั้นไม่ผ่านวิธีการตรวจจับ / ป้องกันแรงดันไฟฟ้า

การเลือกพลังงาน USB / ภายนอกของ Arduino ทำงานอย่างไร

การจ่ายไฟโดยตรง 5 โวลต์นั้นง่ายมาก พลังงาน USB ทำเช่นนี้ได้จริงเช่นเดียวกับโปรโตคอล / ส่วนหัวของ ICSP USB มีฟิวส์ขนาด 500mA PTC ในบรรทัดและมี mosfet p-channel ซึ่งด้วยตัวเองไม่ได้ให้การป้องกันใด ๆ แต่มีป้าย LMV358 U5Aอยู่เหนือ mosfet มันคือครึ่งหนึ่งของ opamp ซึ่งถูกใช้เป็นตัวเปรียบเทียบ หากVINตรวจพบและสูงกว่า 3.3 โวลต์ opamp จะขับสายไฟต่ำปิดการใช้งาน mosfet ตัดการเชื่อมต่อUSBVCCออกจาก5Vสาย สิ่งนี้ทำให้คุณสามารถใช้VINและUSBVCCในเวลาเดียวกันโดยไม่มีปัญหา ไม่เช่นนั้นคุณจะมีแหล่งพลังงานสองแหล่งแข่งขันบนรางเดียวกัน (USB และตัวควบคุม 5 โวลต์)

mosfet มีไดโอดตัว

มันเป็นส่วนหนึ่งของการก่อสร้าง MOSFET ภายในและฟังก์ชั่นการป้องกันแรงดันย้อนกลับการป้องกันการรถไฟพลังจากด้านหลังไหลไป5V USBVCCมันถูกปิดใช้งานเมื่อ mosfet เปิดอยู่และกลับลำเอียงเมื่อปิด

คำเตือน

  1. อย่าเชื่อมต่อ USB และ 5V ของคุณในเวลาเดียวกัน!
    โดยการป้อน 5 โวลต์ควบคุมที่5Vขาคุณข้ามกลไกการเลือกแหล่งพลังงานที่เป็นประโยชน์ คุณสามารถเชื่อมต่อ 5 โวลต์เข้ากับตัวเชื่อมต่อ USB หรือระหว่างตัวเชื่อมต่อ USB และฟิวส์ USB PTC ได้อย่างง่ายดาย แต่นั่นจะทำให้คุณมีขีด จำกัด 500mA หากคุณต้องการกระแสมากขึ้นคุณสามารถข้ามฟิวส์ได้ แต่ไม่ใช่มอสเฟต
  2. อย่าสั้น5VไปVIN!
    เครื่องควบคุมแรงดัน 5 โวลต์ไม่ว่าในกรณีใดก็ตามจะดูดีตราบใดที่VINไม่ได้ใช้

เกี่ยวกับส่วนหัว ICSP (และ ISP): หมุดที่เชื่อมต่อกับ + 5V net คือ ISP VTG ซึ่งมีไว้สำหรับอุปกรณ์เป้าหมาย (ที่นี่คือ Arduino) เพื่อจ่ายพลังงานให้กับโปรแกรมเมอร์ซึ่งทำให้โปรแกรมเมอร์สามารถรองรับ + ​​5V หรือ เป้าหมาย +3.3 มันไม่ได้มีวัตถุประสงค์เพื่อเป็นอินพุตสำหรับ 5V ดังนั้นจึงไม่มีหลักฐานสนับสนุนการเชื่อมต่อแหล่งจ่ายไฟ 5V กับ + 5V สุทธิ (ถึงแม้จะไม่รุนแรงเช่นกัน)
gwideman

1
"หากตรวจพบ VIN และสูงกว่า 3.3v opamp จะขับสายสัญญาณต่ำ": จริง ๆ แล้วมีตัวแบ่งแรงดันไฟฟ้าระหว่างอินพุต VIN และ CMP ไปยัง U5A ซึ่งหมายความว่า VIN จะต้องสูงกว่า 6.6V เพื่อปิดใช้งาน USBVCC เป็นอินพุต . เพิ่มเติมเนื่องจากมีไดโอดอยู่ระหว่างแจ็คอินพุตพลังงาน PWRIN และ VIN (เพิ่มพูดว่าลดลง 0.6V) และการออกกลางคันของ NCP1117 คือ 1 ถึง 1.2V นั่นหมายความว่าแหล่งจ่ายไฟภายนอกควรอยู่เหนือ 7.2V เพื่อปิด USBVCC แม้ว่าจะไม่มี USBVCC แหล่งจ่ายไฟภายนอกสามารถจ่ายพลังงานที่เชื่อถือได้ลงไปที่ 6.6 ถึง 6.8V
gwideman

แต่ฉันเห็นด้วยว่าการเชื่อมต่อแหล่งจ่ายไฟ 5V กับ Arduino Shield + 5V จะทำงานได้ แต่เมื่อ Passerby เน้นผู้ใช้จะต้องแน่ใจว่าจะไม่เชื่อมต่อแหล่งจ่ายไฟและ USB ในเวลาเดียวกัน ผลลัพธ์ที่เป็นไปได้ของการเชื่อมต่อทั้งสองอย่างนั้นอาจทำให้โฮสต์ USB, แหล่งจ่ายไฟภายนอกเสียหายหรือทำให้เกิดการระเบิดของฟิวส์ F1
gwideman

@Passerby คุณตอบด้วยภาษาดัมมี่ที่ดีว่าเกิดอะไรขึ้น อย่างไรก็ตามฉันไม่เข้าใจสิ่งที่คุณต้องการจะพูดด้วย "Diode บน mosfet เป็น Body Diode" การคาดเดาที่ดีที่สุดของฉันคือ: ถึงแม้ว่า Mosfet จะมีไดโอดซึ่งโดยปกติจะป้องกันกระแสไม่ให้ไหลไปในทิศทางของโฮสต์ USB ไดโอดภายใน (การป้องกัน) นี้จะปิดใช้งานทันทีที่แรงดันไฟฟ้าถูกนำไปใช้กับ Arduino ของ "USBVCC"
สำรองข้อมูล Pro

@ProBackup ไดโอดใน MOSFET จะปรากฏอยู่เสมอและจะไม่ "ปิดการใช้งาน" ต่อ se อย่างไรก็ตามเมื่อ MOSFET อยู่ในสถานะเปิดทางเดินของแหล่งระบายจะมีความต้านทานต่ำเช่นนี้ซึ่งไดโอดที่เรียงกันจะไม่เกี่ยวข้อง (ดังนั้นไดโอดจึงมีความเกี่ยวข้องเฉพาะเมื่อ MOSFET ปิดและในกรณีนี้อนุญาตให้กระแสในทิศทางเดียวจาก USBVCC ถึง + 5V)
gwideman

4

ฉันคิดว่าคุณควรจะสบายดี

จากแผ่นข้อมูล NCP1117หน้า 10:

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

จากเสียงของแผ่นข้อมูลตัวควบคุมมีไดโอดป้องกันภายในที่ควรจะสามารถจัดการกับการโหลดแบบ capacitive บนVIN(จากลักษณะของมัน (และสกรูคุณ, ฉลากสุทธิและแผนผังที่ไม่สามารถค้นหาได้) ความจุทั้งหมดข้ามVINคือ 47 ยูเอฟ)

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


หากคุณกังวลจริงๆหรือต้องการระมัดระวังเป็นพิเศษคุณสามารถใส่ไดโอด Schottky ระหว่าง 5V pin และ Vin pin สิ่งนี้จะป้องกันไม่ให้กระแสย้อนกลับไหลผ่านเครื่องปรับความดัน (โดยทั่วไปนี่จะเหมือนกับ D1 ในแผนภาพด้านบน)

คุณสามารถกระโดดหมุด Vin ไปยังขา 5V และป้อน 5V ลงในแจ็ค DC-in ระวังให้ดีถ้าคุณให้อาหารอาร์ดิโนด้วย 5.5V ที่มากกว่านี้คุณจะสร้างความเสียหายได้


ใครคือผู้ลงคะแนนนี้ แล้วทำไมล่ะ?
Connor Wolf

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

1
ฉัน +1 คุณเพื่อคำตอบที่คิดและตรงประเด็น ที่กล่าวว่าฉันคิดว่ายอดคงเหลือที่จ่ายพลังงาน + 5V ภายนอกไปยังตัวเชื่อมต่อ USB เป็นวิธีที่ดีที่สุดในการไปเนื่องจากไม่รวมการเชื่อมต่อภายนอก + 5V โดยไม่ได้ตั้งใจพร้อมกับพลังงาน USB และใช้ประโยชน์จาก F1
gwideman

3

อีกแนวคิดหนึ่งคือการเชื่อมต่อตัวต้านทาน 2.2k จาก +5v ไปยังจุดที่ระบุว่า "CMP" ซึ่งเป็นอินพุตที่ไม่มีการย้อนกลับไปยังขาแอมป์ op 3 ซึ่งจะเป็นการปิดการใช้พลังงาน USB + 5v ไปยังบอร์ด แต่ยังอนุญาตการสื่อสาร USB

แน่นอนว่าการสลับ SPST เพื่อ 'ปิด' ตัวต้านทานจะดีเช่นกันดังนั้นคุณจึงสามารถปิดใช้งานคุณสมบัติใหม่นี้ได้ สวิตช์นั้นจะถูกต่อสายเข้ากับอนุกรมด้วยตัวต้านทาน 2.2k หากคุณไม่เคยวางแผนที่จะใช้พลังงาน USB อีกครั้งอย่างไรก็ตามไม่จำเป็นต้องใช้สวิตช์หากบางครั้งคุณต้องจ่ายไฟให้กับบอร์ดด้วยพลังงาน USB ที่ไม่มีอินพุตภายนอก + 5v

สิ่งที่คุณทำการทดสอบเพื่อให้แน่ใจว่าทำงานได้โดยการวัดเอาต์พุตของ LM358 เมื่อคุณเชื่อมต่อแหล่งจ่ายไฟภายนอก + 5v


0

การจ่ายไฟโดยตรง 5 โวลต์นั้นง่ายมาก พลังงาน USB ทำเช่นนี้ได้จริงเช่นเดียวกับโปรโตคอล / ส่วนหัวของ ICSP USB มีฟิวส์ขนาด 500mA PTC ในบรรทัดและมี mosfet p-channel ซึ่งด้วยตัวเองไม่ได้ให้การป้องกันใด ๆ แต่ยังมี LMV358 ที่ระบุว่า U5A เหนือ mosfet มันคือครึ่งหนึ่งของ opamp ซึ่งถูกใช้เป็นตัวเปรียบเทียบ หากตรวจพบ VIN และสูงกว่า 3.3 โวลต์ opamp จะขับสายไฟต่ำปิดการใช้งาน mosfet ตัด USBVCC ออกจากสาย 5V สิ่งนี้ทำให้คุณสามารถใช้ VIN และ USBVCC ในเวลาเดียวกันโดยไม่มีปัญหา ไม่เช่นนั้นคุณจะมีแหล่งพลังงานสองแหล่งแข่งขันบนรางเดียวกัน (USB และ 5 โวลต์ควบคุม)

อืมมันไม่ได้ย้อนหลังหรือ ตัวแบ่งแรงดันไฟฟ้าเชื่อมต่อกับอินพุทที่ไม่มีการย้อนกลับของตัวเปรียบเทียบและขับมันสูง (+ 5V) เมื่อแรงดันไฟฟ้าของตัวหารสูงกว่า 3.3V และต่ำเมื่ออยู่ต่ำกว่า 3.3V MOSFET ในโหมด P-channel Enhancement ถูกปิดเมื่อแรงดันเกตมีค่าสูง (เช่น Vgs = 0V) และเปิดสวิตช์เมื่อแรงดันเกตคือต่ำ (เช่น Vgs = -5V)

ผลลัพธ์จะเหมือนกัน (แรงดันไฟฟ้าสูงกว่า 3.3V ที่ตัวแบ่ง MOSFET ปิดและแยกพลังงาน USB และแรงดันต่ำที่ตัวแบ่งเชื่อมต่อกำลังไฟ USB กับวงจร) ตามที่ระบุไว้ในวรรค - แต่ฉันคิดว่าแรงดันไฟฟ้าที่ระบุไว้ มีถอยหลัง


-1

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

ด้วยวิธีนี้คุณจะไม่ทำให้อาร์ดิโนเข้าร่วมในแหล่งพลังงานทั้งคู่ แต่คุณจะไม่มีเข็มหมุด 3.3V ถูกต้อง!! เพราะราง 5V ไม่ได้ไปที่ตัวควบคุมแรงดันไฟฟ้า 3.3

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