Qué es el divisor de tensión en Arduino [vídeotutorial paso a paso] Deja un comentario

Comparte este Post

En varios artículos hemos visto como podemos aumentar las entradas digitales utilizando diferentes técnicas como el Charlie Plexing o el Shift Register, en este artículo vamos a ver cómo podemos hacer uso del divisor de tensión en Arduino de una manera muy práctica, utilizaremos una entrada analógica para leer varios pulsadores.

Divisor de tension con Arduino

La clave principal de un divisor de tensión es repartir la tensión o voltaje entre diferentes resistencias. Se trata de una configuración o técnica más que conocida y usada, la particularidad de las resistencias es que tienen que estar colocadas en serie.

Seguramente ya lo habrás utilizado en más de una ocasión, por ejemplo cuando colocas una resistencia en serie con un LED para conseguir un voltaje adecuado para el componente.

Divisor de tensión con un ejemplo

Veamos un ejemplo sencillo sobre esta configuración. Supongamos que tenemos la siguiente configuración, donde tenemos una fuente de alimentación y dos resistencias en serie.

resistencia-serie

La fórmula para obtener mathbf{V_{out}} es la siguiente

(0) mathbf{V_{out}=frac{R_{2}}{R_{1}+R_{2}}times V_{cc}}

Para saber de dónde sale la fórmula del divisor de tensión, debemos tener claro cómo se calcula la intensidad, el voltaje y la resistencia en un circuito donde los componentes están conectados en serie. Las premisas que vamos a seguir son las siguientes.

división tensión arduino

Intensidad

Las intensidades son equivalente es decir, la intensidad que nos facilita la fuente de alimentación es igual a la intensidad que pasa por la resistencia 1 e igual a la intensidad que pasa por la resistencia 2.

mathbf{I_{total} = I_{R_{1}} = I_{R_{2}}}

Voltaje

El voltaje total sería la suma de los voltajes de todos los componentes conectados en serie

mathbf{V_{total} = V_{R_{1}} + V_{R_{2}}}

Resistencia

La resistencia total sería la suma de todas las resistencias conectadas en serie

mathbf{R_{total} = R_{1} + R_{2}}

Vamos a partir de la ya más que conocida Ley de Ohm mathbf{V = Rtimes I}. Si aplicamos esta Ley para calcular el voltaje en cada resistencia obtenemos las siguientes fórmulas.

mathbf{V_{1} = I_{1}times R_{1}}

mathbf{V_{2} = V_{out} = I_{2}times R_{2}}

Como ya hemos visto antes, la intensidad en un circuito que está conectado en serie es la misma mathbf{I = I_{R_{1}} = I_{R_{2}}}, así que podemos sustituir la intensidad, las fórmulas nos quedarían de la siguiente manera.

(1) mathbf{V_{1} = Itimes R_{1}}

(2) mathbf{V_{out} = Itimes R_{2}}

Si ahora aplicamos la regla de los voltajes en un circuito en serie y lo sustituimos por por (1) y (2), nos quedaría la siguiente fórmula.

mathbf{V_{cc} = V_{1} + V_{out} = Itimes R_{1} + Itimes R_{2}}

Si sacamos factor común tenemos que.

mathbf{V_{cc} = Itimes R_{1} + Itimes R_{2} = Itimes (R_{1} + R_{2})}

Ahora vamos a despejar la intensidad.

(3) mathbf{I = frac{V_{cc}}{R_{1}+R_{2}}}

De la fórmula (2) despejamos la intensidad también y como son iguales, podemos igualar las dos fórmulas.

mathbf{I = frac{V_{out}}{R_{2}}}

(4) mathbf{frac{V_{out}}{R_{2}} = frac{V_{cc}}{R_{1} + R_{2}}}

Si de la fórmula (4) despejamos mathbf{V_{out}} obtenemos la fórmula (0) y por lo tanto queda demostrado de dónde viene esta fórmula.

large{mathbf{V_{out}=frac{R_{2}}{R_{1}+R_{2}}times V_{cc}}}

Multiplicar entradas con el divisor de tensión con Arduino

Ya sabemos entonces como calcular un divisor de tensión, ahora vamos a plantear el problema que queremos resolver. Queremos multiplicar nuestras entradas digitales de una manera muy especial, utilizando una única entrada analógica vamos a leer varios pulsadores digitales. Lo primero es plantear el circuito.

Como ves, vamos a tener conectados 3 pulsadores a una fuente de alimentación, en nuestro caso será los 5V que son los que nos suministra Arduino. Cada pulsador tiene una resistencia en serie y la última resistencia que comparten todos es la resistencia Pull-down, para evitar indeterminaciones por el estado de alta impedancia (alta resistencia).

La idea es conectar mathbf{V_{out}} a una entrada analógica y dependiendo del voltaje que obtengamos, determinar si se ha pulsado uno u otro pulsador. Por ahora lo que conocemos es mathbf{V_{cc}} que son los 5V. La resistencia mathbf{R_{4}} es una resistencia Pull-down, en este caso nos conviene una resistencia de 3,3 kΩ, lo veremos en los cálculos posteriores. Ya solo nos queda saber el valor de las resistencias que están en serie con cada pulsador y el valor de mathbf{V_{out}} dependiendo del pulsador que esté cerrado.

