Sie sind auf Seite 1von 107

Instituto Politcnico Nacional

Centro de Investigacin en Computacin

Secretara de Investigacin y Posgrado

CONTROL EN TIEMPO REAL DE


CONVERTIDORES ELECTRNICOS

TESIS
QUE PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIAS EN INGENIERA DE
CMPUTO CON OPCIN EN SISTEMAS DIGITALES

PRESENTA
ING. Christian Castro Morales

DIRECTOR (ES) DE TESIS:

Dr. Carlos guilar Ibes.


Dr. Domingo de Jess Corts Rodrguez
Dr. Jos de Jess Medel Jurez
Dr. Jaime lvarez Gallegos
Dr. Jos Luis Oropeza Rodrguez

MXICO, D.F. 2009


Resumen

Las necesidades de ahorro de energa de nuestros das hacen que constantemente se busquen nuevos
dispositivos y mtodos para mejorar el aprovechamiento de sta.

Los convertidores electrnicos son dispositivos que permiten modificar el voltaje y la corriente de
manera eficiente. Generalmente se utilizan para adecuar fuentes de energa elctrica a distintos aparatos
o cargas, que requieren distintas caractersticas a las que posee la fuente. Los convertidores electrnicos
inherentemente tienen una etapa de control. El objetivo del control es garantizar que a la salida del
convertidor se obtenga el voltaje deseado. Exista una gran cantidad de artculos que presentan distintos
controladores para convertidores electrnicos, de los cuales en ocasiones se desea validar su
desempeo. Para la validacin de controladores, por lo general, se desarrolla un circuito impreso
(prototipo) con distintos circuitos integrados que implemente la ley de control. Sera conveniente
contar con una forma ms rpida y sencilla para evaluar los controladores.

El diseo rpido de prototipos de control (RCP) es un conjunto de herramientas que ha sido aplicado en
el desarrollo de prototipos para industrias como la automotriz y la aeroespacial. Permite validar
distintos controladores de manera rpida. En se trabajo se busca integrar un sistema con recursos
moderados, que permita evaluar controladores para convertidores electrnicos.

Linux-RTAI es un proyecto de software libre que permite a una computadora personal un


funcionamiento determinista y de baja latencia. Sus caractersticas permiten el desarrollo de
controladores que se comporten de forma determinista y que a su vez pueda tener interaccin con
sistemas que no lo sean. A parte de Linux-RTAI existen otros proyectos de software libre que facilitan
el desarrollo de una plataforma para el rpido desarrollo de prototipos de control, y los cuales son
utilizados dentro de ste proyecto.

Los convertidores electrnicos tienen caractersticas elctricas que pueden ser peligrosas para los
dispositivos digitales, en este caso, la computadora y la tarjeta de adquisicin de datos. La necesidad de
intercambio de informacin entre los convertidores electrnicos y el sistema computacional de forma
segura, genera la necesidad de desarrollar un circuito que permita la transmisin de informacin
necesaria para el control de los convertidores.

Tres convertidores electrnicos cd-cd son evaluados junto con un controlador implementado dentro de
una plataforma RCP. Simulaciones de los modelos de los convertidores electrnicos en lazo cerrado
con el controlador, junto con los resultados experimentales son presentados para su validacin.
Abstract

Power electronic converters are devices that allow to change voltage and current values of a electric
source. There are used for adequate voltage sources with a load who require a different value of it.
Electronic converters are inherently linked to a control stage, its purpose is the voltage regulation.
There exist a large quantity of articles that present different electronic converters controllers. Some
times is wanted to validate the performance. For validation, generally it's needed to build a impress
circuit that implement the controller. It would be desirable to have a easier way to implement them.

Rapid Control Prototyping has used into the control development in a fast way for the aerospace and
car's industry. This work looks for the control of electronic converters in a easy and fast way. It would
be possible using RCP with a common PC and free software.

Linux-RTAI is a proyect of free software that allows the development of a RCP platform. Linux-RTAI
have real-time features that let to work in a deterministic way some programs. Together RTAI, others
free software proyects allow to make a RCP platform.

Electronic converters use enough energy to damage a PC and a DAQ, needed for the communication
between the PC and the converters. It's necessary to isolate the converters for the PC and at the same
time, allow the information transit between them. In this work is developed a circuit that achieve it
using opto-isolators and operational amplifiers.

Three electronic converters are evaluated in close loop using the RCP. Simulations and experimental
results are presented.
ndice general

1. Introduccin 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Hiptesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5.1. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Estado del Arte 9


2.1. Control Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Desarrollo rpido de prototipos de control . . . . . . . . . . . . . . . . . . . 12

3. Marco terico 17
3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Convertidores Electrnicos de Potencia . . . . . . . . . . . . . . . . . . . . 18
3.2.1. Convertidores CD-CD . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2. Diseo del convertidor reductor o buck . . . . . . . . . . . . . . . . 20
3.2.3. Diseo del convertidor elevador o boost . . . . . . . . . . . . . . . . 23
3.2.4. Diseo del convertidor reductor-elevador o buck-boost . . . . . . . . 25
3.2.5. Diseo del convertidor cuck . . . . . . . . . . . . . . . . . . . . . . 27
3.3. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

I
3.4. Desarrollo rpido de prototipos de control . . . . . . . . . . . . . . . . . . . 33
3.5. Sistemas en tiempo real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5.1. Sistemas en tiempo real duros . . . . . . . . . . . . . . . . . . . . . 35
3.5.2. Sistemas en tiempo real suaves . . . . . . . . . . . . . . . . . . . . . 36
3.5.3. Sistemas en tiempo real firmes . . . . . . . . . . . . . . . . . . . . . 36
3.5.4. Cualidades de los sistemas en tiempo real . . . . . . . . . . . . . . . 37
3.5.5. Sistemas operativos en tiempo real . . . . . . . . . . . . . . . . . . . 41

4. Implementacin 47
4.1. Descripcin del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2. Diseo y construccin de convertidores . . . . . . . . . . . . . . . . . . . . 49
4.2.1. Convertidor buck . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.2. Convertidor boost . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2.3. Convertidor buck-boost . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3. Diseo y construccin del acondicionador de seales . . . . . . . . . . . . . 56
4.4. Seleccin e instalacin del sistema operativo . . . . . . . . . . . . . . . . . . 60
4.4.1. Real Time Application Interface . . . . . . . . . . . . . . . . . . . . 61
4.4.2. Comedi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.4.3. Scilab/Scicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4.4. Instalacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.5. Integracin del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5. Simulacin 76
5.0.1. Convertidor Buck . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.0.2. Convertidor Boost . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.0.3. Convertidor Buck-Boost . . . . . . . . . . . . . . . . . . . . . . . . 80

6. Resultados experimentales 86
6.1. Convertidor buck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2. Convertidor boost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

II
6.3. Convertidor buck-boost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.4. Conclusiones del captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

7. Conclusiones 91

A. Inicializacion de RTAI 95

III
ndice de figuras

2.1. Sistema con control digital . . . . . . . . . . . . . . . . . . . . . . . . . . . 10


2.2. Sistema de control con una tarjeta de adquisicin de datos . . . . . . . . . . . 13
2.3. Sistema RCP con un sistema embebido en tiempo real . . . . . . . . . . . . . 14
2.4. Control rpido de prototipos con sistema operativo en tiempo real . . . . . . 15

3.1. Convertidores bsicos de alta frecuencia de conmutacin. . . . . . . . . . . . 19


3.2. Rizo generado en la salida de un convertidor debido a la conmutacin del
interruptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3. Convertidor buck cuando u=0. . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4. Convertidor buck cuando u=1. . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5. Convertidor boost cuando u=0. . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6. Convertidor boost cuando u=1. . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.7. Convertidor buck-boost cuando u=0. . . . . . . . . . . . . . . . . . . . . . . 26
3.8. Convertidor buck-boost cuando u=1. . . . . . . . . . . . . . . . . . . . . . . 26
3.9. Convertidor cuck cuando u=0. . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.10. Convertidor cuck cuando u=1. . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.11. Sistema lineal controlado por un PI . . . . . . . . . . . . . . . . . . . . . . . 32
3.12. Diseo rpido de prototipos de control . . . . . . . . . . . . . . . . . . . . . 35
3.13. Tiempo de interarribo de TTR peridica . . . . . . . . . . . . . . . . . . . . 39
3.14. Tiempos de interarribo de TTR-espordica . . . . . . . . . . . . . . . . . . . 40
3.15. Tiempos de interarribo de TTR aperidica . . . . . . . . . . . . . . . . . . . 41

IV
4.1. Riso en el voltaje de capacitor y corriente en el inductor generado por las
conmutaciones del convertidor . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2. Diagrama del sistema que se plantea disear . . . . . . . . . . . . . . . . . . 49
4.3. Implementacin del convertidor buck . . . . . . . . . . . . . . . . . . . . . 50
4.4. Representacin de las seales con tiempo muerto . . . . . . . . . . . . . . . 50
4.5. Circuito generador de seales con tiempo muerto . . . . . . . . . . . . . . . 51
4.6. Implementacin del convertidor buck con el IR2110 . . . . . . . . . . . . . . 51
4.7. Implementacin del convertidor boost con el IR2110 . . . . . . . . . . . . . 53
4.8. Modos de implementacin del convertidor buck-boost. . . . . . . . . . . . . 55
4.9. Implementacin del convertidor buck boost con el IR2110 . . . . . . . . . 55
4.10. Corriente de entrada vs corriente de colector en un opto-aislador . . . . . . . 58
4.11. Aislamiento de un voltaje analgico . . . . . . . . . . . . . . . . . . . . . . 58
4.12. Circuito para medir la corriente . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.13. Opto aislamiento de la tarjeta DAQ hacia el convertidor . . . . . . . . . . . . 60
4.14. Integracin del sistema para evaluar controladores para convertidores elec-
trnicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.1. Simulacin del convertidor buck en lazo abierto. . . . . . . . . . . . . . . . . 77


5.2. Simulacin del convertidor buck en lazo abierto con conmutaciones en la carga. 78
5.3. Simulacin del convertidor buck en lazo cerrado con el controlador. . . . . . 79
5.4. Simulacin del convertidor buck en lazo cerrado con el controlador y
conmutaciones en la carga. . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.5. Simulacin del convertidor boost en lazo abierto. . . . . . . . . . . . . . . . 81
5.6. Simulacin del convertidor boost en lazo abierto con conmutaciones en la
carga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.7. Simulacin del convertidor boost en lazo cerrado con el convertidor. . . . . . 83
5.8. Simulacin del convertidor boost en lazo cerrado con el controlador y
variaciones en la carga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.9. Simulacin del convertidor buck-boost en lazo abierto. . . . . . . . . . . . . 84

V
5.10. Simulacin del convertidor buck-boost en lazo abierto con variaciones en la
carga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.11. Simulacin del convertidor buck-boost en lazo cerrado con el convertidor. . . 85
5.12. Respuesta del sistema con k p propuesta y ki mxima para obtener races reales. 85

6.1. Resultados experimentales del encendido del convertidor buck por RCP . . . 87
6.2. Resultados experimentales del convertidor boost con variaciones en la carga . 87
6.3. Resultados experimentales del encendido del convertidor boost con control
por RCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.4. Resultados experimentales del convertidor boost con variaciones en la carga . 89
6.5. Resultados experimentales del encendido del convertidor buck-boost por RCP 89
6.6. Resultados experimentales del convertidor buck-boost con variaciones en la
carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

VI
ndice de tablas

4.1. Parmetros de los convertidores . . . . . . . . . . . . . . . . . . . . . . . . 47


4.2. Valores de diseo del convertidor buck . . . . . . . . . . . . . . . . . . . . . 52
4.3. Valores de diseo del convertidor boost . . . . . . . . . . . . . . . . . . . . 53

5.1. Valores de simulacin del convertidor buck . . . . . . . . . . . . . . . . . . 77


5.2. Valores de simulacin del convertidor boost . . . . . . . . . . . . . . . . . . 79
5.3. Valores de simulacin del convertidor buck-boost . . . . . . . . . . . . . . . 81

VII
Captulo 1

Introduccin

1.1. Antecedentes

En un ambiente urbano la ingeniera ha ocupado un lugar importante en el desarrollo


de la sociedad. Con el transcurso del tiempo cada da es ms difcil encontrar algo donde
la ingeniera no haya intervenido. Continuamente se proponen nuevas ideas, metodologas y
formas para solucionar los diferentes problemas que se nos presentan. El manejo y control de
la energa es fundamental en muchas de las soluciones que la ingeniera aporta a la sociedad,
pues ha permitido facilitar distintas tareas y otras que antes no eran posible realizar.

La forma ms comn en que la energa se utiliza es la electricidad. Actualmente, la energa


elctrica es utilizada en electrodomsticos, bombas de agua, sistemas de refrigeracin,
alumbrado, transporte y otros. La energa elctrica est presente en muchas aplicaciones
importantes y es previsible que en el futuro el uso de la energa elctrica aumente.
Por ejemplo, existe una tendencia a sustituir motores de combustin interna por motores
elctricos dentro de la industria automotriz. Es por ello que, los nuevos mtodos de
generacin de energa se enfocan en generar energa elctrica ms que de otro tipo. Ejemplos
de esto son las plantas elicas, presas hidroelctricas, celdas solares y las celdas de hidrgeno.

En la actualidad la energa elctrica se obtiene principalmente por la combustin de


hidrocarburos. En el proceso de la quema del combustible se generan gran cantidad de
2 CAPTULO 1. INTRODUCCIN

contaminantes. Esto ha generado preocupacin debido a la concentracin de gases txicos


en las ciudades y las enfermedades que esto conlleva. Otro efecto colateral de esta forma de
generar energa es el calentamiento global y los desastres naturales desprendidos de ste.
Desde el punto de vista econmico, los combustibles fsiles tienden a aumentar su
costo debido a que cada vez es ms difcil obtenerlos. Y con el aumento en el precio del
combustible, tambin el precio de la energa elctrica aumenta.
A raz del incremento en el costo de la energa y la contaminacin que se produce al
generarla, la sociedad est tomando conciencia de la importancia del buen uso de la energa.
Otros problemas que se presentan al hacer un uso deficiente de la energa son

El aumento en el costo de realizar trabajos que requieren de la energa elctrica


El tiempo de operacin de dispositivos mviles es menor
Los requerimientos de potencia de las bateras, en los equipos que los usan son mayores
Generalmente la energa desperdiciada se convierte en calor, lo cual en la mayora de
los casos no es deseable, y puede provocar problemas mayores.

Todo lo anterior ha generado la necesidad de mejorar la eficiencia de los aparatos que


utilizan energa elctrica.
Cada aparato elctrico o electrnico necesita que la energa elctrica con la que es
alimentado posea determinadas caractersticas. Algunos aparatos pueden requerir un voltaje
regulado a un valor fijo o variable; corriente directa o corriente alterna. Es comn que la
fuente de alimentacin no posea las caractersticas elctricas que determinado dispositivo
requiere. En estos casos es necesario hacer un acoplamiento de la energa entre la fuente y
el dispositivo. Durante el acoplamiento es seguro que el dispositivo que realiza esta funcin
disipe cierta cantidad de energa.
Una forma muy efectiva de ahorrar energa es lograr que al momento del acoplamiento
entre una fuente de energa y su carga, la energa sea consumida por la carga y no en la
transmisin o en el dispositivo de acoplamiento.
Dentro de los dispositivos que permiten el acoplamiento de la energa elctrica se
encuentran los convertidores electrnicos. Estos son dispositivos que procesan la energa
1.2. PLANTEAMIENTO DEL PROBLEMA 3

elctrica de manera eficiente y confiable, y que adems son de bajo costo. La eficiencia
en la transmisin de la energa y la robustez de los convertidores depende tanto de la
topologa de los convertidores como de su etapa de control. Con una buena etapa de control
los convertidores electrnicos pueden ser robustos ante cambios en la carga y el voltaje de
entrada.
La importancia del manejo eficiente de la energa y la conveniencia de los convertidores
electrnicos han abierto un rea muy activa de investigacin alrededor de estos dispositivos.
Continuamente se estn proponiendo nuevos controladores que ayuden a solucionar distintos
problemas o creen nuevas aplicaciones.
Algunos algoritmos de control para convertidores electrnicos poseen una gran compleji-
dad para poder ser implementados con electrnica analgica. Estos controladores suelen ser
implementados con electrnica digital. Ya sea que se puedan implementar con electrnica
analgica o se requiera de un sistema digital, los controladores deben de ser evaluados antes
de disearse para su uso final. Para ello, por lo general se disean prototipos.
El proceso de realizar prototipos por lo general es laborioso, tardado, y en algunos casos
costoso. Hay ocasiones en que una buena implementacin no garantiza que el controlador
funcione como lo tericamente debera. Por ello la necesidad de evaluarlos antes de hacer un
producto final.
De lo anterior puede observarse que es bastante deseable tener un sistema para acelerar el
proceso de validacin y evaluacin de controladores para convertidores electrnicos.

1.2. Planteamiento del problema

La electricidad es una de las formas ms importantes de manejar la energa en nuestros


das. En la actualidad gran cantidad de aparatos y maquinaria que impulsa el desarrollo
en una ciudad necesitan de la energa elctrica. El proceso de generacin de energa es
costoso y contaminante. Adems de la reduccin en el costo y de la contaminacin, usar
la energa elctrica de forma eficiente ofrece otros beneficios. Entre estos beneficios, se
pueden mencionar la extensin de funcionamiento de los dispositivos mviles, reduccin
4 CAPTULO 1. INTRODUCCIN

