Beruflich Dokumente
Kultur Dokumente
TESIS
QUE PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIAS EN INGENIERA DE
CMPUTO CON OPCIN EN SISTEMAS DIGITALES
PRESENTA
ING. Christian Castro Morales
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.
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
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
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
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
VII
Captulo 1
Introduccin
1.1. Antecedentes
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.
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:
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
1.4. Hiptesis
Editores
Acondicionamiento de seales y proteccin
1.5. Objetivo
Integrar un sistema de cmputo que permita evaluar rpidamente controladores para
convertidores electrnicos.
1.5.1. Metas
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
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.
Un sistema de control digital [18] [19] [22] usa hardware digital como corazn del
10 CAPTULO 2. ESTADO DEL ARTE
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.
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
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
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.
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
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.
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.
Por otra parte los convertidores electrnicos son cada vez ms usados debido a que:
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
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 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
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
z2
z20
z2
z21
z1
z11
z1
z10
u
1
0 t
t0 t1 t2
T
ton
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.
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.
z2
z1 = (3.1a)
L
z1 z2
z2 = (3.1b)
C RC
z2 Vin
z1 = + (3.2a)
L L
z1 z2
z2 = (3.2b)
C RC
22 CAPTULO 3. MARCO TERICO
z2 Vin
z1 = + u (3.3a)
L L
z1 z2
z2 = (3.3b)
C RC
u {0, 1}
Ganancia
Vo
= u (3.4)
Vin
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
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.
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
Vo 1
= (3.10)
Vin u
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
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
z2
z1 = (3.13a)
L
z1 z2
z2 = (3.13b)
C RC
Vin z2
z1 = u (1 u) (3.15a)
L L
z1 z2
z2 = (1 u) (3.15b)
C RC
u {0, 1}
Ganancia
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
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
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
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
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)
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)
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)
X (s) b
= (3.38)
V (s) s + a
V (s) ki
= kp + (3.39)
E(s) s
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.
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
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.
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.
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:
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:
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.
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).
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
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.
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
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.
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
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
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.
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.
Entre las caractersticas tpicas de muchos sistemas operativos de tiempo real se pueden
citar:
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.
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
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
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.
u
u
Q1
Q 2
t t
2 2
Vcc
Vcc + 1K
u 1K u
U 3
U 1
+ 1.9K
1nF
+
1nF
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
Vo
u =
Vin
sustituyendo Vo y Vin
5
u =
12
u = 0.416
1
0.416 30000 5
L>
0.5
L > 138 Hy
1 2
0.4162 30000 5
C>
2 166 106 0.416
C > 6.96 F
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
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
Vin
u = 1
Vo
sustituyendo Vo y Vin
12
u = 1
24
u = 0.5
1
0.5 30000 24
C>
25 0.25
C > 32 F
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
1
u =
1 + VVino
sustituyendo Vo y Vin
1
u =
1 + 12
8
u = 0.4
y como
u = 1 u
u = 0.6
1
12 0.6 30000
L>
0.25
L > 192 Hy
1
0.6 30000 8
C>
25 0.25
C > 12.8 F
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
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 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
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.
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.
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.
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
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.
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.
Funciones de tareas
Funciones de semaforos
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.
Timers
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
Una coleccin de mdulos de kernel de Linux que implemente la API para un amplio
rango de tarjetas
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.
Comedi trabaja con un kernel estndar de Linux, y tambin con extensiones para tiempo
real como lo son RTAI y RTLinux/GPL.
Device driver
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.
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.
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.
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.
4.4.3. Scilab/Scicos
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.
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
$ su
# knoppix-install
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
Simulacin
L 330 H
C 50 F
F 30KHz
Vin 12V
u 0.416
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
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.
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
En las simulaciones los valores de z2 (Voltaje) estn medidos en volts y los de la corriente
z1 en Amperes.
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.
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
L 330 H
C 50 F
F 30KHz
Vin 12V
u 0.4
R 25
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.
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.
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
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
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.
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
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.
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
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.
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
[2] Comedi, linux control and measurement device interface. www.comedi.org, 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.
[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.
[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