Controlador de potencia por fase usando microcontrolador jm60 y labview

Solo disponible en BuenasTareas
  • Páginas : 6 (1257 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de septiembre de 2012
Leer documento completo
Vista previa del texto
CONTROL DE POTENCIA POR FASE
ELECTRONICA INDUSTRIAL I

CESAR BRITO VEGA C.C 1118823126


DEPARTAMENTO DE INGENIERIA ELECTRONICA
FACULTAD DE INGENIERIA
UNIVERSIDAD DE ANTIOQUIA
MEDELLIN

Enunciado del problema

Control de potencia por fase, para lámpara incandescente, con parámetros ingresados por el usuario desde una plataforma de programación, con diferentes tipos de control.Fase fija: Ingresa desde el panel el valor del ángulo de disparo del triac y se muestra el V+.
Fase variable: Entre 180 y 0 en un tiempo “Ton” ingresado por el usuario (entre 5-60 seg) se muestra el V+ progresivo.
Cero: Disparo de triac por cero, se ingresa por el usuario “M=numero de semiciclos si, N=numero de semiciclos no”. Se muestra V+ correspondiente

Solución del problema
Diagrama deBloques

Señal de la red (AC)

Detector de cruce por cero



Etapa de potencia
Aislamiento
Microcontrolador
Conexión con PC

Primero solucionaremos el problema correspondiente al ingreso de datos por parte del usuario.
Se realizo un programa en labview que permitiera el envío de datos a un microcontrolador, que será el responsable de calcular el punto de disparo del TRIAC.
Elprograma consta de dos partes a destacar:
1. Un gráfico que simula la señal que hay en la carga, mostrando como varia la potencia en la misma.
2. Control del puerto: Se abre el puerto serial, configurando algunos de sus parámetros (los que normalmente están por defecto).
En un sentido general el programa está dentro de una estructura case controlado por la herramienta “tab control”, dondedependiendo del tipo de control de potencia seleccionado se configuran los datos ingresados; estos se envían al micro si y solo si se han modificado.

Detección de cruce por cero

A continuación se presenta el circuito implementado en la detección de cruce por cero, se opta por utilizar un optoacoplador, para así aislar y proteger el microcontrolodor.

MICROCONTROLADOR

El microcontrolador tienepor tarea hacer un conteo cada vez que recibe un flanco de subida. Dicho conteo está establecido por los tiempos ingresados al usuario por medio del programa de labview. Al final del conteo hay un envío de una señal que se encarga del disparo del TRIAC.
A continuación se presenta el código desarrollado para la consecución de la práctica:

#include <hidef.h> /* for EnableInterruptsmacro */
#include "derivative.h" /* include peripheral declarations */
#include "events.h"

byte sel=0;
byte flag=0;
byte fase=0;
word t_on=0;
byte ciclo_s=0;
byte ciclo_n=0;
byte total_ciclos=0;
byte cont=0;
byte cont2=0;
byte j=0;
word aux=0;
word i=0;

void Oscillator_Init(void);
void IRQ_init (void);
void TPM1_init (void);
void TPM2_init (void);
void SCI_Init(void);
voidRTC_Init(void);

void main(void) {

SOPT1 = 0x20;
Oscillator_Init();
TPM1_init();
//TPM2_init();
SCI_Init();
RTC_Init();
IRQ_init();
PTBD=0;
PTBDD=0xff;

EnableInterrupts; /* enable interrupts */
/* include your code here */

for(;;)
{

if (flag==1)
{
switch (sel)
{
case 1: // Control por fase
if(EV_INT_IRQ==1)
{
EV_INT_IRQ=EVENT_DONE;
PTBD_PTBD0=0;
TPM1CNT=0;
}
if (fase==0)
PTBD_PTBD0=1;
else if (fase>=168)
PTBD_PTBD0=0;
else if (EV_INT_TIM1C1==1)
{
EV_INT_TIM1C1=EVENT_DONE;
PTBD_PTBD0=1;
for(i=0;i<=150;i++);PTBD_PTBD0=0;
}
break;
case 2: // Control por tiempo de encendido
aux=25020-139*cont2;
if (EV_INT_IRQ==1)
{
EV_INT_IRQ=EVENT_DONE;
TPM1CNT=0;
PTBD_PTBD0=0;
if (EV_INT_RTC==1)
{
EV_INT_RTC=EVENT_DONE;
TPM1C1V=aux;...
tracking img