de exigencias a las fuentes de alimentacin elctrica, reduccin de calor, etc.


Entre los aparatos que utilizan la energa elctrica no todos requieren las mismas
caractersticas. Es necesario realizar un acoplamiento entre las distintas fuentes de energa
elctrica y los aparatos que requieren de su alimentacin. Este acoplamiento, idealmente no
debera consumir energa, sin embargo no existen dispositivos que logren este objetivo. Se ha
desarrollo un campo de estudio que busca acercarse en lo ms posible a este propsito. Dentro
de ste campo se han desarrollado los convertidores electrnicos. Estos dispositivos sirven de
acoplamiento entre la fuente y la carga o aparato, y presentan las mayores eficiencias entre
los dispositivos que sirven de acoplamiento elctrico.
En los convertidores electrnicos siempre interviene una etapa de control. Su funcin es el
correcto acoplamiento entre la fuente y la carga, y paralelamente se busca la mayor eficiencia
en la transferencia de la energa, a travs el convertidor.
Existe un rea muy activa de investigacin donde se proponen una variedad de controlado-
res para mejorar el desempeo de los convertidores. Continuamente son propuestos nuevos
controladores que ofrecen una mejor desempeo en determinados aspectos. Entre stos se
presentan muchos controladores que en simulacin ofrecen buenos resultados, pero que no
han sido evaluados experimentalmente. An cuando se busque encontrar aproximaciones de
su comportamiento por medio de simulaciones, es necesario que realicen experimentos para
validarlos. La validacin de los controladores es importante debido a que siempre existen
detalles que no se pueden simular, o que dependen de las caractersticas de los dispositivos
con los que se vallan a implementar. Estas diferencias llegan a causar que el desempeo del
controlador no sea el encontrado en simulacin, e incluso que el controlador no llegue a
funcionar.
Los convertidores electrnicos son sistemas no lineales, y generalmente sus controladores
son diseados en sistemas continuos. Debido a la complejidad que presenta el desarrollo
de encontrar modelos discretos de sistemas no lineales se prefiere el desarrollo de los
controladores por medio de funciones continuas.
Los controladores para convertidores electrnicos no son expresiones digitales. stos
controladores generalmente involucran funciones continuas, las cuales tienen que ser
1.3. JUSTIFICACIN 5

aproximadas digitalmente. Para que la aproximacin sea vlida, el muestreo y el clculo


de las expresiones deben ser lo suficientemente rpidos y deterministas.
Actualmente para la evaluacin de controladores se disean prototipos a travs de
dispositivos analgicos o digitales. El desarrollo de estos prototipos es tardado debido a que
por lo general se requiere cumplir con los siguientes puntos:

1. Disear el circuito(generalmente analgico) que implemente el algoritmo de control


2. Adquirir los dispositivos necesarios, los cuales en ocasiones pueden ser difciles de
adquirir.
3. Disear y realizar la tarjeta de circuito impreso
4. Soldar
5. Verificar que lo realizado est correcto.

En ocasiones puede ocurrir que algn dispositivo se encuentre daado, lo cual puede
genera una falla en el sistema que provoque desde un funcionamiento incorrecto, hasta la
destruccin de algunos dispositivos. Cuando esto sucede, corregir el controlador tambin
puede llevar un tiempo considerable.
Al realizar los prototipos por medio de circuitos impresos:

Varios dispositivos no pueden ser reutilizables para implementar otros controladores.


Pequeos cambios en el controlador requiere un nuevo circuito
Muchos controladores requieren dispositivos especializados de alto costo

El tiempo y recursos necesarios para la validacin de nuevos controladores es un


problema en el que vale la pena buscar nuevas soluciones que ofrezcan reducir el tiempo
y recursos necesarios que actualmente son necesarios para ste propsito.

1.3. Justificacin
Con las necesidades de ahorro de energa presentes y las ventajas de su uso eficiente, los
convertidores electrnicos podran ser integrados en mayor cantidad de sistemas, siempre
6 CAPTULO 1. INTRODUCCIN

acompaados de un controlador adecuado. Debido a la gran cantidad de controladores


propuestos, y que se continua proponiendo, es conveniente tener la posibilidad de evaluarlos
de una manera ms rpida y eficiente a la actual.
La aceleracin en la validacin de controladores permitir una implementacin mas
pronta en diferentes aparatos elctricos, y por lo tanto un mayor aprovechamiento de la
energa en la vida diaria.

1.4. Hiptesis

Con un sistema de cmputo que permita evaluacin de controladores por medio de


software, en lazo cerrado con con convertidor electrnico se lograra reducir el tiempo
necesario para su evaluacin.
Con un sistema de cmputo se tendran que realizar los siguientes pasos:

1. diseo de la estrategia de programacin


2. realizacin del cdigo que implemente el controlador
3. compilar

Adems de los beneficios de reduccin del tiempo necesario, el hardware utilizado se


puede reutilizar para otros controladores, solo hay un costo inicial por el equipo, y la
modificacin de controladores sera mas fcil.
El sistema a implementar tiene que ser muy rpido y determinista debido a:

La dinmica del convertidor es rpida


El control usualmente es expresado en forma continua, o involucra funciones continuas
que tienen que ser aproximadas

Las caractersticas que se busca tenga el sistema son:

Herramientas de simulacin y anlisis dinmicos


Compiladores
1.5. OBJETIVO 7

Editores
Acondicionamiento de seales y proteccin

Todos estos componentes deben ser integrados.

1.5. Objetivo
Integrar un sistema de cmputo que permita evaluar rpidamente controladores para
convertidores electrnicos.

1.5.1. Metas

Construir cuatro convertidores


Construir un circuito acondicionador de seales que permita a la computadora y los
convertidores compartir las seales involucradas en el control, de forma segura.
Seleccionar, instalar y adecuar un sistema operativo que permita realizar control de
forma determinista.
Integrar la computadora, sistema operativo, acondicionador de seales y uno de los
convertidores para validad un controlador.

1.6. Alcances
En esta investigacin se propone utilizar medios computacionales de uso comn en lo
posible, como una PC de escritorio y una tarjeta de adquisicin de datos discreta.
Se propone la utilizacin de software libre que permita al sistema un comportamiento
determinista.
Esta plataforma ser utilizada para el control de convertidores electrnicos.
Se desarrolla un sistema para aislar la planta con respecto a la tarjeta de adquisicin
de datos para su proteccin, debido a las caractersticas propias de los convertidores
electrnicos.
8 CAPTULO 1. INTRODUCCIN

Se utilizarn herramientas de los sistemas en tiempo real para el diseo de los


controladores.
Captulo 2

Estado del Arte

2.1. Control Digital

Los continuos avances en la tecnologa han modificado las opciones de implementacin


para el control de cualquier planta. En los convertidores electrnicos, inicialmente, el control
fue diseado por medio de dispositivos de electrnica analgica. El diseo de controladores
por este medio ha estado limitado por las capacidades para realizar clculo de estos
dispositivos. Varios controladores no podan ser implementados por circuitos analgicos, por
que no haba circuitos capaces de implementar los controladores.

En un inicio las computadoras solo eran utilizadas para el clculo matemtico. Estas
eran grandes, costosas, consuman mucha energa y solo estaban disponible para un pequeo
grupo. El continuo desarrollo de la tecnologa permiti reducir el espacio, energa necesaria y
costo de las computadoras; adems de mejorar el desempeo en sus capacidades de clculo.

La necesidad de realizar controladores complejos para el control de procesos dentro de


proyectos muy importantes y los avances en los sistemas computacionales ocasionaron el
nacimiento del control digital. La velocidad y capacidad de clculo de las computadoras
permitieron la implementacin de controladores que no eran posibles de implementar con la
electrnica analgica.

Un sistema de control digital [18] [19] [22] usa hardware digital como corazn del
10 CAPTULO 2. ESTADO DEL ARTE

Figura 2.1: Sistema con control digital

sistema, pero necesita de componentes analgicos en algunos perifricos para interactuar con
la planta. Es el procesamiento de las ecuaciones de control lo que distingue el control digital
del control analgico. Algunos sistemas digitales pueden ser vistos como aproximaciones
de controladores analgicos, pero el verdadero potencial se obtiene cuando se realizan
operaciones mas complicadas que los controladores analgicos no son capaces de realizar.

Un ejemplo de un control digital tpico se muestra en la figura 2.1. De la figura se puede


ver que el sistema tiene dos referencias como entradas y cuatro salidas dos de las cuales son
medidas por medio de sensores. Los convertidores analgicos-digitales muestrean las salidas
de los sensores y los convierten a valores digitales. Los valores digitales son procesador por
el algoritmo de control digital utilizado. Este control presenta dos salidas digitales las cuales
tienen que ser convertidas en seales analgicas. Para la conversin se utilizan convertidores
digitales a analgicos (D/A). La salida de los convertidores D/A son aplicadas en la planta
para su control. El sistema completo forma un control digital en lazo cerrado.

Cuando se empez a utilizar el control digital, ste era utilizado en muy pocos sistemas.
Su poca implementacin se deba al elevado costo del equipo de computo, y que an no
cumpla con las necesidades de velocidad y clculo para otros proyectos. Con el paso del
tiempo se han reducido los costos del equipo de cmputo o el de diversos dispositivos de
clculo digitales. La mejora continua en los equipos de cmputo ha permitido que el control
digital continuamente ofrezca mejores beneficios que en versiones anteriores. Entre estos
beneficios se pueden listar:
2.1. CONTROL DIGITAL 11

Bajo costo, bajo peso y bajo consumo de potencia


No hay cambios en los valores de las variables durante el clculo, ocasionados por
temperatura, humedad, y tiempo de trabajo de los dispositivos.
Alta precisin
Alta fiabilidad
Facilidad en el diseo y cambio en el diseo del software.

Con la accesibilidad que van adquiriendo los sistemas de clculo digitales y los beneficios
que estos ofrecen, el control digital cada vez es mas usado en una mayor cantidad de
proyectos.
En el caso de los convertidores electrnicos el control digital ya ha sido aplicado
con anterioridad. Se pueden encontrar sistemas dedicados para el control de convertidores
electrnicos especficos [11]. En estos casos los convertidores electrnicos eran utilizados
para alimentar plantas especializadas. El control que se requera, constaba de cierta
complejidad, por lo cual era necesario implementar un control digital.
En [12] se presenta un sistema de monitoreo y control para convertidores de alta potencia.
Se busca que en el sistema exista una rpida comunicacin y evitar que la velocidad del
controlador se vea reducida por este aspecto. Se aborda con detalle el desarrollo del sistema,
poniendo nfasis en el aspecto de la comunicacin. El nfasis que se le da a la comunicacin
se debe a las caractersticas propias del convertidor, el cual dificultaba este aspecto. El
convertidor que se utiliza genera un gran campo magntico que induce interferencia en las
comunicaciones. Se hace mencin al protocolo de comunicacin, brevemente del diseo del
software utilizado para la comunicacin y de un sistema de manejo de datos.
En [11] se muestra el desarrollo de un sistema dedicado donde se realiza el control de la
planta. Este sistema permite el monitoreo por medio de comunicacin con una computadora
personal. Por medio de la computadora personal tambin posible la modificacin de
determinados valores en el control. Es creada una interfaz serial entre el sistema y
la computadora personal. El procesamiento del control se realiza en tres unidades de
procesamiento que tienen comunicacin a travs de interrupciones. Se muestra el control
12 CAPTULO 2. ESTADO DEL ARTE

utilizado y el sistema es evaluado con una aplicacin. Al final son presentados los resultados
experimentales.
Una vez que el control digital demostr tener gran eficiencia, y que el acceso a los
sistemas digitales mejor; el control digital empez a usarse en nuevas aplicaciones. En la
industria era necesario verificar el funcionamiento sistemas de control. Una forma efectiva
por medio de sistemas digitales era conectar el controlador a una computadora. El trabajo
de la computadora es la de emular una planta real. La computadora le envan seales al
controlador como lo hara la planta, y por lo tanto el controlador debe responde de cierta
manera ante los estmulos. El comportamiento del controlador es registrado por los datos
capturados por la computadora y posteriormente es evaluado. A este tipo de sistemas se le
llamo Hardware in the loop

2.2. Desarrollo rpido de prototipos de control

Basados en la idea del Hardware in the loop surgi la idea de implementar el


controlador bajo una planta real.
En la dcada de los 90 la industria automotriz empez a explorar en el diseo rpido de
prototipos de control o RCP [7] [5]. El diseo rpido de prototipos de control es un conjunto
de tcnicas y herramientas utilizado para el desarrollo y prueba de distintas estrategias de
control evaluandolas con una planta real. Con el tiempo, el diseo rpido de prototipos de
control ha crecido dentro de otras industrias como lo son: la aeroespacial, en el desarrollo de
dispositivos mdicos y en aplicaciones de automatizacin industrial.
El control rpido de prototipos conjunta tcnicas y herramientas digitales que permiten el
desarrollo de controladores en tiempo real [7].
El desarrollo rpido de prototipos de control incluye los siguientes puntos:

Mtodos tericos de control automtico, desde el diseo del modelo y su anlisis hasta
el diseo de la estrategia de control
Validacin y optimizacin de la estrategia de control en simulacin
2.2. DESARROLLO RPIDO DE PROTOTIPOS DE CONTROL 13

Generacin automtica del cdigo del sistema de tiempo real para su uso con la planta
Verificacin y optimizacin de la estrategia de control.

Dentro de los sistemas que permiten el control rpido de prototipos de control se pueden
encontrar tres variantes.

Figura 2.2: Sistema de control con una tarjeta de adquisicin de datos

En la figura 2.2 se muestra una computadora personal con un sistema operativo como
Windowsr, con Matlab/Simulink [6] y una tarjeta de adquisicin de datos. Este sistema
no realiza operaciones en forma determinista, y por lo general se utiliza con sistemas
relativamente lentos comparados con el equipo de cmputo.
En la figura 2.3 se muestra una computadora con sistema operativo Windowsr, con
Matlab/simulink. La diferencia con el sistema anterior radica en que las operaciones de
control se realizan en una unidad especializada externa, como lo es dSPACE r[3]. Dentro
de la PC es desarrollado el control que se desea aplicar. Despus de disear el controlador,
ste es implementado dentro de DSpace, y una vez hecho esto el control es evaluado en lazo
cerrado con la planta. El control se realiza dentro del sistema dSPACE determinsticamente.
La desventaja del primer sistema es que no es determinista y en el caso del segundo es
el costo del equipo especializado. Una desventaja en comn de estos sistemas es que son
14 CAPTULO 2. ESTADO DEL ARTE

Figura 2.3: Sistema RCP con un sistema embebido en tiempo real

sistemas cerrados. Estas desventajas junto con otros puntos, ha motivado al desarrollo de
nuevos sistemas RCP. En la figura 2.4 Se muestra un sistema Operativo en tiempo real con
una tarjeta de adquisicin de datos. Este sistema junta las ventajas de los anteriores, adems
de ofrecer otras ventajas como lo son no depender de un entorno grfico, lo cual disminuye
la carga de trabajo en el procesador, y la posibilidad de personalizacin del sistema RCP.
El tipo de sistemas basados en la figura 2.4 ha sido posible gracias a los siguientes puntos.

El desarrollo de un sistema operativo de cdigo abierto (Linux), que permite ser


modificado
La adaptacin del Kernel de Linux para agregar caractersticas de tiempo real por
medio de los proyectos RTLinux/free [9] y RTAI [1]
El incremento en la potencia de clculo en las computadoras de escritorio (procesador
multicore)
El perfeccionamiento de bibliotecas de software para realizar clculo numrico (scilab,
octave, etc)
La creacin de controladores para Linux de tarjetas DAQ populares (COMEDI)
2.2. DESARROLLO RPIDO DE PROTOTIPOS DE CONTROL 15

Figura 2.4: Control rpido de prototipos con sistema operativo en tiempo real

Debido a los beneficios que ofrece el uso del diseo rpido de prototipos de control, es
utilizado con mayor frecuencia.

Un ejemplo se muestra en [21] se realiza la emulacin en tiempo real de mquinas


elctricas y convertidores con el fin de evaluar unidades de control, las cuales deben de creer
que se encuentran trabajando con un dispositivo real. Una vez que el controlador es evaluado
con el sistema en simulacin se puede continuar evaluando el controlador con un sistema real.
Se muestra la emulacin de un CMCA (static converter/electrical machine/sensors). Con esto
se logra un emulador hbrido y por lo tanto un estudio ms real.

En [20] se desarrolla el control de velocidad de un motor de corriente directa en tiempo


real , el cual se enfoca especficamente al control automtico de velocidad de un motor de
corriente directa. Se disea un sistema de control de la velocidad de un motor de corriente
directa. Permite la modificacin de las races del sistema a las deseadas sin necesidad de
una sintonizacin emprica, adems de compensar variaciones paramtricas alcanzando un
objetivo de control. Se utiliza RTAI para resolver el algoritmo de control. Y donde se
utilizaron diversos elementos de medicin para mantener los parmetros del modelo dinmico
del motor de cd.
16 CAPTULO 2. ESTADO DEL ARTE

Por otra parte los convertidores electrnicos son cada vez ms usados debido a que:

Son de bajo costo.


Son muy eficientes.
Son Confiables.
El encarecimiento de la energa.
Surgimiento de nuevas formas de generacin de energa elctrica.

