Páginas

PaperDimmerLDR: Control de potencia de un Triac con un microcontrolador


Descripción

En esta página, veremos un método de controlar un triac mediante un microcontrolador. La idea es modificar la resistencia de carga de un diac de disparo con una resistencia LDR variando la luz que recibe, esta variación la realizamos al regular la intensidad luminosa de un led mediante el control de pulsos (PWM).


Esquema

El esquema de este circuito está basado en el PaperDimmer, pero sustituyendo las resistencias de carga del triac por una LDR.

Al realizar el montaje, me he dado cuenta de que aunque la resistencia de la LDR sea (según su datasheet) bastante lineal, la tensión de salida crece rápidamente al dar tensión al LED.

En la gráfica (Tensión-AnalogWrite) vemos que al inicio con valores pequeños de tensión crece rápidamente la tensión de salida del triac, y posteriormente necesitamos suministrar gran tensión al LED para que el valor de la tensión de salida se incremente.

Estos valores dependen de la LDR utilizada, y de su LED asociado, por lo que lo mejor es mediante el método de prueba y error encontrar los valores que hay que suministrar en la salida del micro para obtener valores compensados en la carga del triac. 


Realización
 
Este circuito podemos realizarlo con un circuito impreso:


utilizando un Stripboard:


O directamente con unas regletas o clemas:


Veremos un ejemplo de este último método.

Si quieres puedes descargar el documento PaperDimmerLDR (al final de esta página en el apartado descargas) para tenerlo accesible.




Lo único que tendremos que hacer es recortar un poco el plástico de las clemas donde van el condensador y el triac, para permitir que las patillas del entren en la clema lo suficiente.


Antes de nada deberemos hacer nuestro optoacoplador, que consistirá en un led y una resistencia LDR y un trozo de tubo termoretráctil

Puedes probar distintas resistencias y diferentes leds, en función de ello deberás modificar el programa para ajustar los valores de la tensión de alimentación del led. Introducimos el LED y la LDR en el tubo...

Y le aplicamos un poco de calor

(perdona la calidad de la iagen, pero es dificil sujetar una cerilla, el optoacoplador y la cámara simultáneamente :-) )



Puede ser necesario repetir este proceso varias veces, o incluso forrarlo con cinta adhesiva para impedir que la luminosidad del ambiente afecte a las tensiones.

Fijándonos en la imagen inferior, colocamos los elementos en una clema (dependiendo del tamaño del condensador C1, tal vez necesites cortar la clema).




Y el resultado es el siguiente:









A continuación vemos un ejemplo utilizando el sketch Fade_triac (Fade  ligeramente modificado para adaptar los valores de salida):



/*
 Fade (modificado)

 This example shows how to fade an LED on pin 9
 using the analogWrite() function.

 This example code is in the public domain.

 */
int brightness = 0;    // how bright the LED is
int fadeAmount = 1;    // how many points to fade the LED by
int brillomax=19;      // 20 (19+1) valores de la matriz de brillo
int brillo[20]={0,3,5,6,7,8,9,10,11,12,14,16,18,20,23,26,30,40,50,60};

void setup()  {
  // declare pin 9 to be an output:
  pinMode(9, OUTPUT);
  Serial.begin(9600);
 
}

void loop()  {
  // set the brightness of pin 9:
  analogWrite(9, brillo[brightness]);   
Serial.println(brillo[brightness], DEC);
  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness == 0 || brightness == brillomax) {
    fadeAmount = -fadeAmount ;
  }    
  // wait to see the dimming effect   
 
  delay(100);                           
}









Nota:
Como la cámara de video tiene compensación automática de la luminosidad no se aprecia correctamente el encendido gradual de la lámpara (la he protegido con un papel para que no deslumbre mucho).


Enlaces de Interés
 
Tal vez te interesen estos otros paper:
http://txapuzas.blogspot.com/2010/06/regulador-de-potencia-por-triac-para.html
http://txapuzas.blogspot.com/2010/07/rele-controlado-por-transistor.html
http://txapuzas.blogspot.com/2010/09/micropaperrele-carta-de-reles.html


Información legal

0. Fallos y txapuzas no controladas.
Los circuitos publicados se han comprobado y funcionan correctamente. No obstante en el caso de que en una página se publiquen varios montajes diferentes de un mismo circuito (sobre un stripboard, PCB, ...), pueden existir fallos que no se han detectado en alguno de los montajes, ya que normalmente sólo realizo un montaje. En ese caso por favor notificad el fallo para que pueda corregirlo. muchas gracias.

1. Propiedad intelectual
Todos los derechos de propiedad intelectual del contenido de Txapuzas eléctronicas, están bajo una licencia Creative Commons Share-Alike, cuyo contenido podéis revisar en este enlace.
Por tanto queda permitido copiar, distribuir, comunicar públicamente la obra y hacer obras derivadas de la misma, siempre que se respeten los términos de la licencia arriba reseñada.
3. Actualizaciones y modificaciones de Txapuzas electrónicas
El autor se reserva el derecho a actualizar, modificar o eliminar la información contenida en Txapuzas eléctrónicas, y la configuración o presentación del mismo, en cualquier momento, sin previo aviso, y sin asumir responsabilidad alguna por ello.
4. Indicaciones sobre aspectos técnicos
El autor no asume ninguna responsabilidad que se pueda derivar de problemas técnicos o fallos en los equipos informáticos, que se produzcan a causa de los circuitos e ideas expuestos en el blog de txapuzas electrónicas, así como de los daños que pudieran ocasionar.
El autor se exime de toda responsabilidad ante posibles daños o perjuicios que pueda sufrir el usuario a consecuencia de errores, defectos u omisiones en la información facilitada.


Descargas

El esquema, descripción e imágenes están disponibles en el siguiente enlace:

Si tienes problemas con el enlace anterior, aquí puedes descargar todos los archivos de txapuzas

Notas
Para la realización de este proyecto se han utilizado los programas: Arduino, Inkscape, Openoffice, Gimp, Picasa, Fritzing
Si encuentras algún fallo, se te ocurre alguna mejora, o simplemente quieres hacer algún comentario, te lo agradeceré: Gracias :-)

