Pages: [1]   Go Down
Author Topic: Arduino y control de fase (Dimming) mediante TRIACS  (Read 5209 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, abro este topic por que he visto que había alguien preguntando por lo mismo en otro tema y también veo en el foro gente que está haciendo controladores domóticos, y me parece que puede ser interesante, pues los TRIACS pueden aplicarse para controlar luces y motores de corriente alterna.

Aprovecho para presentarme: No tengo ninguna formación ni experiencia relativa a la electrónica ni a la programación, pero después de unos meses con Arduino estoy realmente sorprendido de las cosas que puedo llegar a hacer, y para uno de los proyectos que tengo en mente el control de unos ventiladores AC sería genial.

Sin tener ni idea del tema, me puse a investigar y en primer lugar es inevitable hacer mención a Inizul y su Paperdimmer LDR, sin duda el dimmer más fácil de construir y de controlar a nivel de código.

http://youtu.be/sj56FJmo0BU


Buscando circuitos que permitiesen un control más preciso, encontré estos otros, que usan un pin con interrupt para detectar el paso por cero mediante un optoacoplador, y otro pin para disparar un optotriac.


Fuente: http://forum.bildr.org/viewtopic.php?f=30&t=361

Video: http://youtu.be/ampFrowXZBE

Código: (habría que usar la fórmula que nos da para ajustarlo a nuestra frecuencia (50hz)

Code:
int AC_OUT = 10;  // Output to Opto Triac
int AC_VALUE = 0;    // AC OUT VALUE (0 - 100) *0 = ON BULB; 100 = OFF BULB
int delayTime = (83*AC_VALUE);  // * THESE VALUES ARE UNTESTED, YOU MUST PLAY AROUND WITH THEM) *

/* ##########################################
   ## THIS IS HOW THE VALUES ARE WORKED OUT##
   ##########################################
   
   F = 60Hz
   ((1/F)/2 *10^6) / 100 = 83.33
   *ROUNDED OFF TO 83*
   
   ##########################################
*/
   
int sensorValue = 0;
int value = 0;


void setup()   // run once, when the sketch starts
{
  Serial.begin(9600);
   
  pinMode(AC_OUT, OUTPUT); // Set the light control pin as output
 
  attachInterrupt(0, setAC, RISING);  // Attach an Interupt to pin2 (interupt 0) for Zero Cross Detection
}

void setAC()  // function to be fired at the zero crossing to dim the light
{
  delayMicroseconds(delayTime);  // delay the dim time
  digitalWrite(AC_OUT, HIGH);  // fire the Triac
  delayMicroseconds(10); // pause briefly to ensure the triac turned on
  digitalWrite(AC_OUT, LOW);   // turn off the Triac gate (triac will not turn off until next zero cross)
}

void loop()
{

}

Y por ultimo, esto es una placa con 8 dimmers:


http://gromain.zapto.org/xplduino/doku.php?id=carte_8_sorties_triac
Video: http://youtu.be/NaQA8iSy5PE
Código: http://pastebin.com/1tgScjGh

Por ahora no he construido ninguno de los circuitos, pero espero hacerlo en breve, de momento estoy esperando a que me lleguen los optoacopladores, optotriacs y triacs, y hasta aquí puedo decir, por que me asaltan un montón de dudas. A los circuitos de TRIACs se les añade un snubber (condensador y resistencia en paralelo con el triac) para manejar cargas inductivas con seguridad. También he visto que existen unos TRIACs llamados "Snubberless" o de 3 cuadrantes que no necesitan nada más para manejar una carga inductiva. Intentaré conseguirlos y comentar mis experiencias.

Una de las principales dudas que me surgen son las especificaciones de las resistencias de la parte AC de estos circuitos. ¿Debería usar resistencias de 1W?

Saludos.

Saludos!
Logged

Pages: [1]   Go Up
Jump to: