Buffer Sinyal Mikrokontroler Digital untuk Menghubungkan ke Optocoupler

8

Saya sering bekerja pada proyek di mana saya menggunakan optocoupler untuk mengisolasi sinyal kontrol digital + 5VDC (misalnya, dari mikrokontroler) dari sisa rangkaian. Namun, karena ini bekerja dengan menerangi LED di dalam perangkat, mungkin ada beberapa puluh miliamp beban pada pin mikrokontroler. Saya mencari saran tentang apa yang akan menjadi praktik terbaik untuk buffering sinyal kontrol ini dengan tahap tambahan, sehingga mikrokontroler secara efektif melihat impedansi tinggi, dan dengan demikian mengurangi arus yang perlu disediakan?

masukkan deskripsi gambar di sini

Hanya secara naif dari atas kepala saya, saya dapat memikirkan beberapa hal yang mungkin berhasil:

1) Cukup gunakan op amp sebagai penguat gain buffer.

2) Gunakan chip pembanding khusus untuk membandingkan sinyal input dengan, misalnya, + 2.5VDC.

3) Gunakan MOSFET sebagai penguat sinyal.

Namun, setelah melakukan beberapa bacaan, saya telah menemukan sejumlah besar keripik yang belum pernah saya gunakan sebelumnya, tetapi sepertinya itu dirancang untuk hal semacam ini. Sebagai contoh:

  • Pengemudi Jalur Diferensial ( MC3487 )
  • Penerima Jalur Diferensial (DC90C032)
  • A Line Transceiver (SN65MLVD040)
  • Gerbang dan driver penyangga (SN74LS07, SN74ABT126)

Saya benar-benar tidak punya pengalaman dengan semua ini dan saya sedikit kewalahan dengan jumlah barang yang tersedia! Jadi, bisakah ada yang membantu saya mempelajari perbedaan antara perangkat-perangkat ini, dan mana dari mereka yang akan / tidak cocok dalam kasus ini. Adakah cara terbaik / standar untuk mencapai apa yang saya gambarkan?

sunting:
Karena saya bisa beralih ke sekitar keluaran x30, saya tidak ingin khawatir sama sekali tentang memuat mikrokontroler, dan karenanya tidak akan mempertimbangkan untuk menghubungkan langsung ke pin DIO. Oleh karena itu, saya pikir saya akan menggunakan IC buffer logika. Saya akan mencoba menggunakan SN74LVC1G125 " Gerbang Penyangga Bus Tunggal Dengan Output 3-Negara " untuk setiap input, dan lihat bagaimana hasilnya.

teeeeee
sumber
Untuk solusi komponen tunggal drop-in, P-channel MOSFET.
Reinderien
Pada catatan yang terkait, pin mikrokontroler biasanya dapat tenggelam lebih banyak saat ini daripada yang mereka dapat sumber. Lihat pertanyaan ini .
Nick Alexeev

Jawaban:

12