Resistencia en el divisor de tensión para multiplicar entradas

Vamos a calcular el valor de cada resistencia así que, sabiendo que queremos tener 3 estados posibles (uno por cada pulsador) más el estado que nos indica que no hay ningún pulsador cerrado, esto harían 4 estados. Si Arduino nos suministra 5 Voltios, solo tenemos que dividir esta tensión entre los 4 posibles estados que tenemos, así tendremos un rango de tensiones para cada estado.

mathbf{frac{5V}{3+1} = frac{5}{4} = 1,25 V}

Con este valor ya podemos asegurar lo siguiente

  • Si la tensión está entre 0 V y 1,25 V, no habrá ningún pulsador cerrado.
  • Si la tensión está entre 1,25 V y 2,5 V el pulsador 1 estará cerrado.
  • Si la tensión está entre 2,5 V y 3,75 V el pulsador 2 estará cerrado.
  • Si la tensión está entre 3,75 V y 5 V el pulsador 3 estará cerrado.

Pero claro, en todo esto sigue habiendo incógnitas, las resistencias en serie conectadas con los pulsadores, hay que calcular los ohmios para que nos den ese voltaje y aquí entra en juego el divisor de tensión que hemos visto anteriormente.

Despejando de la fórmula (0) mathbf{R_{1}} y sustituyendo los valores lo podríamos calcular. Hagamos el desarrollo y veamos que conseguimos. Para que quede más claro vamos a sustituir los nombres de mathbf{R_{1}} por mathbf{R_{pulsador}}mathbf{R_{2}} por mathbf{R_{pulldown}}.

large{mathbf{V_{out} = frac{R_{pulldown}}{R_{pulsador}+R_{pulldown}}times V_{cc}}}

large{mathbf{V_{out}times(R_{pulsador} + R_{pulldown}) = R_{pulldown}times V_{cc}}}

large{mathbf{V_{out}times R_{pulsador} + V_{out}times R_{pulldown} = R_{pulldown}times V_{cc}}}

mathbf{V_{out}times R_{pulsador} = R_{pulldown}times V_{cc} - V_{out}times R_{pulldown}}

mathbf{R_{pulsador} = frac{R_{pulldown}times V_{cc} - V_{out}times R_{pulldown}}{V_{out}}}

(5) mathbf{R_{pulsador} = frac{R_{pulldown}times left (V_{cc} - V_{out} right )}{V_{out}}}

Ya tenemos entonces una fórmula (5) y ahora hay que aplicarla a cada caso. Los valores que no varían son mathbf{R_{pulldown}=3,3kOmega} y mathbf{V_{cc}=5V}mathbf{V_{out}} dependerá de cada pulsador. Como este valor es un rango, cogeremos un valor intermedio del rango correspondiente a cada pulsador.

El problema que podemos tener con las resistencias es que no tengamos una de ese valor. Podemos utilizar un potenciómetro, por ejemplo, para conseguir la resistencia deseada. También podemos poner una resistencia aproximada a la obtenida y hacer los cálculos para ver si está dentro del margen seleccionado, esto sería un poco peligroso si la resistencia que ponemos hace que nos acerquemos a los límites establecidos.

Por último, podríamos poner varias resistencias en serie, como hemos visto al principio del artículo donde se explican las características de los circuitos en serie, cualquier solución es válida.

Este es el kit de resistencias que yo utilizo donde vienen multitud de resistencias de diferentes valores y muy práctico para estos casos.

Circuito eléctrico del divisor de tensión con Arduino

Una vez montado el circuito, solo quedaría conectar nuestra placa de Arduino y programar la entrada analógica para saber que pulsador es el que está pulsando. A continuación te dejo el esquema del conexionado con la placa de Arduino.

Verás que hay resistencias en serie para conseguir una resistencia lo más próximo a los valores obtenidos. Además he añadido 3 LEDs para demostrar como se utiliza este tipo de configuración.

divisor de tension

Código de Arduino para el divisor de tensión

Para poder utilizar el divisor de tensión con los pulsadores, hay aplicar la programación correspondiente. Lo que se pretende con el siguiente sketch es que cuando se pulse el pulsador 1, se encienda el LED azul, cuando se pulse el pulsador 2 se encienda el LED verde y cuando se pulse el pulsador 3 se encienda el LED rojo.

Conclusión

El divisor de tensión es uno de los recursos electrónicos más utilizados con Arduino. Debemos conocer y dominar esta técnica ya que tarde o temprano necesitaremos utilizarla en nuestros proyectos.

Recuerda que la intensidad, el voltaje y la resistencia son fundamentales. En el divisor de tensión debemos calcular las resistencias en función del voltaje y la intensidad.

 


Comparte este Post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Abrir chat
0

Tu carrito