Resistencias PULL UP y PULL DOWN // PULL UP and PULL DOWN resistors

avatar
(Edited)

Cuando realizamos proyectos electrónicos tenemos componentes que necesitamos que funcionen en 2 estados (HIGH o LOW). dejar una entrada digital al "aire" genera problemas , ya que solo puede reconocer estados altos o bajos y al no tener referencia esta puede volverse loca, marcar ceros, unos o estados indeterminados y hacer un mal funcionamiento del circuito.

resistencia.jpg

Este problema puede deberse a muchas causas como por ejemplo: ruido eléctrico , variaciones en la fuente , interferencias etc.
Para este problema tenemos las resistencia de referencia comúnmente llamadas resistencias pull up y pull Down , las cuales cuando la entrada digital esta al "aire" le va a dar una referencia de 1 o 0.
Este método se usa mucho en entradas digitales, Compuertas lógicas , Arduino etc.

resistencia pull up y down.png

¿Qué valor hay que ponerle a la resistencia Pull up y Pull Down?

Ponele entre 1KOhm y 10KOhm que anda(frase mas repetida de la historia de la electrónica).

La mayoría de las veces será así, y no hay que complicarse mucho la vida con esto. Sin embargo, este valor se puede calcular por si queres saber el consumo exacto de potencia (cada milivatio cuenta cuando diseñamos un sistema).
Cuando se presiona el botón , el pin de entrada se baja. El valor de la resistencia controla la cantidad de corriente que desea que fluya desde VCC, a través del botón y luego a tierra.
Cuando no se presiona el botón , el pin de entrada se tira hacia arriba. El valor de la resistencia pull-up controla el voltaje en el pin de entrada.
Para la condición 1, no desea que el valor de la resistencia sea demasiado bajo. Cuanto menor sea la resistencia, más potencia se usará cuando se presione el botón. Generalmente desea un valor de resistencia grande (10kΩ), pero no quiere que sea demasiado grande como para entrar en conflicto con la condición 2. Una resistencia de 4MΩ podría funcionar como un pull-up, pero su resistencia es tan grande que puede no hacer su trabajo el 100% del tiempo.

La regla general para la condición 2 es usar una resistencia pull-up que es un orden de magnitud (1/10) menor que la impedancia de entrada del pin de entrada. Un pin de entrada en un microcontrolador tiene una impedancia que puede variar de 100k-1MΩ. Para esta discusión, la impedancia es solo una forma elegante de decir resistencia. Entonces, cuando no se presiona el botón, circula una cantidad muy pequeña de corriente desde VCC a través de la resistencia pull up y hacia el pin de entrada.
La resistencia pull-up y la impedancia del pin de entrada, funcionan como un divisor de tensión, y ese voltaje debe ser lo suficientemente alto para que el pin de entrada lea un estado alto (alrededor de 5v)

Como ya hemos dicho, la resistencia pull-up cumple la doble función de limitar la entrada del puerto y evitar el cortocircuito al pulsar el botón. Si la resistencia es muy alta podría no entregar la tensión umbral necesaria para activar el puerto y, si es demasiado baja, podría producirse un cortocircuito.

¿Cual es mejor pull up o pull down?

En teoría los dos esquemas funcionan de manera idéntica (salvo por la lógica), pero hay mucha gente que dice que las resistencias Pull-Up son menos propensas a cambiar de estado por señales de alta impedancia.

Pull up vía software

Muchos micro-controladores como por ejemplo el caso de Arduino, ofrecen la posibilidad de aplicar una resistencia Pull-Up mediante software. (lo cual nos ahorra poner la resistencia física con solo unas lineas de código)

El código de Arduino sería el siguiente:

int interruptor = 12; //Pin del interruptor o botón

void setup()
{
pinMode(interruptor, INPUT); //Interruptor como entrada
digitalWrite(interruptor, HIGH); //Resistencia pull-up por software
}
void loop(){
}

también este otro ejemplo:

pinMode(5, INPUT_PULLUP); // definir entrada y activar resistencia pull-up

Espero les sirva para sus proyectos y para entender algunas fallas que son super simples y baratas de solucionar , un saludo compañeros de hive!!!

..............................................................................................

When we carry out electronic projects we have components that we need to work in 2 states (HIGH or LOW). Leaving a digital input "in the air" generates problems, since it can only recognize high or low states and since it does not have a reference it can go crazy, mark zeros, ones or indeterminate states and cause the circuit to malfunction.

resistencia.jpg

This problem can be due to many causes such as: electrical noise, variations in the source, interference, etc.
For this problem we have reference resistors commonly called pull up and pull down resistors, which when the digital input is open will give a reference of 1 or 0.
This method is widely used in digital inputs, logic gates, Arduino, etc.

resistencia pull up y down.png

What value should be set to the Pull up and Pull Down resistance?

Put it between 1KOhm and 10KOhm and it works (most repeated phrase in the history of electronics).

Most of the time it will be like this, and you don't have to complicate your life too much with this. However, this value can be calculated in case you want to know the exact power consumption (every milliwatt counts when we design a system).
When the button is pressed, the input pin goes low. The resistor value controls the amount of current you want to flow from VCC, through the button, and then to ground.
When the button is not pressed, the input pin is pulled up. The value of the pull-up resistor controls the voltage at the input pin.
For condition 1, you don't want the resistor value to be too low. The lower the resistance, the more power will be used when the button is pressed. Generally you want a large resistor value (10kΩ), but you don't want it to be too large that it conflicts with condition 2. A 4MΩ resistor might work as a pull-up, but its resistance is so large that it may not do the trick. your job 100% of the time.

The general rule of thumb for condition 2 is to use a pull-up resistor that is an order of magnitude (1/10) smaller than the input impedance of the input pin. An input pin on a microcontroller has an impedance that can vary from 100k-1MΩ. For this discussion, impedance is just a fancy way of saying resistance. So when the button is not pressed, a very small amount of current flows from VCC through the pull up resistor and into the input pin.
The pull-up resistor and the impedance of the input pin work as a voltage divider, and that voltage must be high enough for the input pin to read a high state (around 5v)

As we have already said, the pull-up resistor performs the double function of limiting the input of the port and avoiding short circuit when pressing the button. If the resistance is too high, it may not deliver the threshold voltage needed to activate the port, and if it is too low, a short circuit may occur.

Which is better pull up or pull down?

In theory the two schemes work identically (except for the logic), but there are many people who say that Pull-Up resistors are less likely to change state due to high impedance signals.

Pull up via software

Many microcontrollers, such as Arduino, offer the possibility of applying a Pull-Up resistor through software. (which saves us from adding physical resistance with just a few lines of code)

The Arduino code would be the following:
int interruptor = 12; //Pin del interruptor o botón

void setup()
{
pinMode(interruptor, INPUT); //Interruptor como entrada
digitalWrite(interruptor, HIGH); //Resistencia pull-up por software
}
void loop(){
}

Also this other example:

pinMode(5, INPUT_PULLUP); // definir entrada y activar resistencia pull-up

I hope it is useful for your projects and to understand some failures that are super simple and cheap to solve, greetings hive colleagues!!!



0
0
0.000
3 comments
avatar

Congratulations @tecnotronics! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You distributed more than 1750 upvotes.
Your next target is to reach 2000 upvotes.
You received more than 2500 upvotes.
Your next target is to reach 2750 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

Hive Power Up Month Challenge - May 2024 Winners List
Be ready for the June edition of the Hive Power Up Month!
Hive Power Up Day - June 1st 2024
0
0
0.000
avatar

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support. 
 

0
0
0.000