Debido a sus caractersticas dinmicas han surgido, y continan surgiendo, una pltora de
esquemas de control, por lo que es conveniente tener un sistema de bajo costo que permita
la evaluacin de algoritmos de control de manera rpida, es decir, utilizar RCP para probar
distintos controladores para los convertidores electrnicos, lo cual es el propsito de esta
tesis. Algunos trabajos similares se reportan en [14] y [20]
En [14] se habla de la importancia que se va tomando la comunicacin entre las compu-
tadoras y convertidores de potencia. Es presentada la comunicacin estndar, de protocolos,
del hardware necesario, configuraciones multidrop y de otros tipos de comunicaciones para
largas distancias, especficamente de la conexin dial-up, la inicializacin en la computado-
ra personal, el convertidor de potencia, del software, proteccin e implementacin prctica.
Esto para introducir un microcontrolador en la circuitera del control de los convertidores de
potencia para asegurar un flujo fiable de la potencia ante cargas crticas, donde es la mayor
importancia de los convertidores de potencia.
Captulo 3

Marco terico

3.1. Introduccin

El propsito del trabajo es el control de convertidores electrnicos, por tanto, es necesario


conocer un poco de su funcionamiento. Los convertidores electrnicos que se busca controlar
son los convertidores bsicos buck, boost y buck-boost. Se eligen stos convertidores, ya que
son la base de otras topologas de convertidores.

Se presentan los modelos discontinuos de los convertidores utilizados, el desarrollo


de la modelacin, as como ecuaciones que permiten la seleccin de parmetros de cada
convertidor.
Se presenta un controlador que funciona para cualquiera de los convertidores bsicos.
El controlador utilizado ya ha sido implementado con electrnica analgica y ya ha sido
validado. Este controlador ha demostrado tener una rpida respuesta ante cambios en la carga
y variaciones en la entrada.
Se presentan las caractersticas que se deben integrar para tener un sistema de desarrollo
rpido de prototipos de control. Una de las caractersticas ms importantes de estos sistemas
es su comportamiento determinista. Para obtener ste funcionamiento determinista se busca
realizar por medio de un sistema operativo en tiempo real.
Todo el sistema a desarrollar puede ser visto como un sistema en tiempo real. Clasificarlos
dentro de stos sistemas permite tener una idea del comportamiento esperado del sistema y
las caractersticas necesarias para su correcto funcionamiento. Los sistemas en tiempo real
ofrecen predecibilidad, son deterministas y buscan evitar fallas que afecten a la planta.

3.2. Convertidores Electrnicos de Potencia


Los convertidores electrnicos de potencia son dispositivos electrnicos que permiten
controlar el voltaje o corriente en la salida de manera eficiente. Se presentan los convertidores
de cd-cd buck, que reduce el voltaje; el convertidor boost, el cual entrega un voltaje mayor
al presente en la entrada; el convertidor buck-boost que puede reducir o elevar el voltaje; y el
inversor boost-boost, el cual genera corriente alterna de una fuente de corriente directa. Estos
son los convertidores que son propuestos para controlar durante la tesis.
En esta seccin se presentan las bases del diseo de los convertidores electrnicos de
potencia. Se muestran los modelos conmutados de cada convertidor los cuales sern los
utilizados cuando se disee el control.

3.2.1. Convertidores CD-CD

Los convertidores cd-cd tambin conocidos como convertidores cd-cd de potencia de alta
frecuencia o mas comnmente por su nombre en ingles: High switching frecuency DC-DC
power converters, son dispositivos que modifican el nivel de voltaje de cd.
En la figura 3.1 se muestran las 4 configuraciones bsicas conocidas como:

Convertidor Buck o reductor

Convertidor Boost o elevador

Convertidor Buck Boost o reductor-elevador

Convertidor Cuck

Debido a que los convertidores son controlados por interruptores, el voltaje generado a
la salida del convertidor es un voltaje pulsante. Los dems elementos de los convertidores
3.2. CONVERTIDORES ELECTRNICOS DE POTENCIA 19

iL = z1 iL = z1
1 0
L L
0 1
u(t) u(t)
vin C R vC = z2 vin C R vC = z2

(a) El convertidor buck (b) El convertidor boost


u(t)
1 0 iL1 = z1 vC1 = z2 iL2 = z3
L1 C1 L2
iL = z1
vin L C R vC = z2 vin u(t) C2 R vC2 = z4
1 0

(c) El convertidor buck-boost (d) El convertidor Cuck

Figura 3.1: Convertidores bsicos de alta frecuencia de conmutacin.

forman un filtro pasa-bajos que permiten que a la salida se obtenga una seal promedio de
la seal pulsante. Por medio de este filtro se reducen las seales de alta frecuencia. Debido
a que funciona como filtro pasa-bajos, se puede buscar que a la salida se obtenga una seal
muy cercana a una constante de CD, u otra seal por debajo de la frecuencia de corte del
filtro.
Una de las caractersticas ms importantes de los convertidores es la ganancia en voltaje.
La ganancia de voltaje en estado estacionario a la salida del convertidor depende del ciclo
de trabajo u del interruptor a una frecuencia constante, en cada uno de los convertidores. La
ganancia en voltaje est definida como

Vo
g=
Vin

donde Vo es el voltaje de salida en estado estacionario y Vin es el voltaje de entrada.


Para determinar la ganancia se estudian los convertidores en estado estacionario, esto es
cuando el ciclo de trabajo u es constante.
Mas adelante dentro de la explicacin de cada convertidor se muestran las ganancias en
voltaje correspondientes.
Para elegir los valores adecuados para los elementos de un determinado convertidor se
20 CAPTULO 3. MARCO TERICO

z2
z20
z2
z21
z1
z11
z1
z10
u
1
0 t
t0 t1 t2
T
ton

Figura 3.2: Rizo generado en la salida de un convertidor debido a la conmutacin del


interruptor

debe de tomar en cuenta que la conmutacin del interruptor hace que tanto el voltaje en el
capacitor como la corriente en el inductor presenten variaciones que alejen al convertidor de
proporcionar una seal constante. En la figura 3.2 se muestran las variaciones debido a la
conmutacin, donde z1 es la corriente en el inductor, z2 es el voltaje en el capacitor, z1 es la
corriente promedio en el inductor, z2 es el voltaje promedio en el capacitor, T es el periodo,
ton es el ciclo de trabajo. Aparte de la conmutacin del interruptor se deben tomar en cuenta
las exigencias que demandara la carga y las caractersticas de la seal deseada a la salida
del convertidor. Para obtener los valores convenientes de los parmetros L y C, dentro de la
explicacin de cada convertidor se muestra como se pueden obtener sus valores mnimos.

3.2.2. Diseo del convertidor reductor o buck

Tambin conocido como convertidor reductor, el convertidor buck, presenta un voltaje


menor a la salida, con respecto al que se encuentra en la entrada. Su diagrama se muestra en
la figura 3.1(a), del cual se obtienen las ecuaciones que expresan su comportamiento. Como
se muestra en la figura, z1 es la corriente en el inductor y z2 es el voltaje en el capacitor.
Los valores de Vin , L, C y R se suponen para fines de anlisis constantes. La carga R es
3.2. CONVERTIDORES ELECTRNICOS DE POTENCIA 21

Figura 3.3: Convertidor buck cuando u=0.

Figura 3.4: Convertidor buck cuando u=1.

desconocida.

Para encontrar las ecuaciones propias del circuito, primero se analiza el caso de cuando
el interruptor de la figura 3.1(a) se encuentra en la posicin u = 0. En este caso el circuito
funciona como en la figura 3.3.

De esta figura se obtienen las ecuaciones

z2
z1 = (3.1a)
L
z1 z2
z2 = (3.1b)
C RC

Cuando el interruptor se encuentra en u = 1, el circuito que resulta es el mostrado en la


figura 3.4. Las ecuaciones (3.2) describen este circuito. En este caso el circuito est descrito
por:

z2 Vin
z1 = + (3.2a)
L L
z1 z2
z2 = (3.2b)
C RC
22 CAPTULO 3. MARCO TERICO

combinando (3.1) y (3.2), resulta:

z2 Vin
z1 = + u (3.3a)
L L
z1 z2
z2 = (3.3b)
C RC

u {0, 1}

que constituye el modelo conmutado o discontinuo del convertidor buck.

Ganancia

Como se ve en [15] la ganancia del convertidor esta dada por:

Vo
= u (3.4)
Vin

donde u es el ciclo de trabajo promedio del interruptor, Vo es el voltaje de salida, Vin es


el voltaje de entrada. Como 0 < u < 1 entonces se tiene que Vo < Vin . Debido a esto el
convertidor buck slo puede proporcionar a su salida un voltaje de menor amplitud, en
comparacin al que se encuentra en su entrada.

La relacin entre corriente en la carga (Io ) y la corriente de entrada (Iin ), est descrita
como

Io 1
= (3.5)
Iin u

Se puede ver que el voltaje en la salida vara directamente proporcional con la corriente
de entrada, e inversamente proporcional a la corriente de salida, haciendo que la potencia que
entrega la batera o fuente a la entrada sea la que se consuma en la carga, ya que se supone
que el convertidor no debe de desperdicia energa.
Se puede decir que un convertidor que reduce el voltaje y eleva la corriente.
3.2. CONVERTIDORES ELECTRNICOS DE POTENCIA 23

Figura 3.5: Convertidor boost cuando u=0.

Valores mnimos de los parmetros L y C

Como se explica en [15] las ecuaciones que se usan para obtener los valores mnimos de
C y L son
u T z2
L> (3.6a)
z1
u2 T 2 z2
C> (3.6b)
2Lz2
donde: T es un periodo de conmutacin, z2 es el rizo de voltaje en la carga, z1 es el rizo
de corriente del inductor, u es 1 u, siendo u el ciclo de trabajo promedio.

3.2.3. Diseo del convertidor elevador o boost

El convertidor boost o convertidor elevador presenta a su salida un voltaje mayor al de


entrada. Al igual que en los otros convertidores, la ganancia en la salida depende del ciclo de
trabajo del interruptor.
De la figura 3.1(b) se pueden deducir las ecuaciones que representan su comportamiento.
Como se puede ver, z1 es la corriente en el inductor y z2 es el voltaje en el capacitor. Los
valores de Vin , L, C y la carga R se suponen para fines de anlisis constantes. R es desconocida.
Para un estudio ms sencillo, primero se analiza el circuito de la figura 3.1(b) cuando el
interruptor se encuentra en la posicin u = 0. El circuito funciona como en la figura 3.5; de
la cual se deducen las ecuaciones
Vin z2
z1 = (3.7a)
L L
z1 z2
z2 = (3.7b)
C RC
24 CAPTULO 3. MARCO TERICO

Figura 3.6: Convertidor boost cuando u=1.

Cuando el interruptor se encuentra en u = 1, el circuito que resulta se muestra en la figura


3.6, y las ecuaciones que describen este circuito son

Vin
z1 = (3.8a)
L
z2
z2 = (3.8b)
RC

Al combinar (3.7) y (3.8) resultan las ecuaciones (3.9) que es el modelo conmutado o
discontinuo del convertidor boost.

Vin z2
z1 = (1 u) (3.9a)
L L
z1 z2
z2 = (1 u) (3.9b)
C RC

u {0, 1}

Ganancia

Como se ve en [15] la ganancia en voltaje del convertidor est dada por

Vo 1
= (3.10)
Vin u

donde u = 1 u siendo u es el ciclo de trabajo promedio del interruptor, Vo es el voltaje de


salida, Vin es el voltaje de entrada. Que hace que

Vo > Vin

es decir; el convertidor boost solo puede proporcionar voltajes mayores en la salida, que al
presente en la entrada. La relacin entre corriente en la carga (Io ) y la corriente de entrada
3.2. CONVERTIDORES ELECTRNICOS DE POTENCIA 25

(Iin ), est descrita por


Io
= u (3.11)
Iin

Valores mnimos de los parmetros L y C

Las expresiones que determinan los valores mnimos de C y L [15] para el convertidor
boost son

Vin uT
L> (3.12a)
z1
uT z2
C> (3.12b)
Rz2

donde: T es un periodo de conmutacin. z2 es el rizo de voltaje en la carga. z1 es el rizo


de corriente del inductor y u es el ciclo de trabajo promedio

3.2.4. Diseo del convertidor reductor-elevador o buck-boost

El convertidor buck-boost o reductor-elevador presenta a la salida un voltaje mayor o


menor con polaridad invertida, al encontrado en la entrada. Su diagrama se puede ver en la
figura 3.1(c), del cual se pueden encontrar las ecuaciones que expresen su comportamiento.
De la imagen se puede ver que z1 es la corriente en el inductor y z2 es el voltaje en el
capacitor. Los valores de Vin , L,C y R se suponen para fines de anlisis constantes. La carga
R es desconocida.
Para encontrar las ecuaciones que describen el circuito primero se analiza cuando el
interruptor se encuentra en la posicin u = 0. En este caso el circuito funciona como en
la figura 3.7.
De la figura 3.7 se obtienen las ecuaciones

z2
z1 = (3.13a)
L
z1 z2
z2 = (3.13b)
C RC

Cuando el interruptor esta en u = 1, el circuito que resulta se muestra en la figura 3.8, y


26 CAPTULO 3. MARCO TERICO

Figura 3.7: Convertidor buck-boost cuando u=0.

Figura 3.8: Convertidor buck-boost cuando u=1.

Las ecuaciones que describen este circuito son:


Vin
z1 = (3.14a)
L
z2
z2 = (3.14b)
RC
combinando (3.13) y (3.14), resulta

Vin z2
z1 = u (1 u) (3.15a)
L L
z1 z2
z2 = (1 u) (3.15b)
C RC
u {0, 1}

que es el modelo conmutado o discontinuo del convertidor buck-boost.

Ganancia

La ganancia en voltaje del convertidor buck-boost [15] est dada por


Vo u
= (3.16)
Vin u
3.2. CONVERTIDORES ELECTRNICOS DE POTENCIA 27

La relacin entre corriente en la carga (Io ) y la corriente de entrada (Iin ), est descrita por

Io u
= (3.17)
Iin u

Valores mnimos

Las expresiones que determinan los valores mnimos [15] de C y L,para el convertidor
buck-boost son

Vin uT
L> (3.18a)
z1
uT z2
C> (3.18b)
Rz2

donde: T es un periodo de conmutacin. z2 es el rizo de voltaje en la carga. z1 es el rizo


de corriente del inductor y u es el ciclo de trabajo promedio.

3.2.5. Diseo del convertidor cuck

El convertidor cuck al igual que el convertidor reductor-elevador presenta a la salida


un voltaje mayor o menor al de entrada, con polaridad invertida. La diferencia es que el
convertidor buck-boost est formado por un inductor y un capacitor, y el cuck est formado
por dos pares de estos.
Del diagrama del convertidor cuck, que se puede ver en la figura 3.1(d), se pueden obtener
las ecuaciones que describan su comportamiento a partir de sta.
Donde z1 es la corriente en el L1 , z2 es el voltaje en C1 , z3 es la corriente en L2 y z4 es el
voltaje en C2 . Los valores de Vin , L1 , L2 , C1 , C2 y la carga R se suponen para fines de anlisis
constantes. R es desconocida.
Para encontrar las ecuaciones que describen al circuito de la figura 3.1(d), primero se
analiza cuando el interruptor se encuentra en la posicin u = 0; en este caso el circuito
funciona como en la figura 3.9.
28 CAPTULO 3. MARCO TERICO

Figura 3.9: Convertidor cuck cuando u=0.

Figura 3.10: Convertidor cuck cuando u=1.

de la cual se deducen las ecuaciones


Vin z2
z1 = (3.19a)
L1 L1
z1
z2 = (3.19b)
C
z4
z3 = (3.19c)
L2
z3 z4
z4 = (3.19d)
C2 RC2
cuando el interruptor se encuentra en u = 1, el circuito que resulta es el mostrado en la figura
3.10. Y las ecuaciones son
Vin
z1 = (3.20a)
L1
z3
z2 = (3.20b)
C1
z2 z4
z3 = (3.20c)
L2 L2
z3 z4
z4 = (3.20d)
C2 RC2
Combinando (3.19) y (3.20), resultan las ecuaciones (3.21) que es un modelo conmutado
o discontinuo del convertidor cuck.
3.2. CONVERTIDORES ELECTRNICOS DE POTENCIA 29

Vin z2
z1 = (1 u) (3.21a)
L1 L1
z1 z3
z2 = (1 u) + u (3.21b)
C1 C1
z2 z4
z3 = u (3.21c)
L2 L2
z3 z4
z4 = (3.21d)
C2 RC2
u {0, 1}

Ganancia

La ganancia en voltaje del convertidor cuck [15] est dada por

Vo u
= (3.22)
Vin u
La relacin entre corriente en la carga (Io ) y la corriente de entrada (Iin ), est descrita por

Io u
= (3.23)
Iin u

Valores mnimos

Las expresiones que determinan los valores mnimos de los parmetros C1 , C2 , L1 y


L2 ,para el convertidor cuck son

z4 u T
L1 > (Vin + ) (3.24a)
u z1
uT z4
C1 > (3.24b)
Rz2
u T z4
L2 > (3.24c)
z3
2u T z4
C2 > (3.24d)
Rz4
donde: T es un periodo de conmutacin. z2 es el rizo de voltaje en la carga. z1 es el rizo
de corriente del inductor y u es 1 u, siendo u el ciclo de trabajo promedio.
30 CAPTULO 3. MARCO TERICO

3.3. Control

En las aplicaciones que utilizan convertidores electrnicos de potencia, son mayormen-


