77.doc

17
Uso de las Nuevas Tecnologías de la Información en la Enseñanza de los Circuitos Eléctricos Gilber Corrales Rubiano [email protected] Corporación Universitaria Autónoma de Occidente Cali, Colombia Resumen En este artículo, se describe mediante un ejemplo, como se pueden aplicar las nuevas tecnologías de la información y la comunicación (NTIC) a la enseñanza de los circuitos eléctricos. Específicamente la implementación con PHP de una herramienta Web para la solución de los sistemas lineales de ecuaciones resultantes de la aplicación de las técnicas de análisis nodal y de mallas. Palabras clave: NITC, circuitos eléctricos, PHP, aplicaciones Web. Abstract In this article, how to apply the New Technologies of Information and Communication (NTIC) to the teaching of electric circuits is described by using an example. Specifically, the implementation of a Web tool that uses PHP language for solving linear systems of equations in nodal analysis and mesh analysis. Key words: NITC, electric circuits, PHP, Web applications Introducción El presente trabajo se originó con la idea de ofrecer a los estudiantes de un curso inicial de circuitos eléctricos 1 , una herramienta que les ayudará a obtener los valores desconocidos de corrientes y/o voltajes en un circuito eléctrico. Dicha herramienta debería ser habilitada a través de la página Web del curso. Para iniciar la descripción de como se implementó la herramienta, se explica primero las leyes y los métodos utilizados para obtener los valores desconocidos de corrientes y/o voltajes.

Transcript of 77.doc

Page 1: 77.doc

Uso de las Nuevas Tecnologías de la Informaciónen la Enseñanza de los Circuitos Eléctricos

Gilber Corrales [email protected]

Corporación Universitaria Autónoma de OccidenteCali,

Colombia

Resumen

En este artículo, se describe mediante un ejemplo, como se pueden aplicar las nuevas tecnologías de la información y la comunicación (NTIC) a la enseñanza de los circuitos eléctricos. Específicamente la implementación con PHP de una herramienta Web para la solución de los sistemas lineales de ecuaciones resultantes de la aplicación de las técnicas de análisis nodal y de mallas. Palabras clave: NITC, circuitos eléctricos, PHP, aplicaciones Web.

Abstract

In this article, how to apply the New Technologies of Information and Communication (NTIC) to the teaching of electric circuits is described by using an example. Specifically, the implementation of a Web tool that uses PHP language for solving linear systems of equations in nodal analysis and mesh analysis.Key words: NITC, electric circuits, PHP, Web applications

Introducción

El presente trabajo se originó con la idea de ofrecer a los estudiantes de un curso inicial de circuitos eléctricos1, una herramienta que les ayudará a obtener los valores desconocidos de corrientes y/o voltajes en un circuito eléctrico. Dicha herramienta debería ser habilitada a través de la página Web del curso.

Para iniciar la descripción de como se implementó la herramienta, se explica primero las leyes y los métodos utilizados para obtener los valores desconocidos de corrientes y/o voltajes.

Los sistemas lineales de ecuaciones están presentes en la solución de muchos problemas de ingeniería y ciencia. Tal es el caso de las técnicas de análisis - nodal y de mallas - empleadas para el estudio de los circuitos eléctricos y que se fundamentan en las leyes de Ohm y de Kirchhoff.

Ley de (Hayt y Kemmerly, 1993, p. 26)

"Establece que el voltaje entre los extremos de muchos tipos de materiales conductores es directamente proporcional a la corriente que fluye a través del material,"

(1)

Page 2: 77.doc

Leyes de Kirchhoff:

Las leyes de Kirchhoff establecen para los circuitos eléctricos, que el flujo neto de corriente a través de un nodo en un circuito es cero (LCK) :

(2)

Dicho de otra forma, la sumatoria de corrientes que entran en un nodo debe ser igual a la sumatoria de corrientes que salen de él.

La segunda ley establece que la suma algebraica de los voltajes a través de un lazo cerrado es cero (LVK):

(3)

Análisis nodal:

Es un método sistemático que se apoya en la LCK para determina los voltajes de nodo en un circuito.

