Está en la página 1de 9

Herramientas de simulación de código abierto para la mejora del

aprendizaje en Ingeniería Eléctrica


José A. Domínguez (jadona@unizar.es), José Luis Bernal (jlbernal@unizar.es), Eva-Sara Carod
(escarod@unizar.es), María Jesús Velilla (mvelilla@unizar.es), José M. Yusta (jmyusta@unizar.es)

Dep. de Ingeniería Eléctrica


C.P.S. - Universidad de Zaragoza

Resumen

Este artículo describe una iniciativa para el uso de herramientas de simulación como un
procedimiento para mejorar el aprendizaje en los estudios de ingeniería, concretamente en la
asignatura de máquinas eléctricas. Estos métodos permiten que los estudiantes mejoren la
comprensión de los fenómenos físicos subyacentes y sus habilidades para resolver problemas con
unos mínimos conocimientos de programación.

El desarrollo de numerosas herramientas informáticas en la comunidad de código abierto


abre las puertas a la utilización de dichas herramientas para un aprendizaje más interactivo sin las
restricciones impuestas por los programas comerciales.

Palabras clave: aprendizaje basado en problemas, aprendizaje basado en proyectos.

1. Introducción
Hoy en día se dispone de muy buenos programas informáticos que permiten resolver una
gran variedad de problemas de forma eficiente y rápida. En todas las ramas de la ingeniería es
necesario utilizar programas informáticos para resolver los problemas reales que se presentan. Los
estudiantes aprenden a trabajar y hacen prácticas con versiones educacionales de dichos programas
comerciales. Desde el desarrollo de dichos programas, los educadores los han utilizado para mejorar
el aprendizaje [Prigozy-89], [Buchner-91].

En este grupo se pueden encontrar programas comerciales específicos para simular circuitos
eléctricos como PSPICE [1] o PSCAD [2], programas para simular flujos de potencia en redes
eléctricas como PSS/E [3] o EDSA [4], programas para simular mediante elementos finitos el
funcionamiento de máquinas eléctricas como ANSYS [5] o Comsol [6], etc. Estos programas están
dedicados objetivos específicos y aunque muy potentes, su aprendizaje también es largo, su
mantenimiento es costoso, y el código no está disponible lo que dificulta su utilización en proyectos
de investigación.
Los estudiantes desarrollan la falsa sensación de que la teoría no es necesaria para resolver
los problemas reales, y que únicamente es necesario comprender las instrucciones de dichos
programas [Nigim-01], [Karady-03]. Además, en muchas ocasiones existe un desfase importante
entre los modelos que utilizan dichos programas y el nivel de aprendizaje en el que están dichos
estudiantes.

A otro grupo corresponden los programas informáticos de carácter más general que están
demostrando su utilidad para trasladar la teoría presentada por el profesor a sus aplicaciones
prácticas, y como una manera eficiente de profundizar en los fenómenos físicos de las ideas
presentadas o permitir comprobar el comportamiento de diseños realizados por los mismos
alumnos. La mayoría de estos programas son programas matemáticos de propósito general que
permiten una mayor flexibilidad que las clásicas hojas de cálculo, y permiten un enlace entre las
ecuaciones matemáticas explicadas en la teoría y la experimentación de un laboratorio. Entre estos
programas de carácter general, los más populares son: MatLab [7], MathCad [8], y Mathematica
[9].

Pero los programas que hemos citado en ambos grupos son comerciales y en muchas
ocasiones los precios de las licencias hacen inviable que los estudiantes puedan trabajar con dichos
programas fuera de los laboratorios de la universidad.

2. Alternativas de código abierto.


Hay una gran expansión de los acrónimos y terminología técnica alrededor de las distintas
aproximaciones al “código abierto” en la educación. Estas aproximaciones van desde el “open
source software” que permite el acceso al código fuente, su libre distribución y la redistribución
libre de cualquier modificación; pasando por “free software” que permite el acceso al código fuente
pero con un “copyleft” que previene la posibilidad de futuras versiones modificadas y comerciales;
hasta los programas “freeware” que son distribuidos a bajo o nulo coste pero sin acceso al código
fuente. En numerosas organizaciones se puede encontrar información más detallada de los distintos
enfoques [10], [11], y [12].

Estas alternativas son un ejemplo de producción colaborativa, interacción social e


intercambio de conocimiento, que ofrecen nuevas aproximaciones a la enseñanza y al aprendizaje,
permiten compartir el conocimiento y la colaboración entre educadores, y eliminan la división entre
desarrolladores de programas educativos y sus usuarios. Son menos lesivos económicamente tanto
para el alumno como para la universidad, se puede distribuir entre los alumnos y pueden trabajar
con él fuera de los laboratorios, se puede acceder a su código y comprender las dificultades de su
programación.
Hay programas disponibles en casi cualquier campo que se nos pueda ocurrir y las
organizaciones que anteriormente se han indicado [10-12] tienen directorios en dónde es fácil
buscar el programa deseado. A continuación se indican algunos programas de carácter general como
muestra:

Octave [13] es un lenguaje de alto-nivel para cálculos numéricos. Tiene un línea de


comandos como interfase y permite resolver problemas numéricos lineales y no-lineales. Es
fácilmente extensible mediante un lenguaje de programación que es altamente compatible con
Matlab. Las herramientas que dispone permite resolver problemas numéricos de algebra lineal,
encontrar las raíces de ecuaciones no lineales, integrar funciones, manipular polinomios, y
ecuaciones algebraico-diferenciales e integrales.

Scilab/scicos [14] es un programa científico para computación numérica que suministra un


entorno de computación abierto para aplicaciones científicas e de ingeniería. Incluye cientos de
funciones matemáticas, interactúa con numerosos lenguajes de alto nivel. Su lenguaje de
programación es similar, aunque no igual a Matlab. Tiene numerosas paquetes de aplicaciones
(similares a Matlab) para campos específicos. También dispone de un interfase gráfico, Scicos
(similar a Simulink), que permite modelar y simular sistemas dinámicos.

Modelica [15] es un lenguaje de modelado orientado a objetos que permite modelar sistemas
físicos complejos, heterogéneos y grandes. Es adecuado para modelar sistemas multi-dominio con
componentes mecánicos, eléctricos, electrónicos, hidráulicos, térmicos, etc. Los modelos son
descritos mediante ecuaciones discretas algebraicas y diferenciales.

2. Programas de simulación como una herramienta para resolver problemas


reales: el método de resolución de problemas mediante programas de simulación.
En el método del aprendizaje basado en problemas, se desea que los estudiantes adquieran
las habilidades para observar y describir el problema de forma que puedan comprender las
conexiones que existen entre las diferentes disciplinas, que comprendan los fenómenos físicos que
subyacen en el problema, que sepan describir con ecuaciones matemáticas dichos fenómenos, y que
utilicen la computación para resolver dichas ecuaciones. Además, se pretende que dichos alumnos
sepan predecir las implicaciones prácticas que dichas soluciones tienen a nivel de ingeniería.

El procedimiento utilizado aquí tiene cuatro pasos: El primer paso consiste en que el
estudiante identifique los fundamentos físicos y las fundamentales ecuaciones matemáticas que
sirven para describir el problema. Mediante una pequeña explicación o la indicación de referencias
bibliográficas debidamente seleccionadas, el estudiante tiene a su alcance los conocimientos que
necesitará para enfrentarse al problema. En el segundo paso, el estudiante tiene que identificar las
variables que describen el problema y sus interacciones. En el tercer paso, el estudiante debe
construir funciones o programas que le permitan calcular el comportamiento de dichas variables
para predecir las implicaciones en los casos estudiados. En el cuarto paso, el estudiante debe
explicar los resultados obtenidos en la simulación en función de la teoría aplicable al problema.

Nadie duda sobre la importancia que la simulación tiene en el estudio de los transitorios y el
comportamiento de los controles aplicados a las máquinas eléctricas. Hay numerosos libros sobre
técnicas de modelado y simulación de máquinas eléctricas, pero muy pocos sobre la
implementación de las simulaciones. No es suficiente con leer teoría sobre cómo se modela una
máquina eléctrica, es necesario implementar dichos modelos, interpretar y verificar los resultados.
Para ello es necesario que los alumnos dispongan de un programa con el que puedan practicar. Por
las ventajas indicadas en los apartados anteriores nosotros elegimos Scilab/Scicos, un programa de
libre distribución y similar a Matlab.

Los alumnos deben resolver varios proyectos con dificultad creciente: unos sirven para
reforzar el aprendizaje de los principios de operación y de las características, y de las técnicas de
modelado e implementación; otros están centrados en su interés práctico y los alumnos pueden
explorar y aprender más sobre dichos casos mediante la experimentación (o simulación).

A continuación, se va a presentar el ejemplo de simulación de un circuito eléctrico y el


ejemplo de modelado de una máquina síncrona.

2.1. Ejemplo: “Modelado de un circuito eléctrico”

Estos proyectos de dificultad baja se centran en el aprendizaje del programa utilizado para
implementar las simulaciones, y en las técnicas de modelado que posteriormente se utilizarán en los
proyectos más complejos.

El primer proyecto que les pone en contacto con el programa que utilizarán a lo largo del
curso, Scilab/Scicos, consiste en simular un sencillo circuito conocido por todos los alumnos desde
primero como es el circuito RLC paralelo de la Figura 1.

Rs

+
vs C vs C
L Rs L
Rs
Figura 1. Circuito RLC paralelo.
Las ecuaciones que definen el circuito anterior son de todos conocidas:

KVL de la malla 1:
vs + is Rs + vc = 0

KCL en el nudo 2:
is + il + ic = 0

Ecuaciones de la bobina y del condensador:

dil 1
C∫
vl = L vc = ic dt
dt

Eligiendo como variables de estado la corriente en la bobina y la tensión en el condensador,


podemos reescribir las ecuaciones en función de las variables de estado como:

1
L∫
iL = vc dt

1  vs − vc 
vc = ∫ 
C  Rs
− iL dt

En la Figura 2 se representa el modelo del sistema en la entrada gráfica del programa y en la


Figura 3 se puede observar la evolución de la is, vc e iL respectivamente en las salidas gráficas del
programa. Dicho programa de libre distribución permite trabajar de forma similar a cualquier otro
programa comercial de características similares.
Figura 2. Simulación en Scicos del circuito RLC.

Figura 3. Respuesta del circuito RLC a un escalón de 100 V.

2.2. Ejemplo: “Modelado dinámico de máquinas eléctricas”

Un ejemplo de dichos proyectos de dificultad media es la simulación de una máquina


síncrona, para observar sus características de operación. Si el proyecto parece demasiado largo, se
puede suministrar a los alumnos algunos bloques del modelado ya implementados como se observa
en la Figura 4. Dichos bloques se pueden abrir y estudiar su implementación en función de la
curiosidad del alumno, Figura 5.

Figura 4. Bloques implementados previamente y suministrados al alumno.

Figura 5. Detalle del bloque abc2qd0_711.

El alumno no obstante tendrá que estudiar cada bloque y descubrir su relación con las
ecuaciones que modelan el sistema, en nuestro caso la máquina síncrona, si desea construir el
modelo completo de la máquina síncrona que podemos ver en la Figura 6.
Figura 6. Modelo completo de la máquina síncrona que debe construir el alumno.

Finalmente, deberá simular ciertas condiciones de funcionamiento y explicar los resultados


obtenidos en la simulación. Los resultados se pueden apreciar en la Figura 7, pero es necesario
explicarlos y los alumnos deben volver a estudiar la teoría para explicarlos.

Figura 7. Resultados que obtiene el alumno en la simulación.


3. Conclusiones

Con esta metodología los problemas se resuelven interactivamente, lo que permite probar
distintas soluciones, el interés de los alumnos aumenta ya que se pueden enfrentar a problemas
reales, la motivación se va reforzando ya que los problemas son de dificultad creciente, los alumnos
disponen del programa y pueden utilizarlo en casa, no tiene coste económico alguno.

La implementación de los modelos les obliga a trabajar las ecuaciones matemáticas y a


comprenderlas, la interpretación de los resultados obtenidos les permite adquirir una comprensión
más profunda de la teoría y de los fundamentos físicos, y adquieren criterio crítico ante los
resultados que pueden obtenerse de una simulación evitando la “fe ciega” en los resultados
obtenidos con aplicaciones informáticas.

Referencias
[Prigozy-89] S. Prigozy, “Novel applications of SPICE in engineering education”;, IEEE
Transactions on Education, Volume 32, Issue 1, Feb. 1989, Page(s):35 – 38.
[Buchner-91] P. Buchner and M. H. Nehiri, “A block-oriented PC-based simulation tool for
teaching and research in electric drives and power systems,” IEEE Transactions power systems,
Vol. 6, pp. 1299–1304, Aug. 1991.
[Nigim-01] Khalid A. Nigim, and Ronald R. DeLyser, "Using MathCad in Understanding the
Induction Motor Characteristics", IEEE Transactions on education, Vol. 44, No. 2, May 2001, pp.
165-169.
[Karady-03] George G. Karady, and Khaled A. Nigim. "Improve Learning Efficiency by Using
General Purpose Mathematics Software in Power Engineering", IEEE Transactions on power
systems, Vol. 18, No. 3, August 2003, pp. 979-985.

Links:
[1] PSPICE: http://www.cadence.com/products/si_pk_bd/pspice_a_d/index.aspx.
[2] PSCAD: http://pscad.com/
[3] PSS/E: http://www.ptl-uk.com/pti/PTI-spanish/software/psse/index-spanish.cfm
[4] EDSA: http://www.edsa.com/
[5] ANSYS: http://www.ansys.com/
[6] Comsol: http://www.comsol.com/
[7] MatLab: http://www.mathworks.com/
[8] MathCad: http://www.mathcad.com/
[9] Mathematica: http://www.wolfram.com/

También podría gustarte