Cara mengemudikan LED 20mA Dari Pin GPIO maks. 4mA

16

Saya memiliki IC yang memiliki GPIO yang ingin saya kendarai dengan LED.

Karena perangkat akan kehabisan baterai, jaga agar penggunaan daya rendah (Zero mungkin) saat LED mati sebagai prioritas.

GPIO memasok 3.3V saat dinyalakan dan suara 0.0V ketika dimatikan.

Ini juga memiliki batas maksimum 4mA.

LED memiliki arus maju 20mA dan tegangan maju 2,0V yang diinginkan.

Ketika LED dihidupkan kemungkinan besar akan berkedip (menggunakan PWM) dalam kisaran kilohertz rendah.

Setelah menyodok sekitar saya percaya ini mungkin jenis sirkuit yang saya butuhkan.

masukkan deskripsi gambar di sini

Pertanyaan 1: Apakah saya hampir berada di jalur yang benar.

Pertanyaan 2: Apa komponen yang benar untuk digunakan untuk item (5), (Transistor atau MOSFET), dan bagaimana cara mencari satu (di Frys, RadioShack, Online) lokal dan bagaimana mereka diidentifikasi (ditentukan)?

Pertanyaan 3: Apakah pilihan item (5) akan berpengaruh pada nilai ohm dari item resistor (3)? Terlepas dari hukum Ohm normal untuk sumber daya 3.0V dan 2.0V LED.

Pertanyaan 4: Apa yang akan menjadi nilai ohm dari item resistor (2), jika ada yang diperlukan.

Geven
sumber

Jawaban:

29

Sirkuit yang Anda tunjukkan harus berfungsi, tetapi tidak perlu rumit dan mahal. Ini adalah sesuatu yang lebih sederhana dan lebih murah:

Hampir semua transistor NPN kecil yang Anda temukan akan berfungsi dalam peran ini. Jika drop transistor BE adalah 700 mV, LED turun 2,0 V, maka akan ada 600 mV di R1 saat LED menyala. Dalam contoh ini, itu akan memungkinkan 17 mA mengalir melalui LED. Buat resistor lebih tinggi jika Anda bisa mentolerir cahaya yang lebih rendah dari LED dan ingin menghemat daya.

Keuntungan lain dari rangkaian ini adalah bahwa kolektor transistor dapat dihubungkan ke sesuatu yang lebih tinggi dari 3,3 V. Ini tidak akan mengubah arus melalui LED, hanya penurunan tegangan pada transistor dan oleh karena itu berapa banyak ia menghilang. Ini dapat bermanfaat jika 3.3 V berasal dari regulator kecil dan arus LED akan menambah beban yang signifikan. Dalam hal itu, hubungkan kolektor ke tegangan yang tidak diatur. Transistor yang berlaku menjadi regulator hanya untuk LED, dan arus LED akan berasal dari pasokan yang tidak diatur dan tidak menggunakan anggaran arus terbatas regulator 3.3 V.

Ditambahkan:

Saya melihat ada beberapa kebingungan bagaimana rangkaian ini bekerja dan mengapa tidak ada basis resistor.

Transistor digunakan dalam konfigurasi pengikut emitor untuk memberikan penguatan arus, bukan penguatan tegangan. Tegangan dari output digital cukup untuk mendorong LED, tetapi tidak dapat sumber arus yang cukup. Inilah sebabnya mengapa kenaikan arus bermanfaat tetapi kenaikan tegangan tidak perlu.

Mari kita lihat rangkaian ini dengan mengasumsikan bahwa drop BE adalah tetap 700 mV, tegangan saturasi CE adalah 200 mV, dan gainnya adalah 20. Itu adalah nilai yang masuk akal kecuali bahwa gainnya rendah. Saya menggunakan gain rendah sengaja untuk saat ini karena kita akan lihat nanti bahwa hanya gain minimum yang diperlukan dari transistor. Sirkuit ini berfungsi dengan baik selama gain berada di mana saja dari nilai minimum ke inifinity. Jadi kita akan menganalisis pada gain rendah yang tidak realistis dari 20 untuk transistor sinyal kecil. Jika semuanya bekerja dengan baik dengan itu, kami baik-baik saja dengan transistor sinyal kecil nyata yang akan Anda temui. 2N4401 yang saya tunjukkan dapat dihitung memiliki keuntungan sekitar 50 dalam hal ini, misalnya.

Hal pertama yang perlu diperhatikan adalah bahwa transistor tidak bisa jenuh di sirkuit ini. Karena basis didorong hingga paling tinggi 3,3 V, emitor tidak pernah lebih dari 2,6 V karena drop BE 700 mV. Itu berarti selalu ada minimum 700 mV di CE, yang jauh di atas tingkat saturasi 200 mV.

