17
1 Benemérita Universidad Autónoma de Puebla FACULTAD DE CIENCIAS DE LA ELECTRÓNICA PRÁCTICA 2: Ventilador de tiempo programable. Nombre de la Asignatura: Sistemas electrónicos de Potencia Profesor: Dr. Antonio Michúa Camarillo Alumnos: Arrieta Fierro Carlos Enrique Hernández Aguilar Luis Adrián

Práctica2 InversorMonofásico Potencia (2)

Embed Size (px)

DESCRIPTION

InversorMonofásico Potencia

Citation preview

Ventilador de tiempo programable. 26/09/2014

1

Ventilador de tiempo programable. 26/09/2014 Benemrita Universidad Autnoma de Puebla

FACULTAD DE CIENCIAS DE LA ELECTRNICA

PRCTICA 2: Ventilador de tiempo programable.

Nombre de la Asignatura:Sistemas electrnicos de Potencia

Profesor:Dr. Antonio Micha Camarillo

Alumnos:Arrieta Fierro Carlos Enrique Hernndez Aguilar Luis AdrinHerrera Medina Martin R.Martnez Orozco Jos JavierTrevio Ziga Nayar

26-09-14 Otoo 2014

ObjetivoAdquirir los conocimientos necesarios para que el estudiante pueda implementar y analizar un temporizador de tiempo programable, que pueda controlar un ventilador utilizando su circuito asociado Luces navideas, utilizando conocimientos bsicos de electrnica, tales como configuraciones del oscilador 555, sensores, y principios bsicos de dispositivos semiconductores.

I. IntroduccinA lo largo de las siguientes pginas expondremos las caractersticas y el mtodo de implementacin usado para el desarrollo de una aplicacin que nos permita controlar la potencia de un ventilador con el fin DE controlar su velocidad y tener interrupciones. Para ello sern utilizados un sensor que mande una seal al PIC y se haga la interrupcin en forma binaria.

II. MaterialIlustracin 1 555

Circuito Luces Navideas TemporizadorEl 555 es un circuito integrado cuya funcin principal es producir pulsos de temporizacin con precisin, entre sus funciones secundarias estn la de oscilador, divisor de frecuencia, modulador o generador.Este circuito integrado incorpora dentro de s, dos comparadores de voltaje, un flip flop, una etapa de salida de corriente, un divisor de voltaje por resistor y un transistor de descarga. Dependiendo de cmo se interconecten estas funciones utilizando componentes externos es posible conseguir que dicho circuito realice un gran nmero de funciones tales como la del multi vibrador astable y la del circuito monoestable.El 555 tiene diversas aplicaciones, como: Control de sistemas secuenciales, divisor de frecuencias, modulacin por ancho de pulso, generacin de tiempos de retraso, repeticin de pulsos, etc.

Contador 4017Se trata de un contador/divisor o decodificador con 10 salidas.Ilustracin 2

Estructuralmente est formado por un contador Johnson de 5 etapas que puede dividir o contar por cualquier valor entre 2 y 9, con recursos para continuar o detenerse al final del ciclo. Ilustracin 3

El Diagrama de funciones: Para comprender mejor su funcionamiento lo haremos utilizando el diagrama de funciones.Con las entradas "Habil. Reloj" y "Reset" a tierra, el contador avanza una etapa a cada transicin positiva de la seal de entrada (Reloj). Partiendo entonces de la situacin inicial en que "S0" se encuentra a nivel alto y todas las dems a nivel bajo. Con la llegada del primer pulso de entrada tenemos la primera transicin. "S0" pasa a nivel bajo y "S1" a nivel alto, todas las dems permanecen en cero.Ilustracin 4

Con el segundo pulso, "S1" pasa a nivel bajo y "S2" a nivel alto, y as sucesivamente hasta la ltima.En modo positivo:Solo el LED que tiene el nivel alto permanece encendido.Tambin puedes realizar una secuencia completa con todas las salidas, algo as como lo que se ve en la siguiente imagen.Ilustracin 5Ilustracin 6

PotenciometroIlustracin 7 POTENCIOMETRO

Unpotencimetroes unresistorcuyo valor deresistenciaes variable. De esta manera, indirectamente, se puede controlar laintensidad de corrienteque fluye por un circuito si se conecta en paralelo, o ladiferencia de potencialal conectarlo en serie.

Circuito temporizador-ventilador Pic 18F4550Un microcontrolador es un circuito integrado programable que contiene todos los componentes de un computador, aunque de limitadas prestaciones.Se emplea para controlar el funcionamiento de una tarea determinada.Funcionamiento: En su memoria slo decide un programa destinado a controlar una aplicacin determinada; sus lneas de entrada/salida soportan el conexionado de sensores y actuadores del dispositivo a gobernar y todos los recursos complementarios disponibles tienen como nica finalidad atender sus requerimientos. Permite asignar niveles de prioridad a sus interrupciones de salida. Cuando el dispositivo tiene mltiples interrupciones de salida para hacer, las realiza en un orden dependiendo de una relativa prioridad.Ilustracin 8

Una vez programado y configurado el microcontrolador solamente sirve para ejecutar la tarea asignada.

SensorPara la parte de la interrupcin (Pausa) fue necesaria la introduccin de un dispositivo sensitivo. En nuestro caso optamos por un sensor ptico infrarrojo, el cual ya viene en un empaque el cual est diseado para la introduccin de algn material, no mayor a los 3.1mm. Ilustracin 9

Encontramos ventaja en este sensor ya que por su forma y construccin no hay elementos del ambiente que puedan afectarle con facilidad.Como todo sensor viene con un transmisor y un emisor, que en este caso es un led infrarrojo y un fototransistor.La comunicacin de dicho sensor viene dada por el siguiente circuito. Ilustracin 10

III. DiseoSe inicia con una interfaz creada en matlab cuya funcin es el de configurar el tiempo de encendido y apagado de nuestro ventilador. Adems cuenta con un indicador del sensor de interrupcin, seguido esto mandara el tiempo acordado al PIC 18f4550 y este lo procesara y mandara la seal de salida a la etapa de potencia. Esta etapa de potencia cuenta con un opto-acoplador (MOC3031) el cual al recibir una seal analgica de 5 volts se hace un switcheo interno el cual permite polarizar la terminal G (gate) de nuestro trial (MAC12M), al recibir una seal de entrada en G el triac permite una conduccin por sus terminales interna de alta potencia y con esto logramos energizar la carga que en nuestro caso es un ventilador. En todo momento hay una terminal del sensor (ITR8102), conectado al pic para la interrupcin. Es decir, si el sensor detecta un estado diferente al preestablecido mandara una seal y el PIC mandar una pausa al temporizador de encendido y apagado. Este proceso se repite hasta que exista una variacin de los valores de tiempo en MATLAB.Ilustracin 11 Diagrama de flujo

IV. Diseo del programaPrograma hecho con interfaz Matlab- PIC18F4550function varargout = PotenciaPraxis1(varargin) gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @PotenciaPraxis1_OpeningFcn, ... 'gui_OutputFcn', @PotenciaPraxis1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});endif nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before PotenciaPraxis1 is made visible.function PotenciaPraxis1_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.

handles.output = hObject;global nelegionelegio = 0;movegui('center');InitUsb(); % Update handles structureguidata(hObject, handles);% UIWAIT makes PotenciaPraxis1 wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = PotenciaPraxis1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output; function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end % --- Executes on button press in radiobutton1.function radiobutton1_Callback(hObject, eventdata, handles)% hObject handle to radiobutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hint: get(hObject,'Value') returns toggle state of radiobutton1% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles) set(handles.pushbutton1,'backgroundcolor','g');pause(.001);WorkFan(handles,0,0);set(handles.pushbutton1,'backgroundcolor','m');pause(.001);% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % --- Executes on key press with focus on figure1 or any of its controls.function figure1_WindowKeyPressFcn(hObject, eventdata, handles) global nelegionelegio = isequal(eventdata.Key,'escape'); global aux aux = isequal(eventdata.Key,'tab'); % --- Executes during object deletion, before destroying properties.function figure1_DeleteFcn(hObject, eventdata, handles) CloseUsb();% hObject handle to figure1 (see GCBO)

PROGRAMA PRINCIPAL EN PIC-CEste es el programa principal, tambin se crearon subprogramas para crear funciones para iniciar usb y cerrar, para hacer la funcin de contar los tiempos, y de recibir y mandar paquetes.El programa del pic es el siguiente, el cual solo recibe datos de la cantidad de segundos, y enva al programa si hay una interrupcin por parte del sensor.#include //#device adc=8#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN#use delay(clock=48,000,000) ////////////////////////////////////////////////////////////////////////////////#define USB_HID_DEVICE FALSE //deshabilitamos el uso de las directivas HID#define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for IN bulk/interrupt transfers#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers#define USB_EP1_TX_SIZE 10 //size to allocate for the tx endpoint 1 buffer#define USB_EP1_RX_SIZE 10 //size to allocate for the rx endpoint 1 buffer////////////////////////////////////////////////////////////////////////////////#include //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver#include //Configuracin del USB y los descriptores para este dispositivo#include //handles usb setup tokens and get descriptor reports#include ///////////////////////////////////////////////////////////////////////////// ///////Functionsvoid ParvusRutina();void InitPIC();BYTE GetTransferUSB();void SetTransferUSB();int Legio(); int interrupcion = 1;int giro = 0; void main(){ InitPIC(); while(TRUE) { if(Legio()) { SetTransferUSB(); while(Legio()); interrupcion = 0; SetTransferUSB(); interrupcion = 1; delay_ms(5); continue; } if(GetTransferUSB()) { if(giro == 1) { output_b(0x0f); } else { output_b(0x00); } } } } void ParvusRutina(){int q; for(q=0; q127) { return 1; } else { return 0; }}

V. Diagrama elctrico

10