ฉันสามารถนำกระแสเท่าไรจากขาของ Arduino


55

จำนวนกระแสสูงสุดที่ฉันสามารถดึงได้จากพินของ Arduino แต่ละตัวโดยไม่สะดุดฟิวส์ภายในใด ๆ มีขีด จำกัด ต่อพินรวมถึงขีด จำกัด โดยรวมของบอร์ดทั้งหมดหรือไม่


คำตอบ:


91

มันซับซ้อนเล็กน้อย โดยทั่วไปมีปัจจัย จำกัด จำนวน:

สาย IO จากไมโครคอนโทรลเลอร์ (เช่นหมุดแบบอะนาล็อกและดิจิตอล) มีขีด จำกัด กระแสรวม (เช่นทั้งหมด) และขีด จำกัด ต่อขา:

ป้อนคำอธิบายรูปภาพที่นี่
จากแผ่นข้อมูล ATmega328P

อย่างไรก็ตามขึ้นอยู่กับวิธีที่คุณกำหนด Arduino "พิน" นี่ไม่ใช่เรื่องราวทั้งหมด

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

เอาท์พุทที่ควบคุม 3.3V สามารถจ่ายได้สูงสุด 150 mA ซึ่งเป็นข้อ จำกัด ของตัวควบคุม 3.3V


สรุป

  • อย่างสูงสุดสำหรับ IO ขาเดียวคือ40 มิลลิแอมป์ ( นี้เป็นสูงสุด . คุณไม่ควรดึงจริงเต็มรูปแบบ 40 mA จากขา. โดยทั่วไปก็เกณฑ์ที่ Atmel ไม่สามารถรับประกันชิปจะไม่ได้รับความเสียหาย คุณควรตรวจสอบให้แน่ใจว่าคุณปลอดภัยต่ำกว่าขีด จำกัด ปัจจุบัน )
  • กระแสรวมจากหมุด IO ทั้งหมดเข้าด้วยกันคือสูงสุด 200 mA
  • 5V output pin นั้นดีสำหรับ~ 400 mA บน USB ~ 900 mA เมื่อใช้อะแดปเตอร์ไฟภายนอก
    • 900 mA สำหรับอะแดปเตอร์ที่มี ~ 7V เมื่อแรงดันไฟฟ้าของอะแดปเตอร์เพิ่มขึ้นปริมาณความร้อนที่ตัวควบคุมจะต้องจัดการก็เพิ่มขึ้นดังนั้นกระแสสูงสุดจะลดลงเมื่อแรงดันเพิ่มขึ้น สิ่งนี้เรียกว่าการ จำกัด การระบายความร้อน
  • เอาท์พุท 3.3V มีความสามารถในการจัดหา150 mA
    • หมายเหตุ - อำนาจใด ๆ มาจากรถไฟ 3.3V ได้ผ่านไปรถไฟ 5V ดังนั้นถ้าคุณมีอุปกรณ์ที่ 100 mA ในการส่งออก 3.3V ที่คุณจะต้องไปยังนับกับหมุนเวียน 5V

หมายเหตุ: สิ่งนี้ไม่ได้ใช้กับ Arduino Due และอาจมีความแตกต่างบางอย่างสำหรับ Arduino Mega โดยทั่วไปน่าจะเป็นจริงสำหรับ Arduino ที่ใช้ไมโครคอนโทรลเลอร์ ATmega328


2
สรุปดี! โปรดทราบว่าในขณะที่กระแสสูงสุดบนพินอาจได้รับการจัดอันดับที่ 40mA แต่นั่นเป็นค่าสูงสุดแน่นอน และตามที่แผ่นข้อมูลบอกว่าการทำงานที่ค่าสูงสุดที่แน่นอนสามารถสร้างความเสียหายได้ แนะนำโดยทั่วไปให้ จำกัด เพียง <35mA
baldengineer

The Due มีปั๊มประจุไฟฟ้าเพื่อจ่ายแรงดันไฟฟ้าแกนกลางซึ่งไม่ได้สัมผัสโดยตรงกับเข็ม แต่สามารถบัดกรีได้
naven87

6
มีปัจจัย จำกัด อยู่สามตัวทั้งสองรายการในคำตอบข้างต้นบวกกับข้อเท็จจริงที่ว่าแผ่นข้อมูลบอกว่าผลรวมของกระแสทั้งหมดที่มาจากพอร์ต C0-C5, D0-D4, ADC7 และ RESET ไม่ควรเกิน 150mA รวมแหล่งที่มาในปัจจุบันสำหรับพอร์ต B0-B5, D5-D7, ADC6, XTAL1, XTAL2 ไม่ควรเกิน 150mA เท่าที่อ่างล้างจานในปัจจุบันไปจำนวนพอร์ต C0-C5, ADC7, ADC6 ไม่ควรเกิน 100mA ผลรวมของพอร์ต B0-B5, D5-D7, XTAL1, XTAL2 ไม่ควรเกิน 100mA; และผลรวมของพอร์ต D0-D4, RESET ไม่ควรเกิน 100mA นี่คือทั้งหมดที่ระบุไว้ในแผ่นข้อมูล

สำหรับคนที่แนะนำในการแก้ไขว่า 3.3V Rail มาจาก FT232 มันไม่ได้อยู่ในบอร์ดทุกเวอร์ชั่นที่ฉันดู
Connor Wolf

8

ค่าปัจจุบันสูงสุดแสดงไว้ที่นี่สำหรับ Uno, Duemilanove:

DC ปัจจุบันต่อ I / O Pin: 40.0 mA

DC ปัจจุบันต่อ VCC และ GND Pins: 200.0 mA

ขีด จำกัด กระแส DC โดยรวมสำหรับหมุด IO ทั้งหมดรวมกัน: 200 mA

โปรดทราบว่าหากมีมากกว่าหนึ่ง VCC / Vin / GND พินแล้ว Arduino สามารถใช้กระแสมากขึ้น (แต่ละพินสอดคล้องกับพินบน ATMega328)

สิ่งเหล่านี้ดูเหมือนจะเป็นมาตรฐานที่มากหรือน้อยสำหรับ Arduinos ส่วนใหญ่เนื่องจากข้อ จำกัด ในปัจจุบันสำหรับไมโครคอนโทรลเลอร์


8

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

มีเพียงฟิวส์เดียวบนบอร์ด Arduino มีPolyfuse ที่ตั้งค่าใหม่ได้บนพอร์ต USB ซึ่ง จำกัด กระแสเริ่มต้นที่ 500mA ฟิวส์นี้มีผลบังคับใช้เมื่อใช้พลังงานจาก USB เท่านั้นและเมื่อการวาดทั้งหมดบนราง 5V มีค่ามากกว่า 500mA (โปรดทราบว่าฟิวส์ประเภทนี้ไม่เพียง "เปิดระเบิด")

ถ้าคุณวาดกระแสมากเกินไป (40mA หรือมากกว่า) จากพิน I / O มันจะทำให้พินเสียหาย ไม่มีฟิวส์บนหมุด I / O


1
บอร์ด Nano และ Micro มีโพลีฟิวส์นี้ด้วยหรือไม่? ที่นี่พวกเขาบอกว่านาโนไม่มี polyfuse (และไม่มีตัว จำกัด ปัจจุบันบนพิน 5V)
eadmaster


2

หากคุณดูที่แผนผังสำหรับนาโนคุณจะเห็นว่าพิน 3.3V นั้นมาจากชิป FT232RL ตามแผ่นข้อมูลที่พินสามารถให้ได้สูงสุด 50mA

ในการรันโมดูลของคุณคุณจะต้องจัดหาแหล่งจ่ายไฟ 3.3V ภายนอก อาจจัดทำโดยตัวควบคุม LDO 3.3V ที่ขับเคลื่อนโดย 5V 5V ซึ่งถูกป้อนจาก USB หรือตัวควบคุม 5V, UA78M05ซึ่งทั้งสองนี้มีค่าสูงสุด 500mA (น้อยกว่ากระแสที่จำเป็นโดยนาโน)


ทบทวนสิ่งนี้: ฉันเชื่อว่าฉันสามารถใช้ขา 5V กับตัวแบ่งแรงดันไฟฟ้า (ตัวต้านทาน 2 ตัว) เพื่อให้ได้ค่าสูงสุด ~ 250mA ที่ฉันต้องการที่ 3.3V
rufo

4
คุณกำลังคิดผิด ตัวแบ่งแรงดันไม่สามารถให้กระแสขนาดใหญ่ได้ พวกมันมีกระแสน้อยมาก (แรงดันอ้างอิง) เท่านั้น
Majenko


ไม่ทราบว่า - คุณช่วยฉันเวลาและทำให้รุนแรงขึ้น ขอบคุณ
rufo

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