Saya cukup baru di bidang elektronik dan saya kesulitan memahami prinsip "pull-up resistor". Saya telah membaca banyak artikel tentang itu, dan saya pikir saya sudah mendapatkannya tetapi saya tidak 100% yakin sehingga saya punya pertanyaan. Dalam artikel ini , setelah gambar pertama, dikatakan:
Ketika tombol sesaat ditekan itu menghubungkan pin I / O ke Vcc dan mikrokontroler akan mendaftarkan input sebagai tinggi.
Tapi saya tidak mengerti. Dimanakah VCC? Dari apa yang saya lihat, tidak ada sumber daya pada skema ini, hanya mikrokontroler yang disambungkan ke tombol yang sama-sama ditransfer ke tanah, jadi bagaimana mungkin ada tegangan sama sekali di sirkuit ini?
Jawaban:
Artikel itu tampaknya cukup membingungkan: teks dan angka tidak cocok. Saya akan mencoba menyajikan di sini tiga skema yang sama seperti di sana, dengan mudah-mudahan penjelasan yang lebih cocok.
Asumsikan U1 adalah mikrokontroler Anda, dan P1 adalah pin I / O yang dikonfigurasi sebagai input. (Bisa jadi itu gerbang logika, sungguh.) Koneksi lain ke U1 tidak begitu relevan sehingga tidak digambarkan, tetapi menganggap itu memiliki koneksi daya dan kebutuhan lainnya.
(1) Jika tombol ditekan, port P1 terhubung ke ground, dan akan merasakan level logika rendah. Tetapi ketika tombol dilepaskan, port tidak terhubung di mana pun, tetapi mengambang . Tidak ada tegangan yang pasti, sehingga bahkan gangguan kecil dapat menyebabkan input digital beralih dari satu nilai ke yang lain. Mungkin juga berosilasi, dan menyebabkan peningkatan konsumsi daya. Tidak baik.
(2) Sekarang, ketika tombol tidak ditekan, port akan merasakan level tinggi, karena terhubung langsung ke Vcc. Tetapi jika tombol ditekan, Vcc dihubung pendek ke ground, dan sumber listrik mungkin akan terbakar dan mati. Lebih buruk lagi.
(3) Di sini, jika tombol tidak ditekan, port akan kembali merasakan tingkat logika yang tinggi: itu ditarik tinggi melalui resistor. (Tidak ada kehilangan tegangan pada resistor, karena impedansi input digital sangat tinggi, dan oleh karena itu arus ke port kira-kira nol.)
Ketika tombol ditekan, port terhubung langsung ke ground, sehingga merasakan level rendah. Sekarang, arus akan mengalir dari Vcc ke ground, tetapi resistor akan membatasi itu untuk sesuatu yang masuk akal. Ini bagus.
Dalam skema ini, tombol yang tidak ditekan berbunyi sebagai nilai tinggi (1), dan tombol yang ditekan dibaca sebagai rendah (0). Ini disebut logika aktif-rendah . Mengganti resistor dan saklar akan membalikkan ini, sehingga tombol yang tidak ditekan akan berbunyi serendah (0), dan tombol yang ditekan setinggi (1). ( Logika aktif-tinggi .)
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
sumber
Penarik pull-up atau pull-down "menahan" input pada tingkat tertentu ketika tidak ada input ke pin, alih-alih membiarkan input melayang.
Ketika Anda mempertimbangkan Gambar 1 pada gambar Anda, sakelar yang terbuka tidak menyediakan koneksi listrik ke pin, sehingga memungkinkan interferensi liar, kebocoran internal, dll untuk mempengaruhi tegangan pin input. Pengaruh eksternal ini dapat menyebabkan input ditafsirkan sebagai nilai yang berfluktuasi, menyebabkan osilasi yang tidak diinginkan atau output yang tidak terduga.
Jadi, untuk memastikan pin dipegang pada kondisi "diketahui", pin harus selalu terhubung ke VCC atau GND. Lihat gambar 2. Namun, ada masalah: jika Anda menghubungkan pin ke VCC untuk menahannya dalam keadaan "tinggi", kemudian hubungkan switch Anda ke GND dan tekan switch, Anda membuat short langsung! Anda akan meniup sekring, merusak catu daya Anda, membakar sesuatu, dll.
Jadi, alih-alih menghubungkan input secara langsung ke VCC atau GND, Anda dapat menghubungkan input melalui resistor pull-up / pull-down. Pada Gambar 3, mereka menggunakan resistor pull-up, menghubungkan input ke VCC.
Ketika tidak ada input lain pada pin, hampir nol arus mengalir melalui resistor pull-up. Jadi ada sedikit drop tegangan di atasnya. Ini memungkinkan seluruh tegangan VCC terlihat pada pin input. Dengan kata lain, pin input dipegang "tinggi".
Ketika saklar Anda ditutup, input dan resistor pull-up terhubung ke GND. Sebagian arus mulai mengalir melalui pull-up. Tetapi karena itu adalah resistansi yang jauh lebih tinggi daripada kawat yang mengarah ke GND, hampir semua tegangan turun di resistor pull-up, menyebabkan ~ 0 volt hadir pada pin input.
Anda akan memilih resistor nilai relatif tinggi untuk membatasi aliran arus ke nilai wajar, tetapi tidak terlalu tinggi untuk melebihi resistansi internal input.
Resistor pull-up memungkinkan Anda menahan input pada kondisi yang diketahui saat tidak ada input, tetapi tetap memberi Anda fleksibilitas untuk memasukkan sinyal tanpa membuat sinyal pendek.
sumber
Artikel ini membingungkan tetapi inilah intinya. Inverter memiliki impedansi input yang tinggi dan tidak boleh dibiarkan mengambang karena dapat mengasumsikan logika 0 atau logika 1 atau terombang-ambing di antara keduanya.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Pengaturan dalam (b) lebih umum karena banyak perangkat logika IC memiliki resistor pull-up internal yang menghasilkan jumlah komponen dan area PCB yang lebih rendah saat menggunakan pengaturan ini.
Perhatikan bahwa kekuasaan dan kekuatan diasumsikan dalam banyak skema. Dalam kasus gerbang logika, misalnya, ada koneksi Vss dan ground yang umum untuk 2, 4 atau 6 gerbang logika. Tidak masuk akal untuk menunjukkannya untuk setiap gerbang sehingga mereka diasumsikan atau ditampilkan secara terpisah dengan kapasitor decoupling di tempat lain pada skema.
sumber
Yah, itu bukan gerbang jadi saya kira kita seharusnya membayangkan pin I / O terhubung di mana LED ditampilkan dengan tidak benar tanpa resistor seri. Ketika Anda menghubungkan input ke ground, output harus pergi ke Vcc (yang juga bisa disebut Vdd, yang merupakan cerita lain).
Cukup normal untuk tidak menunjukkan pin daya pada gerbang logika. Ini hanya untuk mengurangi kekacauan dalam skema. Perhatikan bahwa pin daya ground pada gerbang logika juga tidak ditampilkan.
Ini agak membingungkan (menyembunyikan pin) ketika Anda memiliki tegangan logika campuran seperti 1,8, 3,3 dan 5V pada papan yang sama, jadi saya tidak melakukannya sendiri biasanya, tapi itu memang menyimpan banyak kekacauan pada hari-hari tenang. ketika semuanya berlari dari 5V.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
sumber
Penarik pull-up atau pull-down dimaksudkan untuk memperbaiki level logika (0 pada GND atau 1 pada VCC). Resistor memiliki impedansi yang lebih tinggi daripada tombol. Ketika Anda menekan tombol, level dapat berubah (jika kabel terkoreksi).
"Not gate" yang mewakili MCU dalam angka-angka sangat mendasar dan penulis mengabaikan pasokan VCC. Tentu saja dalam Gambar 2 dan 3 Vcc hadir dan terhubung dengan baik.
Kalimat yang Anda pilih adalah untuk menjelaskan logika "aktif tinggi". Yang sesuai dengan gambar 1 adalah
sumber
Karena input mengambang pada CMOS dapat bocor ke level input salah, cenderung rentan terhadap gangguan, baik input tersembunyi R-up di port input uC dengan beralih ke ground atau bias eksternal R ke satu rel pasokan Vdd atau Vss dan beralih ke rel yang berlawanan.
sumber