28 comentarios:

  1. Joer Anónimo, no se te escapa una!!

    La txapuza 25 es un programador para ATtiny45/85 con ArduinoISP (lo tengo listo, pero quiero comprobar que funciona). He pedido los ATtiny, pero como no me vienen...
    Saludos

    ResponderEliminar
  2. Gracias por compartir estas didácticas practicas de electrónica, eres un artista, sobre todo me encanta la CNC , (estoy pensando en hacerme una para corte de contrachapado hasta de 15mm. De 1,50 x 1,50m ).
    Lo primero es que de electrónica …. nada, solo estoy empezando ha hacer alguna cosa sencilla con “arduino” he echo un cuenta RPM con un CNY70 y ahora quería ampliarlo y controlar las RPM de un motor CA 220V de ½ CV monofásico (tiene un condensador por lo que entiendo que saca de hay la 3º fase para el motor), estaba pensando en utilizar el “PaperDimerLDR” pero tengo dudas (no tengo ni idea ;-) ) si con este, se puede controlar la velocidad del motor.

    Gracias por adelantado.

    ANDER

    ResponderEliminar
  3. Hola Ander
    Si tu motor es universal, es decir no tiene escobillas, no se puede regular la velocidad por medio de la tensión, ha de ser modificando la frecuencia (cosa bastante dificil), pero si tu motor tiene escobillas, si se puede regular la velocidad regulando la tensión, (como los taladros de mano). En este caso te valdría el PaperDimmerLDR.
    A "bote pronto" diría que tu motor tiene escobillas, ya que suelen tener un condensador en paralelo para que las chispas provocadas por las escobillas no produzcan interferencias.

    Saludos

    ResponderEliminar
  4. Hola Iñigo

    Gracias por tu rapidísima respuesta.
    Efectivamente, lo que tengo es un motor universal trifásico, convertido a monofásico.

    Tendré que buscar algo para modificar la frecuencia y poder gestionarlo con Arduino.

    Muchas gracias.

    Ander

    ResponderEliminar
  5. Hola Iñigo, como estás? te acuerdas de mi?

    Al parecer te decidiste al final a mostrar este interesante proyecto que yo también lo he armado en su momento, solo queria preguntarte si ese parpadeo que se aprecia es por la frecuencia del PWM o es por la cámara?

    Finalmente, también te aconsejo poner un pequeño fusible de 1-2amp en la entrada de alimentación AC (especificamente en la Fase) como protección.

    Muchas gracias por el proyecto, te mando un cordial saludo.

    ResponderEliminar
  6. Hola Iñigo

    he reaizado tu circuito, pero no me funcionado, realmente no se que ha pazado, yo estoy utilizando un LED de Alta luminosidad blanco, pero en esta pagina lo habeis armoado con un LED amarillo, y deso saber si el color del LED no afecta el resultado

    Gracias

    ResponderEliminar
    Respuestas
    1. Hola Henry,
      Tal vez sea que los led de alta intensidad necesitan más corriente para iluminar. (La salida de Arduino no puede suminstrar más de 30mA, sinó la puedes quemar).

      Tienes info en: http://txapuzas.blogspot.com.es/2009/12/paperled-el-led-y-tarjeta-comprobacion.html

      Saludos

      Eliminar
  7. perdona! es que he montado varias veces este circuito, con la excepcion de que la resistencia en vez de 6k5 es de 5k6 pero nada.. simplemente se enciende la bombilla pero siempre a la misma intensidad. pense que seria el triac, pero cambiandolo tampoco funciona ni cambiando todos los componentes.
    puede que sea por la resistencia? me estoy volviendo loco de probar cosas ya :S

    ResponderEliminar
    Respuestas
    1. Hola xapu's
      Para comprobar si el circuito funciona, simplemente puedes dejar la célula fotoeléctrica "al aire", y en una habitación con suficiente luz la vas tapando poco a poco, y deberías apreciar como varía la intensidad de luz.

      Si esto funciona puedes modificar los valores de la lista:

      int brillo[20]={0,3,5,6,7,8,9,10,11,12,14,16,18,20,23,26,30,40,50,60};

      SL2

      Eliminar
    2. si no he llegado a probar el circuito con el arduino,.. simplemente hacia lo de dejar la celula "al aire" pero la luz se mantiene encendida sin variar su intensdidad.. segun lo que he leido por hay quizas sea el triac, pero el problema es que he comprado ya 4 triacs, 3 diacs y 2 condensadores
      y el circuito esta exactamente igual que el tuyo, la unica diferencia.. la resistencia de 5k6 por una de 6k5 pero logicamente no puede ser eso
      probare a comprar los componentes en otra tienda haber.. :S

      Eliminar
    3. Podrias decirme cuanto es una resistencia 6k5 ?
      no comprendo ese valor
      es acaso 6500 ohms?

      Eliminar
  8. Hey !
    I'm French and I try to make this project.
    But I have à Problem...

    When I connect the lamp to AC, it switch on when the LED is on. But when the LED is OFF, the light decrease very slowly...

    Have you an idea why ?

    ResponderEliminar
  9. ¿Como tendría que modificarlo para que sea más largo el apagado de la bombilla?
    Un saludo

    ResponderEliminar
  10. Es verdaderamente sorprendente. Yo estoy interesado sólo en el ciclo de apagado y en alarga este tiempo durante una hora. ¿Sería posible?. Gracias.

    ResponderEliminar
  11. Vaya tela no responde nadie

    ResponderEliminar
  12. PELIGRO: El circuito carece de valores exactos. Una LDR de 5mm puede tener más de 10 tipos por lo que es muy difícil hacer esta práctica sin saber que tipo de LDR. Modelos LDR 5mm GL5516, GL5639,GL5528,GL5537-1,GL5539, GL5549, GL5606, GL5616, GL5637-1.... etc. Todas con características propias.
    Si alguien le funciona que ponga su modelo,,

    ResponderEliminar
  13. Tuve un problema similar a los que mencionaban arriba. Armé todo el circuito, pero el brillo de la lámpara no varía su intensidad.
    Probé desarmando el opto y desconectándolo del arduino, y tampoco pasaba nada.
    Pareciera ser que hay diferencias en cuanto al LDR.... podrían dar alguna especificación de cual es la que debe utilizarse?.

    Muchas Gracias!
    El Blog es una pasada!! en cuanto termine con este proyecto, pasaré al stepper y al del lcd!

    ResponderEliminar
  14. No funciona de ninguna manera. He hecho el montaje, probado varios LDR, comprobado que está todo tal cual y nada. La bombilla está siempre encendida a la misma intensidad. He probado con el led y la LDR y con la LDR sola y nada, y la LDR funciona porque lo he comprobado.

    ¿Alguna idea?

    ResponderEliminar
  15. Hola:
    Cuanta es la potencia maxima que se puede conectar como carga??? necesitaria colocarle un disipador?
    Gracias!

    ResponderEliminar
  16. Tambien puede regular 24 vca?

    Excelentes articulos, te felicito.

    ResponderEliminar
  17. good morning, i am Alberto from Italy. This schema it's ok for a voltage control of a 230Vac motor? Thanks, bye

    ResponderEliminar
  18. Muy buen tutorial, saco muy buenas ideas de tu blog, te felicito!

    ResponderEliminar
  19. Buenos dias,

    se podria sustituir el ldr+led por una señal directa PWM desde arduino??

    si la respuesta fuese afirmativa. Deberia eliminar la resistencia 5k6?

    Un saludo y gracias!

    ResponderEliminar
  20. mi pregunta es ¿cuanto amperaje aguanta este circuito en la entrada de 220AC?

    ResponderEliminar
  21. Hey...yo cambie el C1(100nf)...el que se conecta al diac y ldr...por uno de (1000nf)comercialmente 105 a 250v...me sirvio...se nota la variacion de intencidad ...espero les sirva!! saludos :)

    ResponderEliminar
  22. yo hice el circuito tal y como esta solo que con 120v y funciona muy bien lo estoy controlando con un arduino, pwm y labview,
    pd: como sabrán el pwm tiene un rango de 1 a 255, por lo que solo subir a 10 ya esta en su maxima luminocidad, yo solo utilizo del 1 al 10 y se ve claramente como va subiendo la intencidad de luz

    ResponderEliminar
  23. Hola, excelente paper como los que acostumbras...
    Aunque ya ha pasado cierto tiempo, aporto mi experiencia en este tema.
    He construido el optoacoplador con un led blanco de alta luminosidad en serie con una resistencia de 100Kohm y una LDR de 5 mm, bien acoplados con termorretráctil como indicas.
    Con la LDR he sustituido el potenciómetro de 500Kohm de un dimmer que tenía ya montado (básicamente el mismo esquema que el tuyo) y, con los valores de brillo que relaciono a continuación, va muy bien:
    int brillo[20]={0,5,11,17,24,31,39,47,56,66,77,88,101,115,131,149,169,193,221,255};
    Saludos

    ResponderEliminar