Bagaimana saya tahu jika saya membutuhkan resistor pull up atau pull down untuk pin GPIO?

8

Saya telah melihat banyak mikrokontroler menggunakan resistor pull up atau pull down baik sebagai pengaturan untuk pin GPIO atau sebagai bagian dari perangkat keras.

Bagaimana saya tahu jika saya memerlukan resistor pull up atau pull down untuk pin GPIO dan jika saya melakukannya, bagaimana saya tahu mana yang tepat untuk aplikasi saya?

Dom
sumber

Jawaban:

6

Anda memerlukan resistor pull up atau pull down pada saluran yang level tegangannya paling tidak kadang-kadang "tidak dapat diprediksi" - misalnya, input mengambang, tetapi juga saluran I2C.

Jika Anda ingin default garis menjadi 1 digital, Anda menggunakan pull up. Jika Anda ingin menjadi digital 0, Anda menggunakan tarik ke bawah.

Contoh yang sangat khas adalah tombol. Misalkan perangkat lunak mengharapkan pin untuk turun ketika tombol ditekan. Pada pin yang sesuai, Anda menggunakan tarik ke atas dan tombol menghubungkan pin dengan ground.


sumber
3

Dalam tata letak akhir, sangat disarankan untuk menarik setiap pin yang tidak digunakan ke level yang sesuai. Jangan biarkan mereka tidak terhubung karena dapat menyebabkan perilaku yang tidak terduga pada waktu mulai atau selama program berjalan.

Ruslan Gerasimov
sumber
0

Apakah Anda menariknya ke atas, atau ke bawah, benar-benar terserah Anda dan kebutuhan proyek Anda.

Seperti disebutkan sebelumnya

Jika kode Anda ingin memicu jatuh atau jatuh 0, Anda ingin menggunakan pull up untuk menjaga level tinggi ketika tidak digunakan.

Jika kode Anda ingin memicu kenaikan atau penurunan 1, Anda ingin menggunakan pull down untuk menjaga potensi pada 0, gunakan sumber eksternal Anda menariknya ke atas.

Sekarang, menarik resistor harus memiliki nilai ohmik yang tinggi, cukup untuk mengatasi kebisingan yang perlu Anda hilangkan, tetapi tidak terlalu kuat sehingga perangkat eksternal Anda tidak dapat mengatasinya.

Secara umum, dengan menarik ke bawah Anda akan menghemat beberapa mA daya.

Katakanlah kita memiliki 5k pull up @ 5v, itu adalah 1mAper pin; saat kehabisan baterai, setiap mA berharga.

Ketika kita menarik turun, kita biasanya hanya membakar kebisingan EMF, mengkonsumsi jumlah MA yang dapat diabaikan.

Matt Clark
sumber
bukankah penarikan tarikan secara nominal tidak ada arus ketika saluran tidak didorong rendah, dan juga arus limbah cair saat saluran didorong tinggi?
John O'M.
Biasanya resistor pull-up / down cukup sehingga sinyal "default" yang diinginkan tercapai, seperti Vin atau Gnd. Untuk itu, mereka biasanya sekitar 10k atau sekitar, jadi jika Anda menggerakkan garis TINGGI sementara resistor pull down terhubung, Anda hanya membuang amp Vhigh / 10k. Jika Vhigh adalah 5V, maka itu berarti 0,5mA.
Chuck