Você está na página 1de 15

1

CICLOCONVERTIDOR (Noviembre de 2010)


Fundacin Universitaria Los Libertadores
Anderson Fabian Garzn Gutierrez Cd. 200721245600

RESUMEN El presente informe aborda el diseo de un cicloconvertidor compuesto por dos rectificadores en antiparalelo; para los cuales se utiliz SCRs (Silicon Controled Rectifier) como dispositivo de conmutacin. Para el control de disparo de los SCR se dise un programa en lenguaje C el cual fue implementado en el mocrocontrolador PIC 16F877A. El funcionamiento del cicloconvertidor implica que la entrada en conduccin de un tiristor debe provocar automticamente el bloqueo del que ha entrado en conduccin anteriormente, generando frecuencias menores a la proporcionada por la red monofsica.

ABSTRACT The formless present approaches the design of a cicloconvertidor composed by two rectifiers in antiparallel; for which there was in use SCR (Silicon Controlled Rectifier) as device of commutation. For the control of shot of the SCR there designed a program in language "C" who was implemented in the microcontroller PIC 16F877A. The functioning of the cicloconvertidor implies that the entry in conduction of a tiristor must provoke automatically the blockade of the one that has entered conduction previously, generating minor frequencies to provided by the single-phase network. I. INTRODUCCION En muchas aplicaciones se necesita disponer de potencia elctrica de frecuencia, fija o variable, pero distinta caracterstica que la suministrada por el generador que se dispone. Por tanto deberemos colocar un dispositivo entre la red elctrica y la carga de forma que se transforme la energa elctrica cambiando su frecuencia segn sea necesario. El cicloconvertidor es capaz de proporcionar una corriente alterna mono o polifsica de amplitud y frecuencia regulables, a partir de un generador de c.a. La principal aplicacin de los cicloconvertidores se da en el control a baja velocidad de grandes motores de c.a., donde es preciso variar la amplitud de la tensin proporcionalmente a la frecuencia. II. OBJETIVOS Objetivo General Disear un cicloconvertidor de frecuencia variable utilizando SCRs como dispositivos de disparo y controlados a travs de un Microcontrolador.

Objetivos Especficos Realizar un circuito detector de cruce por cero y que a su vez identifique el ciclo positivo y negativo de la red monofsica. Implementar la parte de potencia del cicloconvertidor con los rectificadores controlados SCRs. Disear un programa en lenguaje C capaz de identificar los flancos positivos y negativos de una seal para generar pulsos que disparen los SCRs a frecuencias variables. Implementar el programa para el disparo de los SCRs en el microcontrolador 16F877A. Acoplar la etapa de control de los SCRs con la etapa de potencia del cicloconvertidor. Verificar las frecuencias generadas por el cicloconvertidor.

III. EQUIPOS, INSTRUMENTOS Y COMPONENTES Para la verificacin y revisin de las diferentes tensiones y corrientes producidas en diferentes puntos del Cicloconvertidor fue necesario utilizar los siguientes equipos e instrumentos: 1. Ampermetro 2. Voltmetro 3. Fuente de voltaje de 30 [v] 4. Osciloscopio 5. Diodos Zener 1n4733A 6. Diodos Led 7. Optoacoplador Triac Moc 3021 8. Optoacoplador Darlington Moc 8021 9. SCR TYN 412 10. Dipswitches de 6 canales 11. Microcontrolador PIC 16F877A 12. Resistencias de baja y alta potencia 13. Capacitores Electrolticos IV. DISEO Y SIMULACION El diseo del cicloconvertidor se dividi en 3 etapas: 1. Detector de cruce por cero e identificador de ciclos positivos y negativos. 2. Programa en lenguaje C controlador de los SCRs del cicloconvertidor. 3. Etapa de potencia del cicloconvertidor.

FIGURA 1. Diagrama de potencia del cicloconvertidor

1. DETECTOR DE CRUCE POR CERO E IDENTIFICADOR DE CICLOS POSITIVOS Y NEGATIVOS Para poder identificar los ciclos positivos y negativos de la red monofsica y con esto disparar correctamente los SRCs fue necesario utilizar un circuito como el de la figura 2, el cual recorta el voltaje suministrado por la red hasta un voltaje referenciado por el Diodo Zener y no permite la circulacin de voltaje negativo gracias al diodo 1N4004; el voltaje de salida se lleva a un Optoacoplador en configuracin Darlington que funciona en la regin de corte y saturacin de acuerdo a la intensidad lumnica emitida en el diodo del optodarlington, la seal final ser un tren de pulsos con frecuencia de 60 Hz equivalente a la de la red monofsica.

