Sunteți pe pagina 1din 121

INSTITUTO POLITCNICO NACIONAL ESCUELASUPERIORDEINGENIERIAMECANICAYELECTRICA

UNIDADPROFESIONALADOLFOLPEZMATEOS

GENERADOR DE SEALES PARA CIRCUITOS DE ELECTRNICA DE POTENCIA


T E S I S

QUE PARA OBTENER EL TTULO DE: INGENIERO EN COMUNICACIONES Y ELECTRNICA

PRESENTAN:

CRUZ CUEVAS JENNYFER MONTESINOS DE LA ROSA EDGAR ENRIQUE SANTANA ROBLES JONATHAN

ASESORES:

ING. MAURICIO SANCHEZ RAMOS M. EN C. JOS OSCAR PATLN FRAUSTO

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.

Edgar Enrique Montesinos de la Rosa

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.

Jennyfer Cruz Cuevas

El ignorante afirma, el sabio duda y reflexiona. Aristteles

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 IV COSTOS 4.1 Costos 64

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

A continuacin se presenta un diagrama a bloques del sistema completo (figura 1).

SUBSISTEMA ANALOGICO

SUBSISTEMA DIGITAL

Salida A

Reduccin de voltaje de la seal a sincronizar

Detector de cruce por cero

Procesado digital y control de la duracin de los pulsos Men selectivo tipo de seal

Hacia la etapa de potencia

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

Figura 1: Diagrama a bloques del generador de funciones

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 CIRCUITO GENERADOR DE PULSOS VARIABLES EN ELTIEMPO


1.1 Introduccin
Los dispositivos semiconductores de potencia dependen ampliamente de la forma en que el circuito de control excita su disparo para obtener la salida deseada. Por consiguiente, las caractersticas del circuito de control deben ajustarse a los requerimientos de disparo del dispositivo. La familia de tristores: rectificadores controlados de silicio (SCR), El trodo de corriente alterna (TRIAC), interruptor controlado en compuerta (GTO), etc. son disparados por un pulso de corriente con un defasamiento adecuado con respecto a la seal sinusoidal de alimentacin. El propsito de este circuito es generar los pulsos de corriente necesarios para el control de fase de disparo de la familia de los tristores, teniendo en cuenta que deben estar sincronizados con la seal de alimentacin (figura 1.1)

Figura 1.1: Forma de onda de la seal de corriente alterna (ca).

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.

1.2 Circuito generador de pulsos con componentes analgicos y digitales.


Se pueden obtener pulsos variables en el tiempo por medio del circuito mostrado en la figura 1.2. El circuito se basa en amplificadores operacionales usados como comparadores de voltaje.

Figura 1.2: Circuito generador de pulsos con componentes analgicos

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.

1.2.2 Ventajas y desventajas


Entre las ventajas de utilizar un circuito generador de pulsos variables en el tiempo con componentes analgicos es la sencillez del mismo, el mnimo uso de componentes y por consiguiente un bajo costo. Al ser un circuito en el cual el ngulo al que se desea tener los pulsos se selecciona de manera analgica, este es inestable, debido a la conversin que se requiere, algunos pulsos estarn ubicados un poco antes del nivel de referencia mientras que otros estarn ubicados un poco despus de pasar el nivel de voltaje fijado por la resistencia variable.

1.3 Circuito generador de pulsos con microcontrolador


Se pueden obtener pulsos variables en el tiempo por medio del circuito mostrado en la figura 1.3. El circuito se basa en el uso de un microcontrolador el cual es programado para generar las cuatro seales de este trabajo.

CAPITULO I

Figura 1.3: Circuito generador de pulsos con un microcontrolador

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.

1.3.2 Ventajas y desventajas


Entre las ventajas de usar un microcontrolador en vez de componentes analgicos es la reduccin del circuito ya que este rene en un solo integrado, memoria de programa, memoria de datos y puertos de entrada/salida. Adems de la reduccin de los costos, en este caso los pulsos estn ubicados en el nivel de referencia. El manejo de los retardos se hace de manera digital, lo cual hace que sea mas preciso, adems de tener bajo consumo de energa. Una desventaja del microcontrolador es que se pueden tener tiempos demasiado largos de ejecucin de programa, esto puede mejorarse realizando el programa de manera estructurada para optimizar su funcionamiento.

1.4 Detector de cruce por cero


El detector de cruce por cero es esencial ya que es el encargado de generar un pulso cada vez que la seal de la lnea cruza por cero

Comparadores con punto de conmutacin en cero


En ocasiones se quiere analizar dos voltajes para determinar cual de los dos es el mayor. En esta situacin, un comparador puede ser la solucin perfecta. Este circuito tiene dos terminales de entrada (inversor y no inversor) y un terminal de salida. Es diferente a los circuitos lineales con amplificadores operacionales, ya que existen dos estados en la salida, dependiendo de si la tensin es alta o baja. Por esta razn, los comparadores son comnmente usados como conexin entre circuitos analgicos y digitales.

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.

Figura 1.4: Comparador

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

Figura. 1.5: Detector de cruce por cero

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

VOFF = 0 VAMPL = 4.25 FREQ = 60

D1N914

12
10k

5.1k

5.1k

VLM339

IN

20MEG

Figura 1.6: Diagrama detector de cruce por cero (P-SPICE)

Figura 1.7: Grafica resultante (Cruce por Cero)

En la figura 1.8 se muestran los resultados al armar y probar el circuito propuesto.

10

V+
OUT

CAPITULO I

Figura 1.8: Fotografa obtenida en el laboratorio

1.5 Pulsos controlados por ngulo de fase 1.5.1 Planteamiento


El principio de control por ngulo de fase se puede explicar tomando como referencia la figura 1.9a. El flujo de potencia a la carga se controla retrasando el ngulo de disparo del tiristor T1 y la forma de onda para los voltajes de entrada, de salida y la corriente de disparo en la compuerta del tristor se muestran en la figura 1.9b.

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

Figura 1.10: Control monofsico de onda completa

Figura 1.11: Formas de onda en control monofsico de onda completa

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.

1.5.2 Diagrama de flujo


Los pasos principales que realiza el diagrama de flujo son los siguientes: En primera instancia el programa va a estar leyendo continuamente lo que el detector de cruce por cero manda a la terminal de entrada del pin RB0 despus de haber detectado uno de dos posibles valores (0,1) se realiza un retardo por medio del timer de valor x inmediatamente despus manda un pulso de duracin de 10ms a la terminal de salida del micro RB7 nuevamente se manda a un estado bajo a RB7 estos pasos se realizan infinitamente o hasta que el usuario lo desactive el retardo que genera el timer es el que permitir recorrer el pulso durante el semiciclo ya sea positivo o negativo (ver figura 1.12)

13

CAPITULO I

Inicio

Que pasen nicamente pulsos positivos con la siguiente condicin de pulso_bajo==0

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

Que pasen todos los pulsos Con la siguiente condicin de pulso_bajo= =1

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

Espera a que finalice el conteo del timer hasta llegar a cero

NO

Oprimido el botn de salida?

Asigna un nivel alto a la salida RB7 durante cierto tiempo (ancho de pulso)

Si
Salir y regresa al men principal

Asigna el valor actual de RB7 para esperar el siguiente cambio de estado

1.12 Diagrama de flujo, pulsos controlados por ngulo de fase

14

CAPITULO I

1.5.3 Anlisis del cdigo


Para la implementacin del cdigo se hace uso de dos libreras importantes en el microcontrolador que son delays y timers. Se configuran El puerto B, asignando como entradas la parte baja (RB0 RB3) y como salidas la parte alta (RB4 RB7). La entrada RB3 detecta el cambio de nivel alto bajo que proviene del detector de cruce por cero. El estado actual es asignado a una variable temporal para esperar el cambio de estado y continuar el proceso. Es llamada la funcin retardo para incrementar o decrementar su valor, dependiendo de estar o no activado las entradas para recorrer el desplazamiento. El valor es asignado a la variable retardo para cargar al timer0 con ella. El timer0 comienza el conteo para esperar el disparo del pulso. El tiempo en el que el timer0 realiza todo el conteo vara de 0 a 8330 micro segundos que es el tiempo que dura un semiciclo de la onda senoidal de entrada. La salida pasa a un nivel alto que tiene una duracin de 10 microsegundos para despus pasar a nivel bajo nuevamente (ver cdigo 1), Codigo 1
void Cto_1() { Pantalla_Cto1(); LCD Pulso_Bajo = 1; temp = PORTDbits.RD0; cero retardo = 65535; while(1) { Desplazamiento_1(); while(Pulso_Bajo) { while(temp != PORTDbits.RD0) { INTCONbits.TMR0IF = 0; WriteTimer0(retardo); retardo while(INTCONbits.TMR0IF == 0) {} PORTBbits.RB7 = 1; Delay10TCYx(1); PORTBbits.RB7 = 0; temp = PORTBbits.RB7; } } while(Pulso_Bajo == 0) { while(temp != PORTDbits.RD0) { while(PORTBbits.RB7 == 1)

// 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(); } }

// Regresa al men cuando se oprime RB0

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.

Figura 1.13: Dos pulsos a 180

16

CAPITULO I

Figura 1.14: Un pulso a 0

Figura 1.15: Un pulso a 90

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.

Figura 1.16: Con dos pulsos a 0

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.

Figura 1.17: Con un pulso a 0

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

Figura 1.18: Con dos pulsos a 45

Figura 1.19: Con un pulso a 45

19

CAPITULO I

Figura 1.20: Con dos pulsos a 90

Figura 1.21: Con un pulso a 90

20

CAPITULO I

Figura 1.22: Dos pulsos a 150

Figura 1.23: Un pulso a 150

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

1.6 Circuito cerrar abrir 1.6.1 Planteamiento


El principio de control de encendido-apagado se puede explicar con un control monofsico de onda completa, como el que se ve en la figura 1.24. El interruptor del TRIAC conecta la fuente de alimentacin de ca con la carga durante un tiempo tn , que suele consistir en una cantidad entera de ciclos. Los tristores se activan en los cruces de voltaje de entrada de ca con cero. Los pulsos de la compuerta para el TRIAC y las formas de onda para los voltajes de entrada y salida, se ven en la figura 1.25.

g1 T1

VS RL

Figura 1.24: Circuito para el control cerrar abrir

Figura 1.25. Formas de onda del circuito abrir cerrar

22

CAPITULO I

1.6.2 Diagrama de Flujo


Las partes principales que realiza el diagrama de flujo son los siguientes: en primera instancia se determina en cuantos ciclos habr pulsos y empleando la formula de n= 8-m se determina el valor de n (ciclos donde no habr pulsos) posteriormente se hace uso de un ciclo while para que ejecute mediante condicin cuantos ciclos va a realizar las siguientes instrucciones (el microprocesador lee lo que el detector de cruce por cero le manda a la terminal de entrada del pin RB0 inmediatamente manda un pulso de 10ms a la terminal de salida del microprocesqador RB7 y nuevamente se manda un estado bajo a RB7) posteriormente se hace uso de otro ciclo while para que mande estados bajos a la terminal RB7 y as satisfacer la formula anterior todos estos pasos en conjunto se realizan infinitamente o hasta que el usuario lo desactive (ver figura 1.26).

23

CAPITULO I
Inicio

Asigna por omisin pulsos de 1 ciclo m=1

While infinito

Si

Asigna a n = 8-m Asigna j=0

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 es oprimido el botn de salida

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

Numero restante de ciclos en bajo con la siguiente condicin i<16

Si

Si se detecta un cambio de estado en del detector

Si

NO

Figura 1.26: Diagrama de flujo, circuito cerrar-abrir

24

CAPITULO I

1.5.3 Anlisis del cdigo


Para este circuito se hace uso de nueva cuenta del detector de cruce por cero. Se detectan los cambios de estado en la entrada RB3 del microcontrolador. Existen variables definidas las cuales pueden adoptar los valores de m y n. Un ciclo for deja pasar los pulsos m veces. De igual manera otro ciclo for espera a que se complete el total de 8 ciclos de la onda senoidal. En cada periodo se pregunta si estn activadas las entradas que hacen disminuir o aumentar el valor de n (ver cdigo 2). Cdigo 2 void Cto_2() { Pantalla_Cto2(); // Llamada a funcin, despliega en el LCD m = 1; // Asigna por omision 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.RB7) // Cambio de estado { PORTBbits.RB7 = 1; // Se activa RB7 Delay10TCYx(5); // Ancho de pulso 10 microsegundos PORTBbits.RB5 = 0; // Se desactiva Rb7 temp = PORTBbits.RB7; // Asigna el valor actual de RB7 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.RB7) // Cambio de estado { temp = PORTBbits.RB7; //Asigna el valor actual de RB7 para i++; //esperar el siguiente cambio de estado } //pero no manda pulso if(PORTBbits.RB0 == 0) // Regresa al men cuando se oprime RB0
25

CAPITULO I

Men(); } }

1.6.4 Graficas del circuito cerrarabrir obtenidas en la simulacin (P-SPICE)


El planteamiento es que partiendo de la seal sinusoidal de alimentacin se toman 8 ciclos como periodo del circuito cerrar abrir. El valor m es el numero de semiciclos en los cuales existe un pulso en cada cruce de la seal por cero volts y habr pulsos, n es el nmero de ciclos en los no que habr pulsos. En las figuras 1.27 a 1.33 se muestran los resultados, considerando varias combinaciones.

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

1.6.5 Graficas del circuito cerrar abrir obtenidas en el laboratorio


El circuito fue probado en el laboratorio, obteniendo los siguientes resultados: Las figuras de la 1.34 a la 1.40 se muestran en la parte superior la seal de la lnea y en la parte inferior los pulsos que el sistema genera, estos pulsos obedecen la ecuacin siguiente. n = 8-m 2 Donde: M n = nmero de ciclos en los que abra pulsos = nmero de ciclos en los no que abra pulsos

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

CIRCUITO GENERADOR DE PULSOS MODULADOS POR ANCHURA


2.1 Introduccin

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).

Figura 2.1: Parmetros del PWM

La ecuacin 3 nos muestra que:

D
Donde:

, es el ciclo de trabajo

T, es el perodo de la funcin , es el tiempo en que la funcin es positiva (ancho del pulso)


33

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.

2.2 Generacin de pulsos modulados por anchura utilizando componentes analgicos.


Existen diferentes maneras de generar pulsos por medio de circuitos analgicos, una de ellas, como ya se menciono consiste en comparar dos seales (figura 2.2). Tambin se puede utilizar un C.I. 555 en la configuracin de modulador de ancho de pulso como se muestra en la figura 2.3

34

CAPITULO II

Figura 2.2: Generador de PWM por medio de comparadores.

Figura 2.3: C.I. 555 como modulador de ancho de pulso

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.2.2 Ventajas y desventajas


Como se mencion anteriormente utilizando circuitos analgicos existe la posibilidad de que sean afectados por interferencias generadas por radiofrecuencia, adems que el ancho de pulso depende de un nivel de voltaje que es fijado por potencimetros, lo cual hace que se tengan variaciones. Utilizando un C.I. 555 se puede generar con muy pocos componentes, hacindolo muy econmico.

2.3 Circuito generador de pulsos modulados por anchura utilizando un microcontrolador


Por medio de un microcontrolador se pueden generar los pulsos modulados por anchura haciendo uso de las funciones de Temporizacin y las funciones de retardos (ver figura 2.3).

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.

Figura 2.4: Esquema simplificado de un timer

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

CargaTMR0 , es el nmero total de impulsos a contar por el

TMR0 antes de desbordarse Se puede utilizar el timer para generar pulsos con tiempos de duracin muy precisas.

2.3.2 Ventajas y desventajas


Se puede utilizar el timer para generar pulsos con tiempos de duracin muy precisos, Las rutinas de tiempo se ejecutan basadas en el reloj del microcontrolador, que al ser un cristal de cuarzo son muy estables. Una de las desventajas es el calculo de los tiempos de carga del temporizacin, a veces es necesario ajustarlos considerando los tiempos en que se realizan las instrucciones del programa que no involucran al timer.

2.4 Modulacin por ancho de pulso (PWM)


En muchas aplicaciones, para controlar el voltaje de salida de los inversores, se necesita con frecuencia 1) hacer frente a las variaciones de de entrada de cd, 2) regular el voltaje de los inversores y 3) satisfacer los requisitos de control de voltaje y frecuencia constante. Dos de las tcnicas mas utilizadas para este propsito son: - modulacin por ancho de un solo pulso - modulacin por ancho de pulsos mltiples La tercera seal del presente generador es un pulso modulado por anchura, con una frecuencia de 60 Hz, que es una frecuencia til para trabajar con los inversores.

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

Figura 2.5: Modulacin por ancho de un solo pulso

El voltaje rms de salida se puede determinar con ecuacin 5:


VO 2 2
2 2 12

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

, de 0 a 180, y el voltaje rms de

4VS n sen senn t 2 1,3,5,... n

Debido a la simetra del voltaje de salida respecto al eje x, las armnicas pares (para n = 2, 4, 6) estn ausentes.

2.4.2 Diagrama de flujo


El siguiente diagrama de flujo muestra el proceso que realiza el microcontrolador para generar las dos salidas PWM, se calcularon los tiempos altos y bajos, mnimos y mximos, para cargar el timer y se pueda variar el ancho del pulso entre estos dos lmites (ver figura 2.6).

38

CAPITULO II
Inicio

Inicializa variables de tiempo alto y tiempo bajo

While infinito

Lee el tiempo alto y el tiempo bajo

Activa el puerto RB7 con 1 durante el tiempo alto

Espera a que finalice el conteo del timer hasta llegar a cero

Si
Limpia bandera de desbordamiento Y Desactiva el puerto RB7 ponindolo en bajo durante el tiempo en bajo

Espera a que finalice el conteo del timer hasta llegar a cero

Si
Activa el puerto RB6 con 1 durante el tiempo alto Salir y regresa al men principal

Espera a que finalice el conteo del timer hasta llegar a cero

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

Oprimido el botn de salida?

NO

Figura 2.6: Diagrama de flujo. Modulacin por ancho de pulso (PWM)

39

CAPITULO II

2.4.3 Anlisis del cdigo


Se ha elegido un ancho de pulso mnimo de 10s, ser tambin el valor por omisin del PWM. Entonces la carga en timer segn la ecuacin 7 ser:
CargaTMR 0 65535 65525 216 1 Temporizacin TCM Prescaler

10 s 1 s 1 mnimo tiempo alto

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

8320 s 1 s 1 mximo tiempo alto

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

// Regresa al men cuando se oprime

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.

Figura 2.7: PWM mnimo ancho de pulso: 10s

41

CAPITULO II

Figura 2.8: PWM mximo ancho de pulso: 8320s

Figura 2.9: PWM ancho de pulso 50%:4160s

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.

2.5 Modulacin de varios pulsos uniformes (UPWM)


Se puede reducir el contenido de armnicas usando varios ciclos en cada medio ciclo del voltaje de salida. A esta clase de modulacin se le llama modulacin por ancho de pulso uniforme (UPWM, de uniform pulse width modulation)

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

f C f O , se define como la relacin de modulacin de frecuencia.

Figura 2.10: Parmetros y voltaje a la salida de un inversor UPWM

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

4VS n sen senn 4 1 n

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

2.5.2 Diagrama de flujo


A continuacin se muestra el procedimiento que sigue el microcontrolador para generar la seal UPWM, se puede tener con 3, 5 o 7 pulsos, los tiempos para cada una de las opciones esta calculada la carga del timer, la variable n es el numero de pulsos por semiciclo. Por medio de un ciclo for se realiza el conteo.

44

CAPITULO II

Inicio Salir y regresa al men principal

While infinito

Lee que es lo que tiene n , que es el numero de pulsos

Si
Oprimido el botn de salida?

Asigna j=0 n=3

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

Espera a que finalice el conteo del timer hasta llegar a cero

Espera a que finalice el conteo del timer hasta llegar a cero

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

Espera a que finalice el conteo del timer hasta llegar a cero

Espera a que finalice el conteo del timer hasta llegar a cero

Si

Si

Figura 2.11: Diagrama de flujo, Modulacin de varios pulsos uniformes (UPWM)

2.5.3 Anlisis del cdigo


Se pueden generar 3, 5 o 7 pulsos por semiciclo, por omisin est configurado para generar 3 pulsos con un ancho de 10s (n = 3). Se realiza una rutina de conteo para generar n pulsos, Cada opcin tiene los tiempos mximos y mnimos en los cuales el ancho de pulso puede moverse. La funcin de desplazamiento lee el valor de retardo y monitorea si ste es modificado. Tambin registra el momento que se oprima RB0 que es la entrada que hace que el programa regrese al men principal (ver cdigo 4).

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(); } }

// Llamada a funcin, despliega en el

// Lee el ancho de los pulsos // n = 3,5 o 7 pulsos por semiciclo

// Duracin del tiempo bajo // En el ultimo pulso se suma la //duracin //de activacin y desactivacin de los

// n = 3,5 o 7 pulsos en RB6

// Anchura de los pulsos

// Duracin del tiempo bajo // En el ultimo pulso se suma la //de activacin y desactivacin de los pulsos en

// Regresa al men cuando se oprime RB0

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

Figura 2.12: Tres pulsos a mnimo ancho de pulso

Figura 2.13: Tres pulsos, 50% ancho de pulso

Figura 2.14: Tres pulsos a mximo ancho de pulso

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

Figura 2.15: Cinco pulsos a mnimo ancho de pulso

Figura 2.16: Cinco, 50% ancho de pulso

Figura 2.17: Cinco pulsos a mximo ancho de pulso

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

Figura 2.18: Siete pulsos a mnimo ancho de pulso

Figura 2.19: Siete pulsos, 50% ancho de pulso

Figura 2.20: Siete pulsos a mximo ancho de pulso

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.

Figura 2.21: UPWM 3 pulsos, mnimo ancho

Figura 2.22: UPWM 3 pulsos, 50% de ancho

50

CAPITULO II

Figura 2.23: UPWM 3 pulsos, mximo ancho

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.

Figura 2.24: UPWM 5 pulsos, mnimo ancho

51

CAPITULO II

Figura 2.25: UPWM 5 pulsos, 50% de ancho

Figura 2.26: UPWM 5 pulsos, mximo ancho

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

Figura 2.27: UPWM 7 pulsos, mnimo ancho

Figura 2.28: UPWM 7 pulsos, 50% de ancho

53

CAPITULO II

Figura 2.29: UPWM 7 pulsos, mximo ancho

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

CAPITULO III APLICACIONES


3.1 INTRODUCCION

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.

Figura 3.1: Smbolo esquemtico y nombres de las terminales de un SCR.

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

Dispositivos totalmente controlados

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.

3.4 APLICACIN Y PRUEBA 1, Control de velocidad de un motor de CA (Corriente Alterna). Operacin:


Como se mencion el SCR y el TRIAC son usados para controlar la potencia que se entrega a una carga (motor). En la figura 3.2 se muestra la aplicacin que se le pueden dar al generador de pulsos controlando el ngulo de fase as como tambin se valida el funcionamiento del mismo. Se utilizo el optoacoplador MOC3011, el cual nos proporciona un aislamiento para no daar as al generador debido a que se esta trabajando con los 120volts de la lnea. Este optoacoplador tiene un TRIAC el cual al ser disparado por la luz del diodo autocontenido, produce el disparo del TRIAC de potencia 2N6073 tanto en el semiciclo positivo como en el negativo. Haciendo variar la fase del disparo podemos regular la potencia en la carga.

57

CAPITULO III

Figura 3.2: Circuito propuesto para controlar la velocidad de un motor de CA.

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.

Figura 3.3. Tensin en el motor con un ngulo de retraso de 90

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.

Figura 3.4: Tensin en el motor con un ngulo de retraso de 90 y pulsos de referencia

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.

Figura 3.5: Tensin en el motor con un ngulo de retraso de 90 y pulsos de referencia

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:

APLICACIN Y PRUEBA 2, Inversor de CD-CA.

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.

Figura 3.6: Inversor en puente completo.

61

CAPITULO III Figura 3.7: Etapa de aislamiento y adecuacin de voltaje.

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

APENDICE A DISEO DE LA FUENTE DE ALIMENTACIN


Eleccin de la fuente de alimentacin
La fuente de alimentacin es un elemento importante para el generador ya que es el que va a alimentar el sistema es por eso que en este apndice se muestra como se construyo dicha fuente desde el diseo del transformador hasta la fuente misma.

Eleccin del transformador


A fin de cumplir con las necesidades de alimentacin del sistema se decidi disear un transformador elctrico monofsico de dos bobinados secundarios independientes entre si, los cuales cumplirn con las caractersticas especificas para la alimentacin de cada subsistema (microcontrolador y detector). La eleccin del voltaje se hizo teniendo en cuenta que el PIC18F452 (microcontrolador utilizado en el bloque digital) se alimenta entre 4.2Vdc 5.5Vdc adems consume una corriente de 300mA. La etapa de potencia se alimenta con 5Vdc y consume una corriente de 1A. El detector de cruce por cero se alimenta con 5Vdc y consume una corriente de 100mA.

Diseo del Transformador


El primario constara de una tensin de entrada de 120volts. En el secundario tenemos la necesidad de dos bobinados, uno de ellos con 9VCA y 1A, mientras que el segundo de 3VCA y 1A.

67

APENDICE A

Figura A.1: Imagen del transformador a construir

Determinacin De La Potencia Elctrica Necesaria


Como se menciono tenemos la necesidad de calcular, disear y construir un transformador cuyo esquema elctrico es el que se muestra en la figura anterior (Figura A.1). El clculo debe partir del conocimiento de la potencia total que tiene que entregar el transformador. Para ello se trabaja desde el secundario hacia el primario. La potencia del secundario, viene dada por la suma de las potencias que debe entregar cada arrollamiento.

Wsec
En donde:

Wsec1 Wsec2 Wsec3

Wsecn Watts

Wsec Wseci

Potencia elctrica total eficaz del secundario Watts Potencia eficaz de cada secundarioi 1,2,3,..., n Watts

Directamente del esquema, relevamos los siguientes datos:


1er. secundario 2do. secundario Vsec1 = Vsec2 = 9 3 Voltios Voltios Isec1 = Isec2 = 1 1 Amperes Amperes

Aplicando la formula tenemos:

Wsec

Wsec1 Wsec2

Vsec1 Isec1 Vsec2 Isec2

(9V 1A) (3V 1A) 12 Watts

68

APENDICE A

Potencia del PRIMARIO y TOTAL


Debido esencialmente a las prdidas en el hierro, experimentalmente se sabe que la potencia del primario (igual a la potencia total) es aproximadamente superior a la del secundario en un 20%. Por ello se tiene la siguiente frmula:
Wpri 1.2 Wsec Watts

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

DATO Wr = F= Vpri = Vsec1 = Vsec2 = Isec1 = Isec2 =

VALOR 37 60 120 9 3 1 1

UNIDAD Watts Hz Volts Volts Volts Ampers Ampers

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

Clculo de la seccin del ncleo de hierro


Experimentalmente se sabe que la seccin del ncleo de hierro, puede variar entre amplios lmites, resultando de ello mayor o menor rendimiento (entre 94 y 99%) o mayor o menor costo (menor costo para rendimientos menores). En el caso que nos ocupa, aplicaremos frmulas empricas resultado de observaciones atendiendo a un mximo rendimiento basado en dos aspectos: A) Prdidas en el primario igualadas a las prdidas en el secundario y B) Prdidas totales en el hierro igualadas a las prdidas totales en el cobre.

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

Clculo de la Seccin del ncleo de hierro Clculos Redondeos 6.32139 6

[cm ]
2

cm cm

Tipo servicio 50 a 60 Hz Intermitente Contino

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

Tratado de Electricidad, Pg. 211, ??? Tabla A.2: Densidad de corriente

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

Con las siguientes referencias:

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

B = 11000 Gauss f= = 60 3 Hz W/Kg

Chapa Tipo I II III IV

Silicio [%] 0,5 a 0,8 0,8 a 1,2 2,4 a 3,0 3,5 a 4,5

Espesor [mm] 0,5 a 1 0.5 0.5 0,35 a 0,5

Prdidas en el hierro [W/Kg] 3,6 a 8 3 2 1 a 1,7

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

Determinacin del Nmero de Chapa


A partir de las frmulas geomtricas determinadas en la presentacin, calculamos las dimensiones que nos permitirn elegir el tipo de chapa. Por ejemplo para una seccin cuadrada:

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

Tabla A.4: Tabla de nmero de chapas y sus dimensiones

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

Ancho real de la ventana de conductores

Alto real de la ventana de conductores

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.

Determinacin del Nmero de Carrete


Para una fabricacin en serie, nada mejor que aplicar para los arrollamientos, los carretes plsticos de tamao normalizado. Alternativamente pueden construirse con cartn prespan de calidad, tal como se muestran en los dibujos de los detalles constructivos. Para el caso en que nos decidamos a usar los primeros, ser altamente conveniente obtener una Tabla de Carretes (Tabla A.5) correspondientes a los que vende algn proveedor local, con el objeto de poder comprarle al final del clculo. Y no hay que olvidar consultarle su disponibilidad de stock.
72

APENDICE A

Con el a de la chapa entramos a la Tabla de Carretes (Tabla A.5) y seleccionamos el carrete: Carrete Nmero: 111

Tabla A.5: Tabla de carretes

73

APENDICE A

De aqu obtenemos los siguientes valores que son:


Altura real de apilado (segn carrete adoptado) hr [mm] 26 Seccin real resultante calculada al aplicar el carrete adoptado Sr = (ar)(hr) [cm ] 6.76
2

Carrete Adoptado 111

Ancho del carrete (aloja rama central) ar [mm] 26

Detalle constructivo indicar al proveedor 0

Determinacin de Nmero de Espiras por Voltio


El fundamento terico de todo transformador, implica el conocimiento que gobierna al concatenamiento (o encadenamiento) del circuito elctrico con el circuito magntico. Dicha dependencia viene dada por la ley de induccin a travs de lo que se conoce como la Ley de Transformacin, expresada por la siguiente frmula: 2 E N 10 8 m x f 2 En donde: E = Fuerza electromotriz de induccin N = Nmero de vueltas de un enrollamiento mx = Flujo magntico mximo del hierro empleado f = Frecuencia de la energa de alimentacin Volts Espiras Maxwell Hz

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

Numero de espiras por volt

Nev = 4.97902 espiras/volts

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

225 105 [espiras/volts] B Sr f

Nev = 5.04303 espiras/volts

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]

Vx = Tensin total en se bobinado.


Primario

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

Potencia en el Secundario [VA]

Factor de prdidas en el cobre [adim]

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

Luego los nmeros de espiras reales de los enrollamientos secundarios son:


Primario

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

Clculo de la Seccin y Dimetro de los conductores


El conocimiento del dimetro de cada conductor, nos permitir solicitarlo por sus dimetros a nuestro proveedor local. Para conocer el dimetro del conductor, es necesario determinar primero sus seccin (rea circular transversal recta). Mediante la frmula del rea del crculo podemos, conociendo su seccin, calcular el dimetro. La seccin del conductor -a su vez- depende de la corriente que habr de transportar, o mejor dicho su densidad de corriente. Un valor excesivo de sta, provocar el calentamiento del conductor (subdimensinamiento) y un valor bajo nos afectar la economa (sobredimensionamiento), as es que debemos buscar un equilibrio entre estos dos extremos. Los valores tpicos para la densidad de corriente (identificada aqu con la variable D), oscila entre 1 y 3 amperes por milmetro cuadrado (A/mm2). En clculos previos habamos supuesto un valor:

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

Wx = Watts Vx = Voltios Con estas formulas calculamos:


subndice x=? subdivisin de los bobinados
1 1 2

Detalle Potencia en los arrollamientos primarios Tensin en los arrollamientos primarios

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

Dimetro del conductor en el arrollamiento x

p (primario) s (secundario)

Ip1 Is1 Is 2

0.308333 1 1

