84
Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving. TITULACIÓ: Enginyeria Tècnica Industrial en Electrònica Industrial AUTOR: David Carrasco García. DIRECTOR: Roberto Giral Castillón. FECHA: Junio 2005

Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

TITULACIÓ: Enginyeria Tècnica Industrial en Electrònica Industrial

AUTOR: David Carrasco García.

DIRECTOR: Roberto Giral Castillón.

FECHA: Junio 2005

Page 2: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

2

ÍNDICE GENERAL

1 Memoria Descriptiva..................................................................... 5

1.1 Objetivo del Proyecto..............................................................................6

1.2 Titular. ....................................................................................................6

1.3 Antecedentes. ..........................................................................................6

1.4 Estudio del Sistema y Fundamentos Teóricos........................................6

1.4.1 Funcionamiento del Convertidor “Boost”........................................7

1.4.1.1 Topología “ON” del Convertidor Boost. ....................................10

1.4.1.2 Topología “OFF” del Convertidor Boost...................................11

1.4.2 Control Mediante la Corriente de Entrada al Convertidor.............12

1.4.3 Microcontrolador. ..........................................................................13

2 Memoria de Cálculo. ................................................................... 15

2.1 Introducción..........................................................................................16

2.2 Control mediante el sensado de corriente máxima en el inductor. .....16

2.3 Hardware. .............................................................................................17

2.3.1 Cálculo de los parámetros de la planta...........................................17

2.3.2 Elección del inductor......................................................................19

2.3.3 Elección del diodo. .........................................................................19

2.3.4 Elección del MOSFET ...................................................................20

2.3.5 Driver IR2125.................................................................................20

2.3.6 Sensor de corriente INA 145. .........................................................21

2.3.7 Elección del microcontrolador. ......................................................22

2.3.8 Parámetros Principales de la Planta. .............................................23

2.3.9 Listado de Todos los Componentes Calculados. .............................24

2.4 Software. ...............................................................................................24

2.4.1 Generación del Periodo..................................................................25

2.4.2 Configuración del Microcontrolador. ............................................25

2.4.3 Generación de las Interrupciones del Microcontrolador................26

2.4.4 Versiones Realizadas. Evolución Programación............................27

2.4.5 Diagramas. .....................................................................................29

2.5 Conclusiones..........................................................................................38

3 Planos. .......................................................................................... 41

3.1 Esquema de la Placa de Potencia con Control de Corriente y Driver del Mosfet. ...............................................................................................................42

Page 3: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

3

3.2 Esquema de la Placa de Control...........................................................43

3.3 Esquema del Limitador de Tensión......................................................44

3.4 Esquema Fotolito Etapa Potencia Cara A. ..........................................45

3.5 Esquema Fotolito Etapa Potencia Cara B............................................45

3.6 Esquema Fotolito Control Cara A. ......................................................46

3.7 Esquema Fotolito Control Cara B........................................................46

3.8 Prototipo................................................................................................46

4 Presupuesto.................................................................................. 48

4.1 Precios Elementales. .............................................................................49

4.1.1 Capítulo 1: Diseño, Simulación e Implementación. .......................49

4.1.2 Capítulo 2: Material. ......................................................................50

4.2 Anidamientos. .......................................................................................52

4.2.1 Capítulo 1: Diseño, Simulación e Implementación. .......................52

4.2.2 Capítulo 2: Material. ......................................................................53

4.3 Aplicación de Precios. ...........................................................................54

4.3.1 Capítulo 1: Diseño, Simulación e Implementación. .......................54

4.3.2 Capítulo 2: Material. ......................................................................55

4.4 Precio de Ejecución por Material.........................................................57

4.5 Precio de Ejecución por Contrato. .......................................................57

4.6 Precio por Licitación.............................................................................57

4.7 Resumen del Presupuesto. ....................................................................57

5 Pliego de Condiciones.................................................................. 58

5.1 Disposiciones y Abarque del Pliego de Condiciones. ...........................59

5.1.1 Objetivo del Pliego..........................................................................59

5.1.2 Descripción General del Montaje. ..................................................59

5.2 Condiciones de los Materiales. .............................................................59

5.2.1 Especificaciones Eléctricas. ...........................................................60

5.2.1.1 Placas de Circuito Impreso. .......................................................60

5.2.1.2 Conductores Eléctricos. .............................................................60

5.2.1.3 Componentes Pasivos.................................................................60

5.2.1.4 Componentes Activos. ................................................................60

5.2.1.5 Zócalos Torneados Tipo D.I.L. ..................................................60

5.2.1.6 Reglamento Electrotécnico de Baja Tensión..............................60

5.2.1.7 Resistencias................................................................................61

5.2.1.8 Condensadores. ..........................................................................62

Page 4: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

4

5.2.1.9 Circuitos Integrados y Semiconductores. ...................................63

5.2.2 Especificaciones Mecánicas. ..........................................................63

5.2.3 Ensayos, Verificaciones y Ajustes. .................................................63

5.3 Condiciones de Ejecución. ....................................................................63

5.3.1 Descripción del Proceso. ................................................................63

5.3.1.1 Compra y Preparación del Material...........................................63

5.3.1.2 Fabricación del Circuito Impreso. .............................................64

5.3.2 Soldadura de los Componentes. .....................................................64

5.4 Condiciones Facultativas. .....................................................................65

5.5 Conclusiones..........................................................................................65

6 Anexo. .......................................................................................... 67

6.1 Webs Utilizadas.....................................................................................68

6.2 Bibliografía............................................................................................68

6.3 Códigos Realizados. ..............................................................................68

Page 5: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

5

1 Memoria Descriptiva.

Page 6: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

6

1.1 Objetivo del Proyecto.

El objetivo del presente proyecto es la construcción de tres convertidores Boost conectados en paralelo, la implementación de su tarjeta de control y la realización de las oportunas mediciones en lazo abierto y cerrado.

El control de los convertidores se realizará mediante el sensado de corriente de entrada a cada convertidor, aplicándole la estrategia de control de corriente máxima con interleaving mediante el microcontrolador PIC 18F252 de Microchip.

Inicialmente efectuaré un estudio sobre el funcionamiento del convertidor elevador, topología boost, y en un segundo lugar, se explica el control que se aplica.

1.2 Titular.

El titular del proyecto es el Departament d’Enginyeria Elèctrica, Electrónica i Automática (DEEEA) situado en l’Avinguda Països Catalans nº 26 de la ciudad de Tarragona. El director del proyecto es el Dr. Roberto Giral Castillón.

1.3 Antecedentes.

En la actualidad, los convertidores electrónicos de potencia son utilizados para la conversión de una tensión de entrada en continua, a una tensión de salida con una magnitud mayor. La implementación de la conexión en paralelo de diversos convertidores se ha convertido en una técnica frecuentemente utilizada para el reparto de energía entre las diferentes etapas interconectadas, consiguiendo así una mejora en el procesamiento.

La implementación de un control para tres convertidores conectados en paralelo, requiere la aplicación de diversos métodos que regulen de manera óptima el funcionamiento de este sistema, de forma que resulten más o menos eficientes según la cantidad de parámetros a controlar (tiempo, intensidad, tensión, etc.).

El incremento del uso de los microcontroladores, así como la mejora de las prestaciones de los mismos (alto rendimiento, rapidez, y capacidad de procesamiento) unidos a su bajo coste, su fiabilidad y sobretodo, su flexibilidad, hacen más interesante, si cabe, la realización del control de estos sistemas mediante los citados dispositivos.

El problema de controlar estos sistemas con convertidores mediante implementaciones digitales con microcontroladores PIC, es la dificultad de encontrar un margen de comportamiento lineal lo más adecuado posible a la aplicación que se desea implementar, ya se trate de un control preciso del sistema o tan solo de un control simplificado en que se obtengan unos resultados considerados aceptables. Se podría decir que realizar este tipo de control mediante microcontroladores PIC se antoja complicado debido al alto periodo de transición entre el procesado de señales que, aún siendo rápido, no lo es del todo suficiente.

1.4 Estudio del Sistema y Fundamentos Teóricos.

El convertidor conmutado DC/DC funciona mediante la toma a intervalos de diferentes muestras de la señal continua (corriente del inductor). Una vez eliminado el ruido, tenemos que generar una onda cuadrada con el ciclo de trabajo adecuado, es decir, la señal que activa el transistor MOSFET (interruptor que controla el convertidor).

Su funcionamiento se consigue gracias al almacenamiento y la cesión temporal de

Page 7: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

7

energía en diferentes periodos de tiempo. Este principio es el que condiciona la cantidad de energía almacenada y cedida, que, a su vez, provocará un mayor o menor suministro de la misma a la carga.

El convertidor DC/DC pretende que la tensión de salida sea constante, a pesar de ciertas variaciones de la tensión media en la entrada, y de la corriente en la carga.

El control del convertidor se realiza mediante la activación/desactivación del interruptor. En mi caso, al tratarse de un convertidor de alta potencia, se requiere la utilización de un transistor MOSFET. Así pues, la topología usada en el proceso será la elevadora (step-up) o boost, ya que utilizaré tres boost en paralelo.

El control de los transistores MOSFET se realiza mediante la actuación del microcontrolador PIC 18F252 de Microchip.

En la entrada de cada convertidor se realizarán mediciones de la corriente en la bobina que, posteriormente, serán comparadas con un nivel de referencia, de manera que cuando la corriente alcance dicho nivel, se interrumpa el proceso de ejecución del microcontrolador y éste sea avisado de que se ha alcanzado la intensidad deseada para esa rama. El microcontrolador, en la ejecución de su algoritmo interno, interpreta cómo y cuándo debe realizarse el cambio de control a otra rama convertidora. Dicho algoritmo procesa las señales temporales de cada convertidor, así como la prioridad de cada uno de los tres convertidores en la secuenciación del sistema, y mediante unas variables de control, el microcontrolador sabe en todo momento qué convertidores están actuando y cuáles están esperando, es decir, desconectados del sistema en ese momento.

La activación/desactivación de cada uno de los convertidores la realiza el microcontrolador mediante las señales correspondientes que envía al Driver de cada MOSFET a fin de realizar dicha función.

1.4.1 Funcionamiento del Convertidor “Boost”.

A continuación realizaré una breve descripción teórica del convertidor escogido para este proyecto.

La topología boost tiene como característica el aumento constante de la tensión de salida con respecto a la tensión de entrada y que, en nuestro caso, es suministrada por una fuente de alimentación.

La tensión de salida se mantiene constante (en el caso de un sistema con un solo convertidor) debido al control aplicado ante variaciones de la carga o de la tensión de alimentación.

Figura 1.1. Esquema de un convertidor Boost.

Page 8: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

8

El convertidor presenta dos elementos almacenadores de energía, de forma que estamos hablando de un convertidor de segundo orden. Dicho convertidor, en modo de conducción continua (cuando la corriente del inductor no se anula en ningún momento), presenta dos intervalos de funcionamiento denominados ON y OFF:

v En el intervalo ON, el interruptor MOSFET se encuentra cerrado, el inductor queda en paralelo con la carga y almacena energía; así, su corriente aumenta. La carga, que siempre está conectada en paralelo con el condensador de salida, mientras tanto, toma corriente del condensador, que se descarga, de forma que la tensión de salida tiende a disminuir.

v En el intervalo OFF, se abre el interruptor MOSFET y, debido a la energía almacenada en el inductor, cuya corriente no puede ser discontinua, se fuerza la conducción del diodo quedando el inductor conectado entre la entrada y el conjunto condensador-carga. En estas condiciones, suponiendo un régimen de operación estacionario, la corriente del inductor es suficiente para alimentar la carga y proporcionar un exceso que carga al condensador haciendo que la tensión de salida aumente. Para que pueda alcanzarse un equilibrio entre el almacenamiento y la cesión de energía en el inductor, el valor medio de la tensión de salida debe ser superior al de la tensión de entrada.

El cambio de la tensión de salida, así como la evolución temporal en ambos modos de conducción en régimen estacionario, se muestran gráficamente en las siguientes figuras.

En el intervalo ON la tensión aplicada al inductor es de signo positivo (A) mientras que en el intervalo OFF es de signo negativo (B).

Figura 1.2. Formas de onda en régimen estacionario de un periodo de la tensión y de la corriente del inductor.

Page 9: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

9

En equilibrio, la tensión media del inductor en un periodo debe ser cero. Así pues, las áreas A y B de la figura 1.2 deben de ser iguales. Así se demuestra la relación de régimen estacionario (1.1).

DV

V INO −

=1

(1.1)

donde D=TON/TS.

Figura 1.3. Evolución de la corriente en el condensador de salida.

En este modo de configuración elevadora, la bobina se comporta como una fuente de corriente, mientras que el condensador de salida puede considerarse como una fuente de tensión.

Y, aunque el nivel de EMIs a la entrada es bajo, puede ser necesario un filtro de entrada adicional para reducir las interferencias electromagnéticas conducidas.

Figura 1.4. Forma de onda de la corriente de entrada.

En la siguiente figura, sin embargo, el nivel de EMIs a la salida es elevado, por lo que hay que procurar disminuirlo en la medida de lo posible mediante la elección adecuada del condensador del convertidor.

Figura 1.5. Nivel de EMIs a la salida.

Page 10: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

10

Aún así, el convertidor, por su configuración, mantiene siempre la misma propiedad: la variable D es el factor de servicio en régimen estacionario.

A continuación se explica el funcionamiento en cada uno de los modos de conducción del convertidor elevador.

1.4.1.1 Topología “ON” del Convertidor Boost.

El esquema de funcionamiento es el siguiente

Figura 1.6. Circuito con el interruptor cerrado (intervalo de conducción).

Este modo de funcionamiento se comprende entre 0 < t < DT.

Cuando el interruptor está en “OFF” (cerrado) el diodo está polarizado en inversa (no pasa corriente), de manera que la corriente en la bobina aumenta linealmente, almacenando energía sin transferirla a la carga, mientras el condensador cede su energía a la carga.

Si suponemos una resistencia interna en la bobina (RL) y en el condensador (RC), el análisis del circuito es el siguiente:

El sistema de ecuaciones para el bucle izquierdo seria:

LLL

IN Ridtdi

LV ⋅+⋅= (1.2)

El sistema de ecuaciones para el bucle derecho seria:

01

=⋅

+

+⋅ CC

C VRRdt

dVC (1.3)

Considerando que:

dtdV

Cii CCO ⋅== (1.4)

Page 11: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

11

El sistema de ecuaciones finales el siguiente:

CV

RRdtdV

RLi

LV

dtdi

C

C

C

LLINL

+

−=

⋅−=

1 (1.2) y (1.3)

1.4.1.2 Topología “OFF” del Convertidor Boost.

El esquema de funcionamiento es el siguiente:

Figura 1.7. Circuito con el interruptor abierto (intervalo de no conducción).

Este modo de funcionamiento se comprende entre DT < t < T.

La bobina se comporta como fuente de corriente ya que el diodo está polarizado en directa, o lo que es lo mismo, el interruptor está ahora abierto. Esta situación provoca un suministro de energía hacia el condensador y la carga, fruto de la suma de la tensión de la fuente de alimentación y la tensión que se genera en la bobina. La energía que es suministrada al condensador es almacenada para el ciclo de conducción continua.

Si suponemos una resistencia interna en la bobina (RL) y en el condensador (RC), el análisis del circuito es el siguiente:

El sistema de ecuaciones para el bucle exterior seria:

LLOL

IN RiRidt

dILV ⋅+⋅+= (1.5)

Considerando que:

dtdV

Ciiii CLCLO −=−= (1.6)

La ecuación del bucle interior derecho se define como:

CLLCCL

IN VRiRidtdi

LV +⋅+⋅+= (1.7)

Page 12: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

12

Aislando la corriente en el condensador obtenemos:

−⋅−−== CLL

LIN

C

CC VRi

dtdI

LVRdtdV

Ci 1 (1.8)

Se deduce la siguiente expresión de las ecuaciones (1.8) y (1.5):

+⋅

+

−= LC

CL

CCIN

L RRRRR

iRR

RVV

dtdI

L (1.9)

La ecuación del bucle interior izquierdo se define como:

0=−⋅−⋅ CCCO VIRiR (1.10)

Si sustituimos valores de la ecuación (1.6) y nos queda la siguiente expresión:

dtdV

CRR

