วิธีการขับ LED 20mA จาก GPIO สูงสุด 4mA


16

ฉันมี IC ที่มี GPIO ซึ่งฉันต้องการขับ LED

เนื่องจากอุปกรณ์จะใช้แบตเตอรี่จนหมดทำให้กำลังไฟเหลือน้อย (อาจเป็นศูนย์) ในขณะที่ไฟ LED ดับเป็นสำคัญ

GPIO ใช้ 3.3V เมื่อเปิดใช้งานและปิดการลงคะแนน 0.0V

นอกจากนี้ยังมีขีด จำกัด สูงสุด 4mA

LED มีกระแสไปข้างหน้า 20mA และต้องการแรงดันไปข้างหน้า 2.0V

เมื่อเปิดไฟ LED มันมักจะกระพริบ (ใช้ PWM) ในช่วงกิโลเฮิร์ตซ์ต่ำ

หลังจากแหย่ไปมาผมเชื่อว่านี่อาจเป็นประเภทของวงจรที่ฉันต้องการ

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

คำถามที่ 1: ฉันยังสนิทกับการติดตามที่ถูกต้องหรือไม่

คำถามที่ 2: องค์ประกอบที่ถูกต้องที่จะใช้สำหรับรายการ (5), (Transistor หรือ Mosfet) คืออะไรและฉันจะหาชิ้นส่วนได้อย่างไร (ที่ Frys ท้องถิ่น RadioShack ออนไลน์) และระบุ (ระบุ)

คำถามที่ 3: การเลือกรายการ (5) จะมีผลต่อค่าโอห์มของรายการตัวต้านทาน (3) หรือไม่? นอกเหนือจากกฎหมาย Ohms ปกติสำหรับแหล่งพลังงาน 3.0V และ 2.0V LED

คำถามที่ 4: ค่า ohm ของรายการตัวต้านทาน (2) คืออะไรถ้าจำเป็น

คำตอบ:


29

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

ทรานซิสเตอร์ NPN ขนาดเล็กเกือบทุกตัวที่คุณสามารถหาเจอได้จะทำงานในบทบาทนี้ได้ ถ้า BE ลดลงของทรานซิสเตอร์เป็น 700 mV, LED ลดลง 2.0 V จากนั้นจะมี 600 mV accross R1 เมื่อ LED เปิดอยู่ ในตัวอย่างนี้จะอนุญาตให้ 17 mA ไหลผ่าน LED ทำให้ตัวต้านทานสูงขึ้นหากคุณสามารถทนต่อแสงที่ต่ำกว่าจาก LED และต้องการประหยัดพลังงาน

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

ที่เพิ่ม:

ฉันเห็นว่ามีความสับสนว่าวงจรนี้ทำงานอย่างไรและทำไมไม่มีตัวต้านทานฐาน

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

ลองดูที่วงจรนี้โดยสมมติว่าการดรอป BE เป็นค่าคงที่ 700 mV, แรงดันไฟฟ้าอิ่มตัว CE คือ 200 mV และอัตราขยายเป็น 20 ค่าเหล่านี้เป็นค่าที่สมเหตุสมผลยกเว้นอัตราขยายที่ต่ำ ตอนนี้ฉันกำลังใช้เกนต่ำโดยเจตนาเพราะเราจะเห็นในภายหลังว่าต้องการทรานซิสเตอร์ขั้นต่ำเท่านั้น วงจรนี้ทำงานได้ดีตราบใดที่ค่าที่ได้นั้นอยู่ที่ใดก็ได้จากค่าต่ำสุดไปจนถึงความไม่แน่นอน ดังนั้นเราจะวิเคราะห์ด้วยอัตราขยายที่ต่ำอย่างไม่น่าเชื่อที่ 20 สำหรับทรานซิสเตอร์สัญญาณขนาดเล็ก ถ้าทุกอย่างทำงานได้ดีเราก็สามารถใช้ทรานซิสเตอร์สัญญาณขนาดเล็กที่คุณจะได้รับ 2N4401 ฉันแสดงให้เห็นว่าสามารถได้รับประมาณ 50 ในกรณีนี้ตัวอย่างเช่น

สิ่งแรกที่ควรทราบคือทรานซิสเตอร์ไม่สามารถทำให้อิ่มตัวในวงจรนี้ เนื่องจากฐานถูกขับเคลื่อนไปที่มากที่สุด 3.3 V emitter จะไม่เกิน 2.6 V เนื่องจากการลดลง 700 mV BE นั่นหมายความว่าจะต้องมีอย่างน้อย 700 mV ใน CE ซึ่งสูงกว่าระดับความอิ่มตัว 200 mV

เนื่องจากทรานซิสเตอร์อยู่ในพื้นที่ "เป็นเส้นตรง" เรารู้ว่ากระแสของตัวสะสมเป็นกระแสไฟฟ้าพื้นฐานคูณด้วยกำไร กระแสอีซีแอลคือผลรวมของกระแสทั้งสองนี้ ตัวส่งต่ออัตราส่วนฐานปัจจุบันจึงได้รับ + ​​1 หรือ 21 ในตัวอย่างของเรา