te utilizados los convertidores de cd-cd; por ste motivo la mayora de los esquemas de control
estn orientados a este tipo de convertidores.
La salida de los convertidores electrnicos se rige por la conmutacin de su(s)
interruptor(es). El control adecuado de los interruptores permite modificar la forma de la
seal de salida del convertidor. Entonces depende en su mayora del controlador la seal de
salida de los convertidores.
La generacin de corrientes y voltajes tiene muchas aplicaciones : control de dispositivos
electromecnicos, generacin de campos magnticos controlados, en equipos de respaldo de
energa elctrica.
Como se muestra en [15] los convertidores boost, buck-boost y cuck son sistemas
lineales con control discontinuo o acotado, de fase no mnima y con un parmetro
generalmente desconocido y altamente variable. Se han propuesto numerosas soluciones
basadas en diversas tcnicas, entre las que se pueden mencionar: modos deslizantes, H ,
lqr, pasividad, planitud, sintesis, control ptimo, control adaptable, PI generalizado,
linealizacin extendida, etc, los cuales son difciles de implementar y/o dependen de la carga
con su consecuente detrimento de la robustez.
Se presenta un controlador basado en [16] el cual es el que se evaluar con los tres
convertidores cd-cd y el inversor, por RCP.
Se busca controlar el voltaje la salida del convertidor de cd-cd, tomando como gua una
referencia de voltaje. Este control se basa en la idea de controlar indirectamente el voltaje de
salida del convertidor, por medio del control de la corriente en el inductor.
Como ejemplo se analizan las ecuaciones que representan al convertidor buck.

z2 Vin
z1 = + u (3.25a)
L L
z2 z1
z2 = + (3.25b)
RC C
3.3. CONTROL 31

u {0, 1}

El diseo del control se inicia suponiendo que el voltaje z2 se controla por medio de la
corriente z1 en lugar de u. Esta idea se basa en que el sistema

x = ax + bv (3.26)

se puede controlar mediante


Z
v = k p e + ki edt (3.27)

donde e es el error (VRe f Vout ), las constantes k p y ki son desconocidas por el momento.
Se puede ver que (3.26) es igual a (3.25b), si

1
a= (3.28)
RC
1
b= (3.29)
C
x = z2 (3.30)

v = z1 (3.31)

lo que significa que se puede usar z1 para controlar z2 . Si z1 se considera como una variable
que se puede controlar, se puede obtener una z2 que se desee. A esta z1 se le da el nombre de
z1r . Entonces este control ficticio se puede expresar en la ecuacin
Z
v = z1r = k p e + ki edt (3.32)

Despus se busca disear u de tal manera que

z1 z1r (3.33)

de acuerdo a la teora de control por modos deslizantes una u que logra esto es

0 < 0

u= (3.34)
1 > 0

donde
= z1 z1r (3.35)
32 CAPTULO 3. MARCO TERICO

Note que la lgica de conmutacin del interruptor u, intenta hacer que = 0. Como
est dado por (3.35), entonces (3.34) hace que

z1 z1r (3.36)

sustituyendo z1r dada por (3.32) en (3.35), se obtiene


Z
= z1 K p e ki e dt (3.37)

que junto con (3.34) determina el control que se va a utilizar.


Para encontrar los valores de k p y ki en (3.32) se hace de la misma manera que se diseara
(3.27) para (3.26). As se busca la funcin de transferencia de (3.26) que resulta

X (s) b
= (3.38)
V (s) s + a

Por otra parte, la funcin de transferencia del controlador (3.27) resulta

V (s) ki
= kp + (3.39)
E(s) s

donde: e = VRe f Vo o el error, k p y ki son constantes que deben ser obtenidas.


La ecuacin (3.39) es la funcin de transferencia del controlador. El sistema completo
queda como en la figura 3.11.

Figura 3.11: Sistema lineal controlado por un PI

Reduciendo el sistema de la figura 3.11 se obtiene la ecuacin 3.40; la cual es la funcin


de transferencia del sistema

X (s) bk p s + bki
= 2 (3.40)
E(s) s + (a + bk p )s + bki
3.4. DESARROLLO RPIDO DE PROTOTIPOS DE CONTROL 33

Una vez que se tiene la funcin de transferencia del sistema en lazo cerrado se buscan los
valores para k p y ki que ofrezcan una respuesta ms rpida sin desestabilizar el sistema. Se
deben de buscar los valores de k p y ki que hagan que las races del denominador de la funcin
de transferencia, se encuentren ms a la izquierda del eje imaginario y ms cercano al eje
real, en el plano (Re(s), Im(s)). Un procedimiento similar se puede emplear para el resto de
los convertidores, ya que la ecuacin del voltaje de salida es similar para los 4 convertidores,
1
lo que significa que en todos los casos a = RC , b = C1 o en el caso del cuck a = 1
RC2 b = C12 .
La corriente del inductor z1 , z1 (1 u) o z3 para cada caso, es substituida por el control v. El
voltaje de salida en cada convertidor se sustituye por x.

3.4. Desarrollo rpido de prototipos de control

El desarrollo rpido de prototipos de control o Rapid Control Prototyping (RCP) [7] [5]
es un conjunto de mtodos y herramientas el cual permite realizar de forma rpida pruebas
y la iteracin de estrategias de control en una computadora personal conectada interactuando
con plantas reales.
Debido a las necesidades de evaluar controladores de una forma ms eficiente y rpida,
se busca evaluar a estos por RCP, los cuales trabajan con sistemas operativos en tiempo real.
Trabajar con sistemas en tiempo real permite realizar controladores deterministas, y tener una
mejor referencia del desempeo de los controladores con distintos valores de sus variables.
El RCP se desarroll dentro la industria automotriz norte-americana a mediados de los
90. Se acept como solucin para el desarrollo de complejos controladores.
Ahora es un tpico mtodo utilizado en la ingeniera para el desarrollo de estrategias de
control. En principio fue utilizado para el desarrollo de estrategias de control de los motores
y transmisiones de los automviles. A la fecha ha llegado a ser adoptado por un amplio
rango de aplicaciones dentro de la industria automotriz. El control del sistema antibloqueo
de los frenos, el antiderrapamiento de las ruedas, la estabilidad del vehculo, el control de la
velocidad de crucero y distribucin del troque son otras reas donde se aplica el RCP.
Su aceptacin ha permitido su desarrollo dentro de otras industrias. Como la aeroespacial,
34 CAPTULO 3. MARCO TERICO

en el desarrollo de estrategias para motores de jets, sistemas activos de frenado, sistemas


de control de vuelo etc. Tambin es utilizado en el desarrollo de dispositivos mdicos y en
aplicaciones de automatizacin.
Por su reduccin de costos y tiempo para el desarrollo ha sido utilizado como herramienta
de estudio en varias universidades para cursos de teora de control clsico y moderno.
Un tpico sistema de RCP cumple los siguientes puntos.

Mtodos tericos de control automtico.


Un programa de modelado matemtico como Simulink para la validacin y la
optimizacin de las estrategias de control en simulacin.
Bloques simblicos de entrada/salida para el software de modelado (llamado ambiente
de desarrollo en tiempo real).
Una computadora en tiempo real, tpicamente una computadora embebida con entradas
y salidas: analgicas, digitales y seriales.
Una interfaz grfica de usuario para el monitoreo de los procesos en tiempo real.

El tpico proceso de desarrollo RCP es el siguiente:

Se desarrolla una estrategia de control mediante bloques simblicos.


Se valida la estrategia de control.
Se agregan bloques simblicos de entrada/salida.
Se invoca el proceso de generacin de tareas en tiempo real.

El modelo se interpreta y se genera cdigo C.


El cdigo C es compilado y se liga a tareas de TR.
Se tiene como resultado un programa ejecutable en TR.

Se ejecuta el programa en TR.


Se utilizan aplicaciones para el monitoreo de las estrategias de control.

El control puede ser alterado en marcha variando ganancias y variables.


En la figura 3.12 se muestra un sistema de desarrollo rpido de prototipos de control
3.5. SISTEMAS EN TIEMPO REAL 35

Figura 3.12: Diseo rpido de prototipos de control

La utilizacin de RCP en varias reas puede ser muy productiva por lo que es conveniente
verificar si es posible su aplicacin dentro de estas.

3.5. Sistemas en tiempo real

Un Sistema en Tiempo Real (SRT) [17] es un sistema en lazo cerrado que interacta en
un entorno con dinmica conocida. De acuerdo a una funcin objetivo y a las restricciones de
tiempo de la planta. Dicho sistema permite controntrolar la planta de acuerdo a los conceptos
de estabilidad, controlabilidad y alcanzabilidad. El STR tiene una dinmica de evolucin en
una secuencia de intervalos, donde el intervalo siempre es mayor que cero y menor a una
restriccin temporal.
De acuerdo con el cumplimiento de las restricciones temporales, a la sincrona y a la
capacidad de respuesta hacia el entorno con que interacta, los STR pueden clasificarse en
crticos o hard, no crticos o soft, y firmes o firm.

3.5.1. Sistemas en tiempo real duros

Los sistemas en tiempo real duros, o hard, son aquellos donde sus tiempos de respuesta
estn siempre en sincrona con la dinmica del entorno en todos los intervalos de evolucin; y
36 CAPTULO 3. MARCO TERICO

el conjunto de datos siempre es estable y converge en todos los puntos. Las respuestas deben
ocurrir dentro los periodos de tiempo especificados con el objetivo de evitar la inestabilidad
del sistema o su cada.
Presentan las siguientes caractersticas:

Plazo de respuesta estricto


Comportamiento temporal determinado por el entorno
Comportamiento predecible con sobrecargas
Requisitos de seguridad crticos
Redundancia activa
Volumen de datos reducido

3.5.2. Sistemas en tiempo real suaves

Son aquellos sistemas donde los tiempos de respuesta estn en sincrona con la dinmica
del entorno en sus intervalos de evolucin en algn sentido de probabilidad. El conjunto de
sus datos puede llegar a ser marginalmente estable y converge dentro de valores adecuados.
Sus caractersticas son:

plazo de respuesta flexible


comportamiento temporal determinado por la computadora
comportamiento degradado ante sobrecargas
requisitos de seguridad no crticos
recuperacin de fallos
gran volumen de datos.

3.5.3. Sistemas en tiempo real firmes

Son aquellos donde su tiempo de respuesta no son aceptables en ningn sentido de


probabilidad en los intervalos de evolucin, es decir, que no cumplen con plazos de respuesta,
aceptan un funcionamiento degradado, y no son necesarios requisitos de seguridad.
3.5. SISTEMAS EN TIEMPO REAL 37

3.5.4. Cualidades de los sistemas en tiempo real

Los STR deben tener las siguiente cualidades:

Puntualidad. Deben acatar las restricciones de tiempo que dicta el entorno con el que
interacta, de no ser as pueden presentarse alteraciones no deseables.

Soporte para carga pico. No debe de colapsarse bajo condiciones de carga pico.

Predecibilidad. El sistema debe ser predecible ante cualquier contingencia del mundo
con el que interacta.

Tolerancia a fallos. Las fallas del software y hardware no deben ocasionar una cada
del sistema, perdida de su relacin con el proceso real as como perdida de los procesos de
monitoreo y control implantados en un sistema.

Accesibles para mantenimiento. La arquitectura de un STR debe ser modular para


posibles modificaciones.

Conversin de valores A/D y D/A. Generalmente los procesos con los que se est
interactuando utilizan seales de entrada y salida en tiempo real de las cuales el STR
obtiene informacin de ellos a travs de muestras finitas que se encuentran en el conjunto
Z + (acondicionamiento).

Soporte de concurrencia. El proceso real puede ser generador de mltiples salidas de


informacin, las cuales se convierten en mltiples entradas para el STR que solo cuenta con
una unidad de procesamiento por lo que atiende en forma concurrente o multitarea a todas
ellas.

Manejo de prioridades. No todas las actividades que atiende un STR tienen la misma
importancia para el proceso real, algunas tienen mayor prioridad para ser atendidas (porque
son crticas), mientras que otras pueden esperar hasta que los recursos estn libres. Debido a
esto, los STR deben ser capaces de discriminar la importancia de las actividades a travs del
uso de prioridades.
38 CAPTULO 3. MARCO TERICO

Tareas en tiempo Real

Los sistemas de cmputo y de comunicaciones son digitales y requieren interactuar con


procesos fsicos y con restricciones de tiempo impuestas. Estos sistemas a su vez estn
compuestos a su vez por un conjunto de actividades que forman a su vez las tareas en tiempo
real(TTR). stas son entidades de trabajo ejecutables que al menos son caracterizadas por un
tiempo de ejecucin mximo y una restriccin de tiempo.
Los sistemas que requieran utilizar tiempo real se disean para la adquisicin de datos,
ejecucin de clculo y emisin de respuestas correctas respetando restricciones temporales.
Son ejecutados en sistemas de procesamiento digital tales como computadoras, DSP, etc.,
manteniendo una alta comunicacin (recepcin y emisin) a travs de la interaccin con el
proceso fsico.

Caracterizacin de las Tareas en Tiempo Real (TTR)

Tiempo de arribo. Es el lapso de tiempo en que la TTR pide los recursos del ncleo del
sistema digital para ejecutarse.
Tiempo de clculo o ejecucin. Es el tiempo requerido para hacer varias actividades y
cumplir con dar una respuesta considerada correcta en algn sentido predefinido.
Plazo. Es el tiempo mximo en el cual se desea concluir con los clculos o uso de recursos
y as cumplir con la restriccin de tiempo impuesta por la dinmica del sistema.

Clasificacin de las TTR de acuerdo con su tiempo de arribo

La clasificacin comn de las TTR se realiza de acuerdo con el comportamiento de las


ocurrencias de sus arribos. En funcin de la forma de ejecucin las TTR pueden clasificarse
en expulsivas (preemtive) o no expulsivas (non preemtive). Una tarea expulsiva es aquella
cuya ejecucin puede ser interrumpida por otras tareas y reanudada de acuerdo con la
prioridad que tenga respecto a un nivel de prioridades con que cuenta el sistema digital para
permitir el uso de sus recursos. Una tarea no expulsiva es aquella que debe de ejecutarse
hasta que se completen sus operaciones y realizaciones sin perder su tiempo de cmputo y
3.5. SISTEMAS EN TIEMPO REAL 39

sin ninguna interrupcin.


Para poder realizar una clasificacin de las TTR dependiendo del tiempo de arribo se dan
las siguientes definiciones:
Tareas peridicas. Son TTR activadas (o liberadas) en periodos de tiempo regulares con
pequeas variaciones.
Normalmente las tareas peridicas tienen restricciones que indican que sus instancias
deben ejecutarse durante cada periodo. Las restricciones temporales para una tarea peridica
son su plazo, el cual es menor o igual a un periodo de tiempo. Siendo el caso ms comn
cuando el plazo es igual al periodo. Esto se puede ver en la figura 3.13.
El tiempo de ejecucin o clculo para cada tarea peridica se considera constante.

Figura 3.13: Tiempo de interarribo de TTR peridica

Tareas espordicas. Son TTR en las cuales su tiempo de liberacin puede ser
representado por una funcin. Se pueden presentar pequeas variaciones alrededor de esta
funcin que la describe, por lo que se puede considerar como una funcin aleatoria, en
cuyo caso seran liberadas automticamente cumpliendo con la condicin que su periodo
est acotado.
Se caracteriza por un periodo de interarribo mnimo, generado entre dos actividades
sucesivas. Esto es necesario ( y se logra de alguna forma con el control de flujo) para acotar
la carga generada por las tareas. La restriccin de tiempo es usualmente su plazo. El tiempo
40 CAPTULO 3. MARCO TERICO

de clculo o ejecucin para una tarea espordica se considera constante.

La figura 3.14 muestra los tiempos de arribo de una tarea espordica, en ella se distingue
el tiempo mnimo de interarribo que es de una unidad, y una variacin temporal mxima de
5 unidades. Las tareas espordicas cuentan bsicamente con dos tiempos de activacin: un
tiempo de ejecucin y un tiempo de interarribo mnimo. Las tareas espordicas son asociadas
con procesamiento de eventos que responden a entradas temporales de seales peridicas,
donde el intervalo de tiempo de repeticin de la seal o de ocurrencias consecutivas vara y
puede ser arbitrariamente largo, pero acotado.

Figura 3.14: Tiempos de interarribo de TTR-espordica

Tareas aperidicas. Son TTR en las cuales sus tiempos de liberacin no pueden
representarse usando una funcin, sino que son activadas aleatoriamente tal que los plazos
quedan acotados (ver figura 3.15). Igual que en los casos anteriores, el tiempo de ejecucin
es constante.

Tareas semiperidicas. Son TTR que tienen una liberacin igual a las TTR peridicas
pero su tiempo de clculo es variable, pudiendo representarse ste con una funcin
determinista o probabilstica acotada por una funcin de distribucin. Cada conjunto de
tiempos de ejecucin y tiempos de clculo son descritos por una funcin de distribucin
con caractersticas de probabilidad propias.
3.5. SISTEMAS EN TIEMPO REAL 41

Figura 3.15: Tiempos de interarribo de TTR aperidica

3.5.5. Sistemas operativos en tiempo real

Un sistema operativo [13] es un programa que administra los recursos de una


computadora, proporciona las bases para los programas de aplicacin y acta como
intermediario entre los usuarios y el hardware de la computadora. Desde el punto de vista
de la computadora, el sistema operativo es el programa ms ntimamente relacionado con el
hardware. Se puede ver a un sistema operativo como un asignador de recursos. Un sistema
informtico tiene muchos recursos que pueden ser necesarios para solucionar un problema:
tiempo de CPU, espacio de memoria, espacio de almacenamiento de archivos, dispositivos de
E/S, etc. El sistema operativo acta como el administrador de estos recursos. Al enfrentarse
a numerosas y posiblemente conflictivas solicitudes de recursos, el sistema operativo debe
deducir cmo asignarlos a programas y usuarios especficos, de modo que la computadora
pueda operar de forma eficiente y equitativa. Como programa de control, gestiona la
ejecucin de programas de usuario para evitar errores y mejorar el uso de la computadora.
Tiene que ver especialmente con el funcionamiento y control de los dispositivos de E/S.

