Go Down

Topic: Cambiar delay por micros() (Read 976 times) previous topic - next topic

guezro

#15
May 16, 2018, 12:31 pm Last Edit: May 16, 2018, 09:19 pm by surbyte
He probado y si que varía la tension pero parpadea mucho la bombilla


Moderador: No repitas lo que se lee arriba.

surbyte

Mira este código AC Phase control. Pruebalo para un triac y luego discutimos como hacerlo con dos


vffgaston

He probado y si que varía la tension pero parpadea mucho la bombilla
Hola,

Por favor, manda el código.

Saludos

guezro

Hola,

Por favor, manda el código.

Saludos
Aquí te dejo el código:
Code: [Select]
int AC_LOAD = 8;   
 unsigned long apagar;
 int dimming;
  unsigned long encender;

void setup()
{
  pinMode(AC_LOAD, OUTPUT);
  attachInterrupt(0, zero_crosss_int, RISING); 
 
}


void zero_crosss_int() 
{

  digitalWrite(AC_LOAD, LOW);
 encender = millis(); // Encender es el momento que la onda senoidal pasa por cero
 
 

}

void loop()  {
 
 
 dimming=200; //(desde 0 a 255)
  int dimtime = (0.035*dimming); //1000us - 10us /255 = 35us
       do
       {
 if(millis() - encender >= dimtime)   // tiempo de espera para activar la puerta del triac
 { 
  digitalWrite(AC_LOAD, HIGH); 
    if(millis() - encender > 1+dimtime) //1 milisegundo de duracion de pulso para desactivar la puerta
 {       
  digitalWrite(AC_LOAD, LOW);   

 }
 }
       } while(millis()-encender < 10); //lo que dura un semiperiodo 25Hz
   
}

Un saludo

guezro

Mira este código AC Phase control. Pruebalo para un triac y luego discutimos como hacerlo con dos


Si, lo he probado y funciona perfectamente, pero no comprendo bien los timers internos y me surgen las dudas a la hora de colocar el segundo Triac.

surbyte

Que es lo que no entiendes?

Todo lo que hace no te importa solo mira el loop()

Code: [Select]
void loop(){ // sample code to exercise the circuit

i--;
OCR1A = i;     //set the compare register brightness desired.
if (i<65){i=483;}                     
delay(15);                             

}


Ahi esta el codigo que le dice la OCR1A que hacer.
va desde 483 hasta 65

Bien parece chino básico sin ofender a los chinos. Pero eso es el dimmer que estas viendo.

Ahora tiene dos rutinas del timer

Code: [Select]
ISR(TIMER1_COMPA_vect){ //comparator match
  digitalWrite(GATE,HIGH);  //set TRIAC gate to high
  TCNT1 = 65536-PULSE;      //trigger pulse width
}

ISR(TIMER1_OVF_vect){ //timer1 overflow
  digitalWrite(GATE,LOW); //turn off TRIAC gate
  TCCR1B = 0x00;          //disable timer stopd unintended triggers
}


y ahi se acciona el triac y se lo apaga.
entonces el segundo triac se apaga como el primero
Y para su disparo tal vez haya que usar otro timer

De todos modos no se que quieres hacer con los Triacs.

guezro

#21
May 18, 2018, 10:34 am Last Edit: May 18, 2018, 02:47 pm by surbyte
El triac controla la tension de la bombilla dimable de 220V (aunque esto es solo para las pruebas, más tarde lo usare para una bomba de 220V)
Al probarlo con otros componentes (ya que a parte de 2 triacs para las bombillas quiero controlar un RGBW) a la vez que con el programa del que me has pasado el enlace (usando los TIMERS internos) me ha surgido un problema: utilizo salidas PWM para el control de los LEDs RGBW (pines 5, 9,10 y 11), por lo que al usar los TIMERS internos (para el control del TRIAC para la bombilla) impiden su correcto funcionamiento ya que en esos pines se encuentran OC1A, OC1B, OC2A y OC0B (que si no me equivoco influyen en al usar los timers 0, 1 o 2).

Por eso, no se si habría alguna forma de usar la funcion millis() como he puesto un par de comentarios antes y si alguien supiera cual es mi problema que hace que parpadeé la bombilla.


Gracias,
un saludo.  

vffgaston

El triac controla la tension de la bombilla dimable de 220V (aunque esto es solo para las pruebas, más tarde lo usare para una bomba de 220V)

¡Yeeeep ...!

¿con una bomba de 220 V?

Saludos

guezro

#23
May 18, 2018, 11:33 am Last Edit: May 18, 2018, 02:45 pm by surbyte
Si, el TRIAC lo usaré para controlar una bomba (regular el caudal)

vffgaston

#24
May 18, 2018, 01:44 pm Last Edit: May 18, 2018, 02:46 pm by surbyte
Hola,

Hasta dónde yo llego, las bombas de riego tienen un motor convencional, asíncrono. Este tipo de motores no admiten ninguna regulación por tensión (es más, podrías llegar a quemarlo). Para regular la velocidad de un motor de alterna se necesita un variador de frecuencia.

(Dime si es este el caso para enviarte algún link que te lo aclare)

Saludos

vffgaston

Hola,

La verdad, como "hoy las ciencias adelantan que es una barbaridad", he estado echando un vistazo por si ese día no había ido a clase (yo).

Lo que encuentras en Internet son circuitos que, en función de la carga, pueden aumentar la tensión que se le envía al dispositivo para que no caiga mucho -la velocidad-. Es decir, tu le metes un taladro a una pared y, si es muy dura, el taladro se frena. Pues bien, con estos circuitos le metes un chute de tensión para que no se frene. Un disparate, a mi juicio.

Lo dicho, para un motor de una bomba necesitas un variador (y si estoy equivocado, por favor, que alguien del foro haga una aportación).

Saludos

surbyte

@guezro no lo puedo creer!!!
23 post para que una vez mas expliquen el contexto del problema.

Quote
Mi proyecto consiste en el control de una bombilla de 220V.
Hice este programa y funciona perfectamente
Una bombilla es un circuito resistivo en AC. Una bomba es inductiva. Es un cambio como el día y la noche.
Una bombilla es un circuito resistivo (de nuevo) y un control RGB es un bloque electrónico con especificaciones propias.. ni se te ocurra variarle la tensión de entrada.

Claro que hace falta un variador de velocidad!! y controlando Fase no lograrás nada. Inténtalo y ya verás que ocurre con tu bomba. Además no tienes idea de los problemas que se presentarán.

Un variador de velocidad para una bomba de baja potencia es muy barato hoy en dia, todo lo que hagas te aseguro que saldrá mas caro y no tendrá la regulación ni las prestaciones de un variador de velocidad/frecuencia.

surbyte


guezro

#28
May 21, 2018, 09:54 am Last Edit: May 21, 2018, 05:06 pm by surbyte
@vffgaston si, justo es asi, podrías mandarme la información para mirarmelo?

Muchas gracias.

vffgaston

#29
May 21, 2018, 10:06 am Last Edit: May 21, 2018, 05:05 pm by surbyte
¿Qué potencia tiene?

Saludos

Go Up