ฉันจะขโมยคำตอบของฉันเมื่อฉันตอบคำถามนี้ในความพยายาม arduino SE ครั้งล่าสุด
มันซับซ้อนเล็กน้อย โดยทั่วไปมีปัจจัย จำกัด จำนวน:
สาย 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