Estructura de un sistema operativo

Un sistema operativo proporciona el entorno en el cual se ejecutan los programas.


Internamente, los sistemas operativos varan enormemente en su composicin, ya que se
organizan a lo largo de muchas lneas diferentes. Sin embargo, tienen muchas caractersticas
42 CAPTULO 3. MARCO TERICO

comunes.
Uno de los aspectos ms importantes de los sistemas operativos es la capacidad para
multiprogramar. En general un solo usuario no puede mantener la CPU o los dispositivos de
E/S ocupados continuamente.
La multiprogramacin incrementa el uso de la CPU organizando los trabajos (cdigo
y datos) de modo que la CPU siempre tenga uno que ejecutar. La idea es la siguiente: el
sistema operativo mantiene en memoria simultneamente varios trabajos. Este conjunto de
trabajos puede ser un subconjunto de los trabajos guardados en la cola de trabajos, la cual
contiene todos los trabajos que entran en el sistema, dado que el nmero de trabajos que
puede mantenerse simultneamente en la memoria es normalmente menor que el nmero de
trabajos que puede mantener la cola de trabajos. El sistema operativo toma y comienza a
ejecutar uno de los trabajos que est en memoria. Eventualmente, el trabajo puede tener que
esperar a que se complete alguna otra tarea, como por ejemplo una operacin de E/S. En
un sistema que no sea multiprogramado, la CPU se quedar inactiva en estas circunstancias.
Por el contrario, en un sistema multiprogramado, el sistema operativo simplemente cambia
de trabajo y ejecuta otro. Cuando dicho trabajo tiene que esperar, la CPU conmuta a otro
trabajo, y as sucesivamente. Cuando el primer trabajo deja de esperar, vuelve a obtener
la CPU. Mientras haya al menos un trabajo que necesite ejecutarse, la CPU nunca estar
inactiva.
Los sistemas multiprogramados proporcionan un entorno en el que se usan de forma
eficaz los diversos recursos del sistema, como por ejemplo: la CPU, la memoria y los
perifricos, aunque no proporcionan la interaccin del usuario con el sistema informtico.
El tiempo compartido (o multitarea) es una extensin lgica de la multiprogramacin. En los
sistemas de tiempo compartido, la CPU ejecuta mltiples trabajos conmutando entre ellos,
pero las conmutaciones se producen tan frecuentemente que los usuarios pueden interactuar
con cada programa mientras ste est en ejecucin. El tiempo compartido requiere un sistema
informtico interactivo, que proporcione comunicacin directa entre el usuario y el sistema.
El usuario suministra directamente instrucciones al sistema operativo o a un programa,
utilizando un dispositivo de entrada como un teclado o un ratn y espera los resultados
3.5. SISTEMAS EN TIEMPO REAL 43

intermedios en un dispositivo de salida. De acuerdo con esto, el tiempo de respuesta debe


ser pequeo, normalmente menor a un segundo.

Operaciones del sistema operativo

Los sistemas operativos modernos estn controlados mediante interrupciones. Si no hay


ningn proceso que ejecutar, ningn dispositivo de E/S al que dar servicio y ningn usuario
al que responder, un sistema operativo debe permanecer inactivo, esperando a que algo
ocurra. Los sucesos casi siempre se indican mediante la ocurrencia de una interrupcin
o una excepcin. Una excepcin es una interrupcin generada por software, debido a un
error (por ejemplo, una divisin por cero o un acceso a memoria no vlido) o una solicitud
especfica de un programa de usuario de que se realice un servicio del sistema operativo. La
caracterstica de un sistema operativo de estar controlado mediante interrupciones define la
estructura general de dicho sistema. Para cada tipo de interrupcin, diferentes segmentos del
cdigo del sistema operativo determinan que accin hay que llevar a cabo. Se utilizar una
rutina de servicio a la interrupcin que es responsable de tratarla.
Dado que el sistema operativo y los usuarios comparten los recursos de hardware y de
software del sistema informtico, se requiere asegurar que un error que se produzca en un
programa de usuario slo genere problemas en el programa que se estuviera ejecutando. Sin
proteccin ante este tipo de errores, o la computadora slo ejecuta un proceso cada vez o
todas las salidas deben considerarse sospechosas.

Operacin en modo dual

Para asegurar la correcta ejecucin del sistema operativo, tenemos que poder distinguir
entre la ejecucin del cdigo del sistema operativo y del cdigo definido por el usuario. El
mtodo que usan la mayora de los sistemas informticos consiste en proporcionar soporte
hardware que nos permita diferenciar entre varios modos de ejecucin. Como mnimo, se
necesitan dos modos diferentes de operacin: modo usuario y modo kernel. Cuando el sistema
informtico est ejecutando una aplicacin de usuario, el sistema se encuentra en modo
44 CAPTULO 3. MARCO TERICO

de usuario. Sin embargo, cuando una aplicacin de usuario solicita un servicio del sistema
operativo, debe de pasar del modo de usuario al modo kernel para satisfacer la solicitud.
El modo dual de operacin nos proporciona los medios para proteger el sistema operativo
de los usuarios que puedan causar errores, y tambin para proteger a los usuarios de los
errores de otros usuarios. Esta proteccin se consigue designando algunas de las operaciones
de mquina que pueden causar dao como instrucciones privilegiadas. El hardware hace que
slo las instrucciones privilegiadas se ejecuten en modo kernel. Si se hace un intento de
ejecutar una instruccin privilegiada en modo usuario, el hardware no ejecuta la instruccin
sino que la trata como ilegal y enva una excepcin al sistema operativo.

Sistemas de tiempo real en un sistema operativo

Un sistema de tiempo real es un sistema informtico que no slo requiere que los
resultados calculados sean correctos, sino que tambin esos resultados se produzcan dentro
de un periodo de tiempo especfico. Los resultados producidos despus de que ese periodo
de tiempo haya transcurrido pueden no tener (incluso siendo correctos) un valor real. En un
sistema informtico de sobremesa interactivo resulta deseable proporcionar un rpido tiempo
de respuesta al usuario interactivo, pero no es obligatorio hacerlo. Algunos sistemas (como
los sistemas de procesamiento por lotes) pueden que no tengan incluso, ningn requisito de
temporizacin en absoluto.
Los sistemas en tiempo real que se ejecutan sobre hardware informtico tradicional se
utilizan en un amplio rango de aplicaciones. Adems, muchos sistemas de tiempo real estn
integrados en dispositivos especializados, como electrodomsticos normales, dispositivos
digitales de consumo y dispositivos de comunicaciones. Tambin estn presentes en otros
aparatos de mayor tamao, como automviles o aeroplanos. Un sistema integrado es un
dispositivo informtico que forma parte de un sistema de mayor tamao, en el que la presencia
de ese dispositivo informtico a menudo no resulta obvia para el usuario.
Algunos sistemas de tiempo real se identifican como sistemas de seguridad crtica. En un
sistemas de seguridad crtica, la operacin incorrecta provoca algn tipo de catstrofe. Como
ejemplos de sistema de seguridad crtica se pueden citar los sistemas armamentsticos, los
3.5. SISTEMAS EN TIEMPO REAL 45

sistemas antibloqueo de los frenos, los sistemas de gestin de vuelo, los sistemas integrados
que tengan relacin con la salud. En stos es necesario que el sistema en tiempo real deba
responder a los sucesos con los requisitos de temporizacin especificados; en caso contrario
podran producirse daos graves o incluso algo peor. Sin embargo, una mayora significativa
de los sistemas integrados no son sistemas de seguridad crtica. Para estos dispositivos, si no
se cumplen los requisitos de temporizacin, el peor de los resultados posibles es, en muchas
ocasiones, un usuario insatisfecho.

Caractersticas del sistema

Entre las caractersticas tpicas de muchos sistemas operativos de tiempo real se pueden
citar:

Tienen un nico propsito

Son de pequeo tamao

Son de bajo costo y se produce en masa

Tienen un requisito de temporizacin especfico

Muchos de los sistemas de tiempo real se encuentran en entornos en los que el espacio
fsico est restringido. Debido a esto, la mayora de los sistemas de tiempo real carecen tanto
de la potencia de procesamiento de la CPU como de la cantidad de memoria disponible en
las computadoras de sobremesa estndar.
La caracterstica ms importante de los sistemas en tiempo real es la de los requisitos
especficos de temporizacin. Correspondientemente, la caracterstica definitoria de los
sistemas operativos de tiempo real tanto estrictos como no estrictos consiste en dar soporte
a los requisitos de temporizacin de las tareas en tiempo real. Los sistemas operativos
en tiempo real cumplen con los requisitos de temporizacin utilizando algoritmos de
planificacin que proporcionan a los procesos de tiempo real la ms alta de las prioridades de
planificacin. Adems, los planificadores deben garantizar que la prioridad de una tarea de
46 CAPTULO 3. MARCO TERICO

tiempo real no se degrade con el tiempo. Una segunda tcnica, en cierto modo relacionada con
la anterior, que se utiliza para satisfacer los requisitos de temporizacin consiste en minimizar
el tiempo de respuesta a sucesos como las interrupciones.

Caractersticas de un kernel de tiempo Real

Para cumplir con los requisitos de temporizacin los SOTR (sistemas operativos en
tiempo real) emplean diversas tcnicas. El planificador del sistema operativo debe trabajar
con algoritmos basados en prioridades de apropiacin, es decir, pueden tomar el control del
kernel por medio de prioridades. El sistema operativo debe permitir que las tareas que se
ejecutan en el kernel sean desalojadas en favor de las de tiempo real con mayor prioridad.
Otro requisito es que debe tener latencias de interrupciones pequeas.
Captulo 4

Implementacin

4.1. Descripcin del sistema

Se desea integrar un sistema que permita evaluar rpidamente controladores para


convertidores electrnicos en lazo cerrado con la planta real. Para seleccionar los dispositivos
adecuados, es necesario conocer los parmetros de los convertidores sobre los que se desea
trabajar.
En la tabla 4.1 se muestran los valores con los que buscan probar los convertidores
electrnicos.

convertidor vin vout carga frecuencia de conmutacin

buck 12 V 5 V 8.3 30 KHz


boost 12 V 24 V 25 30 KHz
buck-boost 12 V 8 V 50 30 KHz

Cuadro 4.1: Parmetros de los convertidores

El equipo de computo que se utiliza para el sistema es una Pentium4 a 2MHz con 384Mb
en RAM. ste equipo debe contar con un sistema operativo en tiempo real.
Se cuenta con una tarjeta de adquisicin de datos National Instrument PCI-1200. Su
48 CAPTULO 4. IMPLEMENTACIN

mxima velocidad de muestreo es de 100kS/s. Cuenta con ocho canales analgicos de entrada
simple o 4 entradas diferenciales. Su rango de voltaje es de 0 a 10 de 5 volts. Tiene dos
salidas Analgicas configurables de 0 a 10 5 volts.
El controlador para los convertidores electrnicos requiere como entradas la corriente en
el Inductor y el voltaje de salida. Para cada convertidore bsico se capturan dos seales.

z2
z20
z2
z21
z1
z11
z1
z10
u
1
0 t
t0 t1 t2
T
ton

Figura 4.1: Riso en el voltaje de capacitor y corriente en el inductor generado por las
conmutaciones del convertidor

Una caracterstica inherente en los convertidores electrnicos es el riso en la corriente del


inductor y el voltaje del capacitor. La amplitud del riso depende de los valores del capacitor,
inductor, la carga y frecuencia de conmutacin. En la figura 4.1 se muestran el rizo del
voltaje en el capacitor y rizo de la corriente en el inductor que se presentan en un convertidor
boost. Debido a la velocidad de muestreo de la DAQ utilizada y a la variabilidad del rizo
dependiendo de la carga, no es posible reproducirla dentro de la computadora.
En [15] se puede observar que se puede trabajar con los modelos promedios de los
4.2. DISEO Y CONSTRUCCIN DE CONVERTIDORES 49

Figura 4.2: Diagrama del sistema que se plantea disear

convertidores. y tener una aproximacin muy cercana al modelo conmutado. Debido a esto,
la seal es pasada por un filtro pasabajos que se encarga de reducir los rizos, obteniendo as
sus valores promedios.

Generalmente los convertidores electrnicos producen mucho ruido elctrico debido a


las conmutaciones de su interruptor. En ocasiones el ruido generado puede llegar a afectar a
los dispositivos de control, incluyendo los digitales. Por otra parte el convertidor trabaja con
corrientes muy altas comparadas con las que soporta una DAQ. Para asegurar la integridad
de la DAQ es necesaria una aislacin elctrica entre stos dos.

La ejecucin del controlador debe desarrollarse dentro de un ambiente determinista y de


baja latencia. Por otra parte el sistema debe permitir una integracin con otros programas que
permitan obtener los beneficios de un sistema de desarrollo rpido de prototipos.

Tendiendo en cuenta todas las caractersticas antes mencionadas se plantea disear un


sistema como se muestra en la figura 4.2

4.2. Diseo y construccin de convertidores

Uno de los objetivos de la tesis es tener una base de prototipos de convertidores


electrnicos para poder evaluarlos con los controladores que se desarrollen. Se implementan
tres convertidores bsicos y un inversor, y adems se presentan sus diagramas para poder
implementarlos.
50 CAPTULO 4. IMPLEMENTACIN

u
u

Figura 4.3: Implementacin del convertidor buck

Q1

Q 2

t t
2 2

Figura 4.4: Representacin de las seales con tiempo muerto

4.2.1. Convertidor buck

La implementacin del convertidor buck se realiza como se muestra en la figura 4.3.


Con el interruptor formado por dos transistores y dos diodos. La seal u es aplicada al
transistor T1 y una seal (1 u) que llamamos u , es aplicada al transistor T2 . Al hacerlos
trabajar complementariamente, se simula un interruptor de dos posiciones.
Una velocidad de respuesta lenta en los transistores puede hacer que el interruptor que
se intenta simular se encuentre en ambas posiciones. Para asegurar que esto no suceda se
agregan 4 amplificadores operacionales permite dar un tiempo muerto entre el cambio de
los interruptores. Esto genera un tiempo muerto entre el tiempo que estn encendidos los
transistores el cual se puede ver en la figura 4.4 para los transistores T1 y T2 . El circuito que
hace esto se ve en la figura 4.5.
Para suministrar el disparo a los transistores se usa un CI IR2110. Este encapsulado
permite simular una fuente flotada y mantener otra a tierra, las cuales se activan de manera
individual. De esta forma se inyectan las seales u y u a los transistores, siendo u para
el transistor T1 y u para el transistor T2 . La forma en que el CI IR2110 se implementa se
4.2. DISEO Y CONSTRUCCIN DE CONVERTIDORES 51

Vcc
Vcc + 1K
u 1K u

U 3

U 1

+ 1.9K
1nF

Vcc 10k 10k 5K


Vcc
Vcc 10k
1K
1K
u
U 4
U
+
2

+
1nF

Figura 4.5: Circuito generador de seales con tiempo muerto

Figura 4.6: Implementacin del convertidor buck con el IR2110

muestra en la figura 4.6

Diseo del convertidor

Los parmetros de diseo del convertidor buck que va a ser puesto a anlisis son los
siguientes:

Para calcular los valores del inductor y capacitor se usa la tabla 4.2.1 y las frmulas (3.6).
52 CAPTULO 4. IMPLEMENTACIN

Vin 12 Volts
Vout 5 Volts
F 30 kHz
Rizo mximo de voltaje a la salida 0.5V
Rizo mximo de corriente en el inductor 0.5A
R 25

Cuadro 4.2: Valores de diseo del convertidor buck

u se obtiene de (3.4) en la cual se despeja u quedando como

Vo
u =
Vin

sustituyendo Vo y Vin
5
u =
12

u = 0.416

Sustituyendo las especificaciones de la tabla en la primera ecuacin de (3.6) para el


calculo del inductor queda como

1
0.416 30000 5
L>
0.5

L > 138 Hy

y para calcular el capacitor se utiliza las segunda ecuacin,

1 2
0.4162 30000 5
C>
2 166 106 0.416

C > 6.96 F

por lo que se elige a C = 10 F.


4.2. DISEO Y CONSTRUCCIN DE CONVERTIDORES 53

Figura 4.7: Implementacin del convertidor boost con el IR2110

Vin 12 Volts
Vout 24 Volts
F 30 kHz
Rizo mximo de voltaje a la salida 0.25V
Rizo mximo de corriente en el inductor 0.25A
R 25

Cuadro 4.3: Valores de diseo del convertidor boost

4.2.2. Convertidor boost

El convertidor boost se implementa de una forma parecida a lo que se realiza con el


convertidos buck. Se usa el mismo circuito de la figura 4.5 para evitar que los dos transistores
estn encendidos al mismo tiempo y crear la seal complementaria u . Para suministrar el
disparo a los transistores se usa el CI IR2110 y se une al convertidor boost como se muestra
en la figura 4.7

Diseo del convertidor

Los parmetros de diseo del convertidor boost que va a ser puesto a anlisis son los
siguientes: Para calcular los valores del inductor y capacitor se usa la tabla 4.2.2 y las
frmulas (3.12).
54 CAPTULO 4. IMPLEMENTACIN

u se obtiene de (3.10) en la cual se despeja u quedando como

Vin
u = 1
Vo

sustituyendo Vo y Vin
12
u = 1
24
u = 0.5

Sustituyendo las especificaciones de la tabla en la primera ecuacin de (3.12) para el


calculo del inductor
1
12 0.5 30000
L>
0.25
L > 160 Hy

y para calcular el capacitor

1
0.5 30000 24
C>
25 0.25
C > 32 F

4.2.3. Convertidor buck-boost

Para ser implementado el convertidor Buck-Boost de la figura 3.1(c) es necesario hacerle


algunos ajustes, los cuales deben permitir que el interruptor pueda ser implementado. Dos
formas de las que se puede implementar con los CI disponibles son los de la figura 4.8. El
que mas conviene para los propsitos de esta tesis es el 4.8(a). Con esta implementacin se
puede usar la misma metodologa para crear u y evitar que ambos transistores se encuentren
encendidos al mismo tiempo. La diferencia se encuentra a la salida del convertidor, la cual
no se encuentra referenciada a tierra.
La figura 4.9 muestra al CI IR2110 que aplica a los transistores la seal u y u
respectivamente.
4.2. DISEO Y CONSTRUCCIN DE CONVERTIDORES 55

(a) Buck-Boost 1 (b) Buck-Boost 2

Figura 4.8: Modos de implementacin del convertidor buck-boost.

Figura 4.9: Implementacin del convertidor buck boost con el IR2110

Diseo del convertidor

Los parametros de diseo del convertidor buck-boost que es puesto bajo anlisis son los
siguientes:

Vin 12 Volts
Vout 8 Volts
F 30 kHz
Rizo mximo de voltaje a la salida 0.25V
Rizo mximo de corriente en el inductor 0.25A
R 25

Para calcular los valores del inductor y capacitor se usa la tabla anterior y las formulas
(3.18).
56 CAPTULO 4. IMPLEMENTACIN

u se obtiene de (3.16) en la cual se despeja u. Debido a las modificaciones hechas al


convertidor, con lo que no invierte la polaridad, u se encuentra con

1
u =
1 + VVino

sustituyendo Vo y Vin
1
u =
1 + 12
8
u = 0.4

y como
u = 1 u

u = 0.6

Sustituyendo las especificaciones de la tabla en la primera ecuacin (3.18) para el calculo


del inductor, queda

1
12 0.6 30000
L>
0.25
L > 192 Hy

y para calcular el capacitor queda como

1
0.6 30000 8
C>
25 0.25
C > 12.8 F

por lo que se elige a C = 50 F

4.3. Diseo y construccin del acondicionador de seales

Los convertidores electrnicos trabajan con corriente que son muy altas para cualquier
tarjeta de adquisicin de datos, por lo que es necesaria una aislacin elctrica; adems de que
es necesario obtener los valores promedio del voltaje y corriente medidos.
4.3. DISEO Y CONSTRUCCIN DEL ACONDICIONADOR DE SEALES 57

Una aislacin elctrica es posible mediante dispositivos electromagnticos y dispositivos


optoelectrnicos. Los dispositivos electromagnticos solo pueden transferir seales con una
dinmica lenta y de corriente alterna, estos dos puntos no permiten su utilizacin dentro de
este proyecto.

Los dispositivos optoelectrnicos tienen un retardo muy pequeo, y en ocasiones son


utilizados para seales con una dinmica mucho mas rpida que con las que se desea trabajar.
Los distintos dispositivos optoelectrnicos pueden dividirse en grupos, cada grupo presenta
ventajas para distintas aplicaciones.

Existe un grupo de opto-aisladores que son especializados para transmitir voltajes. Estos
ofrecen una muy alta lineabilidad, y tienen una velocidad de transferencia rpida. Como
ejemplo de stos dispositivos se encuentran el HCNR200 de Avago o el IL300 de Visnay
semiconductors. Lamentablemente stos no se venden en Mxico y son mucho mas costosos
que otros dispositivos opto-aisladores. Dentro de los dispositivos que se pueden encontrar en
el pas se encuentran los optoaisladores a base de foto-diodos y los de foto-transistores. stos
optoacopladores no son completamente lineales en la transmisin de la seal. sin embargo
existe un rango en la transferencia de corrientes en el que se puede trabajar. Dentro los
distintos optoaisladores que se pueden utilizar se ha elegido el 4N27, ya que es muy comn,
presenta un rango lineal de transferencia en el que se puede trabajar y tiene un retraso pequeo
en la transferencia.

En las hojas de especificaciones del 4N27 se encuentra una grfica interesante. En la


figura 4.10 se muestra una grfica de la corriente de salida contra la corriente de entrada en el
dispositivo. La curva de la grfica muestra que existe un rango de corrientes que se comporta
muy lineal. Se puede hacer que a transferencia trabaje dentro de ste rango haciendo un
escalamiento de los valores.

Las variables que necesita el controlador son el voltaje en el capacitor y la corriente en el


inductor, ambos del convertidor electrnicos como planta.

En la figura 4.11 muestra el circuito diseado para transferir el voltaje del capacitor del
convertidor a la tarjeta de adquisicin de datos, en el cual se realizan los siguientes pasos:
58 CAPTULO 4. IMPLEMENTACIN

Figura 4.10: Corriente de entrada vs corriente de colector en un opto-aislador

Figura 4.11: Aislamiento de un voltaje analgico


4.3. DISEO Y CONSTRUCCIN DEL ACONDICIONADOR DE SEALES 59

Figura 4.12: Circuito para medir la corriente

1. Escalar el voltaje del capacitor a un rango que pueda trabajar el operacional


seleccionado por un divisor de voltaje.
2. Por medio del operacional seleccionado implementar un convertidor de voltaje y
corriente. Este convertidor de voltaje a corriente permite hacer una escala. Se configura
para que solo trabaje a mximo 10 mA en su salida.
3. El optoaislado trasmite luz del led al opto-transistor
4. El colector del opto-transistor se conecta a 10 volts tal como la grfica de la figura 4.10
muestra.
5. El emisor del opto-transistor emite la corriente, la cual se va a convertir a voltaje en la
resistencia variable Ro , la cual debe de tener un valor que permita trabajar en el rango
de voltaje de la entrada A/D de la DAQ.
6. El voltaje en Ro se complementa con un seguidor de voltaje.
7. A la salida del seguidor de voltaje la seal es pasada a travs de un filtro RC.
8. La salida es conectada a la entrada del A/D de la DAQ.

La corriente en el inductor es medida por medio de un medidor de corriente de efecto hall


y acondicionada por dos amplificadores operacionales. En el primer amplificador se agrega
un offset y en el segundo amplificador se escala la seal. A la salida del segundo amplificador
operacional la seal es pasada por un filtro RC para reducir la amplitud del rizo en la corriente.
La figura 4.12
Los convertidores son controlados por una seal u la cual tambin tiene que ser aislada
60 CAPTULO 4. IMPLEMENTACIN

Figura 4.13: Opto aislamiento de la tarjeta DAQ hacia el convertidor

elctricamente. Otro punto a tomar en cuenta es que sta u es controlada por un PWM el cual
debe de estar limitado para que la amplificacin de los convertidores elevadores, no eleven
demasiado el voltaje. En caso de alguna falla en el sistema computacional, se debe garantizar
que la u solo trabaje con los rangos deseados. Para garantizar el correcto funcionamiento del
sistema en estos aspectos se ha elegido utilizar un PWM externo al sistema de cmputo, con
el cual es posible limitar el ciclo de utilidad. El PWM externo ser controlado por una salida
analgica de la DAQ. la salida del PWM se transfiere al los convertidores por medio de un
opto-aislador con disparador trigger-Schmitt, debido a que ste es rpido tanto en el flanco
de subida como de bajada del pulso mandado. La figura 4.13 muestra el diagrama de este
circuito.

4.4. Seleccin e instalacin del sistema operativo

Entre las opciones para obtener un sistema determinista y de baja latencia se encuentran
dos opciones una por medio de Matlab/Simulink con dSPACE y la otra por medio de software
libre como Linux con RTAI, Scilab/Scicos
Con el sistema operativo windows con Matlab/Simulink y el sistema de desarrollo
dSPACE, se tiene un completo sistema para el desarrollo rpido de prototipos de control.
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 61

En esta opcin con Matlab/simulink se cuenta con una forma de evaluar rpidamente los
controladores en simulacin y junto con dSPACE una implementacin rpida y determinista.
La desventaja de ste sistema es el costo de dSPACE
Dentro del software libre se encuentra un proyecto llamado Linux-RTAI (Real Time
Application Interface), el cual permite a un computadora personal comportarse como un
sistema determinista y de baja latencia, adems de una alta integracin con otros sistemas.
Junto con Linux-RTAI existe una serie de proyectos que permiten el desarrollo de una
completa plataforma para el desarrollo rpido de prototipos de control.

4.4.1. Real Time Application Interface

RTAI (Real Time Application Interface) estrictamente hablando no es un sistema


operativo de tiempo real, como lo es VXwork o QNX. Se basa en el kernel de Linux. Linux
es un sistema operativo estndar de tiempo compartido, el cual provee un buen desempeo
promedio y servicios altamente sofisticados. Al igual que otros sistemas operativos, ofrece a
las aplicaciones por lo menos los siguientes servicios:

Una capa de manejo de hardware por poleo de eventos o interrupciones de


procesador/perifricos

las clases de planificadores (schedulers) se ocupan de la activacin de procesos,


prioridades, asignacin de tiempos

comunicacin entre procesos.

Linux carece de soporte para tiempo real, y para obtener un comportamiento adecuado en
los tiempos de ejecucin es necesario hacer algunos cambios al cdigo del kernel, es decir, en
las polticas de planificacin y tratamiento de las interrupciones. De esta forma se puede tener
una plataforma de tiempo real con baja latencia y altos requerimientos de predecibilidad,
dentro de un ambiente que no es completamente de tiempo real (acceso a TCP/IP, muestreo
grfico y sistemas de ventanas, sistemas de bases de datos de archivos, etc.).
62 CAPTULO 4. IMPLEMENTACIN

RTAI ofrece los mismos servicios que el ncleo del kernel de Linux ofrece regularmente,
adicionando las opciones de un sistema operativo de tiempo real industrial. Consiste
bsicamente de un despachador de instrucciones. RTAI intercepta las interrupciones de los
perifricos y si es necesario las redirecciona a Linux. sta no es una modificacin intrusiva
del kernel; usa el concepto de capas de abstraccin de hardware HAL (hardware abstraction
layer) para obtener informacin de Linux y atrapar algunas funciones fundamentales. La
HAL proporciona pocas dependencias al kernel de Linux lo que lleva a una simple adaptacin
dentro del kernel de Linux. RTAI considera a Linux como un sistema de apoyo para correr
tareas cuando no hay actividades de tiempo real.

Mdulos del kernel

RTAI est orientado a mdulos y para entenderlo es necesario conocer la forma en que
trabajan los mdulos en Linux.
El diseo del kernel de Linux es similar al clsico de los sistemas Unix: usa una
arquitectura monoltica con sistemas de archivos, controladores de dispositivos, y otras piezas
estticamente conectadas dentro de la imagen del kernel para ser usadas desde el arranque
(aunque existen mdulos para Linux que pueden cargarse despues del arranque, con lo que
puede dejar de considerarsele monoltico si esto sucede). El uso de mdulos dinmicos del
kernel permite escribir porciones del kernel como objetos separados que pueden ser cargados
y descargados del sistema cuando se encuentra ejecutando.
Un modulo del kernel es simplemente un archivo objeto que contiene rutinas y/o datos
para cargar dentro del kernel. Cuando es cargado, el cdigo del mdulo reside dentro del
espacio de kernel y se ejecuta completamente con el contexto del kernel. Un mdulo puede
ser un conjunto de rutinas con la nica restriccin que dos funciones, init_module() y
cleanup_module(), deben ser provistas. La primera es ejecutada una vez que el mdulo est
cargado, y la segunda, antes de que el mdulo sea descargado de el kernel.
La funcin principal que se usa para cargar/descargar e inspeccionar lo mdulos del kernel
estn contenidados dentro del paquete mdulos. Estas son:
/sbin/insmod (inserta un mdulo dentro del kernel corriendo)
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 63

/sbin/rmmod (remueve un modulo del kernel corriendo)


/sbin/lsmod (lista los mdulos dentro de los cdigos corriendo)
Para manejar los mdulos del kernel se debe ser superusuario.
Una vez que un mdulo es cargado, este pasa a formar parte del sistema operativo. De ah
en adelante puede usarse todas las funciones y accesar a todas las variables y estructuras de
el kernel. Similarmente los smbolos globales creados se hacen disponibles o se exportan a
otros mdulos. Si no se desea compartir algunos smbolos (variables o funciones), se deben
declarar como estticas.
Un mdulo se realiza en cdigo C. A continuacin se muestra un ejemplo de modulo
de kernel (simple1.c).

--------- simple1.c ----------


#include
#include
#include
int var = 20;
int init_module(void)
{
printk("\nVariable value: %d \n\n", var);
return 0;
}
void cleanup_module(void)
{
printk("\n Bye \n\n");
}
-------------------------

Este cdigo puede ser compilado con:

gcc -c -D__KERNEL__ -DMODULE -o simple1 simple1.c


64 CAPTULO 4. IMPLEMENTACIN

El kernel ofrece una diferente versin de printf() llamada printk(); trabaja casi
idnticamente con la primera excepcin que esta manda la salida al buffer de anillo del kernel.
En cualquier instante se puede examinar el contenido del buffer usando el comando dmesg.
Si se desea poner el valor de una variable var durante la instalacin, se incluye el siguiente
macro:
MODU LE_PARM(var, i); despues de su declaracin.
Para enviar la lnea de comando de gcc para todas los cdigos, se puede hacer con
Makefile. A continuacin se muestra un ejemplo para dos cdigos, simple1.c y simple2.c.

--------- Makefile -----------


CFLAGS = -D__KERNEL__ -DMODULE -c
OBJS = simple1 simple2
CC = gcc
all:
clean:
rm
------------------------------

Mdulos de RTAI

Al utilizar RTAI se tienen que cargar los mdulos que implementan cualquier capacidad
de RTAI que se necesite. De acuerdo con la versin 1.3 estn disponibles los siguiente
mdulos:

rtai

rtai_sched

rtai_fifos

rtai_shm

lxrt
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 65

rtai_pqueue

rtai_pthread

rtai_utils

1. RTAI es el mdulo ncleo y nada que requiera de los servicios de tiempo real se puede
realizar sin l. RTAI inicializa todas sus variables de control y estructuras haciendo
una copia de idt_table y de los irq handlers entry addresses e inicializa las funciones
especficas de los manejadores de los chips de interrupciones (ic). Se debe montar
especficamente cuando se necesita por otros mdulos llamando rt_mount_rtai() para
activarlo, y se debe desmontar cuando ya no va a ser requerido de nuevo, llamando
rt_umount_rtai(), el cual manda a RTAI a dormir. La llamada de montaje activa RTAI
y an si no se usa, RTAI continua filtrando las instrucciones hacia el kernel. Lo mas
importante que sucede cuando se monta RTAI es que para cada instante Linux no esta
en poder de las interrupciones de habilitacin/deshabilitacin. Desde ese punto RTAI
asegura que las interrupciones de habilitacin/deshabilitacin sern consistentes dentro
de Linux, pero Linux puede ser remplazado en cualquier momento por RTAI.

2. rtai_sched, el modulo del planificador en tiempo real, el cual esta encargado de


distribuir el CPU a diferentes tareas presentes en el sistema, incluyendo Linux. La
planificacin ocurre cuando algunas tareas realizan determinadas llamadas al sistema,
y sobre la activacin del temporizador manejador; el desempeo de las tareas asegura
llamadas al sistema dentro de un tiempo de activacin (cada interrupcin 8254). El
planificador lo selecciona como la tarea de mayor prioridad en el estado de arranque.
RTAI considera la prioridad 0 como la mayor prioridad y 0x3fffFfff la menor. A Linux
se le da la prioridad 0x7fffFfff. Dado un nivel de prioridad, la primera tarea inicializada
es la primera en ser seleccionada para correr hasta completarse mientras que se termine
u otra tarea con mayor prioridad se selecciona, o la tarea llama a una funcin del sistema
de bloqueante. RTAI soporta tanto modo peridico o modo de una sola vez (one shot)
para la planificacin en tiempo real; se tienen tres diferentes planificadores:
66 CAPTULO 4. IMPLEMENTACIN

UP. Solo para un ncleo.

SMP. Para multiprocesadores.

MUP. Solo para multiprocesadores.

Los servicios de planificacin son:

Funciones de tareas

Funciones de semaforos

Funciones de buzn (mailbox)

Funciones de comunicacin entre tareas

Todas las funciones pueden ser usadas por cualquier planificador. Cuando se carga
rtai_sched, RTAI se carga automticamente.

3. rtai_fifos es el mdulo que implementa los servicios de fifo para RTAI. Muchas
aplicaciones parecen beneficiarse de una sinergia del sistema de tiempo real, por
ejemplo para manejar el registro de accesos y la visualizacin. Simples buffers fifo
son usados para este propsito; estos son llamados fifos de tiempo real. La interfase
de tareas de tiempo real incluye funciones de creacin, destruccin, lectura y escritura
desarrolladas por el modulo rtai_ f i f o. Los procesos de usuario de Linux por otro lado,
ven a los rt-fifos como dispositivos de caracteres ordinarios. Observe que por el lado
del modulo siempre se tendrn solo put/get no bloqueantes, tal que cualquier poltica
diferente debe ser forzada por el uso apropiado de funciones controladoras del usuario.

4. rtai_shm es el mdulo especfico de RTAI que permite compartir simultneamente


memoria entre tareas de tiempo real y procesos de Linux (existe otro mecanismo
disponible para usuarios, en adicin a los fifos). El servicio es simtrico, es decir, las
mismas llamadas pueden ser usadas en tareas de tiempo real, es decir, dentro del kernel
y los procesos de Linux. La primera asignacin hace una asignacin real, cualquier
llamada subsecuente llama para asignar con el mismo nombre del proceso de Linux
solo trazando el rea al espacio de usuario o regresando el apuntador correspondiente
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 67

para el espacio asignado en el espacio de kernel. Anlogamente las llamadas de


liberacin tienen solo el efecto de desmapear hasta que la ltimas se realiza, es como
si se estuviera liberando memoria asignada.

5. El mdulo LX(Linux)RT(Real Time), El cual implementa los servicios necesarios para


hacer disponible cualquiera de las funciones de planificacin de RTAI, de modo que es
posible poner en prctica completamente servicios en tiempo real de forma simtrica.
Par verlo mas claro significa que se puede compartir memoria, mandar mensajes,
usar semaforos y temporizadores presentes: Linux-Linux, Linux-RTAI y, naturalmente,
RTAI.

6. rtai_pqueue, rtai_rtheat y rtai_utils, los mdulos RTAI de Posix. rtai_pthread.o


proporciona hilos de tiempo real duro, donde cada hilo es una tarea de RTAI. Todos los
hilos se ejecutan en el mismo espacio de direcciones y por lo tanto se pueden trabajar
concurrentemente con datos compartidos. rtai_pqueque.o proporciona mensajes de
colas kernel_safe.

Timers

Las temporizaciones correctas y el manejo de interrupciones representan el verdadero


desafo de los sistemas en tiempo real, y por lo tanto de RTAI. Pero cmo se puede obtener
el tiempo de la PC?, qu es una interrupcin y como se pueden manejar? Como RTAI corre
en mquinas x86 a continuacin se refiere solo a ellas.
En las computadoras personales se encuentra un chip especfico para resolver el problema
de generacin de retrasos de tiempo exactos bajo el control de software. El 8254 es un
contador/temporizador de intervalos programable que se puede tratar como un arreglo
de cuatro puertos de entrada/salida dentro del software del sistema (de 0x40 a 0x43);
tres son contadores independientes de 16 bits y el cuarto es un registro de control para
modo de programacin. El programador configura el 8254 para cumplir los requerimientos
(seleccionar el modo) y programar uno de los contadores para el retraso deseado. Despues
de este retraso el 8254 manda una interrupcin al CPU. Los contadores son completamente
68 CAPTULO 4. IMPLEMENTACIN

independientes, tal que cada contador puede operar en un modo diferente. Linux programa
el temporizador en el modo 2 (generador de frecuencias peridicas) y carga el contador 0
con la macro HZ definida en /usr/src/linux/include/asm/param.h (usualmete 100 hz). El
contador 2 es usado en lugar de la frecuencia de pitido (beeping frecuency). RTAI proporciona
a ambos un modo peridico (modo 2 del 8254) y un contador de un disparo (oneshot
timer)(modo 0), usando el contador 0 para cargar la cuenta inicial.
En el modo de un disparo el reloj es reprogramado en cada interrupcin, mientras que en
el modo peridico es programado solo al inicio y genera interrupciones peridicamente. El
modo peridico es mucho ms eficiente cuando se tiene una o muchas tareas(con un periodo
comn), que tomando muestras regulares; mientras que el modo de un disparo es flexible,
debido a que permite, por ejemplo, temporizar varias tareas sin un comn divisor grande en
sus periodos o un evento externo que lo provoque. El modo de un disparo de RTAI se mide
en base al tiempo de reloj del CPU (time stamp clock (TSC)) y no en el chip 8254, el cual
solo es usado para generar interrupciones un disparo. Esto permite reprogramar el contador
con solo 2 instrucciones I/O, es decir, aproximadamente 3 s.Hay que ser precavidos, que el
contador de un disparo es un degradador del desempeo debido a la necesidad de leer el tsc,
es decir el contador 2 del 8254 en este caso.

4.4.2. Comedi

Comedi es un proyecto de software libre para tarjetas de adquisicin de datos DAQ, el


cual es una combinacin de tres partes de software complementarios.

Una API genrica independiente del dispositivo

Una coleccin de mdulos de kernel de Linux que implemente la API para un amplio
rango de tarjetas

Una librera en espacio de usuario con una interfase de programacin orientada al


desarrollo, para configura y usar tarjetas.
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 69

Comedi es un proyecto de software libre que desarrolla controladores, herramientas y


libreras para varias formas de adquisicin de datos: leer y escribir seales analgicas, leer y
escribir a entradas/salidas digitales, contadores de pulsos y frecuencias, generacin de pulsos,
leer encoders, etc, para una variedad de tarjetas de adquisicin de datos.
El cdigo fuente del proyecto se distribuye en dos paquetes comedi y comedilib, y
proveen varios mdulos de kernel de Linux y libreras para el espacio de usuario.

Comedi es una coleccin de controladores para una variedad de tarjetas de adquisi-


ciones comunes (las cuales son llamadas device en la terminologa de Comedi). Los
controladores son implementados como una combinacin de un simple modulo de ker-
nel del ncleo de Linux (llamado comedi) que provee una funcionalidad comn, y
mdulos controladores de bajo nivel individuales para cada device.

Comedilib es un paquete distribuido por separado que contiene una librera de espacio
de usuario que proporciona una interfaz amigable de desarrollo para los devices
de Comedi. Con el paquete de Comedilib se incluyen utilidades de documentacin,
configuracin y calibracin.

Kcomedilib Es un mdulo de kernel (distribuido con el paquete de Comedi) que


proporciona la misma interfaz que Comedilib en el espacio de usuario, y disponible
para tareas de tiempo real. Es una librera del kernel.

Comedi trabaja con un kernel estndar de Linux, y tambin con extensiones para tiempo
real como lo son RTAI y RTLinux/GPL.

Device driver

Un device driver o controlador de dispositivos es una parte de software que hace de


interfaz a determinada pieza de hardware. Traduce las primitivas, los comandos dependientes
del dispositivo con los cuales se configuran, lee y escribe la electrnica de la interfase de
hardware a funciones genricas abstractas y estructuras de datos para programadores de
aplicaciones.
70 CAPTULO 4. IMPLEMENTACIN

Comedi tiene una interfaz sobre varias tarjetas de adquisicin (DAQ) diferentes para
propsitos de medicin y control. Tarjetas con salidas y entradas analgicas fueron la primera
meta de este proyecto, pero ahora comedi tambin provee una interfaz independiente para
tarjetas con entradas y salidas digitales, y tarjetas con temporizadores y contadores.

Poltica vs mecanismo

Los device drivers se ofrecen a programadores de aplicaciones, los cuales solo tienen
en mente su aplicacin en particular, especialmente en aplicaciones de tiempo real. Esta
situacin a menudo lleva a los device drivers que dependan mucho de una aplicacin en
particular, y en general no son suficiente para utilizarse con otras aplicaciones. Se tienen que
separar la poltica del mecanismo.

Mecanismo. El mecanismo es parte de la interfaz del dispositivo y una fiel


representacin de la funcionalidad del dispositivo, independientemente de que parte
de la funcionalidad y aplicacin se use.

Poltica. Un device driver ofrece una interfaz de software para el mecanismo del
dispositivo. Un programador de aplicaciones puede usar esta interfaz para usar el
dispositivo en un estilo en particular. Esto es lo que algunas estructuras de datos ofrecen
para que el mecanismo sea interpretado en unidades fsicas, o algunas de ellas se toman
juntas, debido a que su composicin es relevante para su aplicacin. Por ejemplo, una
tarjeta con salida analgica puede ser usada para generar voltajes que son las entradas
de algn controlador electrnico de algn motor de un robot, este voltaje se puede
interpretar como un punto de partida para una velocidad deseada del motor, y seis de
ellos son tomados juntos para conducir un robot con seis grados de libertad.

Comedi solo se enfoca en lo que respecta al mecanismo de la interfaz DAQ. No se


provee las partes de la poltica, como interfaz grfica, libreras de prosesamiento de seales o
algoritmos de control.
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 71

Seales de la DAQ

Las tarjetas de adquisicin de datos soportadas por Comedi tienen una o mas e las
siguientes seales: Entrada analgica, salida analgica, entrada digital, salida digital, salida
de contador, entrada de contador, pulsos de entrada, pulsos de salida.

Seales Digitales son un poco simples y no requieren mucha configuracin: el nmero


de canales, su direccin del bus, y la direccin (entrada o salida).

Seales analgicas. Generalmente un canal de adquisicin analgico puede ser


programado para generar o medir un voltaje entre un lmite inferior y un lmite superior;
se pueden programar para automticamente muestrear un grupo de canales en cierto
orden, y guardar secuencias de datos en la tarjeta; o usar DMA o rutinas de interrupcin
o depositar los datos en un parte especfica de memoria.

Seales a base de pulso (contadores, temporizadores, encoders, etc.) son conceptual-


mente un poco mas complicados que las entradas-salidas digitales, en la forma en que
existen ciertas especificaciones de tiempo para la seal.

Jerarqua de los dispositivos

Comedi organiza todo el hardware de acuerdo a la siguiente jerarqua genrica.

Canal. El componente de hardware de mas bajo nivel, que representa las propiedades
de un simple canal de datos; por ejemplo, una entrada analgica o una salida digital.
Cada canal tiene varios parmetros como lo son: el rango de voltaje, el voltaje de
referencia, la polaridad del canal, un factor de conversin entre unidades fsicas de
voltaje; los valores binarios etc.

Sub-device. Un grupo de canales idnticamente funcionales que son fsicamente


implementados por la misma tarjeta de interfaz. Por ejemplo un grupo de 16 salidas
analgicas idnticas. Cada sub-device tiene parametros para el nmero de canales y su
tipo.
72 CAPTULO 4. IMPLEMENTACIN

Device. Un grupo de sub-devises que son fsicamente implementados en la misma


tarjeta, es decir la tarjeta DAQ por si misma.

Algunas tarjetas de interfase tienen componentes extra que no se encuentran en la clasi-


ficacin mencionada, como la EEPROM para mantener los parametreos de configuracin, o
las entradas de calibracin. Estos componentes especiales se clasifican como sub-devises en
Comedi.

4.4.3. Scilab/Scicos

Scilab es un software cientfico para clculo numrico, el cul proporciona un completo


ambiente de clculo para aplicaciones cientficas y de ingeniera.
Scilab es un software de cdigo abierto y es distribuido gratuitamente por internet y es
usado en ambientes educacionales e industriales alrededor del mundo.
Scilab ha sido diseado como un sistema abierto donde el usuario puede definir nuevos
tipos de datos y operaciones. Para ste sistema existe una variedad de toolboxes gracias a un
gran nmero de colaboradores.
Scicos es un modelador grfico de sistemas dinmicos y un simulador. Con scicos el
usuario puede modelar y simularla dinmica de sistemas dinmicos hbridos, creados por
medio de diagramas de bloques. Los modelos diseados son compilados en cdigo ejecutable.
Con scicos es posible:

modelado grfico, compilacin y simulacin de sistemas dinmicos.


Combinar comportamientos discretos y continuos en tiempo en el mismo modelo.
Seleccionar elementos de bloques estandarizados.
Programar nuevos bloque en lenguaje C, Fortran, o lenguaje de scilab
Correr simulaciones por bloques
Generar cdigo C de los modelos de scicos por medio de un generador de cdigo
Correr simulaciones en tiempo real con dispositivos reales por medio de Scicos-HIL
Generar ejecutables de controladores en tiempo real-duro con Scicos-RTAI y Scicos-
FLEX
4.4. SELECCIN E INSTALACIN DEL SISTEMA OPERATIVO 73

Uso de toolboxes adicionales.

4.4.4. Instalacin

En [1] se mencionan los pasos necesarios para la instalacin de RTAI en cualquier Linux,
aunque no mencionan los pasos para instalar Comedi. Por otro lado en [2] se mencionan
los pasos para instalar Comedi, pero no instalarlo con RTAI. El caso es que es necesario
que preparar ambos sistemas para que puedan trabajar conjuntamente. Porque debido a que
algunas funciones estn ligadas entre si, necesitan de la activacin de ciertas opciones a la
hora de instalar ambos parches. Para utilizar RTAI junto con comedi se pueden seguir distintas
guas para la instalacin de estos dos parches para el kernel de Linux, tal como se puede ver
en [4] para instalarlo en Debian. En resumen se tiene que descargar el cdigo de un kernel
vanilla (sin parches ni modificaciones) y tiene que ser preparado para compilarse junto con
el cdigo de RTAI y de Comedi. Al momento de preparar el sistema se puede personalizar
la compilacin del sistema, dependiendo de las necesidades del proyecto, sin embargo es
necesario tener un amplio conocimiento de la funcionalidad de algunas partes del kernel y
de RTAI. De esta forma se puede crear un sistema a la medida. Para aquellos que prefieran
la simplicidad de tener Linux con RTAI y Comedi listos para usarse, existen distribuciones
que permiten utilizarlo an sin la necesidad de instalarlo. Unas de estas distribuciones son
RTAI-Knoppix [8] y slack-rtai [10].
En este caso se utiliza RTAI-Knoppix. RTAI-Knoppix est preparado para ser utilizado
como ncleo de RCP. y contiene los siguientes programas.

RTAI para la temporizacin en tiempo real


Comedi para utilizar diversas tarjetas de adquisicin de datos
Scilab para simular y para generar automticamente cdigo de tiempo real
Xrtai como herramienta de visualizacin y modificacin de valores de los programas
en tiempo real
Debian o Knoppix como sistema operativo base

A pesar de que el live-cd permite correr el sistema sin necesidad de instalarlo, es mejor
74 CAPTULO 4. IMPLEMENTACIN

Figura 4.14: Integracin del sistema para evaluar controladores para convertidores electrni-
cos

instalarlo en el disco-duro. Para instalarlo se corre el live-cd y se abre una consola, y se


ejecutan las siguientes instrucciones.

$ su
# knoppix-install

Al ejecutar estas instrucciones arranca el programa para preparar la instalacin. Despus


de terminar de la configuracin empieza la instalacin. Al momento de Reiniciar el equipo se
elije knoppix-RTAI para empezar a usar el sistema.
Knoppix-RTAI es un sistema en desarrollo por lo que an presenta algunas fallas. Por lo
que se necesitan hacer algunas correcciones.

4.5. Integracin del sistema

En la figura 4.14 se muestra el diagrama del sistema que se integra para el desarrollo
rpido de prototipos de control.
La computadora de escritorio utilizada cuenta con un procesador pentium4 de 2MHz con
384Mb de RAM. El sistema operativo es Linux con el parche de RTAI. Junto con Linux-
4.5. INTEGRACIN DEL SISTEMA 75

RTAI son instalados Scilab/Scicos para el modelado e implementacin de los controladores


y COMEDI, el cual contiene los drivers para la tarjeta de adquisicin de datos.
La DAQ cuenta con ocho entradas analgicas simples o cuatro diferenciales. Debido a que
la DAQ y el circuito de opto-aislacin no comparten tierra, es necesario utilizar las entradas
como diferenciales.
La corriente en el inductor en ocasiones puede medirse como negativa, y al ser convertido
en voltaje, ste tambin sera negativo. Es por eso ste motivo que las entradas A/D de la
DAQ son configuradas con fuente bipolar.
El sistema adecuador de seales debe estar configurado para que sus salidas que sean
conectadas a la tarjeta de adquisicin de datos tengan un mximo voltaje de 5 Volts.
La salida D/A de la DAQ es configurada con fuente unipolar para evitar que al CI T L494
le lleguen voltajes negativos.
El circuito T L494 es configurado para limitar el ciclo de utilidad del PWM. Al limitar
el ciclo de utilidad se limita mximo del voltaje que sera posible elevar. Debe configurarse
de la manera que el mximo voltaje que se pueda elevar el convertidor sean 100V, que es el
valor que soportan los transistores mosfet utilizados.
Captulo 5

Simulacin

Despus de completar la instalacin y adecuacin del sistema para el desarrollo rpido


de prototipos de control se contina con los siguientes pasos. Como parte del proceso RCP
despus de elegir el control que se desea evaluar se necesita hacer una simulacin completa
del sistema en lazo cerrado del controlador. En ste captulo se presentan las simulaciones del
controlador de la seccin 3.3 en lazo cerrado con cada uno de los convertidores a evaluarse.

5.0.1. Convertidor Buck

Se empieza modelando el convertidor buck en lazo abierto y lazo cerrado con el


controlador propuesto, en forma ideal, para mostrar los resultados que se esperan cuando el
convertidor real sea controlado. El convertidor buck es modelado a partir de sus ecuaciones
conmutadas (3.3). El controlador tambin es modelado de acuerdo a sus ecuaciones.
Despus de implementar las ecuaciones del sistema por bloques simblicos se configuran
las variables y constantes del sistema. Las constantes se encuentran en la tabla 5.0.1.
Las variables ki y k p son los valores con los que se controlar el desempeo del sistema.
Despus de probar con varios valores para observar sus respuestas, se encontr que los valores
de ki = 600 y k p = 0.02 pueden ser tiles para tener una respuesta adecuada del convertidor.
En las simulaciones los valores de z2 (Voltaje) estn medidos en volts y los de la corriente
z1 en Amperes.
77