ในการคำนวณกระแสต่าง ๆ มันง่ายที่สุดที่จะเริ่มต้นด้วยตัวปล่อยและใช้ความสัมพันธ์ข้างต้นเพื่อรับกระแสอื่น ๆ เมื่อเอาต์พุตดิจิตอลอยู่ที่ 3.3 V อีซีแอลจะน้อยกว่า 700 mV หรือที่ 2.6 โวลต์ LED เป็นที่รู้จักกันว่าจะลดลง 2.0 V ดังนั้นจะเหลือ 600 mV เมื่อเทียบกับ R1 จากกฎหมายของ Ohms: 600mV / 36Ω = 16.7mA นั่นจะทำให้ไฟ LED สว่างขึ้น แต่ปล่อยให้ระยะห่างเล็กน้อยถึงไม่เกิน 20 mA เนื่องจากตัวปล่อยกระแสไฟฟ้าคือ 16.7 mA กระแสไฟฟ้าพื้นฐานจะต้องเป็น 16.7 mA / 21 = 790 µA และตัวสะสมกระแส 16.7 mA - 790 µA = 15.9 mA เอาต์พุตดิจิตอลสามารถรับได้สูงสุด 4 mA ดังนั้นเราจึงอยู่ในข้อมูลจำเพาะและไม่แม้แต่จะโหลดอย่างมีนัยสำคัญ

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

จะเกิดอะไรขึ้นถ้ากำไรเพิ่มขึ้น? แม้แต่น้อยของ LED ปัจจุบันโดยรวมจะมาจากฐาน ด้วยกำไร 20, 20/21 = 95.2% มาจากนักสะสม ด้วยกำไร 50 มันคือ 50/51 = 98.0% ด้วยกำไรที่ไม่มีที่สิ้นสุดมันคือ 100% นี่คือเหตุผลที่วงจรนี้มีความแปรปรวนของชิ้นส่วนอย่างมาก ไม่ว่า 95% หรือ 99.9% ของกระแสไฟ LED นั้นมาจากแหล่งจ่าย 3.3 V ผ่านตัวสะสมไม่สำคัญ โหลดในเอาต์พุตดิจิตอลจะเปลี่ยนแปลง แต่ในทุกกรณีมันจะต่ำกว่าค่าสูงสุดดังนั้นจึงไม่สำคัญ แรงดันไฟฟ้าของอิมิตเตอร์จะเท่ากันในทุกกรณีดังนั้น LED จะมองเห็นกระแสเดียวกันไม่ว่าทรานซิสเตอร์จะได้รับ 20, 50, 200 หรือมากกว่า

ข้อดีอีกอย่างของวงจรนี้ซึ่งฉันได้กล่าวถึงมาก่อนก็คือนักสะสมไม่จำเป็นต้องเชื่อมโยงกับแหล่งจ่าย 3.3 V สิ่งต่าง ๆ จะเปลี่ยนแปลงได้อย่างไรถ้านักสะสมถูกผูกติดกับ 5 V เช่น? ไม่มีอะไรจาก LED หรือมุมมองของเอาต์พุตดิจิตอล โปรดจำไว้ว่าแรงดันไฟฟ้าของตัวส่งเป็นฟังก์ชันของแรงดันไฟฟ้าพื้นฐาน แรงดันไฟฟ้าของตัวสะสมไม่สำคัญตราบใดที่มันสูงพอที่จะทำให้ทรานซิสเตอร์ไม่อิ่มตัวซึ่ง 3.3 โวลต์อยู่แล้ว ความแตกต่างเพียงอย่างเดียวคือการหยด CE ที่ตรงข้ามกับทรานซิสเตอร์ สิ่งนี้จะเพิ่มการกระจายพลังงานของทรานซิสเตอร์ซึ่งในกรณีส่วนใหญ่จะเป็นปัจจัย จำกัด ในแรงดันไฟฟ้าสะสมสูงสุด สมมติว่าทรานซิสเตอร์สามารถกระจายได้อย่างปลอดภัย 150 mW ด้วยกระแส 16.7 mA ตัวเก็บประจุเราสามารถคำนวณตัวสะสมแรงดันไฟฟ้าที่ปล่อยให้เกิดการกระจาย 150 mW:

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

หนึ่งในบทเรียนที่นี่คือคิดเกี่ยวกับการทำงานของวงจร ไม่มีที่ในทางวิศวกรรมสำหรับปฏิกิริยาการกระตุกเข่าหรือความเชื่อโชคลางชอบที่จะใส่ตัวต้านทานแบบอนุกรมกับฐานเสมอ ใส่ที่นั่นเมื่อมีความจำเป็น แต่โปรดทราบว่ามันไม่ได้เป็นเสมอเช่นวงจรนี้แสดง


