dissabte, 6 de desembre del 2014

Control de Relés con Ardublock


13 Relés.
Un relé es un interruptor controlado eléctricamente. Se utiliza para controlar dispositivos de mayor potencia. En el caso de Arduino la corriente máxima de cada pin de salida es de 40 mA para 5V y 50mA si trabajamos con 3,3.V, pero ¿qué ocurre si queremos conectar una lámpara de 220V y 500mA? La solución es utilizar un relé que activará Arduino y éste relé cerrará el circuito de alimentación de la lámpara. Si queremos utilizar dispositivos de potencia, podemos utilizar un relé.

Ejemplos de Relés.(wikipedia)
 
Simbología

 
Tipos

Un relé está compuesto de una bobina (circuito electromagnético) y uno o varios contactos (circuito eléctrico).
Activación de una lámpara con un relé.

Uno de los problemas de los relés es el tiempo de accionamiento y su vida útil. Son muy interesantes para cargas que consuman mucha intensidad.
Actualmente existe una gran variedad de Relés y la tendencia es utilizar relés de estado sólido, donde el contacto se sustituye por un interruptor tipo transistor para DC y triac para AC. (DC Corriente contínua y AC Corriente Alterna)
 

Tambien podemos encontrar relés reed que son un cilindro con unas láminas contacto y la bobina arrollada al cilindro, generalmente están integrados con forma de circuito integrado.

 A la hora de elegir un relé tendremos que tener una serie de consideraciones.



  • Tensión de funcionamiento de la bobina. 
  • Intensidad consumida por la bobina.
  • Tiempo de operación (generalmente en ms) 
  • Vida útil (número mínimo de aperturas y cerraduras del contacto) 
  • Tensión máxima soportada por el contacto. 
  • Intensidad máxima soportada por el contacto. 
  • Resistencia y tensión máxima de aislamiento.

Datos de la bobina de un relé Omrom.


Tiempo de operación y vida útil de un relé OMROM.

Activación Relé con pulsador.
Vamos a activar un relé mediante un pulsador de forma que realiza la función de telerruptor. (Un pulso se activa y el siguiente pulso desactiva). Vamos a colocar un led para determinar si está activo o no.

Materiales:
1 Arduino.
1 Resistencia 220 Ω
1 Resistencia 10KΩ
1 LED
1 Pulsador
1 Relé 5V compatible Arduino.
cables y una Protoboard


Circuito:

Circuito activación de una lámpara con un relé.

Es muy importante no confundir el circuito de mando del relé (5V DC) con el circuito de carga (220V AC), por lo que es recomendable probar su funcionamiento primero sin carga. Los circuito conectados a 220V AC tiene riesgo eléctrico, así que mucho cuidado.

Esquema:

 
Esquema. Relé con Arduino.

Programa:

 Código Ardublock. Relé con Arduino.

Código:

bool _ABVAR_1_valor= false ;

void setup()
{
  pinMode( 8 , INPUT);  // entrada pulsador
  pinMode( 4 , OUTPUT); //salida led
  pinMode( 2 , OUTPUT); // salida rele
}

void loop()
{
  if (digitalRead(8))
  {
    _ABVAR_1_valor = !( _ABVAR_1_valor ) ; //cada vez que pulsamos cambiamos valor
  }                                                                               // variable bool_ABVAR_1_valor
  digitalWrite( 4 , _ABVAR_1_valor ); //escribimos en el rele el valor de la variable
  digitalWrite( 2 , _ABVAR_1_valor );
  delay( 300 ); //retardo para evitar cambios bruscos en la variable
}




Video funcionamiento.

Links:
Relés Wikipedia. http://es.wikipedia.org/wiki/Rel%C3%A9
Funcionamiento relé (youtube). http://www.youtube.com/watch?v=QjszJEncew8
PDF Datasheet Relés OMROM http://docs-europe.electrocomponents.com/webdocs/002b/0900766b8002b94f.pdf
Símbolos. http://www.simbologia-electronica.com/simbolos-electricos-electronicos/simbolos-reles.htm
Funcionamiento Youtube https://www.youtube.com/watch?v=87wWrx-4Hwg
Arduino Infowiki: http://arduino-info.wikispaces.com/ArduinoPower

3 comentaris:

  1. Hola.
    Antes de nada quiero agradecerte tu tutorial, pues estoy empezando con arduino y la verdad que me estas sacando de dudas.
    Sólo quisiera comentarte que el codigo lo podrias optimizar cambiando el codigo del loop y dejandolo asi:
    bool _ABVAR_1_valor= false ;

    void loop()
    {
    if (digitalRead(8))
    {
    _ABVAR_1_valor = !( _ABVAR_1_valor ) ; //cada vez que pulsamos cambiamos valor
    // variable bool_ABVAR_1_valor
    digitalWrite( 4 , _ABVAR_1_valor ); //escribimos en el rele el valor de la variable
    delay( 300 ); //retardo para evitar cambios bruscos en la variable
    }
    }

    sino en cada iteracion de loop estás ejecutando un codigo innecesario (me parece a mi) ya que solo deberias modificar los valores del relé cuando se pulsa el botón.

    Y por otro lado tampoco necesitas encender el led por codigo, ya que al cambiar el valor del relé ya haces que el led se encienda o se apague mediante hardware.

    Un saludo

    ResponElimina
  2. Gracias por tu comentario, Ardublock genera automáticamente el código y ya sabes que siempre se puede optimizar. No todos los relés llevan led incorporado, así que es una opción.
    Suerte con tu aventura con Arduino.

    ResponElimina
  3. Me gustaría un tutorial con modulo blutooth, sería eso poible ?

    ResponElimina