Anda punya banyak pilihan.

  1. Jika Anda perlu menghubungkan sedikit optocoupler, Anda dapat menghubungkannya langsung ke GPIO mikrokontroler Anda (melalui resistor), asalkan:

    • Anda tidak melebihi arus keluaran GPIO.
    • Anda tidak melebihi total port saat ini.
    • Anda tidak melebihi total gnd / vdd saat ini.
  2. Jika Anda perlu menghubungkan lebih banyak optocoupler, Anda dapat mencoba menggunakan optocoupler rasio transfer arus rendah, arus tinggi seperti SFH618 ( https://www.vishay.com/docs/83673/sfh618a.pdf ), dan menghubungkannya langsung ke GPIO Anda (melalui resistor).

  3. Atau, Anda dapat menggunakan BJT atau MOSFET (lihat skema di bawah ini). Beberapa catatan:

    • Ingatlah untuk meletakkan resistor pull-down / pull-up, yang memastikan bahwa MOSFET / BJT MATI ketika GPIO belum diinisialisasi (misalnya selama reset).
    • Penarik pull-up atau down mungkin dihilangkan jika MCU Anda memiliki pin GPIO dengan pull-up / down selalu diaktifkan selama reset.
    • Jika menggunakan MOSFET, ingatlah untuk menggunakan MOSFET tingkat logika (misalnya BSS138).
    • Jika Anda menggunakan solusi aktif-rendah, pastikan tegangan tinggi GPIO adalah VDD. Yaitu jangan menggunakan 3.3V-GPIO dan VDD = 5V dalam solusi aktif rendah! .
  4. Namun, jika Anda perlu menggerakkan banyak optocoupler (mis. 6) Anda dapat menggunakan 74LS07 yang Anda sebutkan, karena memungkinkan 40mA per pin, dan Anda harus memasang hanya satu komponen (bukan 6 BJTs / MOSFETs). Ingat bahwa, tidak seperti CMOS, IC TTL secara instrinsik dihentikan! Namun, Anda mungkin masih menginginkan pull-up resistor (datasheet juga merekomendasikan untuk tidak membiarkan input mengambang). Dan, karena '07 tidak membalik, solusi ini akan menjadi RENDAH aktif. 74ABT126 adalah CMOS sehingga Anda HARUS menggunakan resistor pull-up!

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

hack berikutnya
sumber
1
Juga dapat menggunakan emitor / pengikut sumber
Russell McMahon
+1. Ini dapat digunakan untuk membuatnya aktif tinggi, asalkan GPIO diaktifkan dengan VDD yang sama (seperti dalam konfigurasi rendah aktif (dengan PNP)). Namun saya tidak akan menggunakan MOSFET saat itu, karena mereka cenderung memiliki Vth yang besar (dan dispersi yang besar, yang mungkin berdampak pada perhitungan arus yang dipimpin). Ini mungkin menjadi masalah jika Anda memiliki 2.5V atau 3.3V GPIO (yang Anda butuhkanVTH+VHAIV+VL.ED+sayaL.EDR. Jika nilai ini terlalu dekat dengan VDD, maka drop pada R akan kecil, dan karena itu arus pada Vth akan tinggi).
next-hack
11

BJT sederhana seperti MMBT3904 atau BJT switching mana pun akan melakukan pekerjaan itu. Anda bisa mendapatkan gulungan 100 seharga dua dolar.

masukkan deskripsi gambar di sini

peufeu
sumber
9

Driver jalur diferensial tidak dirancang untuk mengemudi LED. Chip buffer ini mendorong (atau menerima) sinyal diferensial pada dua kabel. Ayunan tegangan mungkin 1,3 volt hingga 1,7 volt. Tidak cukup untuk menyalakan atau mematikan LED.

Buffer TTL ideal untuk aplikasi ini, tetapi alih-alih menyambung ke sisi tinggi LED seperti yang tergambar dalam skema Anda, mereka harus terhubung ke sisi rendah LED, karena TTL pandai tenggelam saat ini dan buruk dalam sumber arus.

Namun jika Anda hanya memiliki beberapa optocoupler untuk dihubungkan maka NPN BJT adalah cara yang lebih sederhana untuk menggerakkan LED.

lagi-lagi
sumber
4

Saya merekomendasikan untuk output tingkat Logika untuk menggunakan H11L1 yang memiliki driver gerbang logika CMOS Schmitt dan berjalan dengan minimum 1,4mA ~ $ 1 (10) 3 ~ 16V

Untuk Kolektor terbuka berbiaya rendah, peringkat dengan berbagai keuntungan saat ini dari 80% hingga 300% minimum http://www.taiwansemi.com/products/datasheet/TPC816%20SERIES_B1612.pdf

Ini berarti jika Anda hanya perlu tingkat logika keluar atau 1mA, itu setidaknya 80% dari apa yang Anda drive dengan yang tidak banyak beban daya pada CPU.

Jadi cari yang penting. ribuan pilihan biaya vs kinerja.

Untuk mempercepat lebih banyak bantuan saat ini tetapi beberapa perangkat $ beralih di dalam dan yang lain di dalam kita.

Tony Stewart Sunnyskyguy EE75
sumber