Saya melihat lembar spesifikasi untuk mikrokontroler ATTiny2313A dan menetapkan nilai maksimum absolut untuk arus DC melalui setiap pin IO 40mA
, dan arus DC maksimum melalui pin ground / Vcc di 200mA
.
Saya berencana menggunakan pengontrol mikro ini untuk menggerakkan beberapa tampilan LED, jadi mungkin ada sejumlah besar arus yang bersumber / tenggelam. Saya tahu saya benar-benar harus menjaga arus di bawah peringkat maksimum absolut, tetapi lebih disukai saya ingin menjaga ini di bawah tingkat yang disarankan, yang sayangnya tidak ada yang terdaftar.
Hal yang sama berlaku untuk berbagai sirkuit IC lainnya (register shift logika, switch analog, multiplexer, dll.) Saya melihat ke dalam menggunakan untuk menggerakkan display LED, yang hanya daftar peringkat arus maksimum absolut.
Jadi pertanyaan saya adalah apa yang umumnya merupakan margin keselamatan yang baik untuk sirkuit IC yang berbeda yang hanya mencantumkan peringkat arus maksimum absolut? Bisakah saya bertemu 40 mA*
dan aman sepenuhnya? Atau saya ingin faktor keamanan yang nyaman 2x, 3x, dll?
* catatan: Saya berasumsi bahwa saya tidak pernah benar-benar melebihi 40 mA
, misalnya 35 mA
nilai nominal dengan 5 mA
varian.
post-note: Saya tahu bahwa ada driver LED konstan saat ini yang dirancang khusus, namun saya pikir ini masih merupakan pertanyaan yang relevan untuk mengendarai komponen lain.
sumber
Ada dua masalah besar yang perlu dipertimbangkan ketika mengukur arus keluaran dalam situasi statis : keluaran tegangan dan keluaran termal.
Output tegangan
Ketika Anda meningkatkan arus keluaran, tegangan keluaran akan mulai "gagal" (lebih besar dari yang diharapkan untuk keluaran "rendah" dan lebih rendah dari yang diharapkan untuk keluaran "tinggi") karena impedansi keluaran terbatas dari penggerak keluaran GPIO pin . Ini, pada gilirannya, akan mengganggu titik-Q dari rangkaian yang terhubung dengan keluaran Anda.
Ini sangat menarik dalam kasus perangkat yang sangat non-linear seperti LED. Jika Anda mengubah tegangan yang Anda terapkan pada LED sedikit, permintaan saat ini berubah lebih banyak dalam hubungannya.
Ini mengarah pada prinsip umum bahwa Anda ingin voltase output "error" tidak lebih dari 10% (untuk membuat hidup desain Anda lebih mudah).
Untuk mencapai maksimum absolut Anda harus menderita sesuatu seperti> 60% kesalahan dalam tegangan output Anda. Bahkan, spesifikasi untuk MCU Anda bahkan tidak menunjukkan kepada Anda berapa banyak kesalahan akan ada pada tingkat output.
Anda akan mendapatkan sesuatu seperti 1V dari output "tinggi" dari VCC 3V. Level itu tidak cukup tinggi untuk memberi sinyal "tinggi" dengan andal ke perangkat lain (dalam sistem digital).
Saya mengekstrak angka ini dari tautan lembar data Anda:
Untuk merancang batas saat ini (di sini, diberikan Vcc = 3): 3 - 0,1 (3) = 2,7
Pada 2.7V, batas arus nominal adalah 8mA - yaitu, sedikit kurang dari yang Anda harapkan * 30 * mA atau lebih ... ;-)
Catatan menarik dari fisika perangkat adalah sisi-n (sisi rendah) di hampir setiap driver output CMOS yang saya lihat sedikit lebih kuat daripada sisi tinggi tipe-p. Ini karena elektron (pembawa mayoritas dalam n-type FET) bergerak sekitar dua kali lebih mudah melalui saluran seperti lubang (pembawa mayoritas di p-type FET). Untuk mengimbangi, pembuat chip menggandakan (kira-kira) ukuran transistor tipe-p sampai kinerja pengemudi kira-kira simetris, tetapi sisi rendah biasanya mempertahankan sedikit (<10% keuntungan) meskipun begitu.
Kasus ini tidak terkecuali ...
Anda dapat melihat pada gambar ini bahwa 0 + 0,1 (3) = 0,3V -> 9mA, sekitar 10% lebih besar dari 8mA sebelumnya.
Jadi, Anda harus menginstal LED yang menunjuk ke chip Anda jika memungkinkan. Artinya, desain mereka sehingga output rendah = LED menyala. Sesuatu seperti ini:
Output termal
Arus tinggi pada driver pin = panas (jelas). Panas ++ -> bencana. Sirkuit driver GPIO biasanya didistribusikan secara merata di sekitar pinggiran die oleh kebutuhan geometris (sering kali mereka menentukan ukuran minimum die).
Dalam kasus chip Atmel ini (ATMEGA8, lihat di bawah), mereka pasti. Sirkuit GPIO berkerumun di sekitar situs ikatan kawat biru gelap di cincin cyan di sekitar logika (gelap) dan area memori di tengah.
Ini semua hanya perkiraan batas dan sedikit bergelombang, tetapi rekayasa adalah tentang menyelesaikan sesuatu, jadi begini ... ;-)
Menggunakan pin tetangga pada level arus tinggi harus menghasilkan setidaknya penurunan linier.
Jika Anda menganggap bahwa bagian tersebut mendistribusikan panas secara merata (asumsi yang adil untuk die kecil Anda), Anda bisa mendapatkan perkiraan tingkat pertama dengan bekerja mundur dari nilai maksimum absolut (40mA) dan dengan asumsi bahwa pin tetangga akan berbagi 100% dari beban panas.
Itu berarti bahwa jika Anda memiliki satu output 40mA (tidak benar-benar melakukan ini), tetangga terdekatnya harus pada 0mA. Output 20mA -> tetangga 10mA, dll ...
Jika saya sudah menjelaskan dengan cukup baik, maka sekarang harus jelas bahwa Anda memilih minimum antara dua metode.
sumber
Halaman 199 memberi Anda apa yang ingin Anda ketahui. Setiap pin dapat dengan aman / direkomendasikan sumber / sink 5/10 / 20ma pada 1,8 / 3 / 5v, tanpa terlalu banyak drop tegangan (+ - 0,5v pada arus yang disarankan). Max Current 40ma per pin, penurunan tegangan akan lebih besar. Jangan melebihi 60mA keluar atau masuk pada semua pin digabungkan pada waktu tertentu. Halaman 218-220 memberikan grafik kecil yang menunjukkan penurunan tegangan vs keluaran saat ini.
sumber