Dimmer-Arduino _ Arduino

September 23, 2017 | Author: 6214272 | Category: Arduino, Alternating Current, Electrical Resistance And Conductance, Microcontroller, Relay
Share Embed Donate


Short Description

Download Dimmer-Arduino _ Arduino...

Description

1/8/2014

Dimmer-Arduino | Arduino

Arduino Arduino y cosas relacionadas

Dimmer-Arduino Publicado el 19 de octubre 2012 Cambio de una carga de corriente alterna con un Arduino es bastante simpel: o bien un relé mecánico o un relé de estado sólido con un triac ópticamente aislado. Se convierte en un poco más complejo si se quiere regular una lámpara de CA de la red con un arduino: simplemente limitando la corriente a través un triac no es realmente posible debido a la gran potencia del triac entonces tendrá que disipar, resultando en mucho calor y también no es eficiente desde el punto de vista de uso de la energía. La forma correcta de hacerlo es a través de control de fase:. El Triac entonces está completamente abierto, pero sólo durante una parte de la onda AC sinoid Uno podría un Arduino dejar abierta la Triac para un número de microsegundos, pero que tiene el problema de que es impredecible durante qué parte del sinuswave el triac se abre y por lo tanto el nivel de regulación es impredecible. Se necesita un punto de referencia en la onda de seno. Para que un detector de cruce por cero es necesario. Este es un circuito que cuenta la Arduino (u otro microcontrolador) cuando la onda de seno pasa a través de cero y por lo tanto da un punto definido en el que la onda de seno. Apertura de la Triac para un número de microsegundos después de por lo tanto, el cruce por cero da un nivel predecible de atenuación .

http://arduinodiy.wordpress.com/2012/10/19/dimmer-arduino/

1/57

1/8/2014

Dimmer-Arduino | Arduino

Este circuito, que es un ejemplo.

Dicho circuito es fácil de construir: El paso por cero se deriva directamente de la red de corriente alterna rectificada líneas - a través de un acoplador óptico, por supuesto-y le da una señal cada vez que la onda pasa por cero. Debido a que la onda senoidal pasa primero por la rectificación doble por etapas (véase la figura a continuación), la señal de cruce por cero se da sin tener en cuenta si la onda de seno sube por cero o hacia abajo por cero. Esta señal se puede utilizar para dirigir una interrupción en el Arduino.

Seguir

Siga "Arduino" Obtenga cada nuevo post entregado a su bandeja de entrada. Únete a otros 42 seguidores

Enter your email address Registrarme Desarrollado por WordPress.com

http://arduinodiy.wordpress.com/2012/10/19/dimmer-arduino/

2/57

1/8/2014

Dimmer-Arduino | Arduino

Apertura de la triac se realiza a través de un circuito de triac opto acoplada probado y comprobado. Para el Triac un TIC206 se puede utilizar, pero un BT136 (un poco más barato) probablemente funcionaría también. Con respecto a la MOC3021: que tiene una tensión directa de aproximadamente 1.2 a 1.4 voltios y una corriente de disparo de 8-15 mA. Un LED tiene una tensión directa de unos 2Volts. Suponiendo una señal de dirección digital de 5 V que da un valor de resistencia entre (53.2) / 0.015 = 120 Ohm y (5-3.2) / 0.008 = 225 Ohm, por lo que 220 ​ una opción decente. En realidad, un LED puede tener una tensión directa ligeramente inferior y una resistencia de 330 Ohm fue encontrado para trabajar también. Es importante no elegir un opto-triac aquí con un filtro de cruce por cero incorporado. El MOC3041 MOC3061 o para el caso, por lo tanto no es utilizable en este circuito. El MOC 3021 es. NOTA: algunas personas han experimentado el parpadeo como consecuencia de una señal de entrada débil. Como la caída de tensión sobre un LED puede variar dependiendo del color. que es más seguro para reemplazar el LED por un puente de alambre y aumentar la resistencia de 220 ​ Ohm a 330 o 470 Ohm En cuanto a las resistencias de 30k: El 1/2 Watt debe hacerlo como las resistencias disipan algunos 400mW. Si usted piensa que es demasiado, reemplazar el 4N25 4N33 con una y las dos resistencias de 30k con dos resistencias 100 k. Tenga cuidado sin embargo al usar optoacopladores sensibles como el 4N32, ya que será fácilmente plenamente en la saturación. http://arduinodiy.wordpress.com/2012/10/19/dimmer-arduino/

3/57

1/8/2014

Dimmer-Arduino | Arduino

Este es el circuito completo del dimmer

Todos los que uno necesita entonces es el software. Afortunadamente alguien ya ha hecho el trabajo básico. Simplemente adapté el código ligeramente:

/* AC Voltaje dimmer con Zero detección cruzada Autor: Charith Fernanado http://www.inmojo.com Licencia: Creative Commons Attribution Share-Alike 3.0 License.

Coloque el pasador transversal cero del módulo de Arduino pin de interrupción exter Seleccione la correcta Interrupción # de la siguiente tabla: (Los números de pin son los pines digitales, NO pins físicas: pin digital 2 [INT0] = pin físico 4 y pin digital 3 [INT1] = pin física 5) Pin | de interrupción de # | Plataforma Arduino --------------------------------------2 | 0 | Todo 3 | 1 | Todos 18 | 5 | Arduino Mega Sólo 19 | 4 | Arduino Mega Sólo 20 | 3 | Arduino Mega Sólo 21 | 2 | Arduino Mega Sólo En el pin programa se elige 2 */

int AC_LOAD = 3; / / Salida de pin Opto Triac int oscurecimiento = 128; / / Nivel de atenuación (0-128) 0 = ON, 128 = OFF / * Debido a problemas de tiempo, el uso de '0 'a veces puede hacer que el circuito parpadeo. Es más seguro utilizar un valor ligeramente superior a '0 ' http://arduinodiy.wordpress.com/2012/10/19/dimmer-arduino/

4/57

1/8/2014

Dimmer-Arduino | Arduino

*/ void setup () { pinMode (AC_LOAD, OUTPUT) ;/ / pin de carga Set AC como salida attachInterrupt (0, zero_crosss_int, RISING); / / Escoge '0 'como interrupción para el cruce por cero } / / La función de interrupción debe tener parámetros y devolver nada void zero_crosss_int () / / Función para ser disparado en el cruce por cero para atenuar la luz { Cálculo del ángulo / / cocción: 1 onda 50Hz completo = 1/50 = 20 ms / / Cada zerocrossing así: (50 Hz) -> 10 ms (1/2 Ciclo) Para 60Hz => 8,33 ms / / 10 ms = 10000US / / (10000US - 10us) / 128 = 75 (aprox) Para 60Hz => 65 int DimTime = (75 * oscurecimiento); / / Para 60Hz => 65 delayMicroseconds (DimTime); Ciclo / / Off digitalWrite (AC_LOAD, HIGH); / / Triac despido delayMicroseconds (10); / / Triac El retardo de propagación / / (Para uso 60Hz 8,33) digitalWrite (AC_LOAD, LOW); / / Triac Off } void loop () { for (int i = 5; i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF