Documente Academic
Documente Profesional
Documente Cultură
UNIDADPROFESIONALADOLFOLPEZMATEOS
T E S I S
PRESENTAN:
CRUZ CUEVAS JENNYFER MONTESINOS DE LA ROSA EDGAR ENRIQUE SANTANA ROBLES JONATHAN
ASESORES:
MXICO, D.F.
2010
Agradezco a mi mam querida Esther de la Rosa Hernndez y a mis hermanos Laura, Nayeli y David por alentarme a cumplir mis objetivos y brindarme todo su apoyo y esfuerzo para concluir esta etapa, este logro es nuestro. A mis familiares y amigos que me han acompaado a lo largo de mi vida y por compartir grandes momentos y estar a mi lado en los momentos difciles. A mis asesores: Ing. Mauricio Snchez Ramos y M.C. Jos Oscar Patlan Frausto por guiarme y motivarme a preparar y terminar este trabajo. A todos mis profesores de la ESIME por transmitirme sus conocimientos y experiencias para llegar a ser una persona productiva. Al Instituto Politcnico Nacional que me permiti ser parte de una generacin de profesionales.
El que ha llegado tan lejos que ya no se confunde, ha dejado tambin de trabajar Max Plank.
Son tantas personas a las cuales debo parte de este triunfo, de lograr alcanzar una de mis metas, la cual es el anhelo de todos los que soamos alguna vez con terminar una carrera. A mi familia: a mis padres Sofia y Arturo, a mis hermanas Yeimi y Berenice, ellos que han estado hay durante los 23 aos que tengo de vida, compartiendo momentos buenos y malos, momentos que hoy son recuerdos pero que sin ellos a mi lado no significaran mucho por que han sido ellos quienes los han hecho inolvidables y los que siempre creyeron en mi aun cuando yo no lo hacia. A mis amigos: dicen que los verdaderos amigos se cuentan con los dedos de una mano y es cuando me doy cuanta de lo afortunada que soy ya que comienzo a necesitar mi otra mano para poder contarlos, a ellos que han estado conmigo a pesar de todo, por que me conozco y se que no soy fcil de entender y que aun as estn aqu vindome caer y levantarme una y otra vez, dndome una mano cuando la necesito, un hombro en el cual llorar en esos momentos difciles y una enorme sonrisa cuando cumplo mis sueos. Al Instituto Politcnico Nacional, esta gran institucin a quien le debo mi formacin y a todos los profesores que la integran ya que fueron ellos los que me ensearon lo necesario para poder desarrollarme como profesional y como persona.
INDICE GENERAL
INTRODUCCION Justificacin Objetivos Marco terico CAPITULO I CIRCUITO GENERADOR DE PULSOS VARIABLES EN EL TIEMPO 1.1 Introduccin 1.2 Circuito generador de pulsos con componentes electrnicos analgicos 2.2.1 Funcionamiento 2.2.2 Ventajas y desventajas 1.3 Circuito generador de pulsos manejado con un microcontrolador 1.3.1 Funcionamiento 1.3.2 Ventajas y desventajas 1.4 Detector de cruce por cero 1.4.1 El LM339 1.4.2 Simulacin 1.5 Pulsos controlados por ngulo de fase 6 7 7 8 9 11 3 4 5 5 1 1 1 1
1.5.1 Planteamiento 11 1.5.2 Diagrama de flujo 12 1.5.3 Anlisis del cdigo 15 1.5.4 Graficas de los pulsos controlados por ngulo de fase obtenidas en la simulacin (P-SPICE) 16 1.5.5 Graficas de los pulsos controlados por ngulo de fase obtenidas en el laboratorio 18 1.6 Circuito cerrar abrir 1.6.1 Planteamiento 1.6.2 Diagrama de flujo 1.6.3 Anlisis del cdigo 1.6.4 Graficas del circuito cerrarabrir obtenidas en la simulacin (P-SPICE) 1.6.5 Graficas del circuito cerrar abrir obtenidas en el laboratorio 22 22 23 25 26 28
CAPITULO II CIRCUITO GENERADOR DE PULSOS MODULADOS POR ANCHURA 2.1 Introduccin 2.2 Generacin de pulsos modulados por anchura utilizando componentes analgicos 2.2.1 Funcionamiento 2.2.2 Ventajas y desventajas 2.3 Circuito generador de pulsos modulados por anchura utilizando un microcontrolador 2.3.1 Funcionamiento 2.3.2 Ventajas y desventajas 2.4 Modulacin por ancho de pulso (PWM) 33 34 35 36
36 36 37 37 37 38 40 41 42 43 44 45 46 50
2.4.1 Planteamiento 2.4.2 Diagrama de flujo 2.4.3 Anlisis del cdigo 2.4.4 Graficas del circuito modulacin por ancho de pulso (PWM) obtenidas en el laboratorio 2.5 Modulacin de varios pulsos uniformes (UPWM)
2.5.1 Planteamiento 2.5.2 Diagrama de flujo 2.5.3 Anlisis del cdigo 2.5.4 Graficas del circuito modulacin de varios pulsos uniformes (UPWM) obtenidas en la simulacin (P-SPICE) 2.5.5 Graficas del circuito modulacin de varios pulsos uniformes (UPWM) obtenidas en el laboratorio CAPITULO III APLICACIONES
3.1 Introduccin
3.2 Dispositivos semicontrolados 3.2.1 El SCR 3.2.2 El TRIAC 3.3 Dispositivos totalmente controlados 3.3.1 El MOSFET
55 56 56 56 57 57
3.4 Aplicacin y Prueba 1, Control de velocidad de un motor 60 3.5 Aplicacin y Prueba 2, Inversor de CD-CA. 60
CAPITULO V CONCLUSIONES 5.1 APENDICES Apndice A: Diseo de la fuente de alimentacin Apndice B: Programa Final Apndice C: Hojas de especificaciones BIBLIOGRAFIA 67 87 105 113 Conclusiones 65
CAPITULO I
INTRODUCCIN
Justificacin
En los laboratorios de Electrnica de Potencia de enseanza a nivel licenciatura se requieren seales de control para los circuitos de potencia que manejan diversas cargas, estas seales en varios casos debern estar sincronizados con la fase de alimentacin. El sistema generador de seales para circuitos de Electrnica de Potencia, proporciona seales sincronizadas con la fase, as como otro tipo de seales utilizadas especficamente en circuitos de Electrnica de Potencia. Todo lo anterior lo hace un equipo muy til en el laboratorio de Potencia para efectuar experimentos, as como otros desarrollos en este campo
Objetivos
Objetivo general: Disear y construir un sistema generador de seales de control para ser utilizado en los laboratorios de Electrnica de Potencia. Objetivos especficos: Disear e implementar el circuito generador de pulsos sincronizados con la lnea de alimentacin de voltaje de corriente alterna (ca) variantes en el tiempo y para el control abrir cerrar. Disear e implementar el circuito generador de pulsos modulados por anchura. Disear e implementar el circuito de interface de usuario. -
Marco terico
Con el fin de ampliar y mejorar los mtodos aplicables en la materia de electrnica de potencia y como una ayuda para los alumnos que toman esta materia, se propone como objetivo principal de este trabajo, disear y construir un generador de seales, as como comprobar su viabilidad en un entorno real. Para ejemplificar mejor proyecto se decidi dividirlo en 2 bloques principales: 1.- Subsistema analgico 2.- Subsistema digital.
1
CAPITULO I
SUBSISTEMA ANALOGICO
SUBSISTEMA DIGITAL
Salida A
Procesado digital y control de la duracin de los pulsos Men selectivo tipo de seal
Salida B
Interface de usuario (Teclado)
A L I M E N T A C I N
Pantalla
A = Abrir cerrar Control por ngulo de fase PWM 1 UPWM 1 B = PWM 2 UPWM 2
Como se observa en la figura 1, el Bloque Subsistema Analgico est compuesto a su vez por dos bloques. El primer bloque es el de reduccin de la seal a sincronizar, es decir, en esta etapa es en donde se va a utilizar un transformador el cual va a ser el encargado de reducir la seal de la lnea a un valor adecuado de 3.0volts, el segundo bloque es el detector de cruce por cero el cual se encargara de generar un pulso cada vez que la seal de la lnea cruce por cero. El bloque subsistema analgico esta enlazado al siguiente bloque que es el de Subsistema Digital dicho bloque a su vez esta compuesto de dos bloques, el primero de estos bloques es el de Procesado digital y control de la duracin de los pulsos aqu es en donde la seal que se obtuvo a la salida del detector entra al microcontrolador, el microcontrolador es programado para que manipule dicha seal y as genere en este caso cuatro tipos de pulsos diferentes, el siguiente bloque es el men selectivo tipo de seal, como su nombre lo dice este bloque es el que estar interactuando con el microcontrolador y por medio del cual se podr escoger el tipo de pulsos con el que se quiere trabajar. La pantalla estar conectada a la salida del men y va a ser el medio visual por el cual el usuario va a poder interactuar con el generador. La fuente de alimentacin es la encargada de alimentar a las etapas que componen este generador es por eso que se tendr que disear de acuerdo a las necesidades que se tengan.
2
CAPITULO I
CAPITULO I
Si se conecta un triac entre la fuente de corriente alterna y la carga, se puede controlar la potencia haciendo variar el valor RMS del voltaje de corriente alterna aplicado a la carga, y a este tipo de circuito de potencia se le llama controlador de voltaje de corriente alterna. Las aplicaciones ms comunes de los controladores de voltaje de corriente alterna son: calefaccin industrial, cambio de conexin de transformador con carga, controles de alumbrado, control de velocidad de motores y controles de electroimanes de corriente alterna. Para la transferencia de potencia se usan, en el caso normal, dos tipos de control: 1. Control de encendido-apagado 2. Control por ngulo de fase En el control de encendido apagado, los interruptores de triac conectan la carga a la fuente corriente alterna durante algunos ciclos de voltaje de entrada y lo desconectan durante algunos otros ciclos. En el control por ngulo de fase, los interruptores conectan a la carga con la fuente de corriente alterna durante una parte de cada ciclo de voltaje de entrada. Los controladores de voltaje de ca se pueden clasificar en dos tipos: 1) Control unidireccional o de media onda, y 2) Control bidireccional o de onda completa.
CAPITULO I
1.2.1 Funcionamiento
El circuito toma una muestra de la lnea de alimentacin, por medio de un transformador se puede reducir el voltaje de la lnea sin que la forma de onda sea afectada. La seal es introducida a dos amplificadores operacionales, en uno la seal de corriente alterna se aplica a la entrada no inversora del amplificador, mientras que en el segundo la seal se aplica a la entrada inversora del amplificador. La entrada restante de cada amplificador es conectada la seal de referencia de 0volts, la cual genera un pulso en el cruce del voltaje de suministro positivo con cero, para el caso del primer amplificador y un pulso en el cruce del voltaje de suministro negativo con cero volts. La salida de los amplificadores genera un pulso que es reducido en anchura hacindolo pasar por un integrador. Este pulso se aplica a la entrada positiva de otro amplificador. En la entrada inversora es aplicado un nivel de voltaje, de acuerdo al nivel que se tiene en esta entrada se puede retardar el pulso el ngulo que se desee. Se tienen dos pulsos: uno generado en el semiciclo positivo defasado grados y el otro generado en el semiciclo negativo defasado grados con respecto al cruce con cero. La compuerta OR hace que los pulsos de cada salida del amplificador se tengan en una sola, el pulso que corresponde al semiciclo negativo puede o no estar presente de acuerdo a la posicin de interruptor.
CAPITULO I
Un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para controlar el funcionamiento de una tarea determinada. Para esto, el microcontrolador utiliza muy pocos elementos asociados en su parte exterior. Una vez programado y configurado el microcontrolador, slo sirve para realizar la tarea asignada. En el mercado existe una gran variedad de microcontroladores con mltiples posibilidades y caractersticas. Cada tipo de microcontrolador sirve para una serie de casos y existe uno idneo para cada aplicacin requerida. En los ltimos aos han tenido un gran auge los microcontroladores PIC fabricados por Microchip Technology Inc. Los PIC (Peripheral Interface Controller) son una familia de microcontroladores que ha tenido gran aceptacin y desarrollo en los ltimos aos gracias a que sus buenas caractersticas, bajo precio, reducido consumo, pequeo tamao, gran calidad, fiabilidad y abundancia de informacin, lo convierten en una buena opcin para ser utilizado en la presente aplicacin.
1.3.1 Funcionamiento
El microcontrolador elegido para esta aplicacin es uno de los ms verstiles de los PIC: el PIC18F452, que se encuentra disponible en encapsulado del tipo DIL40. Normalmente el microcontrolador PIC18F452 se alimenta con 5 volts aplicados entre los pines VDD y VSS que son, respectivamente, la alimentacin y tierra del chip.
CAPITULO I
El consumo de corriente para el funcionamiento del microcontrolador depende de la tencin de alimentacin, de la frecuencia de trabajo y de las cargas que soportan sus puertos, siendo del orden de unos pocos miliamperios. El microcontrolador se comunica con el mundo exterior a travs de puertos. Estos estn constituidos por lneas digitales de entrada/salida que trabajan entre 0 y 5 volts los puertos se pueden configurar como entradas para recibir datos o como salidas para manejar dispositivos externos. Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, es el llamado oscilador o reloj. ste genera una onda cuadrada de alta frecuencia que se utiliza para sincronizar todas las operaciones del sistema. El circuito de reloj ms utilizado es el cristal de cuarzo que proporciona una frecuencia muy estable, para nuestro caso la frecuencia de trabajo de ste ser de 4MHz. El condensador debe de ir acompaado por dos capacitores de valor de 22pF.
Circuito bsico
La manera ms simple de construir un comparador consiste en conectar un amplificador operacional sin resistencias de realimentacin, como se ve en la Figura 1.4. Dada la alta ganancia de tensin en lazo abierto, un voltaje de
7
CAPITULO I
entrada positiva provoca una saturacin positiva, y un voltaje de entrada negativa provocara una saturacin negativa. El comparador de la figura 1.4 se conoce como detector de cruce por cero, ya que idealmente el voltaje de salida conmuta de alta a baja o viceversa cuando el voltaje de entrada pasa por el valor cero.
Si Vsat = 14 V, la oscilacin en la salida del comparador va aproximadamente de -14 a +14 V. Si la ganancia de tensin en lazo abierto es 100.000, el voltaje de entrada necesaria para producir saturacin tiene la siguiente expresin (ecuacion1):
Vin (min)
14 100.000
0.014mV
Lo que significa que una tensin de entrada ms positiva que +0,014mV lleva al comparador a una saturacin positiva, y un voltaje de entrada mas negativa que -0,014mV lleva a1 comparador a una saturacin negativa. Las tensiones de entrada de un comparador son normalmente muy superiores a 0.014mV. Por ello, la tensin de salida tiene dos estados, +V sat o -Vsat. Fijndonos en el voltaje de salida, podremos decir inmediatamente si el voltaje de entrada es mayor o menor que cero. Un detector de cruce por cero determina la transicin de una forma de onda (senoidal) de positiva a negativa, proporcionando un pulso que coincida exactamente con la condicin de voltaje cero y genere un estado alto cuando esto suceda y cuando se vuelva a repetir cambie al estado opuesto de manera peridica. 1.4.1 El LM339 El LM339 puede ser usado para ajustar simtricamente los ngulos correctos de una onda senoidal alrededor de cero volts mediante la incorporacin de una pequea cantidad de retroalimentacin positiva para mejorar el cambio de los tiempos y centrando la entrada de umbral a tierra (vase figura 1.5).
CAPITULO I
El divisor de voltaje entre R4 y R5 establece una referencia de voltaje V1, en la entrada positiva. Al hacer las resistencias en serie, R1 mas R2 igual a R5, la condicin de cambio, V1=V2, ser satisfecha cuando VIN=0. El resistor de retroalimentacin R6, esta hecho (fabricado) de un valor mucho mas grande con respecto a R5 (R6 = 2000 R5). El resultado establecido por esta red es muy pequeo (V 1 < 10mV), pero es suficiente para asegurar una rpida salida de transicin de voltaje. El Diodo D 1 se usado para asegurar que la terminal de inversin de entrada de la comparacin nunca caiga (disminuya) aproximadamente -100mV. Como la terminal de entrada es negativa, D1 tendr la misma direccin que el voltaje de control, haciendo un puente entre R1 y R2 a aproximadamente 700mV. Esto crea un divisor de voltaje con R2 y R3 previniendo que V2 vaya por debajo de tierra. El limite mximo de la entrada negativa esta limitada por la corriente de sostenimiento de D1. Las principales caractersticas con las cuales cuenta el LM339 son: Los voltajes con los cuales puede ser alimentado son: 2VDC a 36VDC o 1VDC o 18VDC Muy bajo suministro de corriente (100mA), independiente de voltaje de suministro. -
1.4.2 Simulacin
Se simulo el circuito que el fabricante del LM339 propone en sus hojas de especificaciones (figura 1.6) con el objetivo de comprobar su funcionamiento, utilizamos el simulador P-SPICE el cual nos da los resultados mostrados en la figura 1.7.
CAPITULO I
VCC VCC 5Vdc VCC
100k
100k
5.1k 2 OUT
D1N914
12
10k
5.1k
5.1k
VLM339
IN
20MEG
10
V+
OUT
CAPITULO I
Figura 1.9: (a) Circuito bsico del tristor. (b) Formas de onda del circuito
11
CAPITULO I
El circuito de la figura 1.9a es un controlador monofsico de media onda, y slo es adecuado para cargas resistivas de baja potencia, por ejemplo calefaccin alumbrado. Como el flujo de potencia se controla mediante el medio ciclo positivo del voltaje de entrada, a este tipo de control se le llama controlador unidireccional. El problema de la corriente directa en la entrada se puede evitar usando control bidireccional (o de onda completa) y en la figura 1.10 se muestra un control monofsico de onda completa con una carga resistiva. Durante el medio ciclo del voltaje positivo de entrada se controla el flujo de potencia haciendo variar en ngulo de retardo del tristor T1, y el tristor T2, controla el flujo de potencia durante el semiciclo negativo del voltaje de entrada. Los pulsos de disparo de T1 y T2 se mantienen con un defasamiento de 180. La figura 1.11 muestra las formas de onda del voltaje de entrada (Figura 1.11a), voltaje de salida (figura 1.11b) y seales de disparo para T1 (figura 1.11c) y T2 (figura 1.11d).
g1 T1
T2
VS
g2 RL
12
CAPITULO I
El generador de funciones diseado en el presente trabajo incluye la opcin de tener pulsos controlados por ngulo de fase sincronizados con la lnea de alimentacin y se tiene la opcin de tener pulsos tanto en el semiciclo positivo y en el negativo. Se puede eliminar el pulso que controla el semiciclo negativo de la seal de entrada para as controlar dispositivos unidireccionales. Para sincronizar los pulsos con la lnea de alimentacin se empleo el detector de cruce por cero mencionado en el tema 1.4.
13
CAPITULO I
Inicio
NO
Se Inicializan las variables Pulso.bajo = 1; Lee la entrada proveniente del detector y se le asigna a la variable temp retardo = 65535;
Si
Si se detecta un cambio de estado en del detector
While Infinito
Si
Si es un pulso positivo
Si NO
Escribe en el timer el valor de retardo
Si
Si se detecta un cambio de estado en del detector Asigna un nivel alto a la salida RB7 durante cierto tiempo (ancho de pulso)
Si
Escribe en el timer el valor de retardo Asigna un nivel bajo a la salida RB7 y Asigna el valor actual de RB7 para esperar el siguiente cambio de estado
NO
Asigna un nivel alto a la salida RB7 durante cierto tiempo (ancho de pulso)
Si
Salir y regresa al men principal
14
CAPITULO I
// Llamada a funcin, despliega en el // Pulso bajo encendido // RD entrada detector de cruce por // tiempo 0 de retardo por omisin
// Llamada a la funcin desplazamiento // Pasa pulso en pulso alto y bajo // Cambio de estado del detector
// Escribe en el timer0 el valor de // Espera a que finalice el conteo // La salida RB7 pasa a nivel alto // Ancho de pulso 10 microsegundos // La salida RB7 pasa a nivel bajo // Asigna el valor actual de RB7 para //esperar el siguiente cambio de estado
//Pasa pulso en pulso alto // Cambio de estado del detector // Solo pasan los semiciclos positivos
{}
15
CAPITULO I INTCONbits.TMR0IF = 0; WriteTimer0(retardo); while(INTCONbits.TMR0IF == 0) {} PORTBbits.RB7 = 1; Delay10TCYx(1); PORTBbits.RB7 = 0; temp = PORTBbits.RB7; } } if(PORTBbits.RB0 == 0) Menu(); } }
1.5.4 Graficas de los pulsos controlados por ngulo de fase, obtenidas en la simulacin (P-SPICE)
Las siguientes figuras muestran los resultados obtenidos en la simulacin. En las figuras 1.13, 1.14 y 1.15 se observan la seal de la lnea de entrada y los pulsos que genera el sistema en el semiciclo positivo con un pulso.
16
CAPITULO I
17
CAPITULO I
1.5.5 Graficas de los pulsos controlados por ngulo de fase obtenidas en laboratorio
Las siguientes figuras muestran los resultados obtenidos en el laboratorio, en la figura 1.16 se observan la seal de la lnea de entrada y los pulsos que genera el sistema tanto en el semiciclo positivo como en el negativo sin desplazamiento.
En la figura 1.17 se observan la seal de la lnea de entrada y los pulsos que genera el sistema nicamente en el semiciclo positivo sin desplazamiento.
En las figuras 1.18 a la 1.23 se observan la seal de la lnea de entrada y los pulsos que genera el sistema tanto en el semiciclo positivo como en el negativo a distintos ngulos de defasamiento.
18
CAPITULO I
19
CAPITULO I
20
CAPITULO I
Como se puede observar el desplazamiento de los pulsos se realiza de manera sencilla ya que en la interfaz del usuario se cuentan con dos botones; el primero desplaza el pulso a la izquierda mientras que el segundo lo desplaza a la derecha. El valor en tiempo y en ngulo de desplazamiento son mostrados en el LCD.
21
CAPITULO I
g1 T1
VS RL
22
CAPITULO I
23
CAPITULO I
Inicio
While infinito
Si
Eje cuta esta instruccin mientras que j<(n*2) (Nmero de pulsos en alto)
NO Si
Salir
NO Si NO
Si se detecta un cambio de estado en del detector
i=j
Si
Asigna un nivel alto a la salida RB7 durante cierto tiempo (ancho de pulso)
Cambia el nivel de RB7 a nivel bajo Asigna el valor actual de RB7 a temp para esperar el siguiente cambio de estado E incrementa en una unida a j Asigna el valor actual de RB7 para esperar el siguiente cambio de estado E incrementa en una unidad a i
NO
Si
Si
NO
24
CAPITULO I
CAPITULO I
Men(); } }
Figura 1.27: m = 1
Figura 1.28: m = 2
26
CAPITULO I
Figura 1.29: m = 3
Figura 1.30: m = 4
Figura 1.31: m = 5
27
CAPITULO I
Figura 1.32: m = 6
Figura 1.33: m = 7
28
CAPITULO I
Figura 1.34: m = 1
Figura 1.35: m = 2
29
CAPITULO I
Figura 1.36: m = 3
Figura 1.37: m = 4
30
CAPITULO I
Figura 1.38: m = 5
Figura 1.39: m = 6
31
CAPITULO I
Figura 1.40: m = 7
La seleccin de cada funcin se realiza por medio de dos botones que se encuentran en la parte frontal del generador, uno incrementa el valor de m, mientras que el segundo lo disminuye. La interfaz del usuario cuenta con un LCD que despliega el valor actual de m y n. El microcontrolador monitorea la activacin de dichos botones para realizar el cambio cada vez que son activados.
32
CAPITULO II
CAPITULO II
La modulacin por ancho de pulsos (PWM, de pulse-width modulation en ingls) es una tcnica en la que se modifica el ciclo de trabajo de una seal peridica. El ciclo de trabajo de una seal peridica es el ancho relativo de su parte positiva en relacin al perodo (ver figura 2.1).
D
Donde:
, es el ciclo de trabajo
CAPITULO II
La construccin tpica de un circuito PWM se lleva a cabo mediante un comparador con dos entradas y una salida. Una de las entradas se conecta a un oscilador de onda triangular, mientras que la otra queda disponible para la seal moduladora. En la salida la frecuencia es generalmente igual a la de la seal triangular y el ciclo de trabajo est en funcin de la portadora. La principal desventaja que presentan los circuitos PWM implementados con esta tcnica es la posibilidad de que haya interferencias generadas por radiofrecuencia. Estas pueden minimizarse mediante el uso de un microcontrolador ubicado cerca de la carga y realizando un filtrado de la fuente de alimentacin. La modulacin por ancho de pulsos es una tcnica utilizada para regular la velocidad de giro de los motores elctricos. Mantiene el par motor constante y no supone un desaprovechamiento de la energa elctrica. Se utiliza tanto en corriente continua como en alterna, como su nombre lo indica, al controlar: un momento alto (encendido o alimentado) y un momento bajo (apagado o desconectado), controlado normalmente por relevadores (baja frecuencia) o MOSFET o tiristores (alta frecuencia). Otros sistemas para regular la velocidad modifican la tensin elctrica, con lo que disminuye el par motor; o interponen una resistencia elctrica, con lo que se pierde energa en forma de calor en esta resistencia. Otra forma de regular el giro del motor es variando el tiempo entre pulsos modulacin por frecuencia de pulsos de duracin constante. La modulacin por ancho de pulsos tambin se usa para controlar servo motores, los cuales modifican su posicin de acuerdo al ancho del pulso enviado cada un cierto perodo que depende de cada servo motor. Esta informacin puede ser enviada utilizando un microcontrolador. Otra aplicacin utilizada frecuentemente es en los inversores, este tipo de circuitos tienen la capacidad de generar seales alternas a partir de seales continuas. Los inversores se utilizan en aplicaciones tales como controlar la velocidad de motores de corriente alterna, sistemas de alimentacin ininterrumpidas (UPS) y dispositivos de corriente alterna que funcionan a partir de bateras de automvil.
34
CAPITULO II
2.2.1 Funcionamiento
El circuito mostrado en la figura 2.2 los amplificadores U1, U2 y U3 se encargan de generar la onda triangular, por medio de la entrada no inversora del amplificador U3 se puede variar la frecuencia de la seal triangular. El amplificador operacional U4 funciona como comparador en donde en su terminal no inversora entra la seal triangular, mientras que en la terminal inversora entra la seal que proviene de un nivel de referencia de voltaje que se puede variar para obtener un uso a la salida con duracin tambin variable. El MOSFET conectado a la salida proporciona la potencia necesaria para alimentar a la carga. Se puede implementar un modulador por ancho de pulso por medio del C.I. 555, el circuito se basa en un potencimetro y dos diodos. La carga y descarga se realiza de manera independiente, pudiendo as cambiar el ancho de pulso manteniendo la frecuencia fija.
35
CAPITULO II
2.3.1 Funcionamiento
El microcontrolador dispone de rutinas de retardo que son tiles para procesos que no un estricto control de tiempos. Otro procedimiento ms eficaz y preciso consiste en la utilizacin de un timer. Un timer se implementa por medio de un contador que determina el tiempo preciso entre el momento en que el valor es cargado y el instante en el que se produce su desbordamiento. Un timer tpico se describe de manera simplificada en la figura 2.4. Consiste en un contador ascendente (tambin podra ser descendente) que, una vez inicializado con un valor, su contenido se incrementa con cada impulso hasta llegar a su valor mximo, desbordando y volviendo a comenzar de cero.
El principal problema cuando se configura el timer como temporizacin es el clculo de los tiempos de temporizacin. Se puede utilizar la siguiente formula (ecuacin 4): Temporizacin TCM Prescaler 216 1 CargaTMR0 4 Donde: Temporizacin, es el tiempo deseado TCM , es el periodo de un ciclo mquina ( 1 s para nuestro caso) Prescaler, es el rango de divisor de frecuencia elegido
36
CAPITULO II
216 1
TMR0 antes de desbordarse Se puede utilizar el timer para generar pulsos con tiempos de duracin muy precisas.
2.4.1 Planteamiento
En el control de modulacin por ancho de un solo pulso slo hay un pulso por cada medio ciclo, y se hace variar su ancho para controlar el voltaje de salida. La figura 2.5 muestra la generacin de las dos seales de control proporcionadas por el generador y el voltaje de salida al ser aplicados a un puente inversor completo.
37
CAPITULO II
VS d
VS
Se puede modificar el ancho del pulso salida de VO hasta VS . La serie de Fourier del voltaje de salida es
vO t
n
Debido a la simetra del voltaje de salida respecto al eje x, las armnicas pares (para n = 2, 4, 6) estn ausentes.
38
CAPITULO II
Inicio
While infinito
Si
Limpia bandera de desbordamiento Y Desactiva el puerto RB7 ponindolo en bajo durante el tiempo en bajo
Si
Activa el puerto RB6 con 1 durante el tiempo alto Salir y regresa al men principal
NO
Espera a que finalice el conteo del timer hasta llegar a cero
Si
Limpia bandera de desbordamiento Y Desactiva el puerto RB6 ponindolo en bajo durante el tiempo en bajo
Si
NO
39
CAPITULO II
El mximo ancho del pulso es la duracin de medio ciclo 8.33ms=8330 s . Se tom en cuenta una zona muerta de 10 s para evitar que los dos pulsos se activen al mismo tiempo y provocar un corto circuito en un inversor. El mximo tiempo alto queda (ver ecuacin 8):
CargaTMR0 65535 57215 216 1 Temporizacin TCM Prescaler
El timer se configura para trabajar como contador, a 16 bits y prescaler de 1. Los 8330 s del semiciclo son divididos en tiempo alto y tiempo bajo, se activa la salida RB5 y se carga el timer con tiempo alto, el timer se desborda y RB5 pasa a nivel bajo, permaneciendo as el tiempo en el que se activa RB6 y su respectivo tiempo bajo. El proceso se realiza peridicamente leyendo con una funcin si hay cambios en los tiempos. El programa regresa a la funcin principal del generador (men) al ser activada la entrada en RB2. RB0 decrementa el ancho del pulso, mientras que RB1 lo incrementa (ver cdigo 3).
Cdigo 3
void Cto_3() { Pantalla_Cto3(); tbajo = 57217; talto = 65525; while(1) { INTCONbits.TMR0IF = 0; Desplazamiento_3(); PORTBbits.RB7 = 1; WriteTimer0(talto); while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB7 = 0; WriteTimer0(tbajo);
// Llamada a funcin, despliega en el LCD //8318 us, mximo tiempo bajo //10 us, mnimo tiempo alto
// Lee el tiempo alto y bajo del pulso // Activa el pulso en RB7 //con duracion de tiempo alto // Espera a que finalice el conteo // Limpia la bandera de desbordamiento // Desactiva el pulso en RB7 // Duracin del tiempo bajo 40
CAPITULO II while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB6 = 1; WriteTimer0(talto); while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB6 = 0; WriteTimer0(tbajo); while(INTCONbits.TMR0IF == 0) de RB7 {} if(PORTBbits.RB0 == 0) Men(); RB0 } } // Activa el pulso en RB6 //con duracin de tiempo alto // Espera a que finalice el conteo // Limpia la bandera de desbordamiento // Desactiva el pulso en RB6 // Duracin del tiempo bajo //mas el tiempo de activacin y desactivacin //mas el tiempo de activacin y //desactivacin de RB6
2.4.4 Graficas del circuito Modulacin por ancho de pulso (PWM) obtenidas en laboratorio
Se realizaron las pruebas en el laboratorio obteniendo los resultados mostrados en las figuras de la 2.7 a la 2.9. Se muestran las dos salidas del PWM a los valores ms significativos del ancho de pulso.
41
CAPITULO II
Cuando se selecciona la tercera seal en el generador, por omisin el ancho de pulso aparece al valor mnimo (10 s), se puede ajustar el valor aumentando o disminuyendo el ancho de pulso por medio de dos botones. El valor actual de los pulsos se despliega en el LCD.
42
CAPITULO II
2.5.1 Planteamiento
Como puede observarse en la figura 2.7 existe una seal de referencia que establece la frecuencia de salida f O , y la frecuencia de la portadora f C determinada por la cantidad de pulsos p por cada medio ciclo. El ndice de modulacin controla el voltaje. La cantidad de pulsos por medio ciclo se determina con la ecuacin 9:
p
Donde m f
fC 2 fO
mf 2
Si es el ancho de cada pulso, el voltaje rms de salida se calcula con la ecuacin 10:
VO 2p 2
1 p p 2 2
VS d
VS
10
La variacin del ndice de modulacin M de 0 a 1 hace variar el ancho del pulso desde 0 hasta T 2 p 0a p , y al voltaje rms de salida de VO hasta VS , la forma general de la serie de Fourier para el voltaje instantneo de salida es (ver ecuacin 11):
43
CAPITULO II
vO t
n 1,3,5,...
Bn senn t
11
El coeficiente Bn de la ecuacin anterior se puede determinar considerando un par de pulsos tales que la duracin del pulso positivo comience en t y la del negativo, del mismo ancho comience en t . Esto se ve en la figura 2.10 se pueden combinar los efectos de todos los pulsos para obtener el voltaje efectivo de salida que se calcula con la ecuacin 12.
2p
Bn
m
3 4
senn
3 4
12
Debido a la simetra del voltaje de salida respecto al eje x, An armnicas pares (para n = 2, 4, 6) estn ausentes.
0 , y las
44
CAPITULO II
While infinito
Si
Oprimido el botn de salida?
NO For i=0;i<n;i++ Si
Asigna un nivel alto (1) al puerto RB7 y mantelo en ese estado durante X tiempo
NO For i=0;i<n;i++ Si
Asigna un nivel alto (1) al puerto RB6 y mantelo en ese estado durante X tiempo
Si
Asigna un nivel bajo (0) al puerto RB7 y mantelo en ese estado durante X tiempo
Si
Asigna un nivel bajo (0) al puerto RB6 y mantelo en ese estado durante X tiempo
Si
Si
45
CAPITULO II
Cdigo 4
void Cto_4() { Pantalla_Cto4(); LCD n = 3; while(1) { Desplazamiento_4(); for(i=0; i<n; i++) { PORTBbits.RB7 = 1; WriteTimer0(talto); while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB7 = 0; WriteTimer0(tbajo); while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; pulsos en RB6 } for(i=0; i<n; i++) { PORTBbits.RB6 = 1; WriteTimer0(talto); while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB6 = 0; WriteTimer0(tbajo); while(INTCONbits.TMR0IF == 0) {} duracin INTCONbits.TMR0IF = 0; RB7 } if(PORTBbits.RB0 == 0) Menu(); } }
// Duracin del tiempo bajo // En el ultimo pulso se suma la //duracin //de activacin y desactivacin de los
// Duracin del tiempo bajo // En el ultimo pulso se suma la //de activacin y desactivacin de los pulsos en
2.5.4 Graficas del circuito modulacin de varios pulsos uniformes (UPWM) obtenidas en la simulacin (P-SPICE)
Las figuras 2.12 a 2.14 muestran los diferentes valores para un UPWM con tres pulsos. La simulacin muestra una salida.
46
CAPITULO II
Las figuras 2.15 a 2.17 muestran los resultados obtenidos en las simulaciones para un UPWM con los valores ms relevantes de ancho de pulso.
47
CAPITULO II
Las figuras 2.18 a 2.20 muestran los resultados obtenidos para un UPWM con 7 pulsos por semiciclo y diferentes anchos de pulso, puede verse que la frecuencia debe de ser constante (60Hz).
48
CAPITULO II
49
CAPITULO II
2.5.5 Graficas del circuito modulacin de varios pulsos uniformes (UPWM) obtenidas en el laboratorio.
Las siguientes fotografas son el resultado de las mediciones realizadas en el laboratorio con un osciloscopio digital. Se muestran las dos salidas del generador. Las figuras 2.21 a 2.23 muestran el generador con 3 pulsos por semiciclo y valores 3 valores significativos de ancho de pulso.
50
CAPITULO II
Las figuras 2.24 a 2.26 muestran el generador UPWM con 5 pulsos. La seal tiene una frecuencia de 60Hz, pero el osciloscopio muestra la frecuencia de repeticin entre cada pulso del semiciclo.
51
CAPITULO II
Finalmente las figuras 2.27 a 2.29 muestran el UPWM con 7 pulsos y los valores de ancho de pulso manejados.
52
CAPITULO II
53
CAPITULO II
Adems de las tres posiciones de ancho mostradas para los UPWM, el generador es capaz de ajustar el ancho de pulso a cualquier valor intermedio entre el mnimo y mximo por medio de dos botones. El LCD despliega tanto el nmero de pulsos actual como su ancho.
54
CAPITULO III
Los dispositivos semiconductores utilizados en Electrnica de Potencia se pueden clasificar en tres grandes grupos, de acuerdo con el grado que tienen de control: 1. Dispositivos no controlados: en este grupo se encuentran los Diodos. Los estados de conduccin o cierre (ON) y bloqueo o abertura (OFF) dependen del circuito de potencia. Por tanto, estos dispositivos no disponen de ningn terminal de control externo. 2. Dispositivos semicontrolados: en este grupo se encuentran, dentro de la familia de los Tiristores, los SCR (Silicon Controlled Rectifier) y los TRIAC (Triode of Alternating Current). En ste caso su puesta en conduccin (paso de OFF a ON) se debe a una seal de control externa que se aplica en uno de los terminales del dispositivo, comnmente denominado puerta. Por otro lado, su bloqueo (paso de ON a OFF) lo determina el propio circuito de potencia. Es decir, se tiene control externo de la puesta en conduccin, pero no as del bloqueo del dispositivo. 3. Dispositivos totalmente controlados: en este grupo encontramos los transistores bipolares BJT (Bipolar Junction Transistor), los transistores de efecto de campo MOSFET (Metal Oxide Semiconductor Field Effect Transistor), los transistores bipolares de puerta aislada IGBT (Insulated Gate Bipolar Transistor) y los tiristores GTO (Gate Turn-Off Thyristor), entre otros.
Diodos de Potencia
Un diodo de potencia puede soportar tensiones inversas elevadas. Si se supera el valor de voltaje de ruptura especificado por el fabricante, el diodo puede llegar a destruirse por excesiva circulacin de corriente inversa y en definitiva, por excesiva disipacin de potencia.
55
CAPITULO III
Los diodos de potencia pueden llegar a soportar tensiones de ruptura de KiloVolts (KV), y pueden conducir corrientes de KiloAmperes (KA). Evidentemente, el tamao del diodo condiciona sus caractersticas elctricas, llegndose a tener diodos con tamaos del orden de varios cm 2. Los diodos de potencia se caracterizan porque en estado de conduccin, deben ser capaces de soportar una alta intensidad con una pequea cada de voltaje. En sentido inverso, deben ser capaces de soportar un fuerte voltaje negativo de nodo con una pequea intensidad de fugas.
3.2
Dispositivos semicontrolados
3.2.1 El SCR.
Un rectificador controlado de silicio (SCR) es un dispositivo de tres terminales usado para controlar corrientes altas para una carga. El smbolo esquemtico del SCR se presenta en la figura 3.1.
El SCR es un dispositivo unidireccional; deja pasar corriente en un solo sentido despus de que se haya aplicado una seal de control a su puerta. Realiza pues una rectificacin controlada. Sus principales aplicaciones son donde se requiere la regulacin de la corriente alterna, entre ellas, el control de velocidad de motores, la soldadura elctrica y la cantidad de iluminacin.
3.2.2 El TRIAC
El TRIAC se asemeja a dos SCR conectados en paralelo-inverso. El TRIAC puede encenderse mediante un pulso de corriente de compuerta y no requiere voltaje de ruptura para iniciar la conduccin. El TRIAC es capaz de conducir corriente en cualquier direccin cuando se le dispara a encendido dependiendo de la polaridad de sus terminales nodo y ctodo. As como el SCR, los TRIAC tambin se usan para controlar potencia promedio en una carga mediante el mtodo de control de fase.
56
CAPITULO III
3.3
3.3.1 El MOSFET
Los MOSFET son transistores controlados por voltaje. Ello de debe al aislamiento (xido de Silicio) de la puerta respecto al resto del dispositivo. Existen dos tipos bsicos de MOSFET, los de canal n y los de canal p, si bien en Electrnica de Potencia los ms comunes son los primeros, por presentar menores prdidas y mayor velocidad de conmutacin, debido a la mayor movilidad de los electrones con relacin a los agujeros. La familia de controladores de MOSFET proporciona seguridad, fcil uso y soluciones eficientes para la mayora de las aplicaciones que demandan controles de MOSFETs y IGBTs. Estos dispositivos pueden ser usados para el control de cargas capacitivas, resistivas e inductivas debido a que soportan picos de corriente altos, tienen tiempos de conmutacin rpidos y baja impedancia. Los niveles de entrada de voltaje TTL o CMOS se pueden usar para generar los niveles de voltaje necesarios a la salida. Los controladores de MOSFET son totalmente operativos con niveles de voltaje de alimentacin de hasta 30volts, estn disponibles en una gran variedad de rangos de temperatura, varias configuraciones (simples, dobles, cudruples) y con la opcin de salida invertida o no invertida. Disponen de circuitos de proteccin interna contra descargas electrostticas y condiciones de bloqueo. Estos productos son ideales para todas las aplicaciones que utilicen grandes MOSFETs o IGBTs tales como: fuentes de alimentacin conmutadas, control de motores, amplificadores conmutados clase-D, equipos de test automticos, sistemas de automocin, control de transformador de pulsos. Tambin se pueden utilizar en aplicaciones con transductores piezoelctricos, cables coaxiales, rels, solenoides, etc.
57
CAPITULO III
Debido a la inductancia de dispersin del motor, se genera un sobre pico en las terminales del TRIAC, ocasionado por esta inductancia que trata de mantener su corriente para apagarse el TRIAC. Para atenuar este sobre-pico se coloco el snubber formado por resistencia de 470ohms y el capacitor de 0.1F (ver figura 3.2). Para esto se tomo en cuenta la siguiente ecuacin (ecuacin 13): 13 Donde: Vdrm = Vd/dt = conmutacin. Voltaje pico repetitivo. Aplicacin del bloqueo de voltaje por tasa de
Esto valores dependen del dispositivo que se este utilizando y se pueden en encontrar en las hojas de especificaciones del fabricante del dispositivo. Vdrm = Vd/dt = 400Volts 5V/s para el 2N7063
Proponiendo un capacitor de 0.1F podemos encontrar la resistencia (ver ecuacin 14). 14 R = 505.6; Se aproximo este resultado a un valor comercial de 470 La figura 3.3 muestra la tensin aplicada a la carga con un ngulo de retardo de 90. Durante el ngulo de retraso el TRIAC no conduce, por lo que la carga no recibe tensin, luego se dispara (conduce) y la parte que falta para completar el semiciclo positivo es aplicada a la carga. Esto se repite para el semiciclo negativo. El control de los tiempos de disparo del TRIAC nos permite
58
CAPITULO III
regular la tensin aplicada a la carga observndose con esto que la velocidad del motor vara.
La figura 3.4 muestra la tensin aplicada a la carga as como el pulso que dispara el TRIAC a un ngulo de retraso de 90. Durante el ngulo de retraso el TRIAC no conduce, por lo que la carga no recibe tensin, luego se dispara (conduce) y la parte que falta para completar el semiciclo positivo es aplicada a la carga. Esto se repite para el semiciclo negativo. El control de los tiempos de disparo del TRIAC nos permite regular la tensin aplicada a la carga. Observndose con esto que la velocidad del motor vara.
59
CAPITULO III
La figura 3.5 muestra la tensin aplicada a la carga nicamente en el semiciclo positivo con un ngulo de retardo de 90. Durante el ngulo de retraso el TRIAC no conduce, por lo que la carga no recibe tensin, luego se dispara (conduce) y la parte que falta para completar el semiciclo positivo es aplicada a la carga. Como se observa esta forma de onda es muy semejante a la que proporciona el SCR a la carga, de esta manera se puede controlar por medio del generador si se desea que conduzca en el semiciclo negativo o no.
De manera visual se pudo comprobar que a medida que se aumentaba el ngulo de retraso al TRIAC el motor iba reduciendo su velocidad llegando a quedar en alto total a aproximadamente a un ngulo de 135cuando se tiene el control en el semiciclo positivo y negativo. Cuando nicamente se tena el control del semiciclo positivo llegaba a un alto total a aproximadamente 90 de retraso.
3.5 Operacin:
Como se haba mencionado los MOSFET son dispositivos que pueden ser usados para el control de cargas, para este caso como un interruptor. En la figura 3.6 se muestra la aplicacin que se le pueden dar al generador de pulsos en el modo de PWM. En la figura 3.7 se muestra el empleo de un comparador (LM339) y un transistor los cuales nos proporcionan un aislamiento y una adecuacin para no daar as al generador. El aislamiento es necesario
60
CAPITULO III
para el control adecuado de la etapa de inversin CD/CA. Esta etapa de adems de acoplar la seal tambin adecuara el voltaje que generador proporciona a un voltaje de 12volts para que con este voltaje poder saturar el MOSFET de potencia IRF510. El transistor BD135 es utilizado como inversor para invertir la seal y as tener dos seales por salida estas dos seales nos servirn para controlar los MOSFET.
61
El inversor en puente H completo est formado por 4 interruptores de potencia totalmente controlados MOSFETs, tal y como se muestra en la figura 3.6. A diferencia de los transistores bipolares, los transistores MOSFET poseen una resistencia entre Drenaje y Fuente (RDS) cuando son activados que rondan los 0.1ohms (dependiendo del modelo). Esto significa que en un ejemplo como el anterior y trabajando con una corriente de 4ampers estaramos perdiendo solo 0.4volts por transistor (0.8volts en total), lo cual representa una notable mejora en el rendimiento del puente. El voltaje aplicado en la carga (foco) puede ser de aproximadamente + 12, -12, 0, dependiendo del estado de los interruptores, en las figuras 4.8, 4.9 y 4.10 se muestra el voltaje aplicado a la carga (foco). En ste caso la tensin positiva en la carga (foco) se mantienen M1 y M4 conduciendo (M3 y M2 abiertos). La tensin negativa se obtiene de forma complementaria (M3 y M2 cerrados y M1 y M4 abiertos) y la tensin nula a la salida es manteniendo todos los interruptores abiertos durante cierto intervalo. La conmutacin peridica de la tensin de la carga entre + 12, - 12 y 0 genera en la carga (foco) una tensin con forma de onda cuasi-cuadrada. Aunque esta salida alterna no es senoidal pura, puede ser una onda de alterna adecuada para algunas aplicaciones. De manera visual se pudo observar que a medida que se aumentaba el ancho de pulso de control, el foco iba aumentando su intensidad luminosa.
Figura 3.8: Formas de onda de tensin en la carga (foco) del inversor en puente completo controlado por cancelacin de tensin (modulacin por onda casi-cuadrada), ancho del pulso de control al 15%.
62
CAPITULO III
Figura 3.9: Formas de onda de tensin en la carga (foco) del inversor en puente completo controlado por cancelacin de tensin (modulacin por onda casi-cuadrada) ancho del pulso de control al 50%.
Figura 3.10: Formas de onda de tensin en la carga (foco) del inversor en puente completo controlado por cancelacin de tensin (modulacin por onda casi-cuadrada) ancho del pulso de control al 90%.
63
CAPITULO IV
CAPITULO IV COSTOS
Costos de construccin del generador A continuacin se presenta el costo total de los materiales empleados en la construccin del generador.
Costo de los Materiales Empleados PRECIO DESCRIPCION CANTIDAD UNIDAD UNITARIO TOTAL microcontrolador PIC 18F452 1 pieza $21.73 $22.73 comparador LM339 1 pieza $3.48 $3.48 Pantalla de LCD 4X40 1 pieza $416.00 $416.00 Resistencias(diferentes valores) a 1/2 watt 20 piezas $0.44 $8.70 Capacitores 2 piezas $4.35 $8.70 Pushboton 4 piezas $6.96 $27.83 transformador 1 pieza $80.00 $80.00 Diodos 3 piezas $4.35 $13.04 clavija 1 pieza $5.00 $5.00 tablilla de cobre 1 cara 1 pieza $90.43 $90.43 Gabinete 1 pieza $100.00 $100.00 Base de 28 pines 1 pieza $3.20 $3.20 SUBTOTAL $779.11 IVA15% $116.87 TOTAL $895.97
64
CAPITULO V
CAPITULO V CONCLUSIONES
6.1 Conclusiones
Se ha conseguido disear y construir un sistema generador de seales capaz de proporcionar cuatro diferentes tipos de pulsos. Las seales proporcionadas pueden ser usadas para controlar dispositivos utilizados en la materia de electrnica de potencia, siendo de gran ayuda en dicho curso. Con lo anterior el objetivo general del proyecto queda cubierto. Pensando en las nuevas generaciones de alumnos, el presente proyecto tiene como finalidad ayudar a que el aprendizaje sea ampliado. La literatura relacionada con la materia de electrnica de potencia hace mencin de las seales que se necesitan para controlar los dispositivos, pero no se explica como generarlas. En la experiencia que se tuvo al cursar dicha materia se perdi mucho tiempo en el diseo y construccin de los circuitos. Con en el presente proyecto el alumno podr dedicarse a ver el funcionamiento de los dispositivos y enfocarse en las aplicaciones. Este trabajo nos permiti aprender ms acerca del uso, ventajas y desventajas de usar un microcontrolador en lugar de usar componentes analgicos, El programa se fue mejorando poco a poco hasta optimizarlo. Algunos problemas que se encontraron fueron, en una primera instancia con el subsistema analgico en el bloque del detector de cruce por cero ya que no habamos encontrado un circuito lo suficientemente exacto con el cruce por cero, la mayora de los circuitos que consultamos tenan errores es decir, que los pulsos que generaban lo hacan despus de cierto tiempo de haber cruzado por cero adems de que no eran simtricos. Otro problema que encontramos fue en el momento de realizar las primeras pruebas de la generacin de las dos primeras seales ya que el PIC en algunas ocasiones no detectaba la seal proveniente del detector de cruce por cero y esto se debi a que no habamos configurado el PIC para que detectara tanto flancos de subida como flancos bajada. Se realizaron pruebas para verificar el funcionamiento, las seales generadas pueden usarse en otras aplicaciones de acuerdo a las necesidades del usuario.
65
CAPITULO V
El manejo del generador se realizo con pocos botones, hacindolo muy fcil de utilizar, adems de incorporar un LCD que despliega la informacin de cada seal. Dos de los primeros pulsos estn sincronizados con la lnea y tienen una duracin en alto de 10s en cada semiciclo, tiempo suficiente para activar la compuerta del TRIC y del SCR. Los otros dos son pulsos modulados por anchura PWM y UPWM, y oscilan a una frecuencia de 60Hz, que es la frecuencia de lnea, lo cual permite realizar aplicaciones para manejar aparatos de corriente alterna. Tambin fue necesario disear una fuente de alimentacin que se adecuara a las necesidades de dicho sistema ya que se tenan que cumplir caractersticas especficas para que el sistema funcionara correctamente.
66
APENDICE A
67
APENDICE A
Wsec
En donde:
Wsecn Watts
Wsec Wseci
Potencia elctrica total eficaz del secundario Watts Potencia eficaz de cada secundarioi 1,2,3,..., n Watts
Wsec
Wsec1 Wsec2
68
APENDICE A
Wpri
1.2 12
14.4 Watts
El valor del 20% aplicado, corresponde al valor ms frecuente de prdidas en el hierro. Si deseamos redondear este valor calculado, escribimos el valor que queremos adoptar para la seccin del ncleo de hierro. Este ser el valor con que se continuar el clculo, ya que se trata de una aproximacin a las necesidades reales por exceso.
Wr
Especificaciones elctricas de partida
37 Watts
VALOR 37 60 120 9 3 1 1
ACLARACIN Potencia eficaz Frecuencia de trabajo Segunda tensin primaria Primera tensin secundaria
COMENTARIO Dato. Potencia real que se quiere obtener del transformador Dato. De la lnea de alimentacin Dato. Tensin nominal de alimentacin alternativa Dato. Primera tensin secundaria
Segunda tensin secundaria Dato. Segunda tensin secundaria. Primera corriente secundaria Datos. Corrientes secundarias. Segunda corriente secundaria
69
APENDICE A Notas Criterios de clculo ptimo Obedece a una determinada relacin ptima entre el peso de hierro y el peso del cobre. Corresponde a un hierro comn en servicio intermitente, (Tabla A.1). Unidad [cm ]
2
Flujo mximo
10000
Gauss
Densidad admisible
Para enfriamiento al aire, con una exigencia que podemos definir como ptima (Tabla A.2).
A/mm
[cm ]
2
cm cm
Flujo de induccin mximo [Gauss] Hierro comn 10000 13000 Hierro calidad 13000 15000
Se explica que las cifras para servicio intermitente sean menores porque se trata de reducir las prdidas en el hierro para aumentar las de cobre. Para frecuencias menores (25 Hz) los valores se refuerzan en un 10%. Tratado de Electricidad, Tomo II, 7ma. Edicin, Pg. 294, Francisco L. Singer Tabla A.1: Flujo de induccin mximo.
Tipo trafo Bobinado a aire Bao de aceite Bao de agua Aceite forzado Mejor
Densidad de corriente [A/mm2] Normal 1 1.5 2.5 2.5 3.5 Admisible 2 2.5 3 3.5 4
Los valores de B, D y Sh que adoptaremos para los clculos prximos son B = 10000 Gauss D = 2 A/mm2 Sh = 6 cm2
70
APENDICE A
Variable Sh = W= D=
Valor 6 37 2
Unidad cm
2
Detalle Seccin del ncleo de hierro Potencia elctrica total con prdidas Densidad de corriente admisible inicial Flujo mximo de induccin Frecuencia de clculo Prdidas en el hierro supuestas
Tablas vinculadas Seccin que aparecer en las prximas frmulas Potencia del PRIMARIO y TOTAL Densidad de corriente admisible Flujo mximo de induccin Frecuencia de 60Hz para nuestro pas. Prdidas en el Hierro (Tabla A.3)
Watts A/mm
2
Silicio [%] 0,5 a 0,8 0,8 a 1,2 2,4 a 3,0 3,5 a 4,5
Aplicaciones Para uso intermitente de mquinas y transformadores elctricos. Para uso intermitente de transformadores elctricos. Para uso normal, servicio permanente de transformadores elctricos. Uso normal, servicio permanente de grandes transformadores.
Valor de las prdidas (alfa) en el hierro a 10000 Gauss y 60 Hz. Mquinas Elctricas, Pg. 331, Wagner Tabla A.3: Perdidas en el Hierro
Sh a h y para una seccin cuadrada es: Sabemos que: a Sh 24.4949mm . Con este valor de a vamos a la Tabla de Chapas (Tabla A.4) y seleccionamos la Chapa: Chapa Nmero: 111
71
APENDICE A
Si observamos la tabla de chapas normalizadas, vemos que para esta Chapa, se tiene un ancho para la seccin central de valor a. Extraemos este valor (que ser el real en lo sucesivo) y calcularemos la altura de apilamiento de chapas hr, para cumplir con el rea Sh de clculo.
Ancho real de la rama central del ncleo Ancho real de la rama superior e inferior del ncleo Altura de apilamiento para cumplir con la seccin Sh reclamada, mediante clculos previos, para el ncleo h = Sh / a [mm] 23.622
Chapa Adoptada
111
a [mm] 25.4
br [mm] 12.7
cr [mm] 33.1
dr [mm] 12.7
La nueva altura de apilado (h), es calculada aqu considerando el nuevo ancho (a), justamente el correspondiente a la chapa adoptada.
APENDICE A
Con el a de la chapa entramos a la Tabla de Carretes (Tabla A.5) y seleccionamos el carrete: Carrete Nmero: 111
73
APENDICE A
A partir de esta expresin y sabiendo que Gauss y Sr en cm2, la formula nos queda:
E 2 2
m x
B S r , y cuando B esta en
N B S f 10
de donde deducimos
Nev
N E
2 107 [espiras/volts] 2 B Sr f
Si se agrupa las constantes numricas y origina esta otra expresin, ms cmoda y levemente corregida en forma experimental. Nos puede servir para comprar y controlar el otro valor calculado.
74
APENDICE A
N ev
Esto indica que ser necesario bobinar aproximadamente Nev vueltas de alambre, por cada voltio que se desarrolle, tanto en el primario como en el secundario. A estos valores calculados no es recomendable redondearlos, para no perder precisin en la cadena de evaluaciones posteriores. Adems es necesario aclarar que los valores (originados en los datos) involucrados en las frmulas aplicadas, son los que vienen siendo utilizados desde el principio. La expresin simplificada puede ser aplicada a un clculo ms rpido e intuitivo. Para tener ms precisin usaremos el primer valor. Determinacin de Nmero de Espiras del PRIMARIO y del SECUNDARIO El valor de Nev multiplicado por cada una de las tensiones del arrollamiento nos dar el nmero de espiras totales de cada uno de ellos. El nmero de espiras Nx, para el bobinado x responde a la expresin:
Nx
donde:
Nev Vx [Espiras]
Np
Ns 1
Nev Vp
Nev Vs 1 Nev Vs 2
597.4824
espiras
44.81118 14.93706
espiras espiras
Secundario
Ns 2
Si el transformador fuese una mquina ideal, la resistencia interna de sus conductores sera nula, y las frmulas anteriores estaran correctas. Este no es el caso. Hay que compensar esta prdida resistiva afectando a los valores anteriores con un coeficiente kc que se obtiene de la tabla vinculada. Si el transformador fuese una mquina ideal, la resistencia interna de sus conductores sera nula, y las frmulas anteriores estaran correctas. Este no es el caso. Hay que compensar esta prdida resistiva afectando a los valores anteriores con un coeficiente kc que se obtiene de la tabla vinculada.
75
APENDICE A
Entramos a la Tabla de Prdidas en el Cobre (Tabla A.6) y vemos que para nuestra potencia secundaria de 12 Watts, la constante Kc leda vale: Kc=1.25
7 1.3 10 1.25 15 1.2 68 1.1 75 1.09 100 1.08 120 1.07 180 1.06 250 1.05 700 1.03 1000 1.025 Revista Electro Gremio, Diciembre de 1990, Pg. 15 Tabla A.6: Perdidas en el cobre
Np 1r Ns 1r Ns 2r
k c Np l k c Ns 1 k c Ns 2
746.853
espiras
Secundario
56.013975 18.671325
espiras espiras
76
APENDICE A
D=2
y adoptamos
Dr = 1.5 A/mm2
Los valores de D resultan inferiores para arrollamientos dispuestos en varias capas, que para los de una sola capa y con buena refrigeracin. En otro sentido, esta seleccin se inclina por los valores ms bajos, cuando se trata de un servicio permanente del transformador. Una vez ejecutado el bobinado en base a estos valores de referencia, debe comprobarse si se cumplen las condiciones requeridas, por medio de un ensayo a plena carga (ver cuando calienta). La temperatura alcanzada por los arrollamientos -entonces-, no debe sobrepasar a la que se supone en los clculos, o las permitidas (o admisibles). En cualquier caso, siempre ser conveniente orientarse mejor consultando la tabla: Tabla de Densidades de Corriente Admisibles (Tabla A.2). Aplicaremos estas frmulas genricas para el clculo de las secciones y los dimetros en el cobre:
Ix Wx Ampers Vx
Unidad
S cx
Ix mm 2 D
cx
S cx
mm
Variable
I x Ampers
Corrientes calculadas en el primario. Las corrientes en el secundario son datos
S cx mm 2
Seccin del conductor en el arrollamiento x
cx
mm
p (primario) s (secundario)
Ip1 Is1 Is 2
0.308333 1 1
Scp1 Scs1
Scs2
cp1 cs1
cs 2
Con estos valores obtenidos, observamos en la Tabla de Conductores (Tabla A.7.a y A.7.b)
77
APENDICE A
78
APENDICE A
79
APENDICE A
De dichas tablas obtenemos los siguientes valores que son los que vamos a utilizar:
Con lectura automtica de la tabla [mm] Peso [g/Km] Longitud [m/Kg] Resistencia [ohm/m]
Diseo de la fuente
80
APENDICE A
Figura A.8: Relacin de voltaje pico aplicado con el voltaje de salida en circuitos de media onda con filtro capacitivo
Figura A.9. Relacin de voltaje pico aplicado con el voltaje de salida en circuitos de onda completa con filtro capacitivo
81
APENDICE A
Figura A.10: Relacin de corriente RMS y pico a promedio en un diodo en circuitos de entrada a capacito
82
APENDICE A
Volviendo a las figuras anteriores consideraremos el circuito de onda completa. La figura A.9, muestra que un circuito debe operar con CRL 10 a fin de mantener la reduccin de voltaje menor a 10% y CRL 40 para obtener una reduccin menor a 2.0%. Sin embargo, se vera que estas figuras de reduccin de voltaje requieren que RS/RL, donde RS es la resistencia serie total, sea de alrededor de 0.1% el cual, si es alcanzable, provoca relaciones de corriente repetitivas pico a promedio de 10 a 17 respectivamente, como se puede ver en la figura A.10. Estas relaciones se pueden satisfacer por muchos diodos; sin embargo, estos no pueden ser capaces de tolerar corrientes transitorias de encendido generadas cuando el capacitor de filtro es descargado y el primario del transformador es energizado con el pico de la forma de onda de entrada. El rectificador es entonces requerido para pasar una corriente transitoria determinada por el voltaje pico del secundario menos la cada de voltaje del rectificador y limitada solo por la resistencia serie RS. A fin de controlar esta corriente transitoria de encendido, se debe de proveer una resistencia adicional en serie con cada rectificador. Se hace evidente, entonces, que se debe de hacer un compromiso entre la reduccin de voltaje y la denominacin de transitorios del diodo por una parte y la capacidad de transporte de corriente por el otro lado. Si se requiere una disminucin pequea de voltaje, lo cual es una buena regulacin de voltaje, entonces es necesario un diodo mucho ms grande que el demandado por la corriente promedio especificada.
Corriente transitoria
El capacitor de filtro permite desarrollar una corriente transitoria grande, debido a que la fuga de inductancia en la reactancia del transformador es muy pequea. La corriente transitoria instantnea mxima es aproximadamente VM/RS y el capacitor se carga con una constante de tiempo = RSC1. Como una aproximacin checar, que la corriente transitoria no daara al diodo si VM/RS es menor que la corriente especificada para el diodo IFSM y si es menor que 8.3 ms. Es prudente que RS sea tan grande como sea posible y no perseguir una regulacin de voltaje estricta; por lo tanto no solo se reducirn los transitorios sino que las especificaciones para el transformador y el rectificador sern ms cercanas a los requerimientos para la fuente de CD.
Procedimiento de diseo
A) Del circuito regulador, conocemos: VC(DC) = voltaje de CD de salida promedio a plena carga del filtro. Vripple(pp) = voltaje de rizo pico a pico mximo sin carga. Vm = voltaje mximo de salida sin carga. IO = corriente de salida a plena carga del filtro. f = frecuencia de la lnea de CA.
83
APENDICE A
B) De la figura A.11, podemos determinar un rango de valores mnimos del capacitor para obtener una atenuacin de ripple suficiente. Primero determinamos rf. V ripple ( pp ) rf X 100 2 2VC (CD ) Podemos encontrar un rango para CRL en la figura A.11. C) A continuacin, determinamos el rango de RS/RL de la figura A.8 o A.9 usando VC(CD) y los valores para CRL encontrados en la parte B). Si el rango de valores de CRL determinados inicialmente de la figura A.11 son arriba de 10, RS/RL se puede encontrar en las figuras A.8 o A.9 usando el valor ms pequeo de CRL. De lo contrario, pueden ser necesarias algunas iteraciones de las figuras A.8, A.9 y B.11 antes de que se pueda encontrar una solucin exacta para RS/RL y CRL para una valor dado de rf y VC(DC)/Vm. D) Una vez que se encuentra CRL, se puede determinar el valor del capacitor de filtro (C) de:
C 2 (
CR L VC (CD ) Io
E) Ahora se pueden determinar los requerimientos del rectificador: 1. Corriente promedio por diodo: IF(avg) = IO para rectificacin de media onda IF(avg) = IO/2 para rectificacin de onda completa 2. Las especificaciones de corriente repetitiva del rectificador RMS y pico se pueden determinar de la figura A.10. 3. La especificacin PIV del rectificador es 2Vm para los circuitos de media onda y onda completa, Vm para el circuito tipo puente. Se debe de tener un margen de seguridad de 20% a 50% debido a los transitorios de la lnea de CA. 4. Corriente transitoria mxima, Isurge = Vm/(RS + ESR) donde, ESR = resistencia serie equivalente mnima del capacitor de filtro F) Especificaciones del transformador 1. Voltaje RMS en el secundario, VS = {Vm + (n)1.0} / 2 donde; n = 1 para media onda y onda completa n = 2 para el puente de onda completa
84
APENDICE A
2. Resistencia total del secundario y cualquier resistencia externa igual a Rs. 3. Corriente RMS del secundario; media onda = Irms onda completa = Irms (Ecuacin A.6) puente = Irms 2 donde, Irms = Corriente rms en el rectificador. 4. Denominacin VA del transformador; media onda = VSIrms onda completa = 2VSIrms puente = VsIrms(2) (Ecuacin A.7) donde, Irms = corriente rms en el rectificador. VS = voltaje en le secundario del transformador Para la fuente de alimentacin que se va a disear se va a utilizar una configuracin tipo puente con los siguientes parmetros: A) Especificaciones de la fuente de alimentacin: VC(DC) Vripple(pp Vm IO f B) Usando la ecuacin
rf Vripple ( pp ) 2 2VC (CD ) X 100% 0.5 X 100% 2 2(5) 7.21%
= = = = =
De la figura A.11, CRL 5 a 11 B) Usando CRL = 7, RS/RL se encuentra de la figura A.9 usando,
VC (CD ) Vm
5 0.5555 55.55% 9 Rs 35 % o Rl
Rs
(0.35) RL
0.35
VC (CD ) IO
1.75
85
APENDICE A
C 2 f
CR L VC (CD ) Io
7 2 (60)(5)
3713
E) Ahora podemos conocer las especificaciones del rectificador: 1. IF(avg) = IO/2= .5A. 2. IF(rms) = 1.7(IF(avg)) = 0.85A, usando la figura A.10. 3. IF(Peak) = 4 IF(avg) = 2A, usando la figura A.10. 4. PIV = Vm = 9 V 5. Isurge = Vm/(RS +ESR) 9/1.75 5.1428A, de A.11, despreciando ESR. F) El transformador deber de tener las siguientes caractersticas: 1. VS = {Vm + (n)1.0}/2 = (9 + 1)/ 2 =7.0710VRMS. 2. La resistencia del secundario deber de ser 1.75. 3. La corriente del secundario deber de ser 0.85A. 4. De la ecuacin 7 el transformador deber ser de 8.4999VA. Ahora que ya tenemos la fuente de alimentacin bsica solo necesitamos colocar los reguladores de voltaje para obtener los valores que necesitamos. Los valores de voltaje y la corriente que se requiere se muestran a continuacin: El transformador debe de tener un voltaje en el secundario de 9Vrms entregar una corriente en el secundario de 1A. El puente rectificador es de 1A. El capacitor de filtro que se calculo tiene un valor de 3713F, pero se usara un capacito de 4700F para tener un mejor filtrado. El regulador de voltaje utilizado es de la serie 78XX, en particular 7805, el cual pueden entregar una corriente de salida mxima de 1A. En la figura A.12 se muestra el circuito final de la fuente de alimentacin.
86
APENDICE B
// Bibliotecas utilizadas #include <p18f452.h> #include <delays.h> #include <timers.h> #include <LCD40X4.h> // Registros del PIC a utilizar // Rutinas de retardo // Rutinas del temporizador // Comandos del LCD a utilizar // Tipo de oscilador a cristal // Programacin a bajo voltaje deshabilitado // WDT deshabilitado // Prototipos de funciones
void Configura_Timer0(void); void BCD_ASCCII(unsigned long int); void Despliega_Valores1(void); void Despliega_Valores3(void); void Despliega_Valores4(void);
87
APENDICE B
void Desplazamiento_1(void); void Desplazamiento_2(void); void Desplazamiento_3(void); void Desplazamiento_4(void); void Pantalla_Seleccion(void); void Menu(void); void Pantalla_Cto1(void); void Pantalla_Cto2(void); void Pantalla_Cto3(void); void Pantalla_Cto4(void); void Cto_1(void); void Cto_2(void); void Cto_3(void); void Cto_4(void); unsigned long int tbajo, talto, retardo, resultado, grados; static unsigned char u1, d1, c1, m1, u2, d2, c2, m2; int Pulso_Bajo, temp, opcion; int i, j, m, n; rom char Cto1[14] = {'A','N','G','U','L','O',' ','D','E',' ', 'F','A','S','E'}, Cto2[12] = {'C','E','R','R','A','R','-','A','B','R','I','R'}, Cto3[11] = {'C','O','N','T','R','O','L',' ','P','W','M'}, Cto4[12] = {'C','O','N','T','R','O','L',' ','U','P','W','M'}, Op[17] = {'S','E','L','E','C','C','I','O','N','E',' ','O','P','C','I','O','N'}, Arriba[16] = {'M','O','V','E','R',' ','A','R','R','I','B','A',' ',' ',' ','>'}, Abajo[16] = {'M','O','V','E','R',' ','A','B','A','J','O',' ',' ',' ',' ','>'}, Selec[16] = {'S','E','L','E','C','C','I','O','N','A','R',' ',' ',' ',' ','>'}, Ret_ms[15] = {'R','E','T','A','R','D','O',' ',' ','0','.','0',' ','m','s'}, Ret_g[14] = {'R','E','T','A','R','D','O',' ',' ','0','.','0',' ',0xDF}, Ciclo[18] = {'P','U','L','S','O','S',' ','P','O','R',' ','C','I','C','L','O',' ','1'}, Regresar[13] = {'R','E','G','R','E','S','A','R',' ',' ', ' ',' ','>'}, Izquierda[17] = {'M','O','V','E','R',' ','I','Z','Q','U','I','E','R','D','A',' ','>'}, Derecha[16] = {'M','O','V','E','R',' ','D','E','R','E','C','H','A',' ',' ','>'}, N_Pulsos[13] = {'1','/','2',' ','P','U','L','S','O','S',' ',' ','>'}, Pulsosm[20] = {'C','I','C','L','O','S',' ','C','O','N',' ','P','U','L','S','O',' ','m','=','1'}, Pulsosn[20] = {'C','I','C','L','O','S',' ','S','I','N',' ','P','U','L','S','O',' ','N','=','7'}, Aumentar[15] = {'A','U','M','E','N','T','A','R',' ','m',' ',' ',' ',' ','>'}, Disminuir[15] = {'D','I','S','M','I','N','U','I','R',' ','m',' ',' ',' ','>'}, Ancho[14] = {'A','N','C','H','O',' ','D','E',' ','P','U','L','S','O'}, A_Ancho[16] = {'A','U','M','E','N','T','A','R',' ','A','N','C','H','O',' ','>'}, D_Ancho[17] = {'D','I','S','M','I','N','U','I','R',' ','A','N','C','H','O',' ','>'}, Pulsos[18] = {'P','U','L','S','O','S',' ','S','E','M','I','C','I','C','L','O',' ','3' }, Cambiar[20] = {'C','A','M','B','I','A','R',' ','P','U','L','S','O','S',' ','3','/','5','/','7'}, ms[6] = {'0','.','0',' ','m','s'}, grad[4] = {'0','.','0',' '}; void main(void)
88
APENDICE B
void Menu() { Pantalla_Seleccion(); // Llamada a funcin, despliega en el LCD opcion = 1; Comando1_LCD(DDRAM_L1 + 16); Dato1_LCD(0x7F); while(1) { while(PORTBbits.RB0 == 1 || // Detecta activacion de botones de control PORTBbits.RB1 == 1 || PORTBbits.RB2 == 1 ) { if(PORTBbits.RB1 == 1 && opcion < 4) // Incremeta el valor de opcion { while(PORTBbits.RB1 == 1) {} opcion++; } if(PORTBbits.RB2 == 1 && opcion > 1) // Decrementa el valor de opcion { while(PORTBbits.RB2 == 1) {} opcion--; } Comando1_LCD(DDRAM_L1 + 16); // Fija el despliegue de flechas if(opcion == 1) //indicadoras en el LCD Dato1_LCD(0x7F); else Dato1_LCD(' '); Comando1_LCD(DDRAM_L2 + 16); if(opcion == 2) Dato1_LCD(0x7F); else Dato1_LCD(' '); Comando2_LCD(DDRAM_L1 + 16); if(opcion == 3) Dato2_LCD(0x7F); else Dato2_LCD(' ');
89
APENDICE B
Comando2_LCD(DDRAM_L2 + 16); if(opcion == 4) Dato2_LCD(0x7F); else Dato2_LCD(' '); if(PORTBbits.RB0 == 1) { while(PORTBbits.RB0 == 1) {} if(opcion == 1) Cto_1(); if(opcion == 2) Cto_2(); if(opcion == 3) Cto_3(); if(opcion == 4) Cto_4(); } } } }
void Cto_1() { Pantalla_Cto1(); // Llamada a funcin, despliega en el LCD Pulso_Bajo = 0; // Pulso bajo encendido temp = PORTBbits.RB4; // RB4 // entrada detector de cruce por cero retardo = 65535; // tiempo 0 de retardo por omisin while(1) { while(Pulso_Bajo) // Pasa pulso en pulso alto y bajo { Desplazamiento_1(); // Llamada a la funcin desplazamiento while(temp != PORTBbits.RB4) // Cambio de estado del detector { INTCONbits.TMR0IF = 0; WriteTimer0(retardo); // Escribe en el timer0 el valor de retardo while(INTCONbits.TMR0IF == 0) // Espera a que finalice el conteo {} PORTBbits.RB7 = 1; // La salida RB7 pasa a nivel alto Delay10TCYx(1); // Ancho de pulso 10 microsegundos PORTBbits.RB7 = 0; // La salida RB7 pasa a nivel bajo temp = PORTBbits.RB4; // Asigna el valor actual de RB7 para } //esperar el siguiente cambio de estado if(PORTBbits.RB3 == 1) // Regresa al men cuando se oprime RB3 Menu(); } while(Pulso_Bajo == 0)
90
APENDICE B
{ Desplazamiento_1(); while(temp != PORTBbits.RB4) // Cambio de estado del detector { while(PORTBbits.RB4 == 0) // Solo pasan los semiciclos positivos {} INTCONbits.TMR0IF = 0; WriteTimer0(retardo); while(INTCONbits.TMR0IF == 0) {} PORTBbits.RB7 = 1; Delay10TCYx(1); PORTBbits.RB7 = 0; temp = PORTBbits.RB4; } if(PORTBbits.RB3 == 1) // Regresa al men cuando se oprime RB3 Menu(); } } } void Cto_2() { Pantalla_Cto2(); // Llamada a funcin, despliega en el LCD m = 1; // Asigna por omisin pulsos en 1 ciclo while(1) { Desplazamiento_2(); // Llama a la funcin que lee m n = 8 - m; // Asigna a n el valor 8 - n j = 0; // Asigna a j el valor 0 para empezar el conteo while(j<(m*2)) // Ciclo de pulsos activos m { while(temp != PORTBbits.RB4) // Cambio de estado { PORTBbits.RB7 = 1; // Se activa RB7 Delay10TCYx(5); // Ancho de pulso 10 microsegundos PORTBbits.RB7 = 0; // Se desactiva RB7 temp = PORTBbits.RB4; // Asigna el valor actual de RB4 para j++; //esperar el siguiente cambio de estado } // Incrementa el contador } i=j; while(i<16) // Cuenta desde pulsos altos hasta terminar los 8 ciclos while(temp != PORTBbits.RB4) // Cambio de estado { temp = PORTBbits.RB4; //Asigna el valor actual de RB7 para i++; //esperar el siguiente cambio de estado } //pero no manda pulso if(PORTBbits.RB3 == 1) // Regresa al men cuando se oprime RB0
91
APENDICE B
Menu(); } } void Cto_3() { Pantalla_Cto3(); // Llamada a funcin, despliega en el LCD tbajo = 57217; //8318 us, mximo tiempo bajo talto = 65525; //10 us, mnimo tiempo alto while(1) { INTCONbits.TMR0IF = 0; Desplazamiento_3(); // Lee el tiempo alto y bajo del pulso PORTBbits.RB7 = 1; // Activa el pulso en RB7 WriteTimer0(talto); //con duracin de tiempo alto while(INTCONbits.TMR0IF == 0) // Espera a que finalice el conteo {} INTCONbits.TMR0IF = 0; // Limpia la bandera de desbordamiento PORTBbits.RB7 = 0; // Desactiva el pulso en RB7 WriteTimer0(tbajo); // Duracin del tiempo bajo while(INTCONbits.TMR0IF == 0) //mas el tiempo de activacin y desactivacion de RB6 {} INTCONbits.TMR0IF = 0; PORTBbits.RB6 = 1; // Activa el pulso en RB6 WriteTimer0(talto); //con duracin de tiempo alto while(INTCONbits.TMR0IF == 0) // Espera a que finalice el conteo {} INTCONbits.TMR0IF = 0; // Limpia la bandera de desbordamiento PORTBbits.RB6 = 0; // Desactiva el pulso en RB6 WriteTimer0(tbajo); // Duracin del tiempo bajo while(INTCONbits.TMR0IF == 0) //mas el tiempo de activacin y desactivacion de RB7 {} if(PORTBbits.RB3 == 1) Menu(); // Regresa al men cuando se oprime RB0 } } void Cto_4() { Pantalla_Cto4(); m = 1; n = 3; talto = 65525; tbajo = 62760; while(1) {
92
APENDICE B
Desplazamiento_4(); // Lee el ancho de los pulsos for(i=0; i<n; i++) // n = 3,5 o 7 pulsos por semiciclo { PORTBbits.RB7 = 1; WriteTimer0(talto); while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB7 = 0; WriteTimer0(tbajo); while(INTCONbits.TMR0IF == 0) // Duracin del tiempo bajo {} // En el ultimo pulso se suma la duracin INTCONbits.TMR0IF = 0; //de activacin y desactivacin de los pulsos en RB6 } for(i=0; i<n; i++) // n = 3,5 o 7 pulsos en RB6 { PORTBbits.RB6 = 1; WriteTimer0(talto); // Anchura de los pulsos while(INTCONbits.TMR0IF == 0) {} INTCONbits.TMR0IF = 0; PORTBbits.RB6 = 0; WriteTimer0(tbajo); while(INTCONbits.TMR0IF == 0) // Duracin del tiempo bajo {} // En el ultimo pulso se suma la duracin INTCONbits.TMR0IF = 0; //de activacin y desactivacin de los pulsos en RB7 } if(PORTBbits.RB3 == 1) Menu(); // Regresa al men cuando se oprime RB0 } } void Desplazamiento_1() { if(PORTBbits.RB0 == 1) // Activado RB0? { while(PORTBbits.RB0 == 1) {} Pulso_Bajo = ~Pulso_Bajo; // Complemento 0 a 1 1 a 0 Comando2_LCD(DDRAM_L2+18); // Posiciona el cursor del LCD if(Pulso_Bajo == 0) // Opcin actual Dato2_LCD('1'); // Despliega en el LCD else Dato2_LCD('2'); //la opcin } if(PORTBbits.RB1 == 1) // Activado RB1? { if(retardo > 57215) // Retardo menor a 8.33 ms? retardo-=20; // incrementa retardo
93
APENDICE B
void Desplazamiento_2() { if(PORTBbits.RB2 == 1) // RB1 activado? { while(PORTBbits.RB2 == 1) {} if(m < 8) // Si m es menor a 8 m++; //incrementa m Comando1_LCD(DDRAM_L2+19); Dato1_LCD(0x30+m); Comando2_LCD(DDRAM_L1+19); Dato2_LCD(0x38-m); } if(PORTBbits.RB1 == 1) // RB2 activado? { while(PORTBbits.RB1 == 1) {} if(m > 1) // Si m es mayor a 1 m--; // Decrementa m Comando1_LCD(DDRAM_L2+19); Dato1_LCD(0x30+m); Comando2_LCD(DDRAM_L1+19); Dato2_LCD(0x38-m); } } void Desplazamiento_3() { if(PORTBbits.RB1 == 1) { if(talto > 65525) { talto = 57217; tbajo = 65525; BCD_ASCCII(talto); Despliega_Valores3(); }
94
APENDICE B
talto+=20; tbajo-=20; BCD_ASCCII(talto); Despliega_Valores3(); } if(PORTBbits.RB2 == 1) { if(talto < 57217) { talto = 65525; tbajo = 57217; BCD_ASCCII(talto); Despliega_Valores3(); } talto-=20; tbajo+=20; BCD_ASCCII(talto); Despliega_Valores3(); } }
void Desplazamiento_4() { if(PORTBbits.RB0 == 1) { while(PORTBbits.RB0 == 1) {} m++; if(m==4) m=1; if(m == 1) { n = 3; Comando2_LCD(DDRAM_L2+17); Dato2_LCD(0x33); talto = 65525; tbajo = 62760; } if(m == 2) { n = 5; Comando2_LCD(DDRAM_L2+17); Dato2_LCD(0x35); talto = 65525; tbajo = 63880; } if(m == 3) { n = 7;
95
APENDICE B
Comando2_LCD(DDRAM_L2+17); Dato2_LCD(0x37); talto = 65525; tbajo = 64346; } } if(PORTBbits.RB2 == 1) { if(n == 3) { if(talto > 65525) { talto = 65525; tbajo = 62760; BCD_ASCCII(talto); Despliega_Valores4(); } talto+=10; tbajo-=10; BCD_ASCCII(talto); Despliega_Valores4(); } if(n == 5) { if(talto > 65525) { talto = 65525; tbajo = 63880; BCD_ASCCII(talto); Despliega_Valores4(); } talto+=10; tbajo-=10; BCD_ASCCII(talto); Despliega_Valores4(); } if(n == 7) { if(talto > 65525) { talto = 65525; tbajo = 64346; BCD_ASCCII(talto); Despliega_Valores4(); } talto+=10; tbajo-=10; BCD_ASCCII(talto); Despliega_Valores4();
96
APENDICE B
} } if(PORTBbits.RB1 == 1) { if(n == 3) { if(talto < 62760) { talto = 65525; tbajo = 62760; BCD_ASCCII(talto); Despliega_Valores4(); } talto-=10; tbajo+=10; BCD_ASCCII(talto); Despliega_Valores4(); } if(n == 5) { if(talto < 63880) { talto = 65525; tbajo = 63880; BCD_ASCCII(talto); Despliega_Valores4(); } talto-=10; tbajo+=10; BCD_ASCCII(talto); Despliega_Valores4(); } if(n == 7) { if(talto < 64346) { talto = 65525; tbajo = 64346; BCD_ASCCII(talto); Despliega_Valores4(); } talto-=10; tbajo+=10; BCD_ASCCII(talto); Despliega_Valores4(); } } }
97
APENDICE B
void Configura_Timer0() { WriteTimer0(57217); de prueba INTCONbits.TMR0IF = 0; desbordamiento OpenTimer0 (TIMER_INT_OFF& T0_16BIT & T0_SOURCE_INT & T0_EDGE_FALL & T0_PS_1_1); T0CONbits.TMR0ON=1; }
// Interrupciones apagadas // Formato de 16 bits // Fuente interna Fosc/4 // Flanco de bajada // Preescaler de 1
void BCD_ASCCII(unsigned long int retardo) { resultado = 65535 - retardo; grados = (1800*resultado)/8330; u1 = 0x30 + resultado % 10; // Unidades resultado /= 10; d1 = 0x30 + resultado % 10; // Decenas resultado /= 10; c1 = 0x30 + resultado % 10; // Centenas resultado /= 10; m1 = 0x30 + resultado % 10; // Unidades de millar u2 = 0x30 + grados % 10; // Unidades grados /= 10; d2 = 0x30 + grados % 10; // Decenas grados /= 10; c2 = 0x30 + grados % 10; // Centenas grados /= 10; m2 = 0x30 + grados % 10; // Unidades de millar } void Despliega_Valores1() { Comando1_LCD(DDRAM_L2+10); Dato1_LCD(m1); Dato1_LCD('.'); Dato1_LCD(c1); Dato1_LCD(d1); Comando2_LCD(DDRAM_L1+11); Dato2_LCD(m2); Dato2_LCD(c2); Dato2_LCD(d2); } void Despliega_Valores3() {
98
APENDICE B
Comando2_LCD(DDRAM_L1+8); Dato2_LCD(m1); Dato2_LCD('.'); Dato2_LCD(c1); Dato2_LCD(d1); Comando2_LCD(DDRAM_L2+9); Dato2_LCD(m2); Dato2_LCD(c2); Dato2_LCD(d2); } void Despliega_Valores4() { Comando2_LCD(DDRAM_L1+2); Dato2_LCD(m1); Dato2_LCD('.'); Dato2_LCD(c1); Dato2_LCD(d1); Comando2_LCD(DDRAM_L1+12); Dato2_LCD(m2); Dato2_LCD(c2); Dato2_LCD(d2); } void Pantalla_Seleccion() { Comando1_LCD(CLEAR); Comando2_LCD(CLEAR); Comando1_LCD(DDRAM_L1); for(i = 0; i < 14; i++) { Dato1_LCD(Cto1[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2); for(i = 0; i < 12; i++) { Dato1_LCD(Cto2[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1); for(i = 0; i < 11; i++) { Dato2_LCD(Cto3[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L2); for(i = 0; i < 12; i++) {
99
APENDICE B
Dato2_LCD(Cto4[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L1+23); for(i = 0; i < 17; i++) { Dato1_LCD(Op[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+24); for(i = 0; i < 16; i++) { Dato1_LCD(Arriba[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+24); for(i = 0; i < 16; i++) { Dato2_LCD(Abajo[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L2+24); for(i = 0; i < 16; i++) { Dato2_LCD(Selec[i]); Delay1TCY(); } } void Pantalla_Cto1() { Comando1_LCD(CLEAR); Comando2_LCD(CLEAR); Comando1_LCD(DDRAM_L1+1); for(i = 0; i < 14; i++) { Dato1_LCD(Cto1[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+2); for(i = 0; i < 15; i++) { Dato1_LCD(Ret_ms[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+2); for(i = 0; i < 14; i++) { Dato2_LCD(Ret_g[i]); Delay1TCY();
100
APENDICE B
} Comando2_LCD(DDRAM_L2+1); for(i = 0; i < 18; i++) { Dato2_LCD(Ciclo[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L1+27); for(i = 0; i < 13; i++) { Dato1_LCD(Regresar[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+23); for(i = 0; i < 17; i++) { Dato1_LCD(Izquierda[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+24); for(i = 0; i < 16; i++) { Dato2_LCD(Derecha[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L2+27); for(i = 0; i < 13; i++) { Dato2_LCD(N_Pulsos[i]); Delay1TCY(); } } void Pantalla_Cto2() { Comando1_LCD(CLEAR); Comando2_LCD(CLEAR); Comando1_LCD(DDRAM_L1+3); for(i = 0; i < 12; i++) { Dato1_LCD(Cto2[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2); for(i = 0; i < 20; i++) { Dato1_LCD(Pulsosm[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1);
101
APENDICE B
for(i = 0; i < 20; i++) { Dato2_LCD(Pulsosn[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L1+27); for(i = 0; i < 13; i++) { Dato1_LCD(Regresar[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+25); for(i = 0; i < 15; i++) { Dato1_LCD(Aumentar[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+25); for(i = 0; i < 15; i++) { Dato2_LCD(Disminuir[i]); Delay1TCY(); } } void Pantalla_Cto3() { Comando1_LCD(CLEAR); Comando2_LCD(CLEAR); Comando1_LCD(DDRAM_L1+4); for(i = 0; i < 11; i++) { Dato1_LCD(Cto3[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+3); for(i = 0; i < 14; i++) { Dato1_LCD(Ancho[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+9); for(i = 0; i < 6; i++) { Dato2_LCD(ms[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L2+9); for(i = 0; i < 4; i++) {
102
APENDICE B
Dato2_LCD(grad[i]); Delay1TCY(); } Dato2_LCD(0xDF); Comando1_LCD(DDRAM_L1+27); for(i = 0; i < 13; i++) { Dato1_LCD(Regresar[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+24); for(i = 0; i < 16; i++) { Dato1_LCD(A_Ancho[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+23); for(i = 0; i < 17; i++) { Dato2_LCD(D_Ancho[i]); Delay1TCY(); } } void Pantalla_Cto4() { Comando1_LCD(CLEAR); Comando2_LCD(CLEAR); Comando1_LCD(DDRAM_L1+3); for(i = 0; i < 12; i++) { Dato1_LCD(Cto4[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+3); for(i = 0; i < 14; i++) { Dato1_LCD(Ancho[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+3); for(i = 0; i < 6; i++) { Dato2_LCD(ms[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+12); for(i = 0; i < 4; i++) { Dato2_LCD(grad[i]);
103
APENDICE B
Delay1TCY(); } Dato2_LCD(0xDF); Comando2_LCD(DDRAM_L2); for(i = 0; i < 18; i++) { Dato2_LCD(Pulsos[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L1+27); for(i = 0; i < 13; i++) { Dato1_LCD(Regresar[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L1+24); for(i = 0; i < 16; i++) { Dato2_LCD(A_Ancho[i]); Delay1TCY(); } Comando1_LCD(DDRAM_L2+23); for(i = 0; i < 17; i++) { Dato1_LCD(D_Ancho[i]); Delay1TCY(); } Comando2_LCD(DDRAM_L2+20); for(i = 0; i < 20; i++) { Dato2_LCD(Cambiar[i]); Delay1TCY(); } }
104
APENDICE C
105
APENDICE C
106
APENDICE C
107
APENDICE C
108
APENDICE C
109
APENDICE C
110
APENDICE C
111
APENDICE C
112
BIBLIOGRAFIA
BIBLIOGRAFIA
Autor: Malvino, Albert Paul Titulo: Principios de Electrnica Editorial: Mcgraw Hill De Mxico ISBN: 84-481-5619-0 Edicin: 6 No. de pginas: 1126 Idioma: Espaol Autor: Boylestad Nashelsky Titulo: Electrnica: teora de circuitos y dispositivos electrnicos Editorial: Prentice Hall ISBN: 970-26-0436-2 Edicin: 8 No. de pginas: 1020 Idioma: Espaol Autor: Muhammad H. Rashid Titulo: Electrnica de Potencia Editorial: Prentice Hall ISBN: 970-26-0532-6 Edicin: 3 No. de pginas: 878 Idioma: Espaol
Autor: Neil Storey Titulo: Electrnica de los Sistemas a los Componentes Editorial: Addison Wesley Iberoamericana ISBN: 0-201-62572-5 Edicin: 1 No. de pginas: 650 Idioma: Espaol
Autor: R. V. Honorat Titulo: Dispositivos Electrnicos de Potencia Editorial: Paraninfo ISBN: 84-283-2218-3 Edicin: 1 No. de pginas: 374 Idioma: Espaol
113
BIBLIOGRAFIA
Autor: Usategui, A. Titulo: MICROCONTROLADORES PIC Editorial: internal. Thomson edrs. SA CV ISBN: 84-9732-199-5 Edicin: 1 No. de pginas: 105 Autor: Jose Maria Angulo Titulo: MICROCONTROLADORES PIC Editorial: McGraw Hill / Interamericana de Espaa ISBN: 9788448156473 Edicin: 3 No. de pginas: 357 Idioma: Espaol
114