Buenos días,
Estoy tratando de hacer un arrancador suave para un motor trifasico de 690v 50Hz y 20A, para ello estoy simulando un circuito, pero solo logro que la simulación se parezca a lo que quiero si pongo en la carga una resistencia, en vez de una bobina o un motor... la simulación es de una sola fase ( para empezar ). Tambien en la simulacion he usado 230v en dez de 690v
Adjunto el circuito.
Aqui el codigo en mikrobasic:
program arrancador_suave
dim cuenta, cnt1, muestra, po, ne as word
sub procedure interrupt ' Definir el subprocedimiento de interrupción
IF INTCON.1 = 1 THEN
cnt1 = 0
cuenta = cuenta + 1
INTCON = 0xF0
END IF
IF PIR1.TMR1IF THEN ' Si el bit TMR1IF = 1,
'muestra = muestra + 1
cnt1 = cnt1 + 1 ' Interrupción causa que la cnt se incremente en 1
PORTD = cnt1
PIR1.TMR1IF = 0 ' Reiniciar el bit TMR1IF
TMR1H = 0xFF ' El valor inicial se devuelve en los registros
TMR1L = 0x05 ' del temporizador TMR1H y TMR1L
INTCON = 0xF0
END IF
end sub
main:
TRISC = 0 'salidas
PORTC = 0 'estado bajo
OPTION_REG = 0xF8
INTCON = 0xF0
'temporizador timer1
PORTD = 0x0 ' Valor inicial de los bits del puerto PORTB
TRISD = 0 ' Los pines del puerto PORTB se configuran como salidas
T1CON = 1 ' Configurar el temporizador TMR1
PIR1.TMR1IF = 0 ' Reiniciar el bit TMR1IF
TMR1H = 0xFF ' Poner el valor inicial para el temporizador TMR1
TMR1L = 0x05
PIE1.TMR1IE = 1 ' Habilitar la interrupción al producirse un desbordamiento
cnt1 = 0 ' Reiniciar la variable cnt
INTCON = 0xF0 ' Interrupción habilitada (bits GIE y PEIE)
' FIN temporizador timer1
po = 172
ne = 355
PORTC.2 = 0
WHILE true
IF (po <= 10) THEN
'PORTC.2 = 1
IF (cnt1 >= 0) and (cnt1 < 6) THEN
PORTC.2 = 1
END IF
IF (cnt1 >= 6) and (cnt1 < 179) THEN
PORTC.2 = 0
END IF
IF (cnt1 >= 179) and (cnt1 < 186) THEN '18500 unsegundo
PORTC.2 = 1
END IF
IF (cnt1 >= 186) and (cnt1 < 362) THEN '18500 unsegundo
PORTC.2 = 0
END IF
IF (cnt1 >= 362) THEN '18500 unsegundo
PORTC.2 = 1
END IF
ELSE
IF cuenta = 3 THEN
po = po - 5
ne = ne - 5
cuenta = 0
END IF
IF (cnt1 > 0) and (cnt1 < po) THEN
PORTC.2 = 0
END IF
IF (cnt1 >= po) and (cnt1 < po+3) THEN '18500 unsegundo
PORTC.2 = 1
END IF
IF (cnt1 >= po+3) and (cnt1 < ne) THEN '18500 unsegundo
PORTC.2 = 0
END IF
IF (cnt1 >= ne) and (cnt1 < ne+3) THEN '18500 unsegundo
PORTC.2 = 1
END IF
IF (cnt1 >= ne+3) and (cnt1 < ne+5) THEN '18500 unsegundo
PORTC.2 = 0
END IF
END IF
WEND
end.
Ahora no entiendo por que en la simulación sale esto:
osci.JPG(83.01 kB, 700x454 - visto 2803 veces) Aqui se ve un impulso en verde, del microcontrolador, que en verdad no debería estar ahí. ya que en el codigo no esta programado para que salga ese pulso (el primero), la cuestión es que solo sale de vez en cuando ese pulso, sale aleatoriamente en algun ciclo y no debería...¿?¿?
osci2.JPG(83.77 kB, 706x454 - visto 2663 veces) Aqui en el semiciclo negativo se observa que aun dandole el impulso para que se active el triac, este se activa pero cae bruscamente y no se mantiene, esto tambien paso a veces en algun ciclo pero no en todos, en verdad apena sucede, pero no entiendo por que aveces en algun ciclo si que ocurre... el ancho del pulso es igual en todos los pulsos, y es de varias veces el ancho minimo para activarlo.
osci3.JPG(83.29 kB, 701x453 - visto 2468 veces) Aqui se observa que una vez en conducción total, solo disparo el triac en las zonas de paso por cero, pero una vez más de vez en cuando el pulso se mantiene hasta el siguiente pulso y NO esta programado el micro para que ocurra esto, yo diria que es imposible, y una vez más solo ocurre de vez en cuando entre ciclos.
El micro es un pic 16f877A a 20Mhz.
El Triac que pensaba usar en verdad es alguno de 40A y 800V, para un motor de 690V y 20A, no se que opinaran Uds, lo que no se que optotriac usar con 690V... me recomiendan alguno?
Un saludo y gracias!!