L 330 H
C 50 F
F 30KHz
Vin 12V
u 0.416
R 25

Cuadro 5.1: Valores de simulacin del convertidor buck

Al simular el convertidor buck en lazo abierto se obtiene la respuesta mostrada en 5.1 al


momento de encender el convertidor con una carga de R = 25.

14

V
in
12

10

6
z
2

z1
0

2
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
S

Figura 5.1: Simulacin del convertidor buck en lazo abierto.

Tambin en lazo abierto, pero evaluando la respuesta ante conmutaciones de la carga,


entre 25 y 12.5, se obtienen los resultados que se muestran en la figura 5.2.
La respuesta del convertidor buck en lazo cerrado con el controlador al momento de
encenderse se muestra en la figura 5.3. La carga R del convertidor es de 25.
78 CAPTULO 5. SIMULACIN

12
V
in

10

6
z2

z1

2
0 1 2 3 4 5 6
4
x 10

Figura 5.2: Simulacin del convertidor buck en lazo abierto con conmutaciones en la carga.

La respuesta del convertidor en lazo cerrado con el controlador ante conmutaciones en la


carga entre 25 y 12.5 se muestra en la figura 5.4.
Las respuestas en lazo cerrado muestran un mejor desempeo que las del convertidor en
lazo abierto.

5.0.2. Convertidor Boost

Se modela el convertidor boost en lazo cerrado con el controlador propuesto, en forma


ideal, para mostrar los resultados que se esperan cuando el convertidor real sea controlado.
El convertidor boost es modelado a partir de sus ecuaciones conmutadas (3.9). El controlador
tambin es modelado de acuerdo a sus ecuaciones.
Despus de implementar las ecuaciones del sistema por bloques simblicos se configuran
las variables y constantes del sistema. Estas constantes se muestran en la tabla 5.0.2.
Las variables ki y k p son los valores con los que se controlar el desempeo del sistema.
Despus de probar con varios valores para observar sus respuestas, se observa que los valores
de ki = 100 y k p = 0.02 pueden ser tiles para tener una respuesta adecuada del convertidor.
79

12
V
in

10

6
z
2

z1

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
S

Figura 5.3: Simulacin del convertidor buck en lazo cerrado con el controlador.

L 330 H
C 50 F
F 30KHz
Vin 12V
u 0.5
R 25

Cuadro 5.2: Valores de simulacin del convertidor boost

En las simulaciones los valores de z2 (Voltaje) estn medidos en volts y los de la corriente
z1 en Amperes.

Al simular el convertidor boost en lazo abierto se obtiene la respuesta mostrada en 5.5


cuando se enciende el convertidor con una carga de R = 25.

Tambin en lazo abierto, pero evaluando la respuesta ante las conmutaciones de la carga
entre 25 y 12.5 se obtienen los resultados que se muestran en la figura 5.6.
80 CAPTULO 5. SIMULACIN

12
V
in

10

6
z
2

z1

0
0 1 2 3 4 5 6
S 4
x 10

Figura 5.4: Simulacin del convertidor buck en lazo cerrado con el controlador y
conmutaciones en la carga.

La respuesta del convertidor boost en lazo cerrado con el controlador al momento de


encenderse se muestra en la figura 5.7. La carga R del convertidor es de 25.
La respuesta del convertidor en lazo cerrado con el controlador ante conmutaciones en la
carga entre 25 y 12.5 se muestra en la figura 5.8.
Las respuestas en lazo cerrado muestran un mejor desempeo que las del convertidor en
lazo abierto.

5.0.3. Convertidor Buck-Boost

Se modela el convertidor buck-boost en lazo cerrado con el controlador propuesto, en


forma ideal, para mostrar los resultados que se esperan cuando el convertidor real sea
controlado. El convertidor buck-boost es modelado a partir de sus ecuaciones conmutadas
(3.15). El controlador tambin es modelado de acuerdo a sus ecuaciones.
Despus de implementar las ecuaciones del sistema por bloques simblicos se configuran
las variables y constantes del sistema. Las constantes se muestran en la tabla 5.0.3.
81

45

40

35

30

z
25 2

20

15
V
in

10

5
z1

5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
S 4
x 10

Figura 5.5: Simulacin del convertidor boost en lazo abierto.

L 330 H
C 50 F
F 30KHz
Vin 12V
u 0.4
R 25

Cuadro 5.3: Valores de simulacin del convertidor buck-boost

Las variables ki y k p son los valores con los que se controlar el desempeo del sistema.
Despus de probar con varios valores para observar sus respuestas, se observa que los valores
de ki = 100 y k p = 0.02 pueden ser tiles para tener una respuesta adecuada del convertidor.

En las simulaciones, los valores de z2 (Voltaje) estn medidos en volts y los de la corriente
z1 en Amperes.

Al simular el convertidor buck-boost en lazo abierto se obtiene la respuesta mostrada en


82 CAPTULO 5. SIMULACIN

45

40

35

30

z
2
25

20

15
V
in

10

5
z1

5
0 1 2 3 4 5 6
S 4
x 10

Figura 5.6: Simulacin del convertidor boost en lazo abierto con conmutaciones en la carga.

5.9 al momento de encender el convertidor con una carga de R = 25.


Tambin en lazo abierto, pero evaluando la respuesta ante las conmutaciones de la carga
entre 25 y 12.5 se obtienen los resultados que se muestran en la figura 5.10.
La respuesta del convertidor buck-boost en lazo cerrado con el controlador al momento
de encenderse se muestra en la figura 5.11. La carga R del convertidor es de 25.
La respuesta del convertidor en lazo cerrado con el controlador ante conmutaciones en la
carga entre 25 y 12.5 se muestra en la figura 5.12.
Las respuestas en lazo cerrado muestran un mejor desempeo que las del convertidor en
lazo abierto.
83

25

z
2

20

15

V
in

10

z1

0
0 0.5 1 1.5 2 2.5 3
S 4
x 10

Figura 5.7: Simulacin del convertidor boost en lazo cerrado con el convertidor.

35

30

25

z
2

20

15

V
in

10

5
z1

0
0 1 2 3 4 5 6
S 4
x 10

Figura 5.8: Simulacin del convertidor boost en lazo cerrado con el controlador y variaciones
en la carga.
84 CAPTULO 5. SIMULACIN

V
in
10

z1
0

z
2

10

15
0 0.5 1 1.5 2 2.5 3 3.5 4
4
x 10

Figura 5.9: Simulacin del convertidor buck-boost en lazo abierto.

V
in
10

z1
0

z
2

10

15
0 1 2 3 4 5 6
S 4
x 10

Figura 5.10: Simulacin del convertidor buck-boost en lazo abierto con variaciones en la
carga.
85

V
in

10

z1
0

z
2

10
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
S 4
x 10

Figura 5.11: Simulacin del convertidor buck-boost en lazo cerrado con el convertidor.

V
in
10

z1
0

z
2

10

15
0 1 2 3 4 5 6
S 4
x 10

Figura 5.12: Respuesta del sistema con k p propuesta y ki mxima para obtener races reales.
Captulo 6

Resultados experimentales

Una vez implementado en sistema para el desarrollo rpido de prototipos de control y


verificado su funcionamiento se disea el control de cada convertidor propuesto en la seccin
3.3 por medio de scilab/scicos.

6.1. Convertidor buck

El convertidor buck es evaluado con un voltaje de entrada de 12 volts, y se busca regular


la salida a 5 volts. En la figura 6.1 se muestra la respuesta del convertidor buck cuando se
cambia la referencia a 5 volts. El convertidor tiene como carga una resistencia de 25. Los
valores de control son k p = 0.02 y ki = 1100.

Se observa una rpida respuesta del controlador. Los resultados experimentales se acercan
a los resultados en simulacin. El voltaje del capacitor es representado por la seal azul y se
observa que regula a 5 Volts como es deseado.

En la figura 6.2 se muestra el comportamiento del convertidor en lazo cerrado con el


controlador. Las variaciones en la carga son de 25 y 12.5 .
6.1. CONVERTIDOR BUCK 87

1
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Figura 6.1: Resultados experimentales del encendido del convertidor buck por RCP

1
0.10 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.20 0.21

Figura 6.2: Resultados experimentales del convertidor boost con variaciones en la carga
88 CAPTULO 6. RESULTADOS EXPERIMENTALES

25

20

15

10

0
0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40

Figura 6.3: Resultados experimentales del encendido del convertidor boost con control por
RCP

6.2. Convertidor boost

En la figura 6.3 se muestra la respuesta del convertidor boost al cambiar la referencia de


cero a 24 volts a los dos milisegundos. El convertidor boost es evaluado con una carga de
25 al igual que en simulacin. Los valores de control son k p = 0.02 y ki = 100.

Se observa que los transitorios que se presentan en lazo abierto son eliminados y que el
controlador funciona de una manera efectiva. Al compararlo con los resultados de simulacin
los resultados son parecidos. El voltaje del capacitor es representado por la seal azul y se
observa que tiende a los 24 volts que se buscaba como objetivo. La seal roja representa la
corriente en el inductor.

La figura 6.4 describe el comportamiento del voltaje en el capacitor (seal azul), y la


corriente en el inductor (seal roja). cuando se presenta conmutaciones constantes en la carga.
Las variaciones en la carga varan de 25 a 12.5. se observa que a pesar de los cambios en
la carga el control busca regular el voltaje a los 24V que se desean.
6.3. CONVERTIDOR BUCK-BOOST 89

40

35

30

25

20

15

10

0
0.26 0.27 0.28 0.29 0.30 0.31 0.32 0.33 0.34 0.35

Figura 6.4: Resultados experimentales del convertidor boost con variaciones en la carga

1
0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 0.22

Figura 6.5: Resultados experimentales del encendido del convertidor buck-boost por RCP

6.3. Convertidor buck-boost

El convertidor buck es evaluado con un voltaje de entrada de 12 volts, y se busca regular


la salida a 8 volts. En la figura 6.5 se muestra la respuesta del convertidor buck cuando se
cambia la referencia a 5 volts. El convertidor tiene como carga una resistencia de 25. Los
valores de control son k p = 0.02 y ki = 1100.
El voltaje del capacitor es representado por la seal azul y se observa que regula a 5 Volts
90 CAPTULO 6. RESULTADOS EXPERIMENTALES

10

2
1.10 1.15 1.20 1.25 1.30

Figura 6.6: Resultados experimentales del convertidor buck-boost con variaciones en la carga

como es deseado.
La figura 6.6 describe el comportamiento del voltaje en el capacitor (seal azul), y la
corriente en el inductor (seal roja). cuando se presenta conmutaciones constantes en la carga.
Las variaciones en la carga son de 25 a 12.5. se observa que a pesar de los cambios en la
carga el control busca regular el voltaje a los 24V que se desean.

6.4. Conclusiones del captulo


Al comparar los resultados experimentales con los resultados de simulacin se deduce
que el sistema RCP es capaz de realizar el control del convertido boost. Con ste sistema se
pueden observar las diferencias en la respuesta entre el modelo ideal simulado y el modelo
implementado.
Captulo 7

Conclusiones

Con la utilizacin de software libre, una computadora personal con recursos discretos,
una tarjeta de adquisicin de datos y circuitos integrados de fcil adquisicin en el pas, se
logr conjuntar una plataforma para el rpido desarrollo de controladores para convertidores
electrnicos. sta plataforma mostr un comportamiento determinista en la ejecucin de
tareas de tiempo real, se realiz la comunicacin que protegiera la integridad entre la
computadora y el convertidor electrnico de potencia evaluado. La configuracin realizada
por medio de opto-aisladores y amplificadores operacionales permiti la comunicacin de
forma segura de la planta con la tarjeta de adquisicin de datos, evitando el riego de daos a
la DAQ por sobrecorrientes generadas por los convertidores.
Una vez que se logro probar de forma eficiente que la computadora personal reciba datos
correctos de los convertidores. La utilizacin de tcnicas de RCP permiti que de forma
sencilla y rpida se lograra el control de tres convertidores bsicos. Con esto se demuestra
que es posible el control de convertidores electrnicos en tiempo real por medio de un sistema
computacional modesto al utilizar RCP con software libre, y que trabaja en tiempo real.
Una vez implementado el sistema RCP, el desarrollo de diversos controladores es de
manera rpida y eficiente.
Los recursos fsicos incluidos de la plataforma RCP que se utilizan son reutilizables para
pruebas posteriores.
Bibliografa

[1] Rtai. https://www.rtai.org/, 2008. Ultima Visita en 02.12.2008.

[2] Comedi, linux control and measurement device interface. www.comedi.org, 2009.
Ultima visita en 18.06.2009.

[3] dspace. http://www.dspaceinc.com/ww/en/inc/home.cfm, 2009. Ultima Visita en


18.06.2009.

[4] Enhaced machine controller. http://wiki.linuxcnc.org/cgi-


bin/emcinfo.pl?emcknowledgebase, 2009. Ultima Visita en 18.06.2009.

[5] info-tech online. http://www2.iei.tu-clausthal.de/ promise/rcp/rcp_en.shtml, 2009. Ul-


tima Visita en 18.06.2009.

[6] The mathworks. http://www.mathworks.com/, 2009. Ultima Visita en 18.06.2009.

[7] Precision mba. http://www.precisionmba.com/rapid_control_prototyping.htm, 2009.


Ultima Visita en 18.06.2009.

[8] Rtai-knoppix. http://www-lar.deis.unibo.it/ gpalli/, 2009. Ultima Visita en 18.06.2009.

[9] Rtlinux. http://www.rtlinuxfree.com/, 2009. Ultima Visita en 18.06.2009.

[10] Slackrtai. http://www.pmwiki.org/wiki/rtai/livecds, 2009. Ultima Visita en 18.06.2009.

[11] Howard C. Lee Xiao Wang , Yan Guo and Boon-Teck Ooi. A multiprocessor digital
signal processing system for real-timepower converter applications. Power Industry
Computer Application Conference, 1991. Conference Proceedings, 1991.

92
BIBLIOGRAFA 93

[12] Zhenming Zhao Xiaoying Sun Liqiang Yuan Jue Quian , Rong Yi. A computer control
and monitoring system for power converters. Electrical Machines and Systems, 2005.
ICEMS 2005. Proceedings of the Eighth International Conference on, 2005.

[13] Greg Gagne Abraham Silberschatz, Peter Baer Galvin. Fundamentos de sistemas
operativos. Mc Graw Hill, sptima edicin edition, 2005.

[14] H. Bekker. Communication link between power converters and computer systemsfor
system and alarm management. Telecommunications Energy Conference, 1994.
INTELEC 94., 16th International, 1994.

[15] Corts Rodriguz Domingo de Jesus. Generacin de Voltajes de Corriente Alterna


Mediante Convertidores de Alta Frecuencia de Conmutacin. PhD thesis, CICESE,
2005.

[16] Eva M. Navarro-Lpez Christian Castro. Domingo Corts, Jaime lvares. A class
of easy-to-implement sliding-mode controllers with constant switching frecuency
for power converters. Industrial Electronics, 2007. ISIE 2007. IEEE International
Symposium on, 2007.

[17] Daniel Lpez Jos de Jess Medel Jurez, Pedro Guevara Lpez. Temas selectos de
sistemas en tiempo real. Instututo Politecnico Nacional, primera edicin edition, 2007.

[18] Bjorn wittenmark Karl J Astrom. Computer controlled systems theory and design.
Prentice Hall, tercera edicin edition, 1997.

[19] William S. Levine. The control Handbook. CCR PRESS IEEE PRESS, primera edicin
edition, 1996.

[20] Jonathan Carlos Mayo Maldonado. Control de velocidad de un motor de corriente


directa en tiempo real, 2005. Tesis de Ingeniera, Instituto Tecnolgico de CD. Madero.

[21] H. Schneider M. Metz J.C. Hapiot S. Ben Saoud, B. Daques. Real time emulator of
static converters/electrical machinesapplication to the test of control unit. Industrial
94 BIBLIOGRAFA

Electronics, 1996. ISIE 96., Proceedings of the IEEE International Symposium on,
1996.

[22] Stubberud A.R. Hostetter G.H. Santina, M.S. Digital Control System Design. Saunders
College Publishing, segunda edicin edition, 1994.
Apndice A

Inicializacion de RTAI

Para correr programas en tiempo real es necesario inicializar los mdulos necesarios. A
continuacin se presenta un script que carga todos los mdulos necesarios para correr los
programas en tiempo real, asi como algunas instrucciones necesarias para configurar la DAQ
PCI-1200.

modprobe rsrc_nonstatic
modprobe i82092
modprobe yenta_socket
insmod /usr/realtime/modules/rtai_hal.ko
insmod /usr/realtime/modules/rtai_up.ko # o rtai_lxrt.ko
insmod /usr/realtime/modules/rtai_fifos.ko
insmod /usr/realtime/modules/rtai_sem.ko
insmod /usr/realtime/modules/rtai_mbx.ko
insmod /usr/realtime/modules/rtai_msg.ko
insmod /usr/realtime/modules/rtai_netrpc.ko ThisNode="127.0.0.1"
insmod /usr/realtime/modules/rtai_shm.ko
insmod /usr/realtime/modules/rtai_signal.ko
insmod /usr/realtime/modules/rtai_tasklets.ko
modprobe comedi
modprobe kcomedilib
modprobe comedi_fc
modprobe 8255
insmod /usr/realtime/modules/rtai_comedi.ko
/etc/init.d/pcmciautils restart # from pcmciautils package

Das könnte Ihnen auch gefallen