Ri

RRV C

C

CL

CC =

+

+

+

−1

(1.11)

El sistema de ecuaciones finales el siguiente:

+

+

+

−=

+

+⋅

+

−=

C

CL

C

CC

LC

CL

C

CINL

RRR

Ci

RRCV

dtdV

RRRRR

Li

RRR

LV

LV

dtdi

1 (1.11) y (1.9)

1.4.2 Control Mediante la Corriente de Entrada al Convertidor

El sistema de control de cada uno de los convertidores se basa en el sensado de corriente en la entrada de cada una de las ramas implementadas (tres convertidores en paralelo).

Con un límite preestablecido de corriente a la entrada de cada convertidor, la etapa de control actúa sobre el interruptor del convertidor en cuestión, bloqueándolo hasta el nuevo ciclo. En ese instante entra en funcionamiento la siguiente rama, así hasta completar el ciclo repetitivo.

Sin embargo, este sistema no es ideal, ya que las conexiones, el ruido de los componentes, y, en general, las alteraciones que sufre el sistema, suponen un funcionamiento diferente en cada una de las ramas, por lo que es imprescindible un control temporal de cada una de las mismas.

Si la rama que está en funcionamiento tarda más de lo esperado en alcanzar la corriente máxima de entrada (inductor) definida inicialmente, entonces, el Microcontrolador PIC18F252 actúa sobre el sistema, y el control pasa a la siguiente rama establecida en el proceso.

Page 13: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

13

Este control se puede realizar también mediante diversos dispositivos conjuntados para realizar así el mismo control (biestables, puertas lógicas, inversores,…). Estos dispositivos, debidamente configurados, presentan unos tiempos de respuesta a las inclemencias del sistema muy eficaces debido a proliferación de los microprocesadores, su rapidez y sus características, y hacen viable una solución, que puede mejorarse mediante la programación software en sucesivas versiones.

Al fin y al cabo, el sistema de control debe ser capaz de responder a los eventos que se van sucediendo con la rapidez necesaria para que el sistema funcione correctamente, por lo que el control mediante el microcontrolador debe de ser lo más eficaz y rápido posible.

1.4.3 Microcontrolador.

Un microcontrolador (µC) dispone de memoria, de CPU propia, de buses de instrucción y de datos, así como, de unos periféricos propios, y además, es programable. Implementando en el microcontrolador el sistema a estudiar en este proyecto, podremos obtener una herramienta de mejora continua debido a las sucesivas versiones mejoradas del programa de control que se podrían realizar.

Esta capacidad que nos ofrece el microcontrolador hace que el control del sistema se convierta en un problema de programación y no de electrónica, lo que da a lugar a una continua mejora y estudio del sistema. Además, nos proporciona una reducción de componentes y, por lo tanto, de coste del sistema ya que en un solo chip, se encuentran varias soluciones, lo cual no ocurre en otros sistemas de control, ya sean de electrónica analógica o en sistemas procesadores.

El microcontrolador nos ofrece unos recursos que nos son útiles para la realización de este proyecto:

v Puertos I/O. Estos puertos nos comunican con el sistema, en concreto, nos darán a conocer el estado del sistema y permitirán dar respuesta (control) al mismo. Los puertos se podrán configurar como entrada o salida, según convenga, por lo que recibirá/emitirá tensión en cada uno de los pins del mismo. A la vista del microcontrolador solo verá o un “0” o un “1”, que, en realidad, se traduce en 0 o 5 volt. De todas maneras, la corriente que proporciona el microcontrolador no es muy elevada, de modo que, en algunos casos, ésta se tendrá que amplificar para dispositivos que requieran un mayor consumo.

v Counters y Timers. Son la base de los microcontroladores, ya que son los que hacen capaz el recuento de los eventos que suceden en el sistema: o cuentan la cantidad de eventos asociados a uno o varios pins, o bien el intervalo de tiempo que transcurre entre diversos sucesos. Estos sucesos se entienden como interrupciones en el sistema, por lo que a una interrupción acontecida, el programador puede evaluar el sistema y cambiar el transcurrir del programa si lo cree oportuno.

v External Interrupts. Los sucesos del sistema que requieran un control por parte del microcontrolador, se pueden detectar y

Page 14: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

14

controlar mediante la configuración de ciertas patillas como interrupciones externas, de forma que el flujo del programa se detiene para evaluar o acometer variaciones en el programa.

Figura 1.8. Microcontrolador PIC 18F252.

Existen otros recursos muy útiles como los diferentes módulos de comunicación, los conversores Analógicos Digitales, o los tan necesarios módulos de generación de señales de frecuencia variables (PWM), y, aunque en este proyecto, no son necesarios, sí podrían utilizarse para controlar, o verificar las señales que acontecen en el sistema (corriente/tensión entrada y salida, temperatura, etc.).

La programación de un µC, se puede realizar de dos formas: mediante el ensamblador o bien mediante un lenguaje de alto nivel como C o Basic. La programación en ensamblador tiende a ser más reducida que en lenguaje de alto nivel, optimiza la memoria y la ejecución del programa, por lo tanto, podemos decir que es más rápida. En cambio, el lenguaje de alto nivel proporciona utilidades de programación simplificadas y de fácil entendimiento para los programadores.

Para la realización de este proyecto he decidido optar por una programación de alto nivel debido a la familiarización y a la gran utilidad de aplicaciones de que se disponen.

Page 15: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

15

2 Memoria de Cálculo.

Page 16: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

16

2.1 Introducción.

En este capítulo se explicará el método implementado para el control, en modo corriente máxima, para cada uno de los convertidores, así como la elección de los diversos componentes y dispositivos empleados.

A continuación se muestra un diagrama de bloques del circuito.

Figura 2.1. Diagrama de Bloques del prototipo.

También se detallará el algoritmo empleado para el funcionamiento del microcontrolador, incluyendo las diferentes versiones utilizadas en la mejora del mismo.

2.2 Control mediante el sensado de corriente máxima en el inductor.

La realización de este proyecto conlleva el control de la corriente máxima en la entrada de cada una de las ramas. Esta corriente será constantemente evaluada y tratada por el microcontrolador, que decidirá qué rama tiene que estar activada teniendo en cuenta la configuración de los parámetros configurados en su programación.

El sistema simula un proceso trifásico donde el funcionamiento de un convertidor viene interrumpido por la corriente máxima alcanzada por el mismo, momento en el cual actúa el microcontrolador decidiendo, según el estado del sistema, si debe activar el siguiente convertidor, desactivando el correspondiente. Este tiempo durante el que el convertidor está funcionando, se controla por el microcontrolador (PIC 18F252) que establece unos tiempos predefinidos mediante los timers del PIC (configurados en programación). Se establece en 4,8 µs el tiempo de trabajo de cada convertidor, y si no acontece interrupción del siguiente convertidor, el microcontrolador da el control al convertidor que en teoría tenía que acontecer (y así sucesivamente).

Se establecen dos tipos de controles trifásicos, según se configure el microcontrolador. Se puede tener en cuenta que solo una rama está activa, asumiendo ésta

CONTROL

convertidores

CONV 1

CONV 2

CONV3

C

A

R

G

A

Eliminación

ruido

Vin

Vout

Page 17: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

17

todo el rendimiento del sistema en ese tiempo de control; o bien, se pueden tener configuradas las ramas trifásicamente, (funcionamiento por etapa cada 120º), donde dos ramas están siempre activas, de forma que el rendimiento del sistema se ve repartido por el funcionamiento en paralelo de los convertidores activos.

La corriente de entrada al inductor es transformada por el amplificador diferencial INA145 a una tensión determinada, la cual es tratada en el microcontrolador PIC 18F252.

2.3 Hardware.

2.3.1 Cálculo de los parámetros de la planta.

Se realizará el estudio de un convertidor para poder averiguar los valores de tensión, corriente, rizado, potencia, etc, así como, todos los valores que luego se necesitarán para la implementación. A partir de los valores encontrados, relacionaremos éstos con el ciclo de trabajo.

Tal y como se describió teóricamente, tenemos dos modos de funcionamiento, continuo y discontinuo:

La tensión en el inductor en modo continuo (interruptor cerrado) de la figura 1.6:

dtdi

LV LIN ⋅= (2.1)

La tensión en el inductor en modo discontinuo (interruptor abierto) de la figura 1.7:

OUTLOL

IN VVRidt

dILV +=⋅+= (2.2)

Realizando primero la Transformada de Laplace y después su Transformada Inversa obtendremos el siguiente resultado en modo Continuo:

Transformada à 1)( isissL

VIN −⋅=⋅

à si

sLV

si IN 12

)( +⋅

= (2.3)

Transformada Inversa à tL

Viti IN ⋅+= 1)( (2.4)

Realizando primero la Transformada de Laplace y después su Transformada Inversa obtendremos el siguiente resultado en modo Discontinuo:

Transformada à 2)( isissL

VV OUTIN −⋅=⋅

− à

22)(

sLVV

si

si OUTIN

⋅+

+= (2.5)

Transformada Inversa à tLVV

iti OUTIN ⋅−

+= 2)( (2.6)

Se comprueba que se obtienen dos intensidades en el inductor para cada modo de conmutación del convertidor, (i1 y i2). Si i2 y i1 son valores antes de cada conmutación de

Page 18: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

18

estado, se puede definir que su diferencia será el rizado de corriente en el inductor, de forma que modificando las ecuaciones (2.4) y (2.6) para instantes i(t)t = DT = i2 y i(t)t =1-DT

= i1, se obtienen las siguientes ecuaciones.

( )TDLVV

ii

DTL

Vii

OUTIN

IN

−−

+=

+=

121

12

(2.7)

De estas ecuaciones, podemos obtener el valor del rizado de corriente (? IL), así como el valor del Ciclo de Trabajo o Duty Cycle (D).

OUT

IN

VV

D

ii

−=

−=∆

1

I 12L

(2.8)

Si consideramos que las pérdidas en el convertidor son nulas (convertidor ideal), tendremos que:

OUTOUTININ

OUTIN

IVIVPP

⋅=⋅=

(2.9)

Donde los valores de la intensidad de entrada (IIN) y de la potencia obtenida (POUT) son:

RV

P

iiI

OUTOUT

IN

2

21

2

=

+

= (2.10)

Combinando las ecuaciones anteriores obtenemos los siguientes valores de corriente:

( )

( )DT

LV

RD

Vi

DTL

V

RD

Vi

ININ

ININ

⋅⋅

+⋅−

=

⋅⋅

−⋅−

=

21

21

22

21

(2.11)

Los valores de los dispositivos de la planta vienen definidos por las características del sistema.

Si lo que se desea es obtener a la salida una tensión de 45 V, el convertidor ha de trabajar a una frecuencia de 50 kHz, y los valores para la bobina y la resistencia de carga

Page 19: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

19

han deser de 43 µH y de 10 O respectivamente, obteniendo así un ciclo de trabajo del 66 %.

Para calcular el rizado de corriente que tendría el convertidor del sistema con estos valores, se aplica la ecuación (2.11) obteniendo una i1 = 12,92 A y una i2 = 13,03 A. El Rizado de Corriente (? IL), por lo tanto, será de 0,1151 mA. La corriente media de entrada al convertidor, teniendo en cuenta la expresión (2.10) será de 12,97 A. Si consideramos que hay tres convertidores conectados en paralelo, el valor de esta corriente será una tercera parte de lo calculado para una etapa, es decir, 4,32 A. tomándose como valor de referencia de corriente máxima en la entrada de cada convertidor 4 A

Considerando que el tiempo máximo de funcionamiento del convertidor tiene que ser de 20 µs, y donde 6 µs es el tiempo máximo de respuesta del convertidor, tenemos 18 µs para llegar a una corriente máxima fijada por control, que inicialmente se ha establecido en 4 A, por lo que el rizado de la corriente vendrá definido por el valor de la bobina del convertidor que se ha establecido en 43 µH.

Definiendo una tensión de entrada Vin = 15 V, tenemos la siguiente corriente

máxima de rizado:

Figura 2.2. Curva Rizado en el convertidor.

2.3.2 Elección del inductor.

El inductor escogido ha sido el modelo PE-51511 (PULSE Technitrol Company), de tipo toroidal, con una inductancia de 43 µH y que está diseñado para aplicaciones de corrientes elevadas. Este tipo es el más adecuado dentro del catálogo disponible de AMIDATA, ya que cumple con las especificaciones de corriente máxima admitida.

Otra posible solución es el montaje de bobinas en el laboratorio con unos núcleos adecuados a las características requeridas, pero la posibilidad de encontrar tres núcleos de características casi idénticas hacen más viable la solución anterior, teniendo en cuenta que, además, la diferencia de coste entre ambos es ínfima.

2.3.3 Elección del diodo.

El diodo escogido es de tipo Schottky, de conmutación rápida y caída de tensión baja, aspecto esencial si hablamos en términos de rendimiento. Además, tiene la

i

∆ i

sµ63 ⋅ sµ6

Imax

( ) AsI 279,6184315 =⋅=∆ µ Rizado máximo

Page 20: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

20

capacidad de rectificar señales de alta frecuencia, de forma que su manipulación no produce problema alguno.

Finalmente, el diodo escogido ha sido el 43CTQ100 de Internacional Rectifier, que nos permite trabajar a tensiones de 100 V e intensidades de 40 A, y con una caída de tensión de 670 mV.

2.3.4 Elección del MOSFET

El transistor MOSFET escogido se tenía que ceñir a las características del convertidor, lo que supone que tenía que soportar la tensión y la corriente máxima prevista cuando estuviera funcionando. De esta forma, el MOSFET elegido es el STW55NE10 de ST Microelectronics, de canal N capaz de soportar tensiones de 100 V y corrientes en el drenador de hasta 55 A. Además, la resistencia de conducción es de solo 27 mO, por lo que su resistencia en funcionamiento no nos produce una caída importante de tensión.

Se introducirá un filtro paso bajo (“snubber”) para eliminar las componentes de alta frecuencia que podrían dañar el MOSFET, y así proteger el MOSFET cuando éste no esté conduciendo, eliminando las tensiones elevadas.

R10 1/2

C1 nF

M

STW55NE10

Figura 2.3. Filtro paso bajos en el MOSFET.

2.3.5 Driver IR2125.

El microcontrolador, al suministrar poca intensidad, necesita de un driver para la activación/desactivación del transistor MOSFET. Para ello, se ha escogido el driver INA 145UA, un integrado que está específicamente fabricado para disparar este tipo de transistores.

Page 21: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

21

Vcc 12 V

12 1/2 WSTW55NE10

1 uF

100 k

IR2125

12

3

56

7

8

34

VCCIN

ERR

VSCS

OUT

VB

ERRCOM

salida PIC

10 nF

1 uF

15 V

Figura 2.4. Interconexionado del driver IR2125 del MOSFET.

Dicho driver genera una señal cuadrada elevada como respuesta a una señal de entrada proveniente del microcontrolador. Al estar alimentado a 12 V, los pulsos presentan un tiempo de subida / bajada de 150 ns. Además, se ha colocado una resistencia de Pull Down para evitar que el transistor quede en conducción si se desconecta la etapa de control de la de potencia.

Por otra parte, para que el ruido no afecte demasiado, he decidido incluir el driver en la etapa de potencia, situado lo más cerca posible del transistor MOSFET.

Paralelamente a la resistencia Pull Down he incluido un diodo zener de protección para el transistor que evitará que tensiones residuales, negativas o positivas, destruyan el transistor.

Asimismo, he decidido poner una resistencia entre la salida del driver y el transistor para amortiguar el efecto de la inductancia parásita de los componentes pasivos (cables, terminales) entre el driver y el MOSFET. También he introducido un condensador a la salida del driver para eliminar la posible formación de altas componentes frecuenciales al pasar el driver de 0 a 12 volt, y viceversa.

2.3.6 Sensor de corriente INA 145.

El dispositivo INA145 UA es un amplificador diferencial que tiene una ganancia configurable mediante resistencias externas. Teniendo en cuenta la configuración de las resistencias utilizadas, se pueden tener ganancias de 1 V a 1000 V. La ganancia escogida se multiplica a la diferencia de potencial obtenida por una resistencia colocada entre dos pins del amplificador. Para disminuir el rendimiento en el convertidor se ha escogido una resistencia de 10 mO, lo que se traduce en valores de tensión del orden de los milivolt, de una gran sensibilidad al ruido.

En este caso, la corriente que circula por cada inductor, en valor medio, es de cuatro ampere; por lo que obtenemos la siguiente tensión de sensado:

mVmARIV sensadoLsensado ⋅=Ω⋅⋅=⋅= 40104 (2.12)

Para minimizar los efectos causados por interferencias electromagnéticas se ha colocado el dispositivo lo más cerca posible de la resistencia de sensado.

Page 22: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

22

Vcc 5 V

CONTROL PIC X

R

100

-

+

U

INA145

5

6

7

14

3

2

SE

NS

E

OUT

V+

RE

F

V-+

-

R 1 M

ENTRADA CONVERTIDOR

R 10.2 k

R2

0.01

R

60

Entrada convertidor X

Figura 2.5. Medición corriente a la entrada del convertidor mediante INA145.

El valor de salida del INA145 será comparado con el amplificador LM311N, cuya salida estará conectada al pin correspondiente de interrupción externa del microcontrolador. Se realizará una adecuación de la señal generada por el INA145 mediante un divisor de tensión, para que la comparación de señal al microcontrolador sea la correspondiente al valor determinado para la corriente de entrada a cada convertidor.

Este parámetro se configura con un potenciómetro de precisión que nos permite jugar con el retardo del microcontrolador, de manera que se pueda realizar el ajuste para dar señal antes de lo acontecido, ya que el convertidor no genera señal hasta unos cuantos microsegundos después. Este ajuste está basado en pruebas realizadas, ya que no se puede establecer con exactitud el tiempo de retardo del microcontrolador. En cualquier caso, tendrá que ser el mismo para las tres etapas.

2.3.7 Elección del microcontrolador.

En el mercado hay muchos fabricantes que venden microcontroladores (µC), pero de todas ellos, Microchip era el más adecuado por lo extendido de su uso, documentación existente y, coste de sus productos. El programa de envío gratuito de µC’s, así como la disponibilidad en el Laboratorio de proyectos de un programador para el µC escogido, desechó cualquier otra opción inicial.

El dispositivo en cuestión tenía que ser lo más rápido posible, ya que así lo marcaban las características del sistema. Debía disponer, a su vez, de un mínimo de tres interrupciones externas (para los tres convertidores a utilizar), así como tres timers para controlar cada uno de los eventos. La familia 18 de Microchip cuenta con diferentes modelos que cumplen estas características, pero, finalmente, el escogido fue el 18F252, capaz de funcionar a una frecuencia de 40 MHz (el más rápido de todos los disponibles)

Otra característica importante era el hecho de poder realizar la programación del microcontrolador mediante lenguaje C, aunque en los procesos que requieren velocidad no fuera el más adecuado. Aún así, el compilador C18 C permitía programar en ensamblador en el mismo código realizado en lenguaje C, obteniendo, al fin y al cabo, un código más rápido y depurado. Esta programación en ensamblador se inserta en medio del código del programa en C, (donde fuera necesario); se señala el momento en que se va a empezar a programar en ensamblador mediante la instrucción “begin asm;” y se finaliza mediante la instrucción “end asm;”.

La disponibilidad de los dos programadores de Microchip en el laboratorio hacía que la elección no tuviera en cuenta el coste del mismo, sino la preferencia de uno en vez de otro. Finalmente, opté por el MPLAB ICD 2 debido a la facilidad de uso.

Page 23: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

23

2.3.8 Parámetros Principales de la Planta.

El sistema con tres convertidores DC/DC Boost elevadores tiene como parámetros los siguientes valores:

Tabla 2.1. Parámetros del sistema.

PARÁMETRO SÍMBOLO VALOR Tensión de entrada. Vin 15 V Tensión de salida Vo 40 - 45 V Inductancia en la bobina 1 L1 43 µH Capacidad de salida C1 1000 µF Capacidad de entrada Cin 40 µF Carga de salida R 10 Resistencia de sensado 1 R24 10 m? Resistencia en la bobina 1 RS1 ˜ 18 m? Resistencia al MOSFET RDS ˜ 70 m? Caída de tensión en el diodo Vd (on) ˜ 700 mV

Page 24: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

24

2.3.9 Listado de Todos los Componentes Calculados.

COMPONENTE VALOR R1 10 ? R2 10 ? R3 10 ? R4 10 ? R5 10 ? R6 10 ? R7 1 k? R8 10 k? R9 10 k?

R10 12 ? R11 100 k? R12 10 ? R13 10 m? R14 10,2 k? R15 1 M? R16 60 ? R17 100 ? C1 15 µF C2 15 µF C3 100 nF C4 100 nF C5 100 nF C6 1 µF C7 1 µF C8 10 nF C9 1 nF CIN 40 µF

CLOAD 1000 µF

Tabla 2.2. Listado componentes.

2.4 Software.

La programación del Microcontrolador PIC 18F252 he realizado en lenguaje C mediante el entorno facilitado por el fabricante en su página web (www.microchip.com).

He escogido este lenguaje de programación por la facilidad de uso así como, por su amplio desarrollo entre los programadores del campo industrial.

Para la compilación del programa ha sido necesaria la instalación del Compilador de C para el entorno MPLAB. Este programa tiene la versatilidad de poder compilar tanto lenguaje C como lenguaje ensamblador, lo que resulta muy útil para la realización de determinada programación crítica que requiera de un plus de velocidad en algún momento, debido a su gran compactación en cuanto espacio de programación se refiere.

El entorno MPLAB permite simular el programa creado antes de insertarlo en el microcontrolador, de manera que siempre se pueden depurar pequeños aspectos del

Page 25: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

25

código, que en ensayos reales con el microcontrolador, en cambio, no se podrían observar con tanta claridad.

2.4.1 Generación del Periodo.

Para maximizar el rendimiento efectivo a alta velocidad del microcontrolador, he optado por la configuración del dispositivo a una frecuencia de 40 MHz, de forma que la secuencia queda reducida de la siguiente manera: se configura el oscilador mediante un reloj de cuarzo de 10 MHz, el dispositivo capta está frecuencia de control a la entrada del oscilador y genera internamente una frecuencia multiplicada por 4.

La velocidad por ciclo de instrucción será por lo tanto de 0,1 µs (100 ns).

2.4.2 Configuración del Microcontrolador.

La realización del control de los convertidores requiere de la utilización del timer0, del timer1, y del timer3, así como de las interrupciones externas INT0, INT1 e INT2 que son respectivamente las líneas RB0, RB1 y RB2 del puerto B.

La característica común de los timers 0, 1 y 3 es que pueden interrumpir el normal procedimiento de ejecución de un programa, o dicho de otra manera, pueden producir interrupciones una vez acaban con la cuenta de un valor introducido previamente. La interrupción en cada uno de estos timers se genera cuando se sobrepasa el valor introducido en el timer en cuestión de nivel alto (FFh) a nivel bajo (00h). Este modo de operación es válido para la configuración en 8 bits así como para la de 16 bits, pero el contaje puede ir de FFFFh a 0000h. Este último modo permite realizar el doble de cuenta que en modo 8 bits. En nuestro caso se realiza para modo 16 bits.

Para que se ejecucte una interrupción por timer cada 4,8 µs es necesario que se introduzca un valor de 192 en el timer deseado, valor relacionado con el tiempo que necesita un ciclo de instrucción para su ejecución. Considerando que el microcontrolador 18F252 está configurado a una frecuencia de 40 MHz, se puede calcular que a 192 ejecuciones del timer producirá una interrupción a los 4,8 µs deseados. Del mismo modo se puede averiguar que se necesitan 32 ejecuciones de timer para generar interrupción a 0,8 µs.

Para la configuración de los timers se ha utilizado la librería timers.h facilitada por el fabricante del microcontrolador en la que el control de los timers se realiza con unas sencillas funciones. También se han utilizado las librerías (portb.h) para la configuración del puerto B, en la que se configuran las interrupciones externas de cada convertidor al microcontrolador. Se añade, también, la librería del PIC 18F252 (18f252.h) para que la compilación sea la correcta a la hora de realizar la programación, ya que, en su defecto, el programa no funcionaría correctamente.

Las funciones utilizadas son las siguientes:

OpenTimerx ( ) Configura el timer (0,1 o 3)

WriteTimerx ( ) Escribe un valor en el timer(0,1 o 3).

OpenPORTB ( ) Configura el puerto A

OpenRB0INT ( ) Habilita INT0

Page 26: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

26

OpenRB1INT ( ) Habilita INT1

OpenRB2INT ( ) Habilita INT2

ClosePORTB ( ) Cierra el puerto B

Tabla 2.3. Funciones Mplab Compiler C18 C.

Estas librerías solo son válidas para la compilación del programa en entorno MATLAB, concretamente con el compilador MPLAB COMPILER C18 C facilitado por Microchip.

2.4.3 Generación de las Interrupciones del Microcontrolador.

La generación de las interrupciones en el microcontrolador sigue un estricto orden de configuración. En este proyecto se necesitan las tres interrupciones externas que dispone el microcontrolador PIC 18F252, así como las tres interrupciones internas que generan los timers (0, 1 y 3).

En este proyecto será necesario configurar los siguientes registros:

RCON Registro Configuración Prioridades mediante bit IPEN.

INTCON Contiene varias habilitaciones (INT0) y bits de prioridad. (IPEN)

INTCON2 Contiene varias habilitaciones y bits de prioridad. (Flag ascendente de las interrupciones externas)

INTCON3 Contiene varias habilitaciones (INT1, INT2) y bits de prioridad (INT1, INT2).

Tabla 2.4. Registros configuración interrupciones.

Cada una de las fuentes de interrupción, excepto la INT0, tiene tres bits de control de la operación: el Bit de Flag que indica que una interrupción ha acontecido, el Bit de Habilitación que permite la ejecución del programa de la rama de la dirección del vector de interrupción, y, el Bit de Prioridad que selecciona alta o baja interrupción, según corresponda.

El sistema de prioridades en interrupciones se habilita mediante el set del IPENbit (RCON<7>). Cuando se habilita la interrupción por prioridades, hay dos bits que habilitan las interrupciones globales. Ajustando GIEHbit (INTCON<7>) se habilitan todas las interrupciones que tiene el bit de prioridad ajustado (set, 1) y ajustando GIELbit (INTCON<6>) se habilitan todas las interrupciones que tiene el bit de prioridad limpiado (cleared, 0).

Para acontecimientos de interrupciones externas, (los pins INT del puerto B), cambia la interrupción. En este caso, la latencia de la interrupción es de tres o cuatro ciclos de interrupción.

Page 27: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

27

Figura 2.6. Lógica interna de interrupciones del PIC 18F252.

Si aparece una pendiente válida en RBx/INTx, (interrupción externa de cualquiera de los convertidores), el correspondiente bit (flag) INTxF es activado. Esta interrupción se puede inhabilitar mediante un borrado al correspondiente INTxE.

El bit (flag) INTxF debe de ser borrado por software en el reconocimiento de interrupción, antes de rehabilitarla, ya que sino, podrían generarse interrupciones continuadas, provocando retardos innecesarios en el sistema.

Las prioridades para INT1 e INT2 se determinan mediante el valor contenido en los bits de prioridad de interrupciones. (INT1IP e INT2IP del registro INTCON3).

2.4.4 Versiones Realizadas. Evolución Programación.

El presente proyecto está marcado por una clara evolución programativa que busca la correcta implementación del sistema mediante el código más adecuado para el control que el prototipo necesita.

a) Una primera versión, y la más completa, considera el control absoluto tal y como se ha ido explicando hasta ahora.

El control en esta primera versión (versión 1) considera las siguientes características de control:

- Control mediante corriente de entrada a los convertidores. Interrupciones externas por el puerto B del microcontrolador.

Page 28: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

28

- Control del tiempo de ejecución de cada uno de los convertidores mediante la utilización de los timers que dispone el microcontrolador 18F252. (timer0, timer1, timer3). Controla el tiempo de espera (5 microsegundos) así como el tiempo máximo para que acontezca la interrupción del convertidor que controla el timer relacionado.

- Seguimiento controlado del sistema mediante algoritmo de control en interrupciones. De esta manera, se evitan fallos externos que puedan comprometer el orden predefinido de ejecución de los convertidores.

b) La segunda versión realizada, a la que se llamó versión 2, contempla el control descrito en la versión 1, pero únicamente con el control temporal de la ejecución de los convertidores. En este caso, el control de tiempo máximo de espera del siguiente convertidor se anula. Este control de tiempo solamente abarca el tiempo máximo de ejecución de cada uno de los convertidores y, por tanto, no contempla el tiempo de espera de la llegada de la corriente de entrada máxima a cada una de las fases (versión 1). Este control convierte el sistema triplicador de señales en otro en el que la conmutación de estados de funcionamiento se realiza independientemente de la ejecución o modo de funcionamiento del estado (convertidor) anterior

c) Una tercera versión de control (versión 3), a priori menos eficaz debido a la velocidad inadecuada a la que responde el microcontrolador, trata de realizar un control caótico del sistema, en el que sólo la corriente de entrada en los convertidores interviene en el algoritmo de control. Este sistema de control es el menos restrictivo ya que no controla el tiempo de ejecución de los convertidores, de forma que el sistema no trabajara nunca con un rendimiento equitativo entre los convertidores, ni establece el cambio de control a otro convertidor si el que se encuentra en operación no ha llegado a la intensidad límite. (Cuando la señal de control de corriente llega, el sistema cambia; cuando no llega, no cambia, independientemente del tiempo de ejecución del convertidor).

Los sucesivos cambios realizados para el control del sistema se llevaron a cabo con el fin de minimizar el tiempo de ejecución del programa. La primera idea fue realizar el código de las interrupciones en lenguaje ensamblador, donde el tiempo de ejecución se disminuye considerablemente en contra del lenguaje C (versión 1 modificada). A continuación, viendo que no había respuesta del prototipo, se estipuló que el control del tiempo de llegada de la corriente máxima a cada convertidor, era excesivo en frente de las características que tenía el microcontrolador, de forma que se eliminó esta variable de control (versión 2). Una vez comprobado que el sistema no respondía, aún habiendo reducido el tiempo de ejecución de las interrupciones a la mitad, se decidió eliminar el sistema de control temporal de los convertidores, lo que suponía una reducción drástica del algoritmo de control, así como del tiempo de ejecución global del programa.

Estas evoluciones supusieron un avance en pro de una gestión más rápida del sistema, pero, a su vez, produjeron una disminución del control. Esta última versión hizo que el sistema se inestabilizase y quedase el control en un convertidor, de manera que la salida esperada era un tercio de lo calculado. Esta estabilidad dentro de la inestabilidad del mismo producía que el convertidor que estaba operando, se destruyera por sobrecalentamiento debido, probablemente, al consumo de intensidad para el que no estaba calculado (sucedía lo mismo cuando se intentaba reducir la frecuencia de conmutación de los convertidores).

Page 29: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

29

2.4.5 Diagramas.

A continuación se muestran los diagramas de flujo de las diferentes versiones realizadas:

La versión 1 tiene el siguiente diagrama de flujo donde se observan el algoritmo principal con el de las interrupciones generadas:

CONFIGURA SALIDAS (PUERTO A)CONFIGURA ENTRADAS (PUERTO B)CONFIGURA TIMERS (Timer0, 1 y 3)

CONFIGURA INTERRUPCIONES EXTERNAS (INTCON, INTCON2, INTCON3, RCON)

HABILITA INTERRUPCIONES GLOBALES

END

VERSIÓN 1

si

no¿EMPIEZA SISTEMA?¿RB4 == ON?

¿RB4 == OFF ?

SISTEMA CONVERTIDORES --> ON

Configuración aplicaciones PIC: * Temporización * Interrupciones * Puertos entradas y salidas PIC * Variables control PIC

INICIO

INICIALIZA VARIABLES DE CONTROL

RB4 --> Entrada puertoB delPIC asociada a interruptor deON/OFF del sistema

no

si

CONTROL SISTEMA

CONVERTIDORES OFFRESTAURACIÓN VARIABLES CONTROL

Configuración variables decontrol de la etapa depotencia

A partir de ahora el PICvalorará las interrupcioensque acontezcan

Mientras no se prodeuzca un RESET (RB4 = OFF)externa o internamente el sistema está enfuncionamiento normal.Algorítmo de control en siguiente diagrama.

Se pone en funcionamiento elsistema según la configuración delas variables de control de losconvertidores de la etapa depotencia.

Page 30: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

30

si

no

¿Acontece Timer0?(4,8 microseg.)

Reset variable control T0 = FALSEEmpieza control temporal Timer0

¿Acontece Timer1?(4,8 microseg.)

¿Acontece Timer3?(4,8 microseg.)

¿Acontece Timer0?(0.8 microseg.)

¿Acontece Timer1?(0,8 microseg.)

Reset variable control T1 = FALSEEmpieza control temporal Timer1

Reset variable control T3 = FALSEEmpieza control temporal Timer3

Reset variable control TT0 = FALSEEmpieza control temporal Timer0

Reset variable control TT1 = FALSEEmpieza control temporal Timer1

¿Acontece Timer3?(0,8 microseg.)

Reset variable control TT3 = FALSEEmpieza control temporal Timer3

no

no

si

si

si

si

si

no

no

no

CONTROL SISTEMA

INICIO

FIN

Page 31: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

31

FIN INTERRUPCIÓN

si

no

Acontece Interrupción Externa

¿Acontece Convertidor 1?INT0

Borra Flag InterrrupciónConvertidor 1 OFFConvertidor 2 ONActualización variables control (E1,E0)Actualización control Timer0 (T0)

si

no

¿Acontece Convertidor 2?INT1

Borra Flag InterrrupciónConvertidor 2 OFFConvertidor 3 ONActualización variables control (E2,E1)Actualización control Timer1 (T1)

si

no

¿Acontece Convertidor 3?INT2

Borra Flag InterrrupciónConvertidor 3 OFFConvertidor 1 ONActualización variables control (E2,E0)Actualización control Timer3 (T3)

Page 32: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

32

FiIN INTERRUPCIÓN

si

no

Acontece Interrupción Interna TIMERS

¿Acontece timer0?

no

¿Acontece timer1?

¿Timer0 (4.8 microseg.)?

TT0 = TRUEConvertidor3 OFFConvertidor1 ON

no

si

si

Actualiza variable control Timero0 (T0)

¿Espera Timer0?¿E0 TRUE?

Actualiza variables controlConvertidor1 ONConvertidor3 OFFE0 FALSE

Empieza timer0 (0,8 micorseg)TT0 = TRUE

no

¿Acontece timer3?

Borra Flag Interrupción Timer0

si

¿Timer1 (4.8 microseg.)?

TT1 = TRUEConvertidor OFFConvertidor ON

no

si

si

Actualiza variable control Timero1 (T1)

¿Espera Timer1?¿E1 TRUE?

Actualiza variables controlConvertidor ONConvertidor OFFE1 FALSE

Empieza timer1 (0,8 micorseg)TT1 = TRUE

no

Borra Flag Interrupción Timer1

si

¿Timer3 (4.8 microseg.)?

TT3 = TRUEConvertidor OFFConvertidor ON

no

si

si

Actualiza variable control Timero3 (T3)

¿Espera Timer3?¿E2 TRUE?

Actualiza variables controlConvertidor ONConvertidor OFFE2 FALSE

Empieza timer3 (0,8 micorseg)TT3 = TRUE

no

Borra Flag Interrupción Timer3

no

La versión 2 tiene el siguiente diagrama de flujo donde se observan el algoritmo principal con el de las interrupciones generadas:

Page 33: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

33

CONFIGURA SALIDAS (PUERTO A)CONFIGURA ENTRADAS (PUERTO B)CONFIGURA TIMERS (Timer0, 1 y 3)

CONFIGURA INTERRUPCIONES EXTERNAS (INTCON, INTCON2, INTCON3, RCON)

HABILITA INTERRUPCIONES GLOBALES

END

VERSIÓN 2

si

no¿EMPIEZA SISTEMA?¿RB4 == ON?

¿RB4 == OFF ?

SISTEMA CONVERTIDORES --> ON

Configuración aplicaciones PIC: * Temporización * Interrupciones * Puertos entradas y salidas PIC * Variables control PIC

INICIO

INICIALIZA VARIABLES DE CONTROL

RB4 --> Entrada puertoB delPIC asociada a interruptor deON/OFF del sistema

no

si

CONTROL SISTEMA

CONVERTIDORES OFFRESTAURACIÓN VARIABLES CONTROL

Configuración variables decontrol de la etapa depotencia

A partir de ahora el PICvalorará las interrupcioensque acontezcan

Mientras no se prodeuzca un RESET (RB4 = OFF)externa o internamente el sistema está enfuncionamiento normal.Algorítmo de control en siguiente diagrama.

Se pone en funcionamiento elsistema según la configuración delas variables de control de losconvertidores de la etapa depotencia.

Page 34: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

34

si

no

¿Acontece Timer0?(4,8 microseg.)

Reset variable control T0 = FALSEEmpieza control temporal Timer0

¿Acontece Timer1?(4,8 microseg.)

¿Acontece Timer3?(4,8 microseg.)

Reset variable control T1 = FALSEEmpieza control temporal Timer1

Reset variable control T3 = FALSEEmpieza control temporal Timer3

no

no

si

si

CONTROL SISTEMA

INICIO

FIN

Page 35: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

35

FIN INTERRUPCIÓN

si

no

Acontece Interrupción Externa

¿Acontece Convertidor 1?INT0

Borra Flag InterrrupciónConvertidor 1 OFFConvertidor 2 ONActualización variables control (E1,E0)Actualización control Timer0 (T0)

si

no

¿Acontece Convertidor 2?INT1

Borra Flag InterrrupciónConvertidor 2 OFFConvertidor 3 ONActualización variables control (E2,E1)Actualización control Timer1 (T1)

si

no

¿Acontece Convertidor 3?INT2

Borra Flag InterrrupciónConvertidor 3 OFFConvertidor 1 ONActualización variables control (E2,E0)Actualización control Timer3 (T3)

Page 36: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

36

FiIN INTERRUPCIÓN

si

no

Acontece Interrupción Interna TIMERS

¿Acontece timer0?

no

¿Acontece timer1? Actualiza variables control Timero0 (T0)

Convertidor1 ONConvertidor3 OFFE0 FALSE

¿Acontece timer3?

Borra Flag Interrupción Timer0

si

si

no

Actualiza variables control Timero0 (T0)

Convertidor1 ONConvertidor3 OFFE0 FALSE

Borra Flag Interrupción Timer0

Actualiza variables control Timero0 (T0)

Convertidor1 ONConvertidor3 OFFE0 FALSE

Borra Flag Interrupción Timer0

La versión 3 tiene el siguiente diagrama de flujo donde se observan el algoritmo principal con el de las interrupciones generadas:

Page 37: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

37

CONFIGURA SALIDAS (PUERTO A)CONFIGURA ENTRADAS (PUERTO B)CONFIGURA TIMERS (Timer0, 1 y 3)

CONFIGURA INTERRUPCIONES EXTERNAS (INTCON, INTCON2, INTCON3, RCON)

HABILITA INTERRUPCIONES GLOBALES

END

VERSIÓN 3

si

no¿EMPIEZA SISTEMA?¿RB4 == ON?

¿RB4 == OFF ?

CONVERTIDOR 1 --> ON

Configuración aplicaciones PIC: * Temporización * Interrupciones * Puertos entradas y salidas PIC * Variables control PIC

INICIO

INICIALIZA VARIABLES DE CONTROL

RB4 --> Entrada puertoB delPIC asociada a interruptor deON/OFF del sistema

no

si

CONTROL SISTEMA

CONVERTIDORES OFFRESTAURACIÓN VARIABLES CONTROL

Configuración variables decontrol de la etapa depotencia

A partir de ahora el PICvalorará las interrupcioensque acontezcan

Mientras no se prodeuzca un RESET (RB4 = OFF)externa o internamente el sistema está enfuncionamiento normal.

Se pone en funcionamiento elsistema según la configuración delas variables de control de losconvertidores de la etapa depotencia.

Page 38: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

38

END

si

no

Acontece Interrupción Externa

¿Acontece Convertidor 1?INT0

Borra Flag InterrrupciónConvertidor 1 OFFConvertidor 2 ON

si

no

¿Acontece Convertidor 2?INT1

Borra Flag InterrrupciónConvertidor 2 OFFConvertidor 3 ON

si

no

¿Acontece Convertidor 3?INT2

Borra Flag InterrrupciónConvertidor 3 OFFConvertidor 1 ON

2.5 Conclusiones.

Después de innumerables pruebas y modificaciones, tanto en software como en hardware, el funcionamiento esperado del proyecto no ha llegado a buen puerto.

Se pudo comprobar que en torno al funcionamiento del sistema, el prototipo ofrecía un comportamiento óptimo, etapa por etapa. Cada una de las etapas probadas ofrecía una conversión elevadora a 29,8 V aproximadamente, con cierto rizado de tensión de salida (la capacidad de carga a la salida disminuye eficazmente este valor), y, la intensidad medida en los inductores iba de 5,23 A a 5,45 A (según el convertidor probado).

Las siguientes gráficas muestran lo que se estaba buscando. Se observan las tres señales desfasadas 120º entre cada una de ellas, así como el rizado de tensión de salida, donde se pueden estimar comprobaciones en cuanto al control interleaving, así como del efecto de la capacidad del rizado.

Page 39: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

39

Figura 2.7. Curvas teóricas tensión de salida y corriente en cada inductor.

Una vez añadimos el sistema de control al sistema, (ya con las tres etapas), el sistema ofrecía un pequeño control durante aproximadamente unos microsegundos, pero inmediatamente el control se quedaba en un solo convertidor hasta que una resistencia (normalmente de la carga) se sobrecalentaba.

El diseño para trabajar a un tercio del rendimiento total, (debido a la triple disposición en paralelo de convertidores), hacía que el sistema no estuviera preparado, por lo que se pusieron las protecciones necesarias para la protección de los convertidores. Esta medida correctora no alteró el funcionamiento del sistema que quedaba funcionando en un solo convertidor (aleatorio según le convenía), por lo que se estimó que el fallo estaba en la programación, y más concretamente, en la capacidad de respuesta del microcontrolador.

De esta forma, he llegado a la conclusión de que ni con los microcontroladores tipo PIC más veloces de la actualidad (40-48 MHz) es posible llevar el control de este sistema en particular. Aunque teóricamente la velocidad de estos microprocesadores es suficiente, en la práctica no lo es, bien por una programación inadecuada, o bien debido a las pérdidas producidas en las conexiones, pistas, soldaduras, o en la asimetría de elementos y dispositivos. Hay que tener en cuenta, además, que el cálculo estimado para cada interrupción es de aproximadamente 3 µs. (según contenido de la interrupción), por lo que un control de 4,8 µs para cada convertidor puede estimarse un poco justo, aún disminuyendo la frecuencia de trabajo.

En una futura investigación con microcontroladores, sería recomendable utilizar varios dispositivos específicos para cada etapa convertidora, que a su vez, estuvieran controlados mediante una lógica convencional de control (adecuada al sistema en cuestión) que gobernara, el funcionamiento del sistema. También sería conveniente realizar un estudio sobre la implementación del sistema con dsPIC’s, más veloces y capaces de controlar procesos con un mayor margen de información, lo que se supondría mejorar la rapidez en el tratamiento de las señales del sistema (control temporal de los convertidores, control de corriente de entrada a los convertidores, además de diferentes procesos nuevos que pudieran surgir).

La utilización de procesadores o la utilización de la lógica de control convencional es, hoy por hoy, la más estable y eficaz de las opciones. La facilidad de programación, así como el precio reducido de los microcontroladores, lo hace muy recomendable para una

Page 40: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

40

inmensidad de sistemas de control, pero, actualmente, no son lo suficientemente capaces para llegar al fin propuesto, de forma que podemos decir que la utilización de microcontroladores para este tipo de controles que requieren gran rapidez de respuesta, es aún ineficaz.

Page 41: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

41

3 Planos.

Page 42: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

3.1 Esquema de la Placa de Potencia con Control de Corriente y Driver del Mosfet.

C1 uF

R10 1/2

C10 nF

S

L1 43 uH

13

R

60

R10 k

D

43CTQ100

R10 k

C1 nF

R2

0.01R

100

R 1 M

R100 k

UA

7400

1

23

Vcc 5 V

Salida Puerto A PIC

Vcc 5 V

SALIDA CONVERTIDORC1 uF

R

12 1/2 W

M

STW55NE10

0

Convertidor Boost control modo corriente

A4

1 1Wednesday, January 05, 2005

Title

Size Document Number Rev

Date: Sheet of

ENTRADA CONVERTIDOR

CONTROL PIC X

Vcc 12 V

R 10.2 k

-

+

U

INA145

5

6

7

14

3

2

SE

NS

E

OUT

V+

RE

F

V-+

-

U

IR2125

12

3

56

7

8

34

VCCIN

ERR

VSCS

OUT

VB

ERRCOM

D

15 V

Page 43: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

43

3.2 Esquema de la Placa de Control.

Vcc 12 V

Vcc +5

R4

10

R2

10

CONTROL PIC X

Vcc +5

CONTROL PIC X8 MhzOSC1

R1

10

LM311

OUT

+

-6

V+

V-

LM311

OUT

+

-6

V+

V-

R3

10

0

Etapa control convertidores con PIC 18F252

A4

1 1Sunday, February 13, 2005

Title

Size Document Number Rev

Date: Sheet of

ON driver conv1

Vcc +5

ON driver conv2

LM311

OUT

+

-6

V+

V-

U2

234567 21

2223

2425262728

11121314 15

161718

19

20

1

910

8

RA0/AN0RA1/AN1RA2/AN2/Vref-RA3/AN3/Vref+RA4/T0CKIRA5/AN4/SS/LVDIN RB0/INT0

RB1/INT1RB2/INT2

RB3/CCP2*RB4

RB5/PGMRB6/PGCRB7/PGD

RC0/T1OSO/T1CKIRC1/T1OSI/CCP2*RC2/CCP1RC3/SCK/SCL RC4/SDI/SDA

RC5/SDORC6/TX/CKRC7/RX/DT

GND

VDD

MCLR/VPP

OSC1/CLKOSC2/CLKO/RA6

GND

R6

10

R5

10

ON driver conv0

CONTROL PIC X

C115 pF

C215 pF

Page 44: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

44

3.3 Esquema del Limitador de Tensión.

C5

100 nF

U1MC7805CT

1 2

3

IN OUT

GN

D

+ 5 v

0

Regulador tensión 5V.

A4

1 1Tuesday, January 18, 2005

Title

Size Document Number Rev

Date: Sheet of

12 v

C4

100 nF

C3

100 nF

D5

Power ON

R7330 ohm

Vcc

Page 45: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

3.4 Esquema Fotolito Etapa Potencia Cara A.

0

Esquema Fotolito Etapa Potencia Cara A

A4

1 1Tuesday, January 18, 2005

Title

Size Document Number Rev

Date: Sheet of

3.5 Esquema Fotolito Etapa Potencia Cara B.

0

Esquema Fotolito Etapa Potencia Cara B

A4

1 1Tuesday, January 18, 2005

Title

Size Document Number Rev

Date: Sheet of

Page 46: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

3.6 Esquema Fotolito Control Cara A.

0

Esquema Fotolito Control Cara A

A4

1 1Tuesday, January 18, 2005

Title

Size Document Number Rev

Date: Sheet of

3.7 Esquema Fotolito Control Cara B.

0

Esquema Fotolito Control Cara B

A4

1 1Tuesday, January 18, 2005

Title

Size Document Number Rev

Date: Sheet of

Page 47: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving .

47

0

Esquema Fotolito Control Cara B

A4

1 1Tuesday, January 18, 2005

Title

Size Document Number Rev

Date: Sheet of

jmare
3.8 Prototipo.
Page 48: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

4 Presupuesto.

Page 49: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

49

4.1 Precios Elementales.

4.1.1 Capítulo 1: Diseño, Simulación e Implementación.

Número Unidades Descripción Cantidad A1000 h Estudio teórico y simulación 28 A1001 h Diseño del Hardware 28 A1002 h Diseño del Software 28 A1003 h Montaje y puesta en marcha del equipo 13,5

Page 50: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

50

4.1.2 Capítulo 2: Material.

Número Unidades Descripción Precio

B1000 u Resistencia de carbón 10? , 5% de tolerancia, ¼ W 0,06 €

B1001 u Resistencia de carbón 12? , 5% de tolerancia, ¼ W 0,06 €

B1002 u Resistencia de carbón 100? , 5% de tolerancia, ¼ W 0,06 €

B1003 u Resistencia de carbón 1k? , 5% de tolerancia, ¼ W 0,06 €

B1004 u Resistencia de carbón 10k? , 5% de tolerancia, ¼ W 0,06 €

B1005 u Resistencia de carbón 100k? , 5% de tolerancia, ¼ W 0,06 €

B1006 u Resistencia de carbón 1M? , 5% de tolerancia, ¼ W 0,06 €

B1007 u Resistor de 0.01? , 1% de tolerancia, 3W 0,26 €

B2000 u Potenciómetro multivuelta, ajuste horizontal 100? , 10% de tolerancia, ¼ W.

0,26 €

B2001 u Potenciómetro multivuelta, ajuste horizontal 500? , 10% de tolerancia, ¼ W.

0,26 €

B2003 u Potenciómetro multivuelta, ajuste horizontal 15k? , 10% de tolerancia, ¼ W.

0,26 €

B3000 u Condensador de poliéster de 1µF. 0,24 €

B3001 u Condensador de poliéster de 1nF. 0,12 €

B3002 u Condensador de poliéster de 10nF. 0,14 €

B3003 u Condensador de poliéster de 100nF. 0,18 €

B3004 u Condensador de poliéster de 15pF. 0,10 €

B3005 u Condensador no electrolítico Z5U 2.2µF, 100V. 0,46 €

B4000 u Zócalo torneado DIP100T 8 pins 1,36 €

B4001 u Zócalo torneado DIP100T 14 pins 1,53 €

B4002 u Zócalo torneado DIP100T 28 pins 2,12 €

B5000 u Transistor MOSFET STW55NE10 7,35 €

B6000 u Diodo Schottky 40CTQ100 3,77 €

B6001 u Diodo Zener, 15V, ½ W 0,20 €

Page 51: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

51

B6002 u Diodo Zener, 5V, ½ W 0,10 €

B6003 u Diodo bipolar 1N4004 0,03 €

B6004 u Diodo led 0,05 €

B7000 u Regulador de tensión LM7805 0,51 €

B8000 u Driver IR2125 11,58 €

B9000 u Comparador de tensión LM311 0,73 €

B10000 u Cristal de cuarzo HC-49/4H 10 MHz 1,17 €

B11000 u Inductor Toroidal de alta corriente PULSE PE-51511, 43µH 6,12 €

B12000 u Regleta de conexión de 2 bornes. 0,30 €

B13000 u Tornillos 0,02 €

B13001 u Tuercas 0,02 €

B14000 u Conector hembra banana diámetro 4 mm 2,25 €

B15000 u Puerta AND, 4 Inputs, 74HC 0,40 €

B16000 m Cable de cobre diámetro 0,6 mm PIRESOLD 0,01 €

B16001 m Cable de cobre diámetro 3 mm 0,05 €

Page 52: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

52

4.2 Anidamientos.

4.2.1 Capítulo 1: Diseño, Simulación e Implementación.

Número Unidades Descripción Cantidad A1000 h Estudio teórico y simulación 25 A1001 h Diseño del Hardware 15 A1002 h Diseño del Software 8 A1003 h Montaje y puesta en marcha del equipo 52

Page 53: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

53

4.2.2 Capítulo 2: Material.

Número Unidades Descripción Cantidad

B1000 u Resistencia de carbón 10? , 5% de tolerancia, ¼ W 9

B1001 u Resistencia de carbón 12? , 5% de tolerancia, ¼ W 3

B1002 u Resistencia de carbón 100? , 5% de tolerancia, ¼ W 3

B1003 u Resistencia de carbón 1k? , 5% de tolerancia, ¼ W 1

B1004 u Resistencia de carbón 10k? , 5% de tolerancia, ¼ W 6

B1005 u Resistencia de carbón 100k? , 5% de tolerancia, ¼ W 3

B1006 u Resistencia de carbón 1M? , 5% de tolerancia, ¼ W 3

B1007 u Resistor de 0.01? , 1% de tolerancia, 3W 3

B2000 u Potenciómetro multivuelta, ajuste horizontal 100? , 10% de tolerancia, ¼ W. 3

B2001 u Potenciómetro multivuelta, ajuste horizontal 500? , 10% de tolerancia, ¼ W. 3

B2003 u Potenciómetro multivuelta, ajuste horizontal 15k? , 10% de tolerancia, ¼ W. 3

B3000 u Condensador de poliéster de 1µF. 3 B3001 u Condensador de poliéster de 1nF. 3 B3002 u Condensador de poliéster de 10nF. 3 B3003 u Condensador de poliéster de 100nF. 3 B3004 u Condensador de poliéster de 15pF. 2

B3005 u Condensador no electrolítico Z5U 2.2µF, 100V. 10

B4000 u Zócalo torneado DIP100T 8 pins 9 B4001 u Zócalo torneado DIP100T 14 pins 1 B4002 u Zócalo torneado DIP100T 28 pins 1 B5000 u Transistor MOSFET STW55NE10 3 B6000 u Diodo Schottky 40CTQ100 3 B6001 u Diodo Zener, 15V, ½ W 5 B6002 u Diodo Zener, 5V, ½ W 3 B6003 u Diodo bipolar 1N4004 1 B6004 u Diodo led 1 B7000 u Regulador de tensión LM7805 1 B8000 u Driver IR2125 3 B9000 u Comparador de tensión LM311 3 B10000 u Cristal de cuarzo HC-49/4H 10 MHz 1

B11000 u Inductor Toroidal de alta corriente PULSE PE-51511, 43µH 3

B12000 u Regleta de conexión de 2 bornes. 2 B13000 u Tornillos 36 B13001 u Tuercas 36 B14000 u Conector hembra banana diámetro 4 mm 4 B15000 u Puerta AND, 4 Inputs, 74HC 1

B16000 m Cable de cobre diámetro 0,6 mm PIRESOLD 0,80

B16001 m Cable de cobre diámetro 3 mm 0,42

Page 54: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

54

4.3 Aplicación de Precios.

4.3.1 Capítulo 1: Diseño, Simulación e Implementación.

Número Unidades Descripción Precio Cantidad Importe A1000 € Estudio teórico y simulación 28 25 700 A1001 € Diseño del Hardware 28 15 420 A1002 € Diseño del Software 28 8 224 A1003 € Montaje y puesta en marcha del equipo 13,5 52 702

TOTAL DEL CAPÍTULO 1: Diseño, simulación e implementación 2.046 €

Page 55: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

55

4.3.2 Capítulo 2: Material.

Número Unidade

s Descripción Precio Cantidad Importe

B1000 u Resistencia de carbón 10? , 5% de tolerancia, ¼ W 0,06 9 0,54

B1001 u Resistencia de carbón 12? , 5% de tolerancia, ¼ W 0,06 3 0,18

B1002 u Resistencia de carbón 100? , 5% de tolerancia, ¼ W 0,06 3 0,18

B1003 u Resistencia de carbón 1k? , 5% de tolerancia, ¼ W 0,06 1 0,06

B1004 u Resistencia de carbón 10k? , 5% de tolerancia, ¼ W 0,06 6 0,36

B1005 u Resistencia de carbón 100k? , 5% de tolerancia, ¼ W 0,06 3 0,18

B1006 u Resistencia de carbón 1M? , 5% de tolerancia, ¼ W 0,06 3 0,18

B1007 u Resistor de 0.01? , 1% de tolerancia, 3W 0,26 3 0,78

B2000 u Potenciómetro multivuelta, ajuste horizontal 100? , 10% de tolerancia, ¼ W.

0,26 3 0,78

B2001 u Potenciómetro multivuelta, ajuste horizontal 500? , 10% de tolerancia, ¼ W.

0,26 3 0,78

B2003 u Potenciómetro multivuelta, ajuste horizontal 15k? , 10% de tolerancia, ¼ W.

0,26 3 0,78

B3000 u Condensador de poliéster de 1µF. 0,24 3 0,72

B3001 u Condensador de poliéster de 1nF. 0,12 3 0,36

B3002 u Condensador de poliéster de 10nF. 0,14 3 0,42

B3003 u Condensador de poliéster de 100nF. 0,18 3 0,54

B3004 u Condensador de poliéster de 15pF. 0,10 2 0,2

B3005 u Condensador no electrolítico Z5U 2.2µF, 100V. 0,46 10 4,6

B4000 u Zócalo torneado DIP100T 8 pins 1,36 9 12,24

B4001 u Zócalo torneado DIP100T 14 pins 1,53 1 1,53

B4002 u Zócalo torneado DIP100T 28 pins 2,12 1 2,12

B5000 u Transistor MOSFET STW55NE10 7,35 3 22,05

B6000 u Diodo Schottky 40CTQ100 3,77 3 11,31

B6001 u Diodo Zener, 15V, ½ W 0,20 5 1

Page 56: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

56

B6002 u Diodo Zener, 5V, ½ W 0,10 3 0,3

B6003 u Diodo bipolar 1N4004 0,03 1 0,03

B6004 u Diodo led 0,05 1 0,05

B7000 u Regulador de tensión LM7805 0,51 1 0,51

B8000 u Driver IR2125 11,58 3 34,74

B9000 u Comparador de tensión LM311 0,73 3 2,19

B10000 u Cristal de cuarzo HC-49/4H 10 MHz 1,17 1 1,17

B11000 u Inductor Toroidal de alta corriente PULSE PE-51511, 43µH 6,12 3 18,36

B12000 u Regleta de conexión de 2 bornes. 0,30 2 0,6

B13000 u Tornillos 0,02 36 0,72

B13001 u Tuercas 0,02 36 0,72

B14000 u Conector hembra banana diámetro 4 mm 2,25 4 9

B15000 u Puerta AND, 4 Inputs, 74HC 0,40 1 0,4

B16000 m Cable de cobre diámetro 0,6 mm PIRESOLD 0,50 2 1

B16001 m Cable de cobre diámetro 3 mm 0,50 2 1

TOTAL DEL CAPÍTULO 2: Material 132,68 €

Page 57: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

57

4.4 Precio de Ejecución por Material.

4.5 Precio de Ejecución por Contrato.

Total presupuesto de ejecución por material………………………..……. 2.178,68 €

Gastos generales 13%............................................................................ 283,23 €

Beneficio industrial 6%............................................................................ 130,72 €

Precio total……………………………………………………………………. 2.592,63 €

4.6 Precio por Licitación.

Precio total…………………………………………………………….……….. 2592,63 €

I.V.A.16%................................................................................................... 414,82€

Precio total por licitación……………………………………………….……... 3.007,45 €

4.7 Resumen del Presupuesto.

El presupuesto asciende a: 3.007,45euros

TRES MIL SIETE COMA CUARENTA Y CINCO EUROS

Tarragona, 14 de diciembre de 2004

EL INGENIERO TÉCNICO ELECTRÓNICO

DAVID CARRASCO GARCÍA

Total capítulo 1……………………………………………………………… 2.046 €

Total capítulo 2……………………………………………………………… 132,68 €

Total presupuesto de ejecución por material……………………………. 2.178,68 €

Page 58: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

58

5 Pliego de Condiciones.

Page 59: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

59

5.1 Disposiciones y Abarque del Pliego de Condiciones.

5.1.1 Objetivo del Pliego.

El objetivo de este proyecto es el estudio de un convertidor Boost con filtro de salida con un control por linealización entrada-salida. Este proyecto es un proyecto de investigación, esto implica que el prototipo se ha diseñado teniendo en cuenta la accesibilidad y la fiabilidad de estudio omitiendo su desarrollo industrial. En caso de una futura aplicabilidad industrial se debería tener presente el pliego de condiciones, que tiene como principal función regular las condiciones entre las partes contratantes considerando los aspectos técnicos, facultativos, económicos y legales.

El pliego de condiciones define entre los otros los siguientes aspectos:

- Obras que componen el proyecto.

- Características exigibles a los materiales y componentes.

- Detalles de la ejecución.

- Programa de obras.

Dado el amplio abanico de detalles tratados si se presentan dudas a la hora de poner en marcha el proyecto lo más recomendable es ponerse en contacto con el proyectista.

5.1.2 Descripción General del Montaje.

Las diferentes partes que componen la obra a realizar por parte del instalador, poniendo especial énfasis en el orden establecido, no efectuando una actividad concreta sin haber realizado previamente la anterior:

- Encargo y compra de los componentes necesarios.

- Construcción de los inductores.

- Fabricación de la placa de circuito impreso.

- Montaje de los componentes en la placa.

- Montaje de la caja.

- Ajuste y comprobación de los parámetros para el buen funcionamiento.

- Interconexión de los diferentes módulos.

- Puesta en marcha del equipo.

- Controles de calidad y fiabilidad.

- Mantenimiento para el correcto funcionamiento del sistema.

Todas las partes que en conjunto forman la obra de este proyecto, tendrán que ser ejecutadas por montadores calificados, sometiéndose a las normas de la Comunidad Autónoma Europea, países o incluso comunidades internacionales que se tengan previstas para este tipo de montajes, no haciéndose responsable el proyectista de los desperfectos ocasionados por su incumplimiento..

5.2 Condiciones de los Materiales.

En este apartado se explican las características técnicas exigibles de los

Page 60: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

60

componentes presentes en la ejecución de la obra.

5.2.1 Especificaciones Eléctricas.

5.2.1.1 Placas de Circuito Impreso.

Todos los circuitos se realizarán sobre placas de fibra de vidrio de sensibilidad positiva, en diferentes medidas, utilizándose una sola cara o de doble cara según el diseño.

5.2.1.2 Conductores Eléctricos.

Los conductores utilizados serán internos a excepción de la alimentación y de la interconexión entre placas que reunirán condiciones especiales requeridas para los conductores expuestos al exterior. Cabe comentar que la obra tendrá lugar dentro de un laboratorio o una industria. Los cables de interconexión entre placas y de la fuente de alimentación están constituidos por un cable unipolar debidamente aislado con una sección de 1,5 mm2.

5.2.1.3 Componentes Pasivos.

Los componentes pasivos utilizados en el proyecto son los disponibles tecnológicamente en el momento de la realización del proyecto. Las características técnicas se han introducido en el Anexo.

5.2.1.4 Componentes Activos.

Los componentes pasivos utilizados en el proyecto son los disponibles tecnológicamente en el momento de la realización del proyecto. Las características técnicas se han introducido en el Anexo.

5.2.1.5 Zócalos Torneados Tipo D.I.L.

Todos los circuitos integrados que aparecen dispondrán de un zócalo para su unión con la placa de circuito impreso. Estos zócalos son del tipo D.I.L (“Dual IN Line”) de contacto mecanizado de gran cantidad y de perfil bajo, formados por contactos internos de tipo cuatro dedos (3-5 µm) de estaño sobre una base de cobre-berilio niquelado y con un recubrimiento de carbón estañado.

- Margen de temperaturas -55 ºC a 125 ºC

- Resistencia de contacto 10 m? (máximo)

- Resistencia de aislamiento 1010 ?

- Fuerza de inserción por contacto 1,176 N

- Fuerza de extracción por contacto 0,78 N

- Fuerza de retención por contacto 3,92 N (mínimo)

5.2.1.6 Reglamento Electrotécnico de Baja Tensión.

Todos los aspectos técnicos de la instalación que, directa o indirectamente, estén incluidos en el Reglamento Electrotécnico de Baja Tensión, tendrán que cumplir

Page 61: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

61

lo que se disponga en las respectivas normas.

Las instrucciones más importantes relacionadas con la realización del proyecto son las siguientes:

- M.I.B.T.017 Instalaciones interiores o receptoras. Prescripciones de carácter general.

- M.I.B.T.029 Instalaciones a pequeñas tensiones.

- M.I.B.T.030 Instalaciones a tensiones especiales.

- M.I.B.T.031 Receptores. Prescripciones generales.

- M.I.B.T.035 Receptores. Transformadores y auto transformadores. Reactancias y rectificadores. Condensadores.

- M.I.B.T.044 Normas U.N.E. de obligado cumplimiento.

5.2.1.7 Resistencias.

Es necesario establecer los extremos máximos y mínimos entre los que estarán comprendidas las resistencias. La tolerancia marca estos valores que se expresan normalmente como porcentajes del valor en ohmios asignados teóricamente. Se tendrá que expresar su tolerancia y sumarla al valor nominal.

Existen resistencias con una gran precisión en el valor, el que implicar fijar tolerancias muy bajas, pero se tendrá en cuenta que su precio aumenta considerablemente y solamente serán necesarias en aplicaciones muy específicas estando normalmente destinadas a usos generales las tolerancias estandarizadas de 5%, 10% y 20%.

Ateniéndose al valor ohm y a la tolerancia, se establecen de forma estándar una serie de valores, de forma que con ellos se pueda tener toda una gama de resistencias desde 1 ohmio en adelante, estos valores son los siguientes:

E6.- 1,1.5, 2.2, 3.3, 4.7, 6.8.

E12.- 1, 1.5, 1.8, 2.2, 2.7, 3.3, 3.9, 4.7, 5.6, 6.8, 8.2.

E24.- 1, 1.2, 1.3, 1.5, 1.6, 1.8, 2, 2.2, 2.4, 2.7, 3, 3.3, 3.6, 3.9, 4.3, 4.7, 5.1, 5.6, 5.2,6.8, 7.5, 8.2, 9.8.

La serie E6 equivale a valores correspondientes a la tolerancia del 20%, la serie E12 a valores definidos por el 10%, y la serie E24 a la de 5%.

El conjunto total de valores de toda la gama se obtiene multiplicando por 0.1, 1, 10, 100, 103, 104, 105, 106 o 107 la tabla anterior. Para evitar la utilización de un número elevado de ceros en la designación del valor de una resistencia, se utilizan las letras: k y M, que designan un factor multiplicador de 103 y 106 respectivamente.

Para identificar el valor de una resistencia se utiliza un sistema por medio de colores que permite cubrir toda la tabla anterior. A este sistema se le denomina código de colores y consiste en pintar alrededor de la resistencia, en un extremo, cuatro anillos de unos colores determinados, corresponden los dos primeros colores son los identificadores del valor de la tabla de valores anteriores, el tercer color al numero de ceros que es necesario añadir y el cuarto a la tolerancia.

La disipación de potencia en forma de calor que es capaz de soportar se ha de tener en cuenta ya que la corriente que atraviesa la resistencia por una cierta energía que se utiliza para vencer la dificultad que presenta su paso, esta energía se

Page 62: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

62

transforma en calor, y la cantidad de este es inversamente proporcional al valor óhmico de la resistencia. Por tanto para un valor fijo de resistencia, se disipará en el ambiente una cantidad de calor cuatro veces mayor si circula una corriente de 2 A, que si lo hace una de 1 A. La máxima disipación de potencia que puede soportar una resistencia es un factor que afecta al tamaño físico de esta y que obliga en algunos casos a utilizar diseños denominados de alta potencia.

5.2.1.8 Condensadores.

La capacidad de los condensadores se mide en unidades llamadas farad, pero debido a que está unidad es muy grande, se utilizan a la práctica otras más pequeñas que son fracciones de la anterior. Las más utilizadas son:

- Microfarad o millonésima de farad (1µF = 10-6 F).

- Nanofarad o milmillonésima de farad (1 nF = 10-9 F).

- Picofarad o billonésima de farad (1 pF = 10-12 F).

Por similitud a la forma de designación de valores de las resistencias se utilizan en ocasiones, en lugar de la designación de nF se utiliza la letra k, es decir, 1 nF es igual a 1 kpF, de forma que siempre se lea en el cuerpo de un condensador el valor expresado por un número seguido por la letra k, se indicará que se ha utilizado el pico farad en la designación de su valor.

Un factor a tener en cuenta al determinar el valor de un condensador es la tolerancia, de la misma forma que en las resistencias, se indica los extremos máximos y los mínimos que podrá tener el condensador. Las tolerancias son un 5%, 10% y 20% para todos los tipos de condensadores, excepto los electrolíticos, donde la tolerancia puede llegar a valores del 50%.

Existen en el mercado una amplia gama de diferentes tipos de condensadores, de los que conviene conocer sus principales características con el objeto de poder utilizar los más idóneos para cada aplicación.

- Los condensadores cerámicos tienen una aplicación que va desde

las altas frecuencias con tipos compensados en temperatura y bajas frecuencias, hasta la baja frecuencia como condensadores de desacoplo y paso. Su aspecto exterior puede ser tubular, de disco o de lenteja.

- Los condensadores de plástico metalizado se utilizan en bajas y medias frecuencias como condensadores de paso y en algunas ocasiones en alta frecuencia. Tienen la ventaja de poder llegar a capacidades relativamente elevadas a tensiones que pueden superar los 1000 V.

- Los condensadores electrolíticos de aluminio y de tántalo son los que poseen la mayor capacidad para un tamaño determinado. Estos tipos de condensadores de polaridad fija, son utilizados en aquellos puntos que existe una tensión continua, aplicándose normalmente en filtros rectificadores, desacoplamientos en baja frecuencia y condensadores de paso. Su comportamiento en baja frecuencia no es bueno, por lo que no es recomendable su uso.

Page 63: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

63

5.2.1.9 Circuitos Integrados y Semiconductores.

En este proyecto los circuitos integrados A.O´s (LM311), microcontrolador (Microchip PIC 18F252), driver para Mosfet (IR2125), reguladores de tensión (LM7805), entre otros. Todos ellos se tendrán que alimentar a una tensión adecuada, las características de tensión y corriente de entrada-salida, tiempos de retardo, etc., se encuentran en las hojas del fabricante del Anexo.

5.2.2 Especificaciones Mecánicas.

Todos los materiales escogidos son de una calidad que se adapta al objetivo del proyecto, no obstante si no se pudiera encontrar en el mercado algún producto por estar agotado, el instalador encargado del montaje tendrá que estar capacitado para su substitución por otro similar o equivalente.

Las placas de circuito impreso se realizarán en fibra de vidrio. Se recomienda el uso de zócalos torneados, para la inserción de componentes. De esta forma se reduce el tiempo de reparación y además se disminuye el calentamiento de los pins de los componentes electrónicos en el proceso de soldadura que podría producir su deterioro.

Las dimensiones de cada caja serán suficientemente grandes para la colocación en su interior todos los componentes y sus materiales, sin que se pueda llegar a producirse algún contacto. Las partes del circuito que puedan influir sobre las demás, se aislarán. Sobre la superficie de la caja se realizarán orificios para la introducción de interruptores, conectores e indicadores luminosos.

5.2.3 Ensayos, Verificaciones y Ajustes.

Antes de proceder al montaje de las placas en la caja, se alimentarán estas con las tensiones estipuladas en la memoria.

Se recomienda que se verifiquen las formas de onda en los diferentes puntos del circuito, mediante un osciloscopio de alta sensibilidad.

El posible funcionamiento inadecuado del equipo puede ser debido a múltiples causas que pueden ser resumidas en tres.

- Conexionado defectuoso entre módulos.

- Componentes defectuosos, una vez localizado, se procederá a su substitución.

- Conexión defectuosa del componente a la placa de circuito impreso. Este tipo de fallada es muy corriente entre placas de doble cara donde los agujeros no están metalizados, pos eso se soldarán los componentes por las dos caras, o en su defecto se pasará un hilo conductor a través del agujero y luego se soldará.

5.3 Condiciones de Ejecución.

5.3.1 Descripción del Proceso.

5.3.1.1 Compra y Preparación del Material.

La compra de los materiales, componentes y aparatos necesarios tendrá que realizarse con el tiempo necesario, de manera que estén disponibles a la hora que

Page 64: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

64

comience el ensamblaje de los componentes.

5.3.1.2 Fabricación del Circuito Impreso.

A continuación se detallan los pasos para la fabricación del circuito impreso. 1.- Los materiales y aparatos para la realización de la placa de circuito

impreso son: insoladora (o lámpara de luz actínica), revelador (o en su defecto disolución de sosa cáustica y agua, atacador rápido que se puede sustituir por una disolución con la siguiente composición: 33% de HLC, 33% de agua oxigenada de 110 volúmenes y 33% de agua destilada), y por último se necesitan las placas de circuito impreso de material fotosensible positivo de doble cara y fibra de vidrio.

2.- La forma de operar será la siguiente: en primer lugar se efectuará una copia de dos planos de la placa (cara componentes y cara soldaduras) en papel de acetato. Posteriormente se unirán las dos copias procurando la correspondencia entre pistas de las dos caras, dejando una ranura sin unir por donde se introducirá la placa.

3.- El conjunto (copias en papel de acetato y placa) se expondrán a la luz ultravioleta de la insoladora. Esta recubre la placa y las copias en acetato con un material plástico el cual se le aplica el vacío evitando que se formen burbujas de aire entre el papel de acetato y la placa. A continuación se expone el conjunto a la luz ultravioleta durante el tiempo que aconseje el fabricante. Este tiempo de exposición depende de la lámpara utilizada, de la distancia de ésta a la placa, del material fotosensible y del envejecimiento del mismo. El fabricante recomendará cual es el tiempo óptimo.

4.- Una vez acabada la exposición, se retira la placa y se coloca dentro del líquido revelador, el tiempo de atacado de revelado depende del fabricante de la placa de circuito impreso, quien indicará cual es el más adecuado. De todas formas el proceso puede darse por acabado cuando las pistas se vean nítidamente, y el resto de la superficie se aprecie libre de cualquier sustancia fotosensible (se observa el cobre limpio).

Cuando la placa ya está revelada se limpia con agua, que producirá una parada del proceso de revelado y ya se puede pasar al atacado, donde se sumerge la placa en el atacador rápido o en la disolución y se observa como desaparece el cobre que no conforma el trazado de las pistas.

Una vez ha desaparecido toda la superficie de cobre que no forma parte de las pistas se secará la placa del atacador y se limpiara para finalizar el proceso de atacado.

5.- Finalmente se limpia la emulsión fotosensible que recubre las pistas (que impediría la soldadura) con alcohol o bien con acetato.

6.- Se realizarán los agujeros para soldar los terminales y después se soldarán.

5.3.2 Soldadura de los Componentes.

Existen diversos métodos para poner en contacto permanente dos conductores eléctricos, es decir, realizar entre ellos una conexión eléctrica. Pero la más sencilla, con seguridad y rapidez es la soldadura realizada mediante la aportación de la fusión de una aleación metálica.

El proceso de soldadura consiste por tanto, en unir dos conductores de tipo y forma diferentes (terminales de componentes entre sí o un circuito impreso con hilos y cables) de forma que mediante la adición de un tercer material conductor en estado líquido, por fusión a una determinada temperatura, se forme un compuesto ínter metálico entre los tres conductores de tal manera que al enfriarse a la temperatura

Page 65: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

65

ambiente se obtenga una unión rígida permanente.

La realización de la soldadura requiere unas condiciones iniciales a las que superficies conductoras que se vayan a unir, así como los utensilios a soldar y conseguir una soldadura de calidad. Se ha de tener en cuenta y vigilar constantemente la limpieza de los conductores que se pretende soldar, ya que la presencia de óxidos, grasas y cualquier tipo de suciedad impide que la soldadura realizada sea de la calidad necesaria de forma que se pueda mantenerse sin ninguna degradación con el tiempo.

5.4 Condiciones Facultativas.

Los permisos de carácter obligatorio necesarios para realizar el proyecto o la utilización de la misma tendrán que obtenerse por parte de la empresa contratante, quedando la empresa contratista al margen de todas las consecuencias derivadas de la misma.

Cualquier retardo producido en el proceso de fabricación por causas debidamente justificadas, siendo estas alienas a la empresa contratista, será aceptada por el contratante, no teniendo este último derecho a reclamación por daños o perjuicios.

Cualquier demora no justificada supondrá el pago de una multa por valor del 6% del importe total de fabricación, para cada fracción del retardo temporal (acordado en el contrato).

La empresa contratista se compromete a proporcionar las mayores facilidades al contratista para que la obra se realice de una forma rápida y adecuada.

El aparato cumplirá los requisitos mínimos respecto el proyecto encargado, cualquier variación o mejora sustancial en el contenido del mismo tendrá que ser consultada con el técnico diseñador (proyectista). Durante el tiempo que se haya estimado la instalación, el técnico proyectista podrá anunciar la suspensión momentánea si así lo estimase oportuno.

Las características de los elementos y componentes serán los especificados en la memoria y el pliego de condicione, teniendo en cuenta su perfecta colocación y posterior uso.

La contratación de este proyecto se considerará valida una vez que las dos partes implicadas, propiedad y contratista, se comprometan a concluir las cláusulas del contrato, por el cual tendrán que ser firmados los documentos adecuados en una reunión conjunta en haber llegado a un acuerdo.

Los servicios de la empresa contratista se consideran finalizados desde el mismo momento en que el aparato se ponga en funcionamiento, después la previa comprobación de su correcto funcionamiento.

El presupuesto no incluye los gastos de tipo energético ocasionados por el proceso de instalación, ni las obras que fuesen necesarias, que irán a cargo de la empresa contratante.

El cumplimiento de las elementales comprobaciones por parte de la empresa instaladora, no será competencia del proyectista, el cual queda fuera de toda responsabilidad derivada del incorrecto funcionamiento del equipo como consecuencia de esta omisión.

5.5 Conclusiones

Las partes interesadas manifiestan que conociendo los términos de este Pliego de

Page 66: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

66

Condiciones y del proyecto adjunto, y están de acuerdo con el que en él se manifiesta.

Page 67: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

67

6 Anexo.

Page 68: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

68

6.1 Webs Utilizadas.

En este apartado se citaran todas las webs utilizadas para la obtención de los componentes, así como del software y la documentación necesaria para la programación del microcontrolador y construcción del prototipo.

i. www.amidata.es

ii. www.burr-brown.com

iii. www.farnell.com

iv. www.microchip.com

v. www.ti.com

vi. www.st.com

6.2 Bibliografía. [1] J. Maixé. “Apuntes de la asignatura de Electrónica de Potencia”. Universidad Rovira y

Virgili. E.T.S.E. Curso académico 2003-2004. [2] M. Predko. “Programming and customizing PICmicro® microcontrollers”. Ed. MacGraw-

Hill 2002. [3] Mitchell,D.M, “DC-DC switching regulator analysis”. McGrall-Hill, 1998. [4] E. Artín Cuenca, J.M.Angulo Usategui, I. Angulo Martínez. “Microcontroladores

PIC. La clave del diseño” Ed. Paraninfo 2003. [5] K.Kit Sum, “Switch mode Power Conversion (Basic theory and design)”. Marcel Dekker. [6] Abraham & Pressman, “Switching Power supply Design”. McGrall-Hill. [7] N. Mohan, T.M. Undeland, W.P. Robbins, “Power Electronics Converters Applications

and Designs”.

6.3 Códigos Realizados.

En este apartado se encuentran los códigos realizados para la programación del microcontrolador utilizado.

A continuación se muestra el código fuente de la versión 1:

VERSIÓN 1

#include <p18f252.h> #include <portb.h> #include <timers.h> #define ON 1 #define OFF 0 #define TRUE 1 #define FALSE 0 #define TIMEIN 192 #define TIMEOUT 32 // Declaración de variables de la aplicación. unsigned char E0, E1, E2, E3, T0, T1, T3, TT0, TT1, TT3 // Funciones declaradas. void main(void);

Page 69: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

69

void ISRHigh (void); void ISRLow(void); //======================================================================= // Vector de interrupción de alta prioridad. //======================================================================= #pragma code InterruptVectorHigh = 0x0008 void InterruptVectorHigh (void) _asm goto ISRHigh //servicio de interrupción de alta prioridad _endasm //======================================================================= // Vector de interrupción de baja prioridad. // Servicio de interrupción de baja prioridad. // Interrupciones provocadas por los timers (timer0, timer1, timer3). // Según variables globales identifican la situación del proceso y se // actúa según convenga. //======================================================================= #pragma code InterruptVectorLow = 0x0018 #pragma interruptlow ISRLow // Salva y restaura entorno en la pila. void ISRLow(void) if(INTCONbits.TMR0IE && INTCONbits.TMR0IF) // Es por el timer 0? INTCONbits.TMR0IF = FALSE; // Borra flag interrupción timer0 if (T0=TRUE) // ¿timer0 (4.8 us)? T0 = FALSE; if (E0 = TRUE) PORTAbits.RA1 = ON;// Activa salida convertidor 1 PORTAbits.RA3 = OFF; E0 = FALSE; else // ¿timer0(0.8 us)? TT0 = TRUE; else TT0 = FALSE; PORTAbits.RA3 = OFF; PORTAbits.RA1 = ON; // Activa salida convertidor 1 // fin identifica timer0 if(PIR1bits.TMR1IF && PIE1bits.TMR1IE) // Es por el timer 1? PIR1bits..TMR1IF = FALSE; // Borra flag interrupción timer1 if (T1=TRUE) // timer1 (4.8 us)¿? T1 = FALSE; if (E1 = TRUE) PORTAbits.RA2 = ON;// Activa salida convertidor 2 PORTAbits.RA1 = OFF; E1 = FALSE; else // timer1(0.8 us) TT1 = TRUE;

Page 70: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

70

else TT1 = FALSE; PORTAbits.RA1 = OFF; PORTAbits.RA2 = ON;// Activa salida convertidor 2 // fin identifica timer1 if(PIR2bits.TMR3IF && PIE2bits.TMR3IE) // Es por el timer 3? PIR2bits.TMR3IF = FALSE; // Borra flag interrupción timer3 if (T3=TRUE) // timer3(4.8us) ¿? T3 = FALSE; if (E2 = TRUE) PORTAbits.RA3 = ON; // Activa salida convertidor 3 PORTAbits.RA2 = OFF; E2 = FALSE; else // timer3(0.8 us) TT1 = TRUE; else PORTAbits.RA2 = OFF; PORTAbits.RA3 = ON; // Activa salida convertidor 3 TT3 = FALSE; // fin identifica timer3 // fin interrupción timers. Control temporal sistema. //======================================================================= // Vector de interrupción de baja prioridad. // Servicio de interrupción de baja prioridad. // Servicio interrupciones externas. Interrupciones provocadas por los // convertidores. //======================================================================= #pragma interrupt ISRHigh void ISRHigh() if(INTCONbits.INT0IE && INTCONbits.INT0IF) // es INT0? INTCONbits.INT0IF = FALSE; // Borra flag interrupción INT0 // Acontece interrup convertidor 1 --> pasa control/activa conver 2 PORTAbits.RA1 = OFF; // Desactiva salida convertidor 1 PORTAbits.RA2 = ON; // Activa salida convertidor 2

E1 = TRUE; // Comntrol Estado 1 E0 = FALSE; T0 = TRUE; // Inicia en main() timer0 (4.8 us) if(INTCON3bits.INT1IE && INTCON3bits.INT1IF) // es INT1? INTCON3bits.INT1IF = FALSE; // Borra flag interrupción INT1 // Acontece interrup convertidor 2 --> pasa control/activa conver 3 PORTAbits.RA2 = OFF; // Desactiva salida convertidor 2 PORTAbits.RA3 = ON; // Activa salida convertidor 1 E2 = TRUE; // Control Estado 2 E1 = FALSE;

Page 71: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

71

T1 = TRUE; // Inicia en main() timer1 (4.8 us) if(INTCON3bits.INT2IE && INTCON3bits.INT2IF) // es INT2? INTCON3bits.INT2IF = FALSE; // Borra flag interrupción INT2 // Acontece interrup convertidor 3 --> pasa control/activa conver 1 PORTAbits.RA3 = OFF; // Desactiva salida convertidor 3 PORTAbits.RA1 = ON; // Activa salida convertidor 1 E2 = FALSE; // Comntrol Estado 3 E0 = TRUE; T3 = TRUE; // Inicia en main() timer3 (4.8 us) // fin interrupción. //======================================================================= // Programa principal //======================================================================= void main () while(1) // realiza siempre el siguiente programa // Configuración puerto A TRISA = 0x00; // Flujo de datos del puerto A salientes. // RA1 --> controla convertidor 1. // RA2 --> controla convertidor 2. // RA3 --> controla convertidor 3. //---------// // Configuración puerto B // Puerto B como entrada de datos, RB0,1 y 2 genera int. // La activación del bit 4 (RB4) finaliza el sistema. // Se configuran los pins del puerto B como entradas // Se habilitan las interrupciones: PORTB_CHANGE_INT_ON // La interrupción para cambios de flanco ascendentes: RISING_EDGE_INT // Resistencias pull-up habilitadas: PORTB_PULLUPS_ON // No tiene entradas ni salidas TRISB = 0xFF; // Datos del puerto B de entrada al PIC // RB<7:0> como entradas OpenPORTB( PORTB_CHANGE_INT_ON & PORTB_PULLUPS_ON); ////////////////////////////////////////////////////////// // Interrupt-on-change: // // PORTB_CHANGE_INT_ON Interrupt enabled // // PORTB_CHANGE_INT_OFF Interrupt disabled // // Interrupt-on-edge: // // RISING_EDGE_INT Interrupt on rising edge // // FALLING_EDGE_INT Interrupt on falling edge // // Enable Pullups: // // PORTB_PULLUPS_ON pull-up resistors enabled // // PORTB_PULLUPS_OFF pull-up resistors disabled// ////////////////////////////////////////////////////////// OpenRB0INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON);

Page 72: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

72

OpenRB1INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); OpenRB2INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); //---------// OpenTimer0(TIMER_INT_ON & T0_8BIT & T0_SOURCE_EXT & T0_EDGE_RISE);

// configura timer0

OpenTimer1(TIMER_INT_ON & T1_8BIT_RW & T1_SOURCE_EXT & T1_SYNC_EXT_OFF); // configura timer1 OpenTimer3(TIMER_INT_ON & T3_8BIT_RW & T3_SOURCE_EXT & T1_SYNC_EXT_OFF); // configura timer3 //---------// // Configura las interrupciones externas. INTCON = 0X38; // des/habilita interrupción Timer0 & interrupción externa // mediante INT0.A continuación descripción detallada registro: // 7 GIE/GIEH: Global Interrupt Enable bit // When IPEN = 0: // 1 = Enables all unmasked interrupts // 0 = Disables all interrupts // When IPEN = 1: // 1 = Enables all high priority interrupts // 0 = Disables all interrupts // 6 PEIE/GIEL: Peripheral Interrupt Enable bit // When IPEN = 0: // 1 = Enables all unmasked peripheral interrupts // 0 = Disables all peripheral interrupts // When IPEN = 1: // 1 = Enables all low priority peripheral interrupts // 0 = Disables all low priority peripheral interrupts // 5 TMR0IE: TMR0 Overflow Interrupt Enable bit // 1 = Enables the TMR0 overflow interrupt // 0 = Disables the TMR0 overflow interrupt // 4 INT0IE: INT0 External Interrupt Enable bit // 1 = Enables the INT0 external interrupt // 0 = Disables the INT0 external interrupt // 3 RBIE: RB Port Change Interrupt Enable bit // 1 = Enables the RB port change interrupt // 0 = Disables the RB port change interrupt // 2 TMR0IF: TMR0 Overflow Interrupt Flag bit // 1 = TMR0 register has overflowed (must be cleared in // software) // 0 = TMR0 register did not overflow // 1 INT0IF: INT0 External Interrupt Flag bit // 1 = The INT0 external interrupt occurred (must be // cleared in software) // 0 = The INT0 external interrupt did not occur // 0 RBIF: RB Port Change Interrupt Flag bit // 1 = At least one of the RB7:RB4 pins changed state // (must be cleared in software) // 0 = None of the RB7:RB4 pins have changed state INTCON2 = 0x70; // Interrupciones externas INT0, INT1 y INT2 detectadas // al cambo de flanco ascendente. // Prioridad baja para cambios del puertob y de timer0. // A continuación descripción detallada del registro:

Page 73: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

73

// 7 RBPU: PORTB Pull-up Enable bit // 1 = All PORTB pull-ups are disabled // 0 = PORTB pull-ups are enabled by individual port latch // values // 6 INTEDG0:External Interrupt0 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 5 INTEDG1: External Interrupt1 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 4 INTEDG2: External Interrupt2 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 3 Unimplemented: Read as '0' // 2 TMR0IP: TMR0 Overflow Interrupt Priority bit // 1 = High priority // 0 = Low priority // 1 Unimplemented: Read as '0' // 0 RBIP: RB Port Change Interrupt Priority bit // 1 = High priority // 0 = Low priority INTCON3 = 0x18; // Habilitadas interrupciones externas INT1 e INT2 // A continuación descripción detallada del registro: // 7 INT2IP: INT2 External Interrupt Priority bit // 1 = High priority // 0 = Low priority // 6 INT1IP: INT1 External Interrupt Priority bit // 1 = High priority // 0 = Low priority // 5 Unimplemented: Read as '0' // 4 INT2IE: INT2 External Interrupt Enable bit // 1 = Enables the INT2 external interrupt // 0 = Disables the INT2 external interrupt // 3 INT1IE: INT1 External Interrupt Enable bit // 1 = Enables the INT1 external interrupt // 0 = Disables the INT1 external interrupt // 2 Unimplemented: Read as '0' // 1 INT2IF: INT2 External Interrupt Flag bit // 1 = The INT2 external interrupt occurred (must be cleared in // software) // 0 = The INT2 external interrupt did not occur // 0 INT1IF: INT1 External Interrupt Flag bit // 1 = The INT1 external interrupt occurred (must be cleared in // software) // 0 = The INT1 external interrupt did not occur RCONbits.IPEN = TRUE; // A continuación descripción detallada del registro: // 7 IPEN: Interrupt Priority Enable bit // 1 = Enable priority levels on interrupts // 0 = Disable priority levels on interrupts (16CXXX // Compatibility mode) // 6-5 Unimplemented: Read as '0' // 4 RI: RESET Instruction Flag bit // 1 = The RESET instruction was not executed // 0 = The RESET instruction was executed causing a device RESET // (must be set in software after a Brown-out Reset occurs) // 3 TO: Watchdog Time-out Flag bit

Page 74: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

74

// 1 = After power-up, CLRWDT instruction, or SLEEP instruction // 0 = A WDT time-out occurred // 2 PD: Power-down Detection Flag bit // 1 = After power-up or by the CLRWDT instruction // 0 = By execution of the SLEEP instruction // 1 POR: Power-on Reset Status bit // 1 = A Power-on Reset has not occurred // 0 = A Power-on Reset occurred // (must be set in software after a Power-on Reset occurs) // 0 BOR: Brown-out Reset Status bit // 1 = A Brown-out Reset has not occurred // 0 = A Brown-out Reset occurred // (must be set in software after a Brown-out Reset occurs) //---------// // INICIO SISTEMA // CONVERTIDORES Y TIMERS ON // SE ESPERA PULSACIÓN POR PUERTO B - RB4 // Inicializa variables E0=TRUE; E1=FALSE; E2=FALSE; T0=FALSE; T1=FALSE; T3=FALSE; TT0=FALSE; TT1=FALSE; TT3=FALSE; // Espera inicialización manual mediante pulsador del proceso de control PortBbits.RB4 = OFF; while (PortBbits.RB4 == OFF)

INTCON = 0XB8; // se habilitan interrupciones en el microprocesador

// GIE = '1' while(PortBbits.RB4 == OFF) if (T0==TRUE) T0=FALSE; writetimer0(TIMEIN);

if (T1==TRUE) T1=FALSE; writetimer1(TIMEIN);

if (T3==TRUE) T3=FALSE; writetimer3(TIMEIN);

if (TT0==TRUE) TT0=FALSE; writetimer0(TIMEOUT);

if (TT1==TRUE) TT1=FALSE; writetimer1(TIMEOUT);

if (TT3==TRUE)

Page 75: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

75

TT3=FALSE; writetimer3(TIMEOUT);

// Fin bucle infinito main // Fin Programa

A continuación se muestra el código fuente de la versión 2:

VERSIÓN 2

#include <p18f252.h> #include <portb.h> #include <timers.h> #define ON 1 #define OFF 0 #define TRUE 1 #define FALSE 0 #define TIMEIN 192 // Declaración de variables de la aplicación. unsigned char E0, E1, E2, E3, T0, T1, T3, TT0, TT1, TT3; // Funciones declaradas. void main(void); void ISRHigh (void); void ISRLow(void); //======================================================================= // Vector de interrupción de alta prioridad. //======================================================================= #pragma code InterruptVectorHigh = 0x0008 void InterruptVectorHigh (void) _asm goto ISRHigh //servicio de interrupción de alta prioridad _endasm //======================================================================= // Vector de interrupción de baja prioridad. // Servicio de interrupción de baja prioridad. // Interrupciones provocadas por los timers (timer0, timer1, timer3). // Según variables globales identifican la situación del proceso y se // actúa según convenga. //======================================================================= #pragma code InterruptVectorLow = 0x0018 #pragma interruptlow ISRLow // Salva y restaura entorno en la pila. void ISRLow(void) if(INTCONbits.TMR0IE && INTCONbits.TMR0IF) // Es por el timer 0? //falta mirar de que timer0 se trata (el de 0,8 o el de 4,8?).según //variable global o en main. INTCONbits.TMR0IF = FALSE; // Borra flag interrupción timer0

Page 76: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

76

PORTAbits.RA1 = ON; // Activa salida convertidor 1 PORTAbits.RA3 = OFF; if(PIR1bits.TMR1IF && PIE1bits.TMR1IE) // Es por el timer 1? PIR1bits..TMR1IF = FALSE; // Borra flag interrupción timer1 PORTAbits.RA2 = ON; // Activa salida convertidor 2 PORTAbits.RA1 = OFF; if(PIR2bits.TMR3IF && PIE2bits.TMR3IE) // Es por el timer 3? PIR2bits.TMR3IF = FALSE; // Borra flag interrupción timer3 PORTAbits.RA3 = ON; // Activa salida convertidor 3 PORTAbits.RA2 = OFF; //======================================================================= // Vector de interrupción de baja prioridad. // Servicio de interrupción de baja prioridad. // Servicio interrupciones externas. Interrupciones provocadas por los // convertidores. //======================================================================= #pragma interrupt ISRHigh void ISRHigh() if(INTCONbits.INT0IE && INTCONbits.INT0IF) // es INT0? INTCONbits.INT0IF = FALSE; // Borra flag interrupción INT0 // Acontece interrup convertidor 1 --> pasa control/activa conver 2 PORTAbits.RA1 = OFF; // Desactiva salida convertidor 1 PORTAbits.RA2 = ON; // Desactiva salida convertidor 3 T0 = TRUE; // Inicia en main() timer0 (4.8 us) if(INTCON3bits.INT1IE && INTCON3bits.INT1IF) // es INT1? INTCON3bits.INT1IF = FALSE; // Borra flag interrupción INT1 // Acontece interrup convertidor 2 --> pasa control/activa conver 3 PORTAbits.RA2 = OFF; // Desactiva salida convertidor 2 PORTAbits.RA3 = ON; // Activa salida convertidor 1 T1 = TRUE; // Inicia en main() timer1 (4.8 us) if(INTCON3bits.INT2IE && INTCON3bits.INT2IF) // es INT2? INTCON3bits.INT2IF = FALSE; // Borra flag interrupción INT2 // Acontece interrup convertidor 3 --> pasa control/activa conver 1 PORTAbits.RA3 = OFF; // Desactiva salida convertidor 3 PORTAbits.RA1 = ON; // Activa salida convertidor 1 T3 = TRUE; // Inicia en main() timer3 (4.8 us) // fin interrupción.

Page 77: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

77