Karena transistor selalu berada di wilayah "linier", kita tahu bahwa arus kolektor adalah basis arus dikalikan dengan gain. Arus emitor adalah jumlah dari dua arus ini. Rasio emitor terhadap arus basis karena itu mendapatkan +1, atau 21 dalam contoh kami.

Untuk menghitung berbagai arus, paling mudah untuk memulai dengan emitor dan menggunakan hubungan di atas untuk mendapatkan arus lainnya. Ketika output digital pada 3,3 V, emitor adalah 700 mV kurang, atau pada 2,6 V. LED dikenal untuk menjatuhkan 2,0 V, sehingga meninggalkan 600 mV di R1. Dari hukum Ohms: 600mV / 36Ω = 16.7mA. Itu akan menyalakan LED dengan baik tetapi meninggalkan sedikit margin untuk tidak melebihi maksimum 20 mA. Karena arus emitor adalah 16,7 mA, arus basis harus 16,7 mA / 21 = 790 μA, dan arus kolektor 16,7 mA - 790 μA = 15,9 mA. Output digital dapat sumber hingga 4 mA, jadi kami baik dalam spesifikasi dan bahkan tidak memuatnya secara signifikan.

Efek bersihnya adalah tegangan dasar mengontrol tegangan emitor, tetapi pengangkatan berat untuk menyediakan arus emitor dilakukan oleh transistor, bukan output digital. Rasio berapa banyak arus LED (arus emitor) berasal dari kolektor dibandingkan dengan basis adalah keuntungan dari transistor. Pada contoh di atas, kenaikannya adalah 20. Untuk setiap 21 bagian arus melalui LED, 1 bagian berasal dari output digital dan 20 bagian dari pasokan 3,3 V melalui pengumpul transistor.

Apa yang akan terjadi jika keuntungannya lebih tinggi? Bahkan lebih sedikit dari keseluruhan arus LED akan datang dari pangkalan. Dengan perolehan 20, 20/21 = 95,2% berasal dari kolektor. Dengan keuntungan 50 itu adalah 50/51 = 98,0%. Dengan keuntungan tak terbatas 100%. Inilah sebabnya mengapa rangkaian ini sebenarnya sangat bergantung pada variasi bagian. Apakah 95% atau 99,9% dari arus LED berasal dari pasokan 3,3 V melalui kolektor tidak masalah. Beban pada output digital akan berubah, tetapi dalam semua kasus itu akan jauh di bawah maksimumnya, jadi itu tidak masalah. Tegangan emitor adalah sama dalam semua kasus, sehingga LED akan melihat arus yang sama apakah transistor memiliki gain 20, 50, 200, atau lebih.

Keuntungan lain yang halus dari rangkaian ini yang saya sebutkan sebelumnya adalah bahwa pengumpul tidak perlu terikat pada pasokan 3,3 V. Bagaimana hal berubah jika kolektor diikat ke 5 V, misalnya? Tidak ada yang dari sudut pandang LED atau output digital. Ingat bahwa tegangan emitor adalah fungsi dari tegangan basis. Tegangan kolektor tidak masalah selama itu cukup tinggi untuk menjaga transistor keluar dari kejenuhan, yang sudah 3,3 V. Satu-satunya perbedaan adalah drop CE melintasi transistor. Ini akan meningkatkan disipasi daya transistor, yang dalam banyak kasus akan menjadi faktor pembatas pada tegangan kolektor maksimum. Katakanlah transistor dapat mengusir 150 mW dengan aman. Dengan arus kolektor 16,7 mA, kita dapat menghitung kolektor ke tegangan emitor yang menyebabkan disipasi 150 mW:

Ini berarti bahwa dalam contoh ini kita dapat mengikat kolektor ke suplai praktis dari 3.3V ke 11.6 V. Bahkan tidak perlu diatur. Itu bisa berfluktuasi secara aktif di mana saja dalam kisaran itu dan arus LED akan tetap stabil. Ini dapat bermanfaat, misalnya, jika 3.3 V dibuat oleh regulator dengan kemampuan saat ini yang sedikit dan sebagian besar sudah dialokasikan. Jika beroperasi dari suplai sekitar 5 V, misalnya, maka rangkaian ini dapat memperoleh sebagian besar arus LED dari suplai 5 V tersebut sambil tetap menjaga arus LED diatur dengan baik . Dan, rangkaian ini sangat toleran terhadap variasi bagian transistor. Selama transistor memiliki gain minimum, yang jauh di bawah apa yang disediakan oleh transistor sinyal paling kecil, rangkaian akan bekerja dengan baik.

