Anda di halaman 1dari 17

David Acurio

Acurio David
Cherres Juan Carlos
Jimenez Santiago
Paredes Daniel
Pullutasig Jonathan

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


DIAGRAMAS:

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


DIAGRAMAS:

El Dimmer nos ayudará para regular la energía en un elemento actuador o dispositivo


final, modificando el ángulo de disparo de que recibe. En este caso el motor va a recibir
una señal con un determinado ángulo de disparo que ingresemos, provocando una
variación en la velocidad del motor.

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


Diseños del circuito detector del cruce por cero:

La transmisión de señales digitales en la corriente alterna, es imposible sin la asistencia de


un detector de cruce por cero. Este circuito detecta cuando la corriente alcanza el punto de
cruce por cero de la onda. El circuito tiene la función de sincronizar la carga a una
frecuencia de 120Hz con el PWM del Microcontrolador.

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


Diseño del puente H

El circuito del puente H es un circuito electrónico que nos va a permitir girar en


ambos sentidos el motor.

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


CALCULO EN TIMER 1 EN SINCRONIZACIÓN DE CRUCE POR CERO Y
GENERACIÓN DE PWM:
Se conoce que el registro Timmer 1 está compuesto por 16 bits, en el programa se tiene una
sincronía a la Red la cual está determinada por el cruce por cero y genera una frecuencia de
120 Hz, esta frecuencia es a la que se controlará el PWM.
Datos:
𝑓 = 120 𝐻𝑧
Cálculo del período máximo:

T= 1f
T= 1/120 Hz
T= 8.33 mseg

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


Cálculo de Ángulo de Disparo:
Para el cálculo del ángulo de disparo se tomó en cuanta la línea de trabajo entre los
valores máximos y mínimos calculados anteriormente.

𝑌 − 𝑌1
𝑋 − 𝑋1
𝑌2 − 𝑌1
= 𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒
𝑋2 − 𝑋1

𝑌 − 64494 65534 − 64494


=
𝑋 − 179 1 − 179

𝑌 = −5.84𝑥 + 65539.84

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


PROGRAMACIÓN:
#include <16f887.h>
#include <stdlib.h>
#fuses XT,HS,PUT,NOPROTECT,BROWNOUT,NOLVP,NOWDT
#use delay(clock=4M)
#define LCD_DB4 PIN_D4 //definimos el LCD en el Port_B
#define LCD_DB5 PIN_D5
#define LCD_DB6 PIN_D6
#define LCD_DB7 PIN_D7
#define LCD_RS PIN_D2
#define LCD_E PIN_D3
#include <lcd1.c> //incluimos la libreria del LCD
#use fast_io(a) // Uso rápido de los puertos A, B
#use fast_io(b)
#use standard_io(c)// Uso estándar de los puertos C, D
#use standard_io(d)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7, bits=8, parity=N)

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


//-------------------------------------- VARIABLES -------------------
-------------------------
int b;
int dato1, selector=0;
long contador=0; //Variables
para la adquisicion y control de las RPM
double RPM;
int16 pwm=65536, dc=0, ang=0;
int16 bits;
int array [3], a;
#int_timer0
void timer_0(){
set_timer0(255);
contador=contador+1;
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


//-------------------------------------- VARIABLES -------------------
-------------------------
int b;
int dato1, selector=0;
long contador=0; //Variables
para la adquisicion y control de las RPM
double RPM;
int16 pwm=65536, dc=0, ang=0;
int16 bits;
int array [3], a;
#int_timer0
void timer_0(){
set_timer0(255);
contador=contador+1;
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


//-------------------------------------- VARIABLES -------------------
-------------------------
int b;
int dato1, selector=0;
long contador=0; //Variables
para la adquisicion y control de las RPM
double RPM;
int16 pwm=65536, dc=0, ang=0;
int16 bits;
int array [3], a;
#int_timer0
void timer_0(){
set_timer0(255);
contador=contador+1;
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


#INT_EXT
void cruce_cero(){ //Método de la Interrupción externa para la asignación de valores al Timer1
output_LOW(PIN_B1);
set_timer1(pwm);
}
#int_TIMER1 // Método de la Interrupción del Timer 1 para el control de PWM.
void interrupcion(){
output_HIGH(pin_B1);
}
void principal(){
puts("\f UNIVERSIDAD TECNICA DE AMBATO\r");
puts(" TEMA: PROYECTO\r ");
puts(" Ingrese solamente letras minusculas\r");
puts(" Menu\r\r");
puts(" Presione el numero '1' MOTOR AC\r");
puts(" Presione el numero '2' MOTOR DC\r");
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


#int_rda //habilitacion de la interrupcion de RS232 en CCS --
-----------
void serial()
{
b=getc(); //coge el caracter que se tx y guarda en dato
}
// MOTOR DC---------------------------------------------------------------
void encendido ()
{
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("Sis.On z:IZ x:DE");
lcd_gotoxy(1,2);
lcd_putc("d:OFF ");
puts("\f SISTEMA ENCENDIDO\r");
puts(" PRESIONE i PARA INGRESO DE DUTY CICCLE\r");
puts(" PRESIONE x GIRAR MOTOR DC HACIA LA DERECHA\r");
puts(" PRESIONE z GIRAR MOTOR DC HACIA LA IZQUIERDA\r");
puts(" PRESIONE d APAGAR EL SISTEMA\r");
puts(" Presione k para retornar \r");
output_high(pin_b3);
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


void giro_derechaPWM()
{
printf(lcd_putc,"D\n%s%lu%s","Duty=",dc,"%");
set_pwm1_duty(0);
set_pwm2_duty(bits);
output_high(pin_b2);
output_low(pin_b3);

}
void giro_izquierdaPWM()
{
printf(lcd_putc,"Iz\n%s%lu%s","Duty=",dc,"%");
set_pwm1_duty(bits);
set_pwm2_duty(0);
output_high(pin_b2);
output_low(pin_b3);
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


1. RESULTADOS ESPERADOS:

Al arrancar el circuito se espera que mediante la comunicación serial se pueda controlar el motor
monofásico y el motor DC, del motor dc se obtendrá las lecturas del encoder al igual que
controlar el sentido del giro. Para el motor monofásico se controla el cambio de giro y apagado
con un control de PWM para variar su velocidad de trabajo. La comunicación debe ser estable y
todo el proceso se visualizará tanto en la PC como en la LCD.

1. RESULTADOS OBTENIDOS:

Al iniciar el circuito se despliega un menú en la pantalla del LCD donde se puede escoger el
manejo tanto del motor monofásico como el motor DC, para cada uno de los motores se tiene
distintas opciones como: Para el motor DC se pudo establecer el sentido horario o antihorario y
las lecturas del encoder RPM; Para el motor monofásico se controla el sentido horario y
antihorario y la variación de su velocidad por medio de una señal PWM. La comunicación es la
adecuada para el control de ambos motores, así como la visualización de los procesos en la PC y
el la LCD.

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES


//-------------------------------------- VARIABLES -------------------
-------------------------
int b;
int dato1, selector=0;
long contador=0; //Variables
para la adquisicion y control de las RPM
double RPM;
int16 pwm=65536, dc=0, ang=0;
int16 bits;
int array [3], a;
#int_timer0
void timer_0(){
set_timer0(255);
contador=contador+1;
}

MICROCONTROLADORES INGENIERÍA ELECTRÓNICA Y COMUNICACIONES

Anda mungkin juga menyukai