R1 2409 V1 120 Vrms 60 Hz 0 D1 1N4733A R2 584

VCC 5V

Q1 2N6038 D2 R3 500

FIGURA 2. Diagrama Circuito detector de cruce por cero e identificador de ciclos Haciendo circuito de prueba para el diodo Zener y tomando una corriente de entrada para el diodo del Optodarlington especificado en el Datasheet, se realizaron los clculos para R1 y R2 de la siguiente manera:

MBR1645 LED1

La salida se toma en el emisor del optodarlington, la cual se conecta al microcontrolador PIC 16F877A.

2. PROGRAMA EN LENGUAJE C CONTROLADOR DE LOS SCRS DEL CICLOCONVERTIDOR Mediante el lenguaje C se program el microcontrolador PIC 16F877A para que al recibir la seal cuadrada del detector de cruce por cero en el puerto RA5 y verificando los dems pines del puerto A que son los seleccionadores de frecuencia, generara un byte por el puerto B de acuerdo al ciclo en la red monofsica lo cual hace dispar los SCRs correspondientes a la frecuencia dada por el usuario.

#include <16f877a.h> #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BRO WNOUT #use delay (clock=4000000) #byte trisb = 0x86 #byte portb = 0x06 #byte trisa = 0x85 #byte porta = 0x05 #byte ADCON1 = 0x9F #byte option=0x81 void frec1(void); void frec2(void); void frec3(void); void frec4(void); void frec5(void); void main() { for(;;) { ADCON1=0x06; bit_set(option,7); trisa = 0XFF; trisb = 0x00; output_B (0x00); switch (porta) { case 0b100001: frec1();// FRECUENCIA DE 10 HZ (1/6) break; case 0b100010: frec2();// FRECUENCIA DE 12 HZ (1/5) break; case 0b100100: frec3(); // FRECUENCIA DE 15 HZ(1/4) break; case 0b101000: frec4();// FRECUENCIA DE 20 HZ (1/3) break; case 0b110000:

frec5(); // FRECUENCIA DE 30 HZ(1/2) break; } } } // FRECUENCIA DE 10 HZ (1/6) void frec1(void) { output_B (0x00); //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x03); delay_us(100); output_B (0x00); }

//void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x30);//0b00110000 delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500);

output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } } // FRECUENCIA DE 12 HZ (1/5) void frec2(void) { output_B (0x00); //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1);

if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x03); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(600); output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00);

} //void t11_t22(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0x30); delay_us(100); output_B (0x00); } } // FRECUENCIA DE 15 HZ (1/4) void frec3(void) { output_B (0x00); //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC);

delay_us(100); output_B (0x00); } //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{}

while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } } // FRECUENCIA DE 20 HZ (1/3) void frec4(void) { output_B (0x00); //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x03); delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0x03); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(600); output_B (0x30); delay_us(100); output_B (0x00); }

//void t33_t44(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0x30); delay_us(100); output_B (0x00); } } // FRECUENCIA DE 30 HZ (1/2) void frec5(void) { output_B (0x00); //void t1_t2(void); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x03);

delay_us(100); output_B (0x00); } //void t3_t4(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC); delay_us(100); output_B (0x00); } //void t11_t22(); do{} while(bit_test(porta,5)==0); if (bit_test(porta,5)==1) {delay_us(600); output_B (0x30); delay_us(100); output_B (0x00); } //void t33_t44(); do{} while(bit_test(porta,5)==1); if (bit_test(porta,5)==0) {delay_us(500); output_B (0xC0); delay_us(100); output_B (0x00); } }

SIMULACION EN PROTEUS ETAPA DE CONTROL


(1)

U1
13 14 2 3 4 5 6 7 8 9 10 1
1 2 3 4 5 6

OSC1/CLKIN OSC2/CLKOUT

ON

DSW1
DIPSWC_6

RB0/INT RB1 RB2 RA0/AN0 RB3/PGM RA1/AN1 RB4 RA2/AN2/VREF-/CVREF RB5 RA3/AN3/VREF+ RB6/PGC RA4/T0CKI/C1OUT RB7/PGD RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A

33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

A0 A1 A2 A3 A4 A5 A6 A7 B0[0..7] B1[0..7]

A8 A9 A10 A11 A12 A13 A14 A15 B2[0..7] B3[0..7]

OFF

FIGURA 3. Simulacin Etapa de control con el PIC 16F877A FRECUENCIA DE 30 Hz (1/2)

FIGURA 4. Frecuencia De 30 Hz Visto en el Analizador Digital de Proteus

10

FRECUENCIA DE 20 Hz (1/3)