Salah satu pelajaran di sini adalah memikirkan bagaimana sirkuit benar-benar bekerja. Tidak ada tempat dalam rekayasa untuk reaksi brengsek lutut atau takhayul seperti selalu menempatkan resistor secara seri dengan pangkalan. Letakkan satu di sana saat dibutuhkan, tetapi perhatikan bahwa tidak selalu, seperti yang ditunjukkan sirkuit ini.

Olin Lathrop
sumber
Transistor hilang sekarang membatasi resistor pada basis itu.
Pejalan kaki
3
@Passerby - Tidak, tidak. Ini adalah topologi pintar yang tidak membutuhkannya.
Connor Wolf
1
@AndrewKohlsmith - Ini juga harus cukup kebal terhadap variasi proses dalam transistor. Selama transistor memiliki beta yang cukup, perangkat apa pun akan cukup berfungsi.
Connor Wolf
2
Wow jawaban yang bagus, mengubah cara saya melihat desain sirkuit.
abdullah kahraman
1
Sama sekali tidak terkejut untuk secara visual tergerak oleh contoh yang beralasan dan mengartikulasikan dan melihat nama "Olin Lathrop" sebagai kontributor. Ya, saya menyadari ini> 5,5 tahun setelah respons yang sebenarnya. Begitulah baiknya jawaban itu. +1
jayce
3

Banyak LED hari ini sangat cerah dan bekerja dengan baik dari 4mA atau bahkan kurang dan itu akan menghemat komponen eksternal tambahan. LED yang biasa saya gunakan berfungsi dengan sangat baik (untuk aplikasi saya) dengan kecepatan 1mA!

Masukkan resistor secara seri dengan LED, cukup besar untuk membatasi arus. Periksa apakah Anda tidak melebihi arus maksimum untuk seluruh perangkat, itu ditentukan dalam lembar data.

Jadi periksa apakah LED Anda cukup terang langsung terpasang dari pin GPIO dengan resistor seri:

R=UdrHaihalsayaL.ED =3.3-2.0V4ma=1.2V4ma=300Ω

Ω

jippie
sumber
Saya baru saja mencoba LED merah 10 mm, dan LED putih 5 mm, pada arus drive 2 mA, dan keduanya sangat terlihat. Pada 4 mA, keduanya cukup cerah. LED 10 mm diberi peringkat 30 mA, sedangkan LED putih diberi peringkat 25 mA.
Anindo Ghosh
0

Saya tahu pertanyaan Anda ada di sekitar komponen diskrit, tapi saya pikir dalam kasus umum Anda mungkin lebih baik melihat buffer berbasis IC atau driver garis. Misalnya ULN2803 adalah buffer Octal (8 I / Os) dan akan menarik kurang dari 2mA dari pin GPIO Anda, tetapi dapat mendorong hingga 500mA per output. (Ini pembalik logika sehingga kode Anda perlu menjelaskan hal itu). Jelas Anda ingin menggunakan resistor pembatas saat ini untuk LED Anda.

martyvis
sumber
0

Mengomentari skema yang diusulkan di pos asli:

Menggunakan transistor FET NMOS diskrit seperti ini sebagai saklar akan baik.

  • Tidak diperlukan resistor seri ke gerbang MOSFET.
  • Pilih FET dengan ambang tegangan sekitar 1V di bawah tegangan suplai Anda untuk memastikan bahwa ia akan menjadi saturasi ketika dihidupkan, dan kemudian penurunan tegangan di MOSFET akan rendah. (MOSFET membuat sakelar yang sangat bagus.)
  • Arus LED akan diatur oleh ILED = (VCC - Vf - Vds) / R. Untuk angka yang ditunjukkan, dan dengan asumsi 0,2V di seluruh FET, R = (3,3 - 2,0 - 0,2) / 20mA = 51 atau 56ohms (nilai standar terdekat)

Catatan: Biasanya anoda LED terkait dengan pasokan dan resistor dalam seri dengan katoda; ini dapat meningkatkan waktu switching dengan mengurangi jumlah kapasitansi dalam rangkaian yang harus diisi / dikeluarkan ketika beralih karena tegangan katoda akan "runtuh" ​​ke tegangan anoda saat mati.

Seperti poster lain yang disebutkan, jika arus yang dibutuhkan oleh LED cukup rendah, Anda dapat menggunakan GPIO secara langsung. Dalam mode open drain, identik dengan perilaku dengan FET eksternal (tetapi terbalik). Tapi saya tidak akan merekomendasikan menjalankan port UC lebih dari 1mA untuk waktu yang lama; IC mungkin tidak dirancang untuk arus konstan besar seperti itu (bisa jadi masalah elektromigrasi atau pemanasan sendiri).

mixed_signal
sumber