ทรานซิสเตอร์หายไปปัจจุบันมีตัวต้านทาน จำกัด อยู่ที่ฐาน
Passerby

3
@ Passerby - ไม่มันไม่ใช่ นี่เป็นโทโพโลยีที่ชาญฉลาดที่ไม่ต้องการ
Connor Wolf

1
@AndrewKohlsmith - นี่ควรจะเป็นภูมิคุ้มกันที่ดีในการประมวลผลการเปลี่ยนแปลงในทรานซิสเตอร์ ตราบใดที่ทรานซิสเตอร์มีเบต้าเพียงพออุปกรณ์ใด ๆ ก็สามารถใช้งานได้
Connor Wolf

2
ว้าวคำตอบที่ดีเปลี่ยนวิธีที่ฉันเห็นการออกแบบวงจร
abdullah kahraman

1
ไม่แปลกใจเลยที่จะถูกย้ายโดยตัวอย่างที่มีเหตุผลและเป็นข้อและมองเห็นชื่อ "Olin Lathrop" ในฐานะผู้มีส่วนร่วม ใช่ฉันรู้ว่านี่คือ> 5.5 ปีหลังจากการตอบสนองที่แท้จริง นั่นเป็นวิธีที่ดีในการตอบ +1
jayce

3

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

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

ดังนั้นตรวจสอบว่า LED ของคุณสว่างเพียงพอที่จะเชื่อมต่อโดยตรงจากขา GPIO พร้อมตัวต้านทานแบบอนุกรมหรือไม่:

R=ยูdRโอพีผมLED =3.3-2.0V4mA=1.2V4mA=300Ω

ปัดเศษขึ้นเป็นค่า E12 ถัดไปเป็น 330Ω เพื่อความปลอดภัย


ฉันเพิ่งลอง LED สีแดง 10 มม. และ LED สีขาว 5 มม. ที่ไดรฟ์กระแส 2 mA และทั้งคู่ก็มองเห็นได้ชัดเจนมาก ที่ 4 mA ทั้งคู่ค่อนข้างสว่าง LED 10 มม. ได้รับการจัดอันดับที่ 30 mA ในขณะที่ LED สีขาวได้รับการจัดอันดับ 25 mA
Anindo Ghosh

0

ฉันรู้ว่าคำถามของคุณอยู่ที่องค์ประกอบที่ไม่ต่อเนื่อง แต่ฉันคิดว่าในกรณีทั่วไปคุณน่าจะดีกว่าหากดูที่บัฟเฟอร์ IC หรือไดรเวอร์บรรทัด ตัวอย่างเช่น ULN2803 เป็นบัฟเฟอร์ Octal (8 I / Os) และจะดึงน้อยกว่า 2mA จากพิน GPIO ของคุณ แต่สามารถขับได้สูงถึง 500mA ต่อเอาต์พุต (มันเป็นการย้อนกลับลอจิกดังนั้นรหัสของคุณจำเป็นต้องคำนึงถึงเรื่องนั้น) เห็นได้ชัดว่าคุณต้องการใช้ตัวต้านทาน จำกัด ปัจจุบันสำหรับไฟ LED ของคุณ


0

ความคิดเห็นเกี่ยวกับแผนผังที่เสนอในโพสต์ต้นฉบับ:

การใช้ทรานซิสเตอร์ NMOS FET แบบไม่ต่อเนื่องเช่นนี้เป็นสวิตช์จะดี

  • ไม่จำเป็นต้องมีตัวต้านทานแบบอนุกรมที่ประตูของ MOSFET
  • เลือก FET ที่มีแรงดันขีด จำกัด ต่ำกว่าแรงดันไฟฟ้าของคุณประมาณ 1V เพื่อให้แน่ใจว่าจะมีความอิ่มตัวเมื่อเปิดเครื่องจากนั้นแรงดันตกคร่อม MOSFET จะต่ำ (MOSFET ทำให้สวิตช์ดีมาก)
  • กระแสไฟ LED จะถูกตั้งค่าโดย ILED = (VCC - Vf - Vds) / R สำหรับตัวเลขที่แสดงและสมมติว่า 0.2V สำหรับ FET นั้น R = (3.3 - 2.0 - 0.2) / 20mA = 51 หรือ 56ohms (ค่ามาตรฐานที่ใกล้เคียงที่สุด)

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

ตามที่ผู้โพสต์คนอื่นพูดถึงถ้า LED ต้องการกระแสไฟต่ำพอคุณสามารถใช้ GPIO ได้โดยตรง ในโหมด open drain มันเหมือนกับพฤติกรรมที่มี FET ภายนอก (แต่กลับด้าน) แต่ฉันจะไม่แนะนำให้ใช้พอร์ต uC มากกว่า 1mA เป็นเวลานาน IC อาจไม่ได้รับการออกแบบสำหรับกระแสคงที่ที่มีขนาดใหญ่เช่นนั้น (อาจเป็นปัญหาทางไฟฟ้าหรือการทำให้ร้อนด้วยตนเอง)

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