FIGURA 5. Frecuencia De 20 Hz Visto en el Analizador Digital de Proteus FRECUENCIA DE 15 Hz (1/4)

FIGURA 6. Frecuencia De 15 Hz Visto en el Analizador Digital de Proteus FRECUENCIA DE 12 Hz (1/5)

FIGURA 7. Frecuencia De 12 Hz Visto en el Analizador Digital de Proteus

11

FRECUENCIA DE 10 Hz (1/6)

FIGURA 8. Frecuencia De 15 Hz Visto en el Analizador Digital de Proteus

3. ETAPA DE POTENCIA DEL CICLOCONVERTIDOR

FIGURA 9. Diagrama Circuito detector de cruce por cero e identificador de ciclos Para acoplar la etapa de control con la etapa de potencia se utilizaron optoacopladores entre la salida de cada uno de los puertos del microcontrolador (puerto B) y sus SCRs correspondientes. Para encontrar la resistencia entre nodo y compuerta de cada SCR fue necesario hallar la corriente Igt y el voltaje Vgt de cada uno de los tiristores a travs de un circuito de prueba.

12
RA 1k J1 Rg
+
+

U1
5.805m
A

D1 LED1

435 Vg 4V

Key = A

DC 1e-009Ohm U2 DC 10MOhm

1.475

V 20 V

Figura 10. Simulacin Circuito de Prueba SCR BT151_500R Con la ecuacin (1) se calcula la resistencia Rg, el Vgt y la Igt son los valores mximos proporcionados en la hoja de datos del fabricante. Para determinar el Vgt real se varia la resistencia Rg y se cierra el pulsador, si no se enciende el LED1 es necesario variar de nuevo la resistencia Rg, hasta conseguir que se encienda el LED1; cuando se encienda se debe medir los valores del V gt e Igt tal y como se muestra en la figura 1.1.

Los valores prcticos de esta medicin dieron como resultados distintos Vgt e Igt para lo cual se eligi el mayor voltaje y la mayor corriente ya que esto garantiza que todos los SCRs se enciendan en el instante de tiempo determinado por la etapa de control. 4.09mA Vgt =0.7 V El voltaje de la red monofsica al cual se enciende cada uno de los SCRs es: Vp=28,7 V Con lo cual:

13

V. ANALISIS DE RESULTADOS El objetivo del proyecto se basaba en variar la frecuencia del cicloconvertidor, lo cual se pudo observar en el osciloscopio tal y como se ve en las siguientes graficas:

Figura 11. Pulsos generados a la salida del optodarlington (AZUL) vs Seal en la carga con frecuencia de 30 Hz (AMARILLA)

Figura 12. Pulsos generados a la salida del optodarlington(AZUL) vs Seal en la carga con frecuencia de 15 Hz (AMARILLA)

14

Figura 13. Pulsos generados a la salida del optodarlington(AZUL) vs Seal en la carga con frecuencia de 10 Hz (AMARILLA) Como se puede apreciar en las tres graficas el cambio de ciclo en el cruce por cero genera un disparo en dos CSRs lo cual genera los semiciclos que se ven en cada una de las grficas, estos semiciclos se muestran recortados debido a que los disparos se hacen despus de un retardo de 500 uS y se mantienen 100uS para despus apagarse; debido a las caractersticas de los SCRs estos quedan encendidos a pesar que el voltaje en la compuerta se apague despus de los 100 uS, cada SCR se apaga cuando el voltaje entre nodo y Ctodo es 0.

VI. CONCLUSIONES Al aplicar una carga inductiva la corriente se desfasa con respecto al voltaje por lo que es necesario hacer un retardo entre la deteccin del ciclo y el disparo de cada SCR, de igual manera es necesario mantener un tiempo de disparado de unos cuantos microsegundos debido a que existe una diferencia entre los tiempos de encendido de cada SCR. Para variar el voltaje eficaz del cicloconvertidor es necesario alterar el tiempo de disparo de los CSRs, si este retardo es menor el voltaje RMS ser mayor, pero si se aumenta el rea til de la seal de salida ser menor y por tanto el voltaje RMS ser menor. Se encontr que una de las limitaciones del cicloconvertidor es que la frecuencia que puede suministrar en la salida es inferior a la entrada, es decir, si tenemos como seal de entrada la suministrada por la red monofsica, la frecuencia de salida siempre ser menor a 60 Hz.

15

VII. BIBLIOGAFIA

[1] MALONEY Timothy, Electronica Industrial. [2] PASMSHOW Raymond, Electronica de Potencia. [3] MUHAMMAD H.Rashid, Electrnica de Potencia.

Você também pode gostar