En esta primera parte vamos a explicar
cómo conmutar una lámpara, o cualquier otro pequeño electrodoméstico enchufado
a la red eléctrica de nuestra casa, gracias a las ordenes suministrada por
nuestro Arduino, para luego poder hacerlo de forma remota a través de Internet.
Para eso vamos a necesitar
- nuestro Arduino, la versión que tengáis más a mano,
- un relé de 5V y 220V,
- diodo 1N4001 (o equivalente)
- una resistencia de 2,2K (de cualquier tolerancia y potencia),
- un transistor del tipo BC546, 547, 548 o 550, y
- una lámpara a la que podáis cortar el cable de alimentación.
Si no sabéis o no recordáis, qué es cada
cosa, marcar sobre lo que tengáis dudas y saltareis a la entrada donde
explicábamos los detalles de cada
Vamos a hacerlo por partes para que
entendamos mejor la contribución de cada componente en el proyecto.
1.- ENCEDER UN LED
Como ya vimos en nuestra entrada ¡Hola! con
un simple PIN digital podemos hacer que Arduino encienda y apague un LED sin
mucha dificultad.
Esto lo podemos conseguir, porque el LED consume muy poca corriente y los pines digitales del Arduino es capaz de
suministrar la potencia requerida.
2.- ENCEDER UNA LÁMPARA
Pero ¿qué sucede si en lugar de un LED, que
funciona normalmente en el rango 1,8V-3V, quisiéramos hacer funcionar una
lámpara de 100W? Pues bien en este caso el sistema sería el equivalente a lo
que sucede para mover un ascensor.
Todos sabemos que un ascensor pesa mucho,
pero sin embargo cualquier tiene fuerza para hacerlo mover, ¿por qué? Porque
con la fuerza de nuestro dedo, accionamos un mecanismo que haciendo uso de
energía externa, acciona un motor con la suficiente potencia como para realizar
la operación deseada.
Pues bien, nuestro Arduino necesita hacer
lo mismo que nosotros, primero necesita un interruptor que pueda accionar y no
se electrocute en el intento, esta será la función del relé, y además
necesitará una instalación eléctrica independiente que tenga la tensión
requerida por encender la lámpara que hemos seleccionado.
¿A que parece sencillo? Pues sí que lo es, solo
nos quedaría pulir algunos detalles.
DETALLE 1 - Energía de activación
Aunque parezca poca cosa, para apretar el
botón del ascensor, hay que hacer cierta fuerza. Algunas veces basta con apoyar
el dedo, pero en los montacargas viejos, era común encontrarse con botones bien
duros. Pues bien, lo primero que tenemos que ver es qué fuerza hace falta para
accionar este mecanismo que hemos puesto.
Como decíamos en la entrada asociada al
funcionamiento del relé, un relé no es más que una electroimán xxx que se
magnetiza al paso de una corriente y acciona el mecanismo seleccionado.
Pues es justo eso lo que tenemos que ver
en la hoja de datos de nuestro relé, cual es la corriente que debe fluir por el
bobinado del relé para que pueda hacer accionar el mecanismo.
Si miramos en la hoja de datos del relé
que hemos escogido para nuestro proyecto veremos que:
Y esto ¿qué significa?, pues que para
imantar el electroimán de nuestro relé, necesitamos una corriente de 72mA, y
ahí está el primer problemilla. Si
nuestro Arduino solo entrega una corriente de 40mA máximo por PIN, ¿de dónde
voy a sacar más energía?.
Aquí es donde tenemos que recordar lo que
aprendimos en la entrada que hicimos sobre los transistores. Si recordáis,
ahí lo que explicábamos es que un transistor es un componente que actúa como la
llave de un grifo, y que permite con un flujo pequeño de corriente gestionar
una corriente mucho más alta
¿y cuánta más corriente es capaz de
suministrar? Pues depende del transistor.
Recordemos que la definición del parámetro
ganancia de un transistor venía definido por
Por lo que para que podamos gestionar una
corriente de colector de 70mA mínimo, teniendo en cuenta que la corriente de
base sería la corriente máxima que podría suministrar nuestro Arduino, esto es
40mA, necesitaríamos un transistor al menos con una ganancia de 2. Y esto hoy
en día no es un problema, como podemos ver más abajo podemos tener transistores
con ganancias de más de 300. Pero como no necesitamos tanta corriente con
cualquier transistor que pueda trabajar a 5voltios (VCE) nos podría valer. A
continuación os pongo alguno de los candidatos que hemos seleccionado para que
veáis como identificar en la hoja de datos del componente este parámetro
Entonces ¿cómo quedaría nuestro circuito
original?
Pues de la siguiente manera:
Ahora sí que disponemos de
corriente suficiente, bueno en verdad de demasiada.
Si la ganancia del transistor es de 100,
estaríamos forzando a pasar una corriente de 70mA (la que requiere la bobina) x
100, o lo que es lo mismo de 7 Amperios. Suficiente para fundir todo nuestro
proyecto en un instante. ¿Cómo lo resolvemos? Pues limitando la corriente en la
base, y ¿cómo lo hacemos? Pues poniéndole una resistencia, y ¿de qué valor?
Pues eso lo tendremos que calcular.
DETALLE 2 - Limitación de la corriente
Más adelante, presentaremos algunas
herramientas de simulación de circuitos con las que podremos tomar este tipo de
decisiones basados en los resultados que nos aportan la aplicación. Ver ejemplo
a continuación cómo es la propia aplicación la que una vez propuesto los
componentes que vamos a usar en nuestro proyecto, no dice los niveles de
corriente que vamos a obtener.
Pero como por ahora no tenemos todavía
instalada ninguna herramienta de simulación, lo mejor es seguir el principio de
prudencia, y empezar probando con valores de resistencias altas y hacer uso del
multímetro para calcular la corriente generada. Recomiendo tener a mano un kit
de resistencias de distintos valores para poder ir montando y desmontando hasta
encontrar la adecuada, o bien un kit de resistencias configurables como el que
presentaba en la entrada xxx.
Hecho esto, ya tenemos resuelto el
problema de la energía necesaria para accionar el electroimán de la
resistencia, y la “sintonización” de la corriente ajustando la resistencia de
la base del transistor que hemos usado. Ahora cada vez que nuestro Arduino
mande un pulso, se accionará el relé, que cerrará el circuito que alimenta la
lámpara. Pero ¿qué pasa si por alguna razón nuestro Arduino manda la señal pero
el relé no actúa?
DETALLE 3 - LED de control de señal
Lo primero que tenemos que ver es si le
llega tensión al relé, si no le llega es que por la razón que sea el Arduino no
está generando la señal de activación. Y como esa inquietud la solemos tener
muy a menudo en nuestros proyectos, siempre que se pueda es aconsejable
implementar un LED testigo. Si se enciende y no actúa el relé, sabremos
que el problema debe estar o bien en el relé o bien en el transistor.
Si vemos que el relé no se activa, lo
aconsejable sería verificar la tensión en los pines del Arduino, o bien si os
resulta más fácil, cambiar los pines asignados. Sucede que a veces, por errores
en el pasado, algunos Arduino terminan medio chamuscados, y algunos pines que
no fueron usados apropiadamente, terminan estando inutilizados. Si este es tu
caso, verás rápidamente que al cambiar de PIN (tanto en la protoboard como
en el sketch) el proyecto empieza a funcionar.
Pero qué pasa si por alguna razón nuestro
Arduino tiene microinterrupciones en el PIN, pues si la corriente en la base se
interrumpe, también se interrumpirá la alimentación de la bobina, y por lo
tanto el relé podrá desactivar la lámpara. ¿Qué podemos hacer?
¿Hay algo más que debamos tener en
cuenta?. Sí. Debemos gestionar el efecto de los transistorios provocados por la desactivación de la bobina.
Todo esto y más lo veremos en la continuación de este entrada.