Scp1 Scs1
Scs2

0.205555 0.666666 0.666666

cp1 cs1
cs 2

0.51 0.92 0.92

Con estos valores obtenidos, observamos en la Tabla de Conductores (Tabla A.7.a y A.7.b)

77

APENDICE A

Tabla A.7.a: Conductores

78

APENDICE A

Tabla A.7.b: Conductores

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]

cp1 0.5 cs1 0.92 cs 2 0.92

1745.5474 5655.5736 5655.5736

57.2886 17.6817 17.6817

0.08780769 0.02710114 0.02710114

Diseo de la fuente

Diseo del filtro de entrada a capacitor


Las curvas mostradas en las figuras A.8 a la A.11 proporcionan toda la informacin requerida para el diseo de circuitos rectificadores de media onda y de onda completa. Estas curvas son para la impedancia de rectificadores con tubos de vaci, se deben de sustituir los valores equivalentes para diodos semiconductores. Sin embargo, la cada de voltaje del rectificador frecuentemente asume ms importancia que la resistencia dinmica en aplicaciones de bajo voltaje, la resistencia dinmica generalmente puede ser despreciada cuando se compara con la suma de la resistencia del secundario del transformador ms la resistencia reflejada del primario. La cada de voltaje puede ser de considerable importancia, sin embargo, ya que esta es de alrededor de 1V, la cual claramente no se puede ignorar en fuentes de 12V o menos.

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

Figura A.11: Voltaje de rizo RMS para circuitos de entrada a capacitor

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%

= = = = =

6V 0.5V 9V 0.5A 60Hz

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

D) De la ecuacin podemos encontrar el valor del capacitor de filtro:

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.

Figura A.12: Circuito final de la fuente de alimentacin

86

APENDICE B

APENDICE B PROGRAMA FINAL


Este es el cdigo final, es decir este cdigo contiene las cuatro partes de los cdigos que se vieron en los captulos 2 y 3 (Pulsos controlados por ngulo de fase, Circuito cerrar abrir, Modulacin por ancho de pulso (PWM) y Modulacin de varios pulsos uniformes (UPWM), dichos cdigos se anexaron en un men el cual sirve para que el usuario pueda interactuar con el generador usando unos botones que le permitirn elegir el tipo de pulso con el que se quiera trabajar (ver imagen B.1).

Imagen B.1: Vista frontal del generador

// 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

#pragma config OSC=XT #pragma config LVP=OFF #pragma config WDT=OFF

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

{ TRISB = 0B00011111; TRISC = 0B00000000; Configura_Timer0(); Inicializa_LCD(); Menu(); }

// Configuracion de //entradas y salidas // Configuracin del timer 0 // Inicializa el LCD

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(); } } } }

// Entra a la funcin seleccionada

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

//Pasa pulso en pulso alto

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) {

// Llamada a funcin, despliega en el LCD

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

BCD_ASCCII(retardo); Despliega_Valores1(); } if(PORTBbits.RB2 == 1) { if(retardo < 65535) retardo+=20; BCD_ASCCII(retardo); Despliega_Valores1(); } }

// Rutina de conversin // Rutina de despliegue

// Activado RB2? // Retardo mayor a 0 ms? // Decrementa retardo

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(); }

// 10 us, mnimo tiempo bajo // Restablece mnimo y mximo

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(); } }

// Incrementa tiempo alto // Decrementa tiempo bajo

// 8318 us, mximo tiempo bajo // Restablece mnimo y mximo

// Decrementa tiempo bajo // Incrementa tiempo alto

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

// Cambia el //valor de n //dependiendo del //valor actual de n

//y despliegue en LCD

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();

// Opciones de tiempo para 3 pulsos

// Opciones de tiempo para 5 pulsos

// Mnimo ancho 10 us // Mximo ancho 1656 us

// Incrementa tiempo alto // Decrementa tiempo bajo

// Opciones de tiempo para 5 pulsos

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

// Mximo ancho por pulso 2776us

// Mximo ancho por pulso 1656us

// Mximo ancho por pulso 1190us

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; }

// Escribe en el timer un numero // Limpia la bandera de

// 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

// Cursor en lnea 2 posicin 11

// Cursor en lnea 3 posicin 11

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++) {

// Cursor en lnea 2 posicin 11

// Cursor en lnea 3 posicin 11

// Cursor en lnea 2 posicin 11

// Cursor en lnea 3 posicin 11

// Limpia LCD // Cursor en lnea 1 posicin 5

// Visualiza carcter en LCD // Retardo de 10us // Cursor en lnea 2 posicin 5

// Visualiza carcter en LCD // Retardo de 10us

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

APENDICE C HOJAS DE ESPECIFICACIONES

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

S-ar putea să vă placă și