Pertama, Anda menentukan satu produsen LED dan nomor bagian. Kisaran dalam Vf dari bagian ke bagian tidak akan sebesar yang Anda sarankan (tidak 0,5V).
Kedua, variasi kecil dalam kecerahan tidak mudah terdeteksi oleh mata. Jadi Anda tidak perlu khawatir tentang variasi kecil dari unit ke unit.
Ketiga, bila memungkinkan, Anda menyalakan daya LED dari tegangan yang diatur, bukan baterai, sehingga Anda menghapus satu sumber variasi.
Keempat, ketika satu-satunya sumber daya yang tersedia adalah variabel (seperti baterai), Anda mengendarai LED dengan sumber arus alih-alih sumber tegangan dengan resistor pembatas arus. Jika ada setidaknya satu tegangan yang diatur tersedia (bahkan jika itu adalah tegangan rendah), sangat mudah untuk membuat sumber arus yang memuaskan untuk menggerakkan indikator LED menggunakan hanya satu transistor dan beberapa resistor. Ini murah tetapi memakan ruang pada desain yang sangat terbatas ruang.
Jika tidak ada satu pun tegangan yang diatur tunggal tersedia, Anda masih dapat membuat sumber arus yang layak menggunakan dua dioda secara seri sebagai referensi tegangan.
Saya tidak yakin apakah saya seorang insinyur sungguhan, tetapi saya harus melakukan semua hal ini saat merancang produk konsumen, dan itulah cara saya menghadapinya. Satu hal lain yang benar-benar dapat membantu Anda dengan indikator LED adalah ketika beban berat menyebabkan tegangan baterai melorot. Misalnya, motor getaran atau speaker dapat menyebabkan tegangan baterai terkulai pada beberapa produk. Droop itu dapat menyebabkan flicker yang terlihat atau variasi dalam kecerahan LED ketika LED digerakkan dari baterai. Ini adalah alasan lain untuk menggunakan sumber saat ini.
Berikut adalah sumber saat ini ketika LED dinyalakan dari baterai, tetapi Anda memiliki sinyal GPIO yang berasal dari tegangan yang diatur:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Dalam skema di atas, tidak masalah jika LED diaktifkan dari 3.3V atau VBATT atau apa pun, selama GPIO didukung dari sumber yang diatur. Saya menyalin ini dari jawaban lain. Anda ingin men-tweak resistor emitor untuk mendapatkan arus spesifik yang Anda cari. Ketika tidak ada banyak overhead yang tersedia, Anda juga dapat mengurangi R2 sehingga tegangan basis kurang dari 1V.
Berikut ini adalah rangkaian untuk saat tidak ada tegangan yang diatur tersedia:
mensimulasikan rangkaian ini
Di sirkuit di atas, D1 dan D2 bertindak sebagai referensi tegangan. Tegangan akan bervariasi, tetapi tidak sebanyak tegangan baterai. Tegangan konstan ini di dasar Q1 kemudian diungkit menjadi tegangan konstan di R3, dan dengan demikian, arus kolektor konstan (transistor tidak akan jenuh kecuali VBATT sangat rendah). Saya belum benar-benar melakukan ini dalam desain produksi, tetapi saya percaya itu akan berhasil OK.
Dibandingkan dengan saklar jenuh sederhana, kedua sirkuit melakukan pekerjaan yang baik untuk mempertahankan arus yang diinginkan bahkan ketika ada tegangan yang cukup tersedia untuk menjaga LED menyala.
Berikut adalah beberapa hasil simulasi yang membandingkan sakelar jenuh sederhana dengan resistor pembatas arus (D1), vs rangkaian referensi pembagi tegangan (D2) vs referensi dua dioda (D5). Ini dengan LED 3V. Perhatikan bahwa nilai-nilai resistor telah disesuaikan untuk mendapatkan sekitar 9mA pada VBATT = 4.2V.
Seperti yang Anda lihat, sumber arus dengan referensi pembagi tegangan mempertahankan kinerja yang baik, katakanlah 3.35V. Jadi itu hanya membutuhkan sekitar 350mV overhead.
Sirkuit referensi dua dioda mempertahankan kinerja yang baik hingga sekitar 3,45V, yaitu sekitar 450mV overhead.
Sirkuit standar benar-benar tidak mempertahankan arus yang diatur sama sekali. Arus turun secara linier dengan tegangan baterai.
Juga perhatikan bahwa sirkuit referensi dua dioda dan sirkuit referensi pembagi tegangan keduanya memiliki arus yang lebih tinggi pada semua tegangan baterai dibandingkan dengan sirkuit standar, kecuali untuk pada tegangan baterai maks.