//======================================================================= // Programa principal //======================================================================= void main () while(1) // Realiza siempre // Configuración puerto A TRISA = 0x00; // Flujo de datos del puerto A salientes. // RA1 --> controla convertidor 1. // RA2 --> controla convertidor 2. // RA3 --> controla convertidor 3. //---------// // Configuración puerto B // Puerto B como entrada de datos, RB0,1 y 2 genera int. // La activación del bit 4 (RB4) finaliza el sistema. // Se configuran los pins del puerto B como entradas // Se habilitan las interrupciones: PORTB_CHANGE_INT_ON // La interrupción para cambios de flanco ascendentes: RISING_EDGE_INT // Resistencias pull-up habilitadas: PORTB_PULLUPS_ON // No tiene entradas ni salidas TRISB = 0xFF; // Datos del puerto B de entrada al PIC // RB<7:0> como entradas OpenPORTB( PORTB_CHANGE_INT_ON & PORTB_PULLUPS_ON); ////////////////////////////////////////////////////////// // Interrupt-on-change: // PORTB_CHANGE_INT_ON Interrupt enabled // PORTB_CHANGE_INT_OFF Interrupt disabled // Interrupt-on-edge: // RISING_EDGE_INT Interrupt on rising edge // FALLING_EDGE_INT Interrupt on falling edge // Enable Pullups: // PORTB_PULLUPS_ON pull-up resistors enabled // PORTB_PULLUPS_OFF pull-up resistors disabled ////////////////////////////////////////////////////////// OpenRB0INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); OpenRB1INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); OpenRB2INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); //---------// OpenTimer0(TIMER_INT_ON & T0_8BIT & T0_SOURCE_EXT & T0_EDGE_RISE); // configura timer0 OpenTimer1(TIMER_INT_ON & T1_8BIT_RW & T1_SOURCE_EXT & T1_SYNC_EXT_OFF); // configura timer1 OpenTimer3(TIMER_INT_ON & T3_8BIT_RW & T3_SOURCE_EXT & T1_SYNC_EXT_OFF); // configura timer3 //---------// // Configura las interrupciones externas.

Page 78: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

78

INTCON = 0X38; // des/Habilita interrupción Timer0 & interrupción externa // mediante INT0.A continuación descripción detallada registro: // 7 GIE/GIEH: Global Interrupt Enable bit // When IPEN = 0: // 1 = Enables all unmasked interrupts // 0 = Disables all interrupts // When IPEN = 1: // 1 = Enables all high priority interrupts// 0 = Disables all interrupts // 6 PEIE/GIEL: Peripheral Interrupt Enable bit // When IPEN = 0: // 1 = Enables all unmasked peripheral interrupts // 0 = Disables all peripheral interrupts // When IPEN = 1: // 1 = Enables all low priority peripheral interrupts // 0 = Disables all low priority peripheral interrupts // 5 TMR0IE: TMR0 Overflow Interrupt Enable bit // 1 = Enables the TMR0 overflow interrupt // 0 = Disables the TMR0 overflow interrupt // 4 INT0IE: INT0 External Interrupt Enable bit // 1 = Enables the INT0 external interrupt // 0 = Disables the INT0 external interrupt // 3 RBIE: RB Port Change Interrupt Enable bit // 1 = Enables the RB port change interrupt // 0 = Disables the RB port change interrupt // 2 TMR0IF: TMR0 Overflow Interrupt Flag bit // 1 = TMR0 register has overflowed (must be cleared in // software) // 0 = TMR0 register did not overflow // 1 INT0IF: INT0 External Interrupt Flag bit // 1 = The INT0 external interrupt occurred (must be // cleared in software) // 0 = The INT0 external interrupt did not occur // 0 RBIF: RB Port Change Interrupt Flag bit // 1 = At least one of the RB7:RB4 pins changed state // (must be cleared in software) // 0 = None of the RB7:RB4 pins have changed state INTCON2 = 0x70; // Interrupciones externas INT0, INT1 y INT2 detectadas // al cambo de flanco ascendente. // Prioridad baja para cambios del puertob y de timer0. // A continuación descripción detallada del registro: // 7 RBPU: PORTB Pull-up Enable bit // 1 = All PORTB pull-ups are disabled // 0 = PORTB pull-ups are enabled by individual port latch // values // 6 INTEDG0:External Interrupt0 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 5 INTEDG1: External Interrupt1 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 4 INTEDG2: External Interrupt2 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 3 Unimplemented: Read as '0' // 2 TMR0IP: TMR0 Overflow Interrupt Priority bit // 1 = High priority

Page 79: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

79

// 0 = Low priority // 1 Unimplemented: Read as '0' // 0 RBIP: RB Port Change Interrupt Priority bit // 1 = High priority // 0 = Low priority INTCON3 = 0x18; // Habilitadas interrupciones externas INT1 e INT2 // A continuación descripción detallada del registro: // 7 INT2IP: INT2 External Interrupt Priority bit // 1 = High priority // 0 = Low priority // 6 INT1IP: INT1 External Interrupt Priority bit // 1 = High priority // 0 = Low priority // 5 Unimplemented: Read as '0' // 4 INT2IE: INT2 External Interrupt Enable bit // 1 = Enables the INT2 external interrupt // 0 = Disables the INT2 external interrupt // 3 INT1IE: INT1 External Interrupt Enable bit // 1 = Enables the INT1 external interrupt // 0 = Disables the INT1 external interrupt // 2 Unimplemented: Read as '0' // 1 INT2IF: INT2 External Interrupt Flag bit // 1 = The INT2 external interrupt occurred (must be cleared in // software) // 0 = The INT2 external interrupt did not occur // 0 INT1IF: INT1 External Interrupt Flag bit // 1 = The INT1 external interrupt occurred (must be cleared in // software) // 0 = The INT1 external interrupt did not occur RCONbits.IPEN = TRUE; // A continuación descripción detallada del registro: // 7 IPEN: Interrupt Priority Enable bit // 1 = Enable priority levels on interrupts // 0 = Disable priority levels on interrupts (16CXXX // Compatibility mode) // 6-5 Unimplemented: Read as '0' // 4 RI: RESET Instruction Flag bit // 1 = The RESET instruction was not executed // 0 = The RESET instruction was executed causing a device RESET // (must be set in software after a Brown-out Reset occurs) // 3 TO: Watchdog Time-out Flag bit // 1 = After power-up, CLRWDT instruction, or SLEEP instruction // 0 = A WDT time-out occurred // 2 PD: Power-down Detection Flag bit // 1 = After power-up or by the CLRWDT instruction // 0 = By execution of the SLEEP instruction // 1 POR: Power-on Reset Status bit // 1 = A Power-on Reset has not occurred // 0 = A Power-on Reset occurred // (must be set in software after a Power-on Reset occurs) // 0 BOR: Brown-out Reset Status bit // 1 = A Brown-out Reset has not occurred // 0 = A Brown-out Reset occurred // (must be set in software after a Brown-out Reset occurs) //---------//

Page 80: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

80

// INICIO SISTEMA // CONVERTIDORES Y TIMERS ON // SE ESPERA PULSACIÓN POR PUERTO B - RB4 // Inicializa variables E0=TRUE; E1=FALSE; E2=FALSE; T0=FALSE; T1=FALSE; T3=FALSE; // Espera inicialización manual mediante pulsador del proceso de control PortBbits.RB4 = OFF; while (PortBbits.RB4 == OFF) INTCON = 0XB8; // se habilitan interrupciones en el microprocesador // GIE = '1' PORTAbits.RA1 = ON; while(PortBbits.RB4 == ON) if (T0==TRUE) T0=FALSE; writetimer0(TIMEIN);

if (T1==TRUE) T1=FALSE; writetimer1(TIMEIN);

if (T3==TRUE) T3=FALSE; writetimer3(TIMEIN);

// Fin bucle infinito main // Fin Programa

A continuación se muestra el código fuente de la versión 3:

VERSIÓN 3

#include <p18f252.h> #include <portb.h> #define ON 1 #define OFF 0 #define TRUE 1 #define FALSE 0 // Declaración de variables de la aplicación. unsigned char, E0, E1, E2; // Funciones declaradas. void main(void); void ISRHigh (void); //======================================================================= // Vector de interrupción de alta prioridad.

Page 81: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

81

//======================================================================= #pragma code InterruptVectorHigh = 0x0008 void InterruptVectorHigh (void) _asm goto ISRHigh //servicio de interrupción de alta prioridad _endasm //======================================================================= // Servicio de interrupción de alta prioridad. // Servicio interrupciones externas. Interrupciones provocadas por los // convertidores. //======================================================================= #pragma interrupt ISRHigh void ISRHigh() if(INTCONbits.INT0IE && INTCONbits.INT0IF) // es INT0? INTCONbits.INT0IF = FALSE; // Borra flag interrupción INT0 // Acontece interrup convertidor 1 --> pasa control/activa conver 2 PORTAbits.RA1 = OFF; // Desactiva salida convertidor 1 PORTAbits.RA2 = ON; // Desactiva salida convertidor 3 if(INTCON3bits.INT1IE && INTCON3bits.INT1IF) // es INT1? INTCON3bits.INT1IF = FALSE; // Borra flag interrupción INT1 // Acontece interrup convertidor 2 --> pasa control/activa conver 3 PORTAbits.RA2 = OFF; // Desactiva salida convertidor 2 PORTAbits.RA3 = ON; // Activa salida convertidor 1 if(INTCON3bits.INT2IE && INTCON3bits.INT2IF) // es INT2? INTCON3bits.INT2IF = FALSE; // Borra flag interrupción INT2 // Acontece interrup convertidor 3 --> pasa control/activa conver 1 PORTAbits.RA3 = OFF; // Desactiva salida convertidor 3 PORTAbits.RA1 = ON; // Activa salida convertidor 1 // fin interrupción. //======================================================================= // Programa principal //======================================================================= void main () while(1) // Realiza siempre // Configuración puerto A TRISA = 0x00; // Flujo de datos del puerto A salientes. // RA1 --> controla convertidor 1. // RA2 --> controla convertidor 2.

Page 82: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

82

// RA3 --> controla convertidor 3. //---------// // Configuración puerto B // Puerto B como entrada de datos, RB0,1 y 2 genera int. // La activación del bit 4 (RB4) finaliza el sistema. // Se configuran los pins del puerto B como entradas // Se habilitan las interrupciones: PORTB_CHANGE_INT_ON // La interrupción para cambios de flanco ascendentes: RISING_EDGE_INT // Resistencias pull-up habilitadas: PORTB_PULLUPS_ON // No tiene entradas ni salidas TRISB = 0xFF; // Datos del puerto B de entrada al PIC // RB<7:0> como entradas OpenPORTB( PORTB_CHANGE_INT_ON & PORTB_PULLUPS_ON); ////////////////////////////////////////////////////////// // Interrupt-on-change: // PORTB_CHANGE_INT_ON Interrupt enabled // PORTB_CHANGE_INT_OFF Interrupt disabled // Interrupt-on-edge: // RISING_EDGE_INT Interrupt on rising edge // FALLING_EDGE_INT Interrupt on falling edge // Enable Pullups: // PORTB_PULLUPS_ON pull-up resistors enabled // PORTB_PULLUPS_OFF pull-up resistors disabled ////////////////////////////////////////////////////////// OpenRB0INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); OpenRB1INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); OpenRB2INT(PORTB_CHANGE_INT_ON & RISING_EDGE_INT & PORTB_PULLUPS_ON); //---------// // Configura las interrupciones externas. INTCON = 0X38; // des/Habilita interrupción Timer0 & interrupción externa // mediante INT0.A continuación descripción detallada registro: // 7 GIE/GIEH: Global Interrupt Enable bit // When IPEN = 0: // 1 = Enables all unmasked interrupts // 0 = Disables all interrupts // When IPEN = 1: // 1 = Enables all high priority interrupts// 0 = Disables all interrupts // 6 PEIE/GIEL: Peripheral Interrupt Enable bit // When IPEN = 0: // 1 = Enables all unmasked peripheral interrupts // 0 = Disables all peripheral interrupts // When IPEN = 1: // 1 = Enables all low priority peripheral interrupts // 0 = Disables all low priority peripheral interrupts // 5 TMR0IE: TMR0 Overflow Interrupt Enable bit // 1 = Enables the TMR0 overflow interrupt // 0 = Disables the TMR0 overflow interrupt // 4 INT0IE: INT0 External Interrupt Enable bit // 1 = Enables the INT0 external interrupt

Page 83: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

83

// 0 = Disables the INT0 external interrupt // 3 RBIE: RB Port Change Interrupt Enable bit // 1 = Enables the RB port change interrupt // 0 = Disables the RB port change interrupt // 2 TMR0IF: TMR0 Overflow Interrupt Flag bit // 1 = TMR0 register has overflowed (must be cleared in // software) // 0 = TMR0 register did not overflow // 1 INT0IF: INT0 External Interrupt Flag bit // 1 = The INT0 external interrupt occurred (must be // cleared in software) // 0 = The INT0 external interrupt did not occur // 0 RBIF: RB Port Change Interrupt Flag bit // 1 = At least one of the RB7:RB4 pins changed state // (must be cleared in software) // 0 = None of the RB7:RB4 pins have changed state INTCON2 = 0x70; // Interrupciones externas INT0, INT1 y INT2 detectadas // al cambo de flanco ascendente. // Prioridad baja para cambios del puertob y de timer0. // A continuación descripción detallada del registro: // 7 RBPU: PORTB Pull-up Enable bit // 1 = All PORTB pull-ups are disabled // 0 = PORTB pull-ups are enabled by individual port latch // values // 6 INTEDG0:External Interrupt0 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 5 INTEDG1: External Interrupt1 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 4 INTEDG2: External Interrupt2 Edge Select bit // 1 = Interrupt on rising edge // 0 = Interrupt on falling edge // 3 Unimplemented: Read as '0' // 2 TMR0IP: TMR0 Overflow Interrupt Priority bit // 1 = High priority // 0 = Low priority // 1 Unimplemented: Read as '0' // 0 RBIP: RB Port Change Interrupt Priority bit // 1 = High priority // 0 = Low priority INTCON3 = 0x18; // Habilitadas interrupciones externas INT1 e INT2 // A continuación descripción detallada del registro: // 7 INT2IP: INT2 External Interrupt Priority bit // 1 = High priority // 0 = Low priority // 6 INT1IP: INT1 External Interrupt Priority bit // 1 = High priority // 0 = Low priority // 5 Unimplemented: Read as '0' // 4 INT2IE: INT2 External Interrupt Enable bit // 1 = Enables the INT2 external interrupt // 0 = Disables the INT2 external interrupt // 3 INT1IE: INT1 External Interrupt Enable bit // 1 = Enables the INT1 external interrupt // 0 = Disables the INT1 external interrupt

Page 84: Implementación con PIC del método de corriente máxima ...deeea.urv.cat/public/PROPOSTES/pub/pdf/445pub.pdf · Implementación con PIC del método de corriente máxima aplicado

Implementación con PIC del método de corriente máxima aplicado a convertidores boost en interleaving.

84

// 2 Unimplemented: Read as '0' // 1 INT2IF: INT2 External Interrupt Flag bit // 1 = The INT2 external interrupt occurred (must be cleared in // software) // 0 = The INT2 external interrupt did not occur // 0 INT1IF: INT1 External Interrupt Flag bit // 1 = The INT1 external interrupt occurred (must be cleared in // software) // 0 = The INT1 external interrupt did not occur RCONbits.IPEN = TRUE; // A continuación descripción detallada del registro: // 7 IPEN: Interrupt Priority Enable bit // 1 = Enable priority levels on interrupts // 0 = Disable priority levels on interrupts (16CXXX // Compatibility mode) // 6-5 Unimplemented: Read as '0' // 4 RI: RESET Instruction Flag bit // 1 = The RESET instruction was not executed // 0 = The RESET instruction was executed causing a device RESET // (must be set in software after a Brown-out Reset occurs) // 3 TO: Watchdog Time-out Flag bit // 1 = After power-up, CLRWDT instruction, or SLEEP instruction // 0 = A WDT time-out occurred // 2 PD: Power-down Detection Flag bit // 1 = After power-up or by the CLRWDT instruction // 0 = By execution of the SLEEP instruction // 1 POR: Power-on Reset Status bit // 1 = A Power-on Reset has not occurred // 0 = A Power-on Reset occurred // (must be set in software after a Power-on Reset occurs) // 0 BOR: Brown-out Reset Status bit // 1 = A Brown-out Reset has not occurred // 0 = A Brown-out Reset occurred // (must be set in software after a Brown-out Reset occurs) // INICIO SISTEMA // CONVERTIDORES Y TIMERS ON // SE ESPERA PULSACIÓN POR PUERTO B - RB4 // Espera inicilización manual mediante pulsador del proceso de control PortBbits.RB4=OFF; while (PortBbits.RB4 == OFF) INTCON = 0XB8; // se habilitan interrupciones en el microprocesador // GIE = '1' PORTAbits.RA1 = ON; while(PortBbits.RB4 == ON) // Fin bucle infinito main // Fin Programa