En un circuito de n nodos y solo fuentes de corriente, el análisis nodal implica los siguientes pasos:

1. Elegir un nodo de referencia.

2. Asignar con respecto al nodo de referencia los voltajes de nodo .

3. Expresar las corrientes de rama, en términos de voltajes de nodo.

1. 4. Aplicar LCK a cada uno de los n - 1 nodos de no-referencia.

4. Resolver el sistema de ecuaciones resultante para encontrar los voltajes de nodo desconocidos.

Ejemplo No. 1: Encontrar los voltajes de nodo del siguiente circuito:

El sistema será resuelto más adelante

1v 2v

1i2i 3i

Nodo de referencia.

Nodo 1 Nodo 2

Page 3: 77.doc

Este sistema será resuelto mas adelante.

Circuitos con fuentes de voltaje:

En el caso de circuitos con fuentes de voltaje se deben tener en cuenta los siguientes casos:

Si una fuente de voltaje se ubica entre el nodo de referencia y uno de no-referencia, se iguala el voltaje de este último al de la fuente.

Si una fuente de voltaje se coloca entre dos nodos de no-referencia se debe tomar este como un supernodo y aplicando las leyes de Kirchhoff (LCK y LVK) se encuentran los voltajes de nodo.

Análisis por mallas:

Es un método sistemático que se apoya en la LVK para determina las corrientes de malla en un circuito.

Para un circuito de n mallas y solo fuentes de voltaje, el análisis nodal implica los siguientes pasos:

1. Se deben asignar las corrientes de malla de las n mallas2.

2. Aplicar LVK a cada una de las n mallas.

3. Usando la ley de Ohm se deben expresar los voltajes en términos de las corrientes de malla.

4. Resolver las n ecuaciones resultantes para obtener las corrientes de malla.

En el caso de circuitos con fuentes de corriente se deben tener en cuenta los siguientes casos:

- Cuando en una malla existe una fuente de corriente, se iguala el valor de la corriente de malla al de la fuente (respetando el signo de la misma).

- Cuando existe una fuente de corriente entre dos mallas. Se crea una supermalla excluyendo cualquier elemento conectado en serie con la misma.

Ejemplo No. 2: Encontrar las corrientes de malla del siguiente circuito:

1i2i

3i

Malla 1 Malla 2 Malla 3

Page 4: 77.doc

El sistema para resolver sería:

Este sistema, al igual que el planteado en ejemplo No. 1, puede ser resuelto utilizando métodos como: la sustitución, la eliminación, la inversión de matrices, la regla de Cramer, las calculadoras científicas y los programas como Matlab, Mathcad entre otros3.

Antes de continuar, se aclara que para circuitos con sólo fuentes de corriente o de voltajes, se pueden determinar las ecuaciones de nodos o de mallas por la mera inspección del circuito.

Solución del sistema de ecuaciones:

Como se pudo observar en los ejemplos anteriores, el paso final de ambas técnicas de análisis es la solución de un sistema lineal de ecuaciones del siguiente tipo:

El análisis numérico y el álgebra lineal ofrecen métodos para aproximar, de una manera eficiente, la solución de problemas matemáticos de este tipo. Para ello se usan algoritmos: secuencias de operaciones algebraícas y lógicas que producen la aproximación al problema matemático.

Para el caso especifico de solución de sistemas lineales existen al menos dos opciones:

Métodos directos: Utilizados para resolver sistemas de dimensión pequeña. Algunos de ellos son: Eliminación Gaussiana con sustitución hacia atrás, Eliminación Gaussiana con pivoteo máximo de columna, Eliminación Gaussiana con pivoteo escalado de columna, Gauss-Jordán, Factorización directa con pivoteo máximo de columna y Reducción de Crout para sistemas lineales tridiagonales. Algunos métodos directos pueden ser expresados como factorización de matrices (Ej. LU o Cholesky).

Métodos iterativos: Empleados para la solución sistemas de ecuaciones lineales grandes que involucran matrices esparcidas4 entre ellos tenemos: Jacobi, Gauss-Seidel, Sobrerelación Sucesiva (SOR) y Refinamiento iterativo.

Como referencia en Matlab5 los métodos directos están implementados en el corazón del software, en cambio los métodos iterativos se encuentran implementados en archivos externos M-Files. (matlab 6.1, 2001)

Page 5: 77.doc

Debido a que los cálculos en una aplicación Web se efectúan con aritmética de punto flotante, y valores pequeños como los que se presentan en algunos circuitos, estos pueden conducir a errores de redondeo considerables, se decidió escoger el algoritmo de eliminación Gaussiana con pivoteo escalado de columna para la implementación de la herramienta, ya que este corrige dicha posibilidad. Además Según Burden y Faires, 1985).

"Cuando el sistema lineal es lo suficiente pequeño para que sea eficientemente acomodado en la memoria principal de una computadora, es en general más eficiente usar una técnica directa que minimiza el efecto del error de redondeo. Específicamente... eliminación Gaussiana con pivoteo escalado de columna" (p.p 356-358,388)

Algoritmo utilizado (Burden y Faires 3)

Entrada: número de incógnitas y de ecuaciones n; matriz aumentada donde y .Salida: solución o el mensaje de que el sistema lineal no tiene una solución única.

Paso 1 Para i = 1, ..., n tomar

Si a(NROW(i),j) = 0 entonces SALIDA (‘no existe solución única’) PARAR

NROW(i) = (i). (inicializar el indicador de renglón).

Paso 2 Para i = 1, ..., n –1 seguir Pasos 3-6 (Proceso de eliminación).

Paso 3 Sea p el menor entero con

Paso 4 Si a(NROW(i),j) = 0 entonces SALIDA (‘no existe solución única’) PARAR.

Paso 5 (intercambio de renglones simulado)

Paso 6 Para j = i + 1, ..., n seguir los pasos 7 y 8

Page 6: 77.doc

Paso 7

Paso 8Paso 9 Si a(NROW(n),n) = 0 entonces SALIDA (‘no existe solución única) PARAR.Paso 10

(Empezar sustitución hacia atrás)Paso 11 Para i = n –1, ..., 1

Paso 12 SALIDA (x1, ..., xn); (Procedimiento terminado con éxito). PARAR.

Implementación

Como lenguaje de programación se decidió utilizar el PHP dado sus características de sencillez, potencia, capacidad multiplataforma, economía -es libre- código abierto y bajo consumo de recursos.

PHP

Es un lenguaje de programación script creado por Rasmus Lerdorf, que permite la generación dinámica de contenidos en un servidor Web. El código de PHP es interpretado en el servidor Web de ahí que se diga que funciona del lado del servidor, esto último a diferencia del código HTML de las páginas Web, que es enviado por el servidor Web al cliente donde el navegador (Browser) lo interpreta6. A pesar de lo anterior el PHP puede estar embebido en código HTML. Cuando el servidor encuentra código PHP en una página HTML, este se la pasa al interprete del PHP. La siguiente imagen ilustra una consulta Web HTML y una PHP.

Figura No. 1 Consulta HTML

Figura No. 2 Consulta PHP

INTERNET

Servidor WebCliente

1

Solicitud PHP2

El servidor recibe lasolicitud

3El servidor determina

que el archivo contienecódigo PHP y se lopasa al interprete.

4

El servidor regresael resultado

(generalmentecódigo HTML)

El cliente recibe elarchivo y lo visualiza

en su navegador

5

4El interprete ejecuta elscript y el resultado lo

pasa al servidor.

56

Page 7: 77.doc

Para alojar la aplicación se utilizó un equipo Pentium II IBM con dos procesadores, que corresponde al servidor Web de Ingeniería http://tesla.cuao.edu.co, el cual trabaja con el sistema operativo Windows 2000 y como servidor Web el Internet Information Server (IIS). En el servidor se instaló la versión 4.0 de PHP, la cual se descargó del sitio oficial de PHP: http://www.php.net/

Las pruebas se realizaron en un computador personal (PC) con Windows98 + PHP v 4.0 + Apache.

Creando el programa

El programa muestra como se implemento el algoritmo de eliminación Gaussiana con pivoteo escalado de columna utilizando PHP.

Para la codificación del algoritmo, se valió de la gran similitud que existe entre la sintaxis de PHP y la del leguaje C, por ello primero se codificó en un compilador de C, en cual se depuró, una vez validado el algoritmo, éste fue ajustado a la sintaxis de PHP haciéndole sólo unos pequeños cambios, el resultado se muestra a continuación:

<?//Solucion de ecuaciones lineales Implementación algoritmo de //Eliminacion//Gaussiana con pivoteo escalonado de columna. //Gilber Corrales Marzo 13 de 2003

for ( $Col = 0; $Col <= $n-1; $Col++) { $mayores[$Col]=0; for ($i=0;$i<= $n-1; $i++) {

if ( abs($a[$Col][$i]) > $mayores[$Col]) { //busca el mayor valor absoluto de la //fila $mayores[$Col]=abs($a[$Col][$i]); } //fin if

} //fin for

if ($mayores[$Col]==0) //no existe solucion unica{ print ("No existe solución única"); exit();} //fin if

} // fin for

//-----------------------------------------------------------------------for ( $Col = 0; $Col < $n-1; $Col++) /*Proceso de eliminacion*/ { $max=0; for ($i=$Col;$i<= $n-1; $i++) {

Page 8: 77.doc

if ( abs($a[$i][$Col]/$mayores[$i]) > $max) { $Col_p=$i; //busca el mayor valor //absoluto de la Columna $max=abs($a[$i][$Col]); }//fin if

} // fin for

if ($max==0) //no existe solucion unica{ print ("No existe solución única. "); exit();}//fin if

if ($Col_p!=$Col){ for ($k=$Col;$k<=$n;$k++) //intercambio de ecuaciones { $aux=$a[$Col][$k]; //filas $a[$Col][$k]=$a[$Col_p][$k]; $a[$Col_p][$k]=$aux; } //fin if} // fin for

for ($j=$Col+1; $j<$n; $j++) // desde abajo //hasta $n { $m=$a[$j][$Col]/$a[$Col][$Col]; //pone ceros //en $Col,$Col

for ($k=$Col;$k<=$n;$k++) { $a[$j][$k]=$a[$j][$k]-$m*$a[$Col][$k]; } // fin for

} // fin for} // fin eliminacion

if ($a[$n-1][$n-1]==0) { print ("No existe solución única. "); exit(0); } //fin if

$sol[$n-1]=$a[$n-1][$n]/$a[$n-1][$n-1];

for ($i=$n-2; $i>=0;$i--) { $sum=0; for ($j=$i+1;$j<$n;$j++) { $sum=$sum+$a[$i][$j]*$sol[$j]; }// fin for $sol[$i]=($a[$i][$n]-$sum)/$a[$i][$i]; }// fin for

for ($i=0; $i<$n; $i++) { print "X" . ($i+1) . " = " . $sol[$i]; echo "<BR>"; }

Page 9: 77.doc

?>

Para leer los datos de la matriz aumentada, se diseño una página en HTML, que a partir del número de ecuaciones y usando una forma7, lee la matriz y la envía al script PHP mostrado anteriormente.

La aplicación puede ser consultada en la siguiente dirección:

http://tesla.cuao.edu.co/analoga//gilber/Circutos1/e.php

A continuación se muestra los resultados para los dos ejemplos mostrados en este artículo:

Page 10: 77.doc

Solución Ejemplo No. 1

X1 = 9,0417X2 = 11,9583

Solución Ejemplo No. 2

X1 = 0,5143X2 = -0,4

X3 = 2

Pruebas

La herramienta fue validada utilizando la función rref() del software de Matlab versión 6.1, la cual trabaja con el algoritmo de "Gauss Jordán elimination with partial pivoting" La metodología fue introducir sistemas de diferente tamaño y valores en ambas herramientas y comparar los resultados, los cuales fueron satisfactorios: como ejemplo se muestra el resultado en Matlab para los dos ejemplos del artículo:

>> a1= [17, -7, 70; -7, 17, 140]a1 = 17 -7 70 -7 17 140>> R = rref(a1)

Page 11: 77.doc

R =

1.0000 0 9.0417 0 1.0000 11.9583

>>

>> a2= [14 , -7 0, 10; -7, 16, 5, 0; 0, 0, 1, 2]

a2 =

14 -7 0 10 -7 16 5 0 0 0 1 2

>> R = rref(a2)

R =

1.0000 0 0 0.5143 0 1.0000 0 -0.4000 0 0 1.0000 2.0000

Los resultados también fueron confrontados con simulaciones hechas en Multisim 2001, obteniendo igualmente resultados satisfactorios.

Los estudiantes del curso8 han validado la herramienta, utilizándola en la solución de los talleres propuestos en la página web del curso, despertando en ellos un creciente interés en su uso.

Conclusiones:

La herramienta se ha utilizado como un complemento eficaz en el aprendizaje de los circuitos eléctricos, aumentando el tiempo que el estudiante dedica al análisis de los circuitos, gracias a la apreciación inmediata de las respuestas ofrecidas por las técnicas de análisis nodal y de mallas.

Las NTIC permiten a los profesores desarrollar nuevas herramientas que le faciliten a sus estudiantes el aprendizaje, tal es el caso de las aplicaciones Web como la mostrada en este trabajo.

El software libre (PHP y Apache) ofrece alternativas económicas para el desarrollo de aplicaciones Web, las cuales deben ser evaluadas por los profesores, para asumir los retos que la innovación educativa demanda.

La herramienta desarrollada puede ser utilizada en cualquier curso presencial o virtual, que demande la solución de sistemas lineales de ecuaciones.

Page 12: 77.doc

La gran similitud entre la sintaxis de PHP y el lenguaje C, permiten que en el desarrollo de aplicaciones con PHP, se pueda utilizar compiladores de C para depurar algunas funciones antes de llevarlas a PHP.

Trabajos futuros:

Se está trabajando para que la herramienta facilite encontrar la respuesta natural y forzada de los circuitos eléctricos de primer y segundo orden.

También se ha planteado desarrollar una herramienta Web de autoevaluación interactiva9, que le permita a los estudiantes mejorar su habilidad en el análisis de circuitos eléctricos.

1. Curso del programa de ingeniería Electrónica de la Corporación Universitaria Autónoma de Occidente.

2. Se deben diferenciar las corrientes de malla, de las de rama usadas en análisis nodal.

3. La presente herramienta no pretende desacreditar los programas existentes.

4. Matrices grandes con porcentaje alto de ceros, fruto de nodos que no están conectados directamente.

5. Software para realizar cálculos numéricos con matrices y vectores, de gran aplicación en ingeniería.

6. Incluido el código JavaScript

7. Código HTML para leer datos y pasarlos a los script.

8. Como parte de su trabajo de estudio independiente.

9. Dicho de un programa: que permite una interacción, a modo de diálogo, entre el ordenador y el usuario. (RAE)

Referencias

Alexander, K; Sadiku, O. (2001). Fundamentos de Circuitos Eléctricos, McGraw-Hill, México, Capítulo 3.

Hayt, H. Jr; Kemmerly, E. (1993). Análisis de Circuitos en Ingeniería, McGraw-Hill, México.

Burden, L; Faires, J. Douglas, (1985). Análisis Numérico, Grupo Editorial Iberoamérica., México.

Chapra, S., (1998). Numerical Methods for Engineers McGraw-Hill, México.

Matlab 6.1, (2001. Help, Mathematics, Simultaneous Linear Equations, The MathWorks, Inc.

Choi, W., Kent, A., Lea, C., Prasad, G., Ullman, C. Beginning PHP4. Wrox Press, US, 2000 .,

Gil, R. Tejedor, C. A. Yagûe, A. Villaverde, S. A. Gutierrez, A. (, 2001). Creación de Sitios Web con PHP 4, Osborne McGraw-Hill, Madrid.

Page 13: 77.doc