Menggunakan mikrokontroler untuk menghidupkan strip LED


12

Saya memiliki 60 led yang datang dalam strip led . Panjang satu meter strip led membutuhkan yang berikut:

  • 400 miliamp
  • 12 volt

Saya ingin mengontrol LED ini dengan pengontrol mikro. Saya sedang berpikir untuk menggunakan TIP120 dan raspberryPi.

Sebuah Raspberry Pi GPIO pin kaleng keluaran 50 milliamps terus menerus. (Pembaruan: Ini tidak benar, lihat di bawah)


Saya seorang pemula, dan saya tidak yakin saya melakukan ini dengan benar. Semua perhitungan saya didasarkan pada hal-hal yang saya baca di blog ini .


Matematika

Basis saat ini:

TIP120 memiliki arus kolektor lc = 250 * lb jadi saya akan membutuhkan arus basis 1,6 mA.

(1.6mA * 250 = 400)

RaspberryPi seharusnya tidak memiliki masalah dengan arus Base

Resistor dasar:

Saya akan membutuhkan resistor yang cukup rendah untuk memastikan bahwa basis TIP120 tetap jenuh tetapi tetap kurang dari 50 mA agar tidak membebani raspberryPi.

Menurut blog yang saya sebutkan, saya menemukan perlawanan dasar dengan mencari Vbe (sat). Lihat gambar 2.

di mana Vbe (sat) adalah 400 pada sumbu x, arus kolektor adalah sekitar 1,3 pada sumbu y.

masukkan deskripsi gambar di sini

Jika raspberryPi menghasilkan 3,3 volt, maka ada penurunan voltase 2 volt
(3,3 - 1,3)

Jadi menurut perhitungan saya, saya memerlukan resistor antara 4 dan 40 Ohm R = V / I
2 / (0,05 A) = 40 Ohm
2 / (0,50 A) = 4 Ohm
(Pembaruan: Salah, lihat bagian bawah pertanyaan)

Saya masih menganggap diri saya seorang amatir dan sedikit bingung.

  • Apakah perhitungan ini terlihat benar?
  • Akankah TIP120 bekerja? (saran lain diterima)
  • Apakah ada pertimbangan lain yang harus saya pertimbangkan untuk skema saya?

masukkan deskripsi gambar di sini

Memperbarui

Seperti yang ditunjukkan dalam jawaban, saya mengetik peringkat milliamp dengan faktor 10. Saya seharusnya mengatakan:
2 / (0,005 A) = 400 Ohms
2 / (0,050 A) = 40 Ohms

Perbarui 2

Tampaknya ada beberapa kesalahan tentang arus maksimum yang dapat disediakan pin pada Raspberry Pi. Agar aman, saya akan menganggap itu adalah 8 mA.

/raspberrypi/9298/what-is-the-maximum-current-the-gpio-pins-can-output

/raspberrypi/1130/what-is-the-nominal-gpio-pin-output-current

Perbarui 3

Ada buah menulis artikel blog yang bagus tentang cara mengontrol strip LED dengan pengontrol mikro. Dia merekomendasikan STP16NF06 atau TIP120

https://learn.adafruit.com/rgb-led-strips/usage


2
Saya tidak berpikir pin GPIO dapat sumber 50 mA. Saya pikir pin power rail + 3.3V dapat menghasilkan 50 mA. Saya pikir setiap GPIO dapat sumber hanya beberapa mili-amp. Saya akan menggunakan MOSFET tingkat logika bukan BJT. Tidak perlu khawatir tentang arus kontinu kalau begitu. IRLB8721 adalah pilihan bagus untuk banyak kegunaan; Saya pikir penggunaan ini akan memenuhi syarat.
Jon Watte

@JonWatte Terima kasih telah menunjukkan hal itu, saya akan memeriksa ulang arus maksimum sebelum saya melangkah lebih jauh.
Spuder

Perhitungan @JonWatte Power dalam desain RPi memperhitungkan semua GPIO pada saat yang sama, masing-masing 3mA, total 50mA. Anda dapat memiliki lebih sedikit pada waktu tertentu dan meningkatkan arus. Selain itu, mereka menemukan 50mA tambahan langsung dari rel 3.3V, ketika semua periferal sedang digunakan (seperti HDMI, ethernet, dan kartu sd, yang semuanya menggunakan rel 3.3v). Jadi PIN 3.3V, terhubung langsung ke rel 3.3V, dan 3.3V GPIO dari BCM SOC berbeda.
Pejalan kaki

+1 untuk pemula yang melakukan penelitian sendiri dan mendapatkan hampir semua jalan di sana sebelum mengajukan pertanyaan.
pjc50

@Passerby Saya pikir Anda akan membakar tahap driver pin GPIO jika Anda mencoba untuk sumber 50 mA dari salah satu dari mereka dan tetap diam.
Jon Watte

Jawaban:


6

Anda hampir sampai di sana, beberapa hal:

Perhitungan resistor basis tidak benar - ingat Anda hanya perlu 1,6mA sesuai dengan perhitungan Anda (arus kolektor terpisah).
Melihat datasheet, gain minimum adalah 1000, dan tegangan basis-emitor maksimum adalah 2.5V, yang berarti kita perlu menyesuaikan perhitungan, 1.6mA akan lakukan untuk arus basis (selalu bagus untuk memiliki tambahan untuk switch sebagai gain turun pada saturasi) tetapi kita perlu menggunakan 2.5V daripada 1.3V untuk case terburuk (lebih baik menggunakan case terburuk / nilai maksimum untuk mendesain, meskipun melihat grafik tampaknya Vbe tambahan tidak mungkin pada saat ini, jadi di suatu tempat antara dua gambar di bawah ini harus baik-baik saja):

Begitu:

(3.3V - 2.5V) / 1.4mA = 570Ω

atau

(3.3V - 1.5V) / 1.4mA = ~ 1.2kΩ

Ini seharusnya bekerja dengan baik, tetapi bukan cara yang paling efisien untuk melakukan sesuatu - disipasi transistor akan menjadi setidaknya 0.4A * Vce (sat) yaitu sekitar 0.4A * 0.75V = 0.3W, ditambah kebutuhan R-pi Anda setidaknya beberapa mA atau lebih untuk mengendarainya.
MOSFET tingkat logika modern bisa jauh lebih kecil, didorong dengan (hampir) tidak ada arus) dan hampir tidak memiliki disipasi. Berikut adalah contoh bagian, FDC637BNZ , dipilih secara acak dari ribuan di Farnell:

masukkan deskripsi gambar di sini


3

0,5A adalah 500 Milliamps ... Anda akan meledakkan Pi Anda. 0,05 adalah 50 Milliamps. Itu batas tinggi. Tidak perlu pergi untuk itu. Anda hanya perlu 1,6mA seperti yang Anda katakan. Jadi gosok sedikit, ucapkan 5mA bahkan bagus. 3.3 - 1.3 = 2v resistor harus jatuh. 2v / 0,005A (5mA) = 400Ω. Membulatkan ke ukuran terbesar berikutnya 470Ω, Anda mendapatkan ~ 4mA di pangkalan.

Kesampingkan matematika itu, TIP120 bekerja dengan baik untuk ini, meskipun itu benar-benar berlebihan untuk 400mA bahwa strip dipimpin akan mengambil. Ini adalah pasangan darlington, untuk perkalian arus tinggi. Transistor BJT tunggal yang umum seperti PN2222 (1 Amp dalam paket To-92 standar) akan lebih dari cukup. Atau Anda dapat membagi strip menjadi dua atau tiga dan menggunakan beberapa 2n3904 (100 ~ 200mA) dan mem-flash bagian yang berbeda secara berbeda (Tentu saja Anda akan membutuhkan jumlah gpio yang sama, kecuali jika Anda ingin menggerakkan semuanya dari satu GPIO yang akan bekerja juga. Transistor Paralel masing-masing dengan resistor basis mereka sendiri mengendarai bagian yang lebih kecil dari strip LED akan menjadi cara yang baik untuk berurusan dengan transistor yang lebih kecil jika Anda tidak bisa mendapatkan yang lebih besar.)

Dan skematis Anda cukup baik untuk maket. Satu strip led warna bukanlah sirkuit yang sangat rumit untuk digunakan, jadi tidak ada cara untuk memperbaikinya selain menggunakan bagian yang tepat daripada pengganti tempat umum.


Terima kasih sudah menangkapnya. Saya salah ketik perhitungan. Saya telah memperbarui pertanyaan dengan informasi yang benar.
Spuder

1
Kerugian dari pasangan Darlington adalah V yang relatif tinggi (CE, sat), yang hanya menghilangkan daya pada transistor. BJT reguler akan tampil jauh lebih baik dengan aspek itu. Seperti yang dinyatakan @Passerby, Anda tidak perlu binatang seperti TIP120 yang memiliki peringkat hampir 20x dari yang Anda butuhkan.
jippie
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.