Está en la página 1de 14

Uso de las Nuevas Tecnologas de la Informacin en la Enseanza de los Circuitos Elctricos Gilber Corrales Rubiano corrales@cuao.edu.

co Corporacin Universitaria Autnoma de Occidente Cali, Colombia Resumen En este artculo, se describe mediante un ejemplo, como se pueden aplicar las nuevas tecnologas de la informacin y la comunicacin (NTIC) a la enseanza de los circuitos elctricos. Especficamente la implementacin con PHP de una herramienta Web para la solucin de los sistemas lineales de ecuaciones resultantes de la aplicacin de las tcnicas de anlisis nodal y de mallas. Palabras clave: NITC, circuitos elctricos, 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 Introduccin El presente trabajo se origin con la idea de ofrecer a los estudiantes de un curso inicial de circuitos elctricos1, una herramienta que les ayudar a obtener los valores desconocidos de corrientes y/o voltajes en un circuito elctrico. Dicha herramienta debera ser habilitada a travs de la pgina Web del curso. Para iniciar la descripcin de como se implement la herramienta, se explica primero las leyes y los mtodos utilizados para obtener los valores desconocidos de corrientes y/o voltajes. Los sistemas lineales de ecuaciones estn presentes en la solucin de muchos problemas de ingeniera y ciencia. Tal es el caso de las tcnicas de anlisis - nodal y de mallas - empleadas para el estudio de los circuitos elctricos 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 travs del material,"
v = Ri

(1)

Leyes de Kirchhoff: Las leyes de Kirchhoff establecen para los circuitos elctricos, que el flujo neto de corriente a travs de un nodo en un circuito es cero (LCK) :

i
k =1

=0

(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 travs de un lazo cerrado es cero (LVK):

v
k =1

=0

(3)

Anlisis nodal: Es un mtodo sistemtico que se apoya en la LCK para voltajes de nodo en un circuito. determina los

En un circuito de n nodos y solo fuentes de corriente, el anlisis 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 trminos 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:
Nodo 1 Nodo 2

v1 i2
i3

v2

i1

Nodo de referencia.

El sistema ser resuelto ms adelante


17 7 v1 70 7 17 v = 140 2

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 noreferencia, 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. determina las

Anlisis por mallas: Es un mtodo sistemtico que se apoya en la LVK para corrientes de malla en un circuito.

Para un circuito de n mallas y solo fuentes de voltaje, el anlisis 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 trminos 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.
Malla 1 Malla 2 Malla 3

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

i1

i2

i3

LVK LVK

Malla 1. - 10 + 7 i1 + 7 ( i1 i 2 ) = 0 Malla3. i3 = 2

Malla2. 7 ( i 2 i1 ) + 4 i 2 + 5 ( i 2 + i3 ) = 0

El sistema para resolver sera: 14 7 0 i1 10 7 16 5 i = 0 2 0 1 0 i 3 2 Este sistema, al igual que el planteado en ejemplo No. 1, puede ser resuelto utilizando mtodos como: la sustitucin, la eliminacin, la inversin de matrices, la regla de Cramer, las calculadoras cientficas y los programas como Matlab, Mathcad entre otros3. Antes de continuar, se aclara que para circuitos con slo fuentes de corriente o de voltajes, se pueden determinar las ecuaciones de nodos o de mallas por la mera inspeccin del circuito. Solucin del sistema de ecuaciones: Como se pudo observar en los ejemplos anteriores, el paso final de ambas tcnicas de anlisis es la solucin de un sistema lineal de ecuaciones del siguiente tipo:
E1 : E2 : En : a11 x1 + a12 x 2 + + a1n x n = b1 a 21 x1 + a 22 x 2 + + a 2 n x n = b2 a1n x1 + a n 2 x 2 + + a nn x n = bn

El anlisis numrico y el lgebra lineal ofrecen mtodos para aproximar, de una manera eficiente, la solucin de problemas matemticos de este tipo. Para ello se usan algoritmos: secuencias de operaciones algebracas y lgicas que producen la aproximacin al problema matemtico. Para el caso especifico de solucin de sistemas lineales existen al menos dos opciones: Mtodos directos: Utilizados para resolver sistemas de dimensin pequea. Algunos de ellos son: Eliminacin Gaussiana con sustitucin hacia atrs, Eliminacin Gaussiana con pivoteo mximo de columna, Eliminacin Gaussiana con pivoteo escalado de columna, Gauss-Jordn, Factorizacin directa con pivoteo mximo de columna y Reduccin de

Crout para sistemas lineales tridiagonales. Algunos mtodos directos pueden ser expresados como factorizacin de matrices (Ej. LU o Cholesky). Mtodos iterativos: Empleados para la solucin sistemas de ecuaciones lineales grandes que involucran matrices esparcidas 4 entre ellos tenemos: Jacobi, Gauss-Seidel, Sobrerelacin Sucesiva (SOR) y Refinamiento iterativo.

Como referencia en Matlab5 los mtodos directos estn implementados en el corazn del software, en cambio los mtodos iterativos se encuentran implementados en archivos externos M-Files. (matlab 6.1, 2001) Debido a que los clculos en una aplicacin Web se efectan con aritmtica de punto flotante, y valores pequeos como los que se presentan en algunos circuitos, estos pueden conducir a errores de redondeo considerables, se decidi escoger el algoritmo de eliminacin Gaussiana con pivoteo escalado de columna para la implementacin de la herramienta, ya que este corrige dicha posibilidad. Adems Segn Burden y Faires, 1985). "Cuando el sistema lineal es lo suficiente pequeo para que sea eficientemente acomodado en la memoria principal de una computadora, es en general ms eficiente usar una tcnica directa que minimiza el efecto del error de redondeo. Especficamente... eliminacin Gaussiana con pivoteo escalado de columna" (p.p 356358,388) Algoritmo utilizado (Burden y Faires 3) Entrada: nmero de incgnitas y de ecuaciones n; matriz aumentada A = (a ij ) donde 1 i n y 1 j n +1 . Salida: solucin x1 , , x n o el mensaje de que el sistema lineal no tiene una solucin nica. Paso 1 Para i =
si = mx aij ;
1j n

1, ..., n tomar

Si a(NROW(i),j) = 0 entonces SALIDA (no existe solucin nica) PARAR NROW(i) = (i). (inicializar el indicador de rengln). Paso 2 Para i = 1, ..., n 1 seguir Pasos 3-6 (Proceso de eliminacin). Paso 3 Sea p el menor entero con a ( NROW ( p ) ,i ) a ( NROW ( j ) , i ) i pn y = mx . 1 j n s ( NROW ( p ) ) s ( NROW ( j ) )

( Notacin : a( NROW ( i ), j ) a

NROWi , j

Re alizar E NROW ( i ) m( NROW ( j ) , i ) E NROW ( i ) E NROW ( i )


Paso 4 Si a(NROW(i),j) = 0 entonces SALIDA (no existe solucin nica) PARAR.

Tomar x n =

a ( NROW ( n ) , n + 1) a ( NROW ( n ) , n )

Paso 5 (intercambio de renglones simulado)

Si NROW ( i ) NROW ( p ) entonces tomar NCOPY = NROW ( i ); NROW ( i ) = NROW ( p ); NROW ( p ) = NCOPY ;

Paso 6 Para j = i + 1, ..., n seguir los pasos 7 y 8 Paso 7 a( NROW ( j ) , i ) Tomar m( NROW ( j ) , i ) = a( NROW ( i ) , i ) Paso 8 Paso 9 Si a(NROW(n),n) = 0 entonces SALIDA (no existe solucin nica) PARAR. Paso 10 (Empezar sustitucin hacia atrs) Paso 11 Para i = n 1, ..., 1 Tomar xi = a ( NROW ( i ) , n + 1) j =i +1 a ( NROW ( i ) , j ) x j
n

a ( NROW ( i ) , i )

Paso 12 SALIDA (x1, ..., xn); (Procedimiento terminado con xito). PARAR. Implementacin Como lenguaje de programacin se decidi utilizar el PHP dado sus caractersticas de sencillez, potencia, capacidad multiplataforma, economa -es libre- cdigo abierto y bajo consumo de recursos. PHP

Es un lenguaje de programacin script creado por Rasmus Lerdorf, que permite la generacin dinmica de contenidos en un servidor Web. El cdigo de PHP es interpretado en el servidor Web de ah que se diga que funciona del lado del servidor, esto ltimo a diferencia del cdigo HTML de las pginas 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 cdigo HTML. Cuando el servidor encuentra cdigo PHP en una pgina 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
S o li c i tu d H T M L
1

IN T E R N E T
4

E l s e r v i d o r r e c i b e la s o li c i tu d 2
3

E l s e r vid o r b u s c a e l a r c h ivo H T M L

C lie n te

E l c li e n t e r e c i b e e l a r c h i v o y lo v i s u a li z a en su na vegad or

E l s e r vid o r r e g r e s a e l a r c h i v o s o li c i ta d o

S e rv id o r W e b

Figura No. 2 Consulta PHP


El servidor recibe la solicitud
2 3

Solicitud PHP
1

INTERNET

El servidor determina que el archivo contiene cdigo PHP y se lo pasa al interprete.


4

6 5

5 4

Cliente

El cliente recibe el archivo y lo visualiza en su navegador

El servidor regresa el resultado (generalmente cdigo HTML)

El interprete ejecuta el script y el resultado lo pasa al servidor.

Servidor Web

Para alojar la aplicacin se utiliz un equipo Pentium II IBM con dos procesadores, que corresponde al servidor Web de Ingeniera 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 versin 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 eliminacin Gaussiana con pivoteo escalado de columna utilizando PHP. Para la codificacin 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 hacindole slo unos pequeos cambios, el resultado se muestra a continuacin:

<? //Solucion de ecuaciones lineales Implementacin 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 solucin 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++) { 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 solucin 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 solucin 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>"; } ?> Para leer los datos de la matriz aumentada, se diseo una pgina en HTML, que a partir del nmero de ecuaciones y usando una forma 7, lee la matriz y la enva al script PHP mostrado anteriormente. La aplicacin puede ser consultada en la siguiente direccin: http://tesla.cuao.edu.co/analoga//gilber/Circutos1/e.php

A continuacin se muestra los resultados para los dos ejemplos mostrados en este artculo:

Solucin Ejemplo No. 1 X1 = 9,0417 X2 = 11,9583

Solucin Ejemplo No. 2 X1 = 0,5143 X2 = -0,4 X3 = 2 Pruebas La herramienta fue validada utilizando la funcin rref() del software de Matlab versin 6.1, la cual trabaja con el algoritmo de "Gauss Jordn elimination with partial pivoting" La metodologa fue introducir sistemas de diferente tamao 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 artculo: >> a1= [17, -7, 70; -7, 17, 140] a1 = 17 -7 70 -7 17 140 >> R = rref(a1) 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 -7 16 0 0 0 5 1 10 0 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 tambin fueron confrontados con simulaciones hechas en Multisim 2001, obteniendo igualmente resultados satisfactorios. Los estudiantes del curso8 han validado la herramienta, utilizndola en la solucin de los talleres propuestos en la pgina web del curso, despertando en ellos un creciente inters en su uso. Conclusiones: La herramienta se ha utilizado como un complemento eficaz en el aprendizaje de los circuitos elctricos, aumentando el tiempo que el estudiante dedica al anlisis de los circuitos, gracias a la apreciacin inmediata de las respuestas ofrecidas por las tcnicas de anlisis 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 econmicas para el desarrollo de aplicaciones Web, las cuales deben ser evaluadas por los profesores, para asumir los retos que la innovacin educativa demanda. La herramienta desarrollada puede ser utilizada en cualquier curso presencial o virtual, que demande la solucin de sistemas lineales de ecuaciones.

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 elctricos de primer y segundo orden. Tambin se ha planteado desarrollar una herramienta Web de autoevaluacin interactiva9, que le permita a los estudiantes mejorar su habilidad en el anlisis de circuitos elctricos.

1. Curso del programa de ingeniera Electrnica de la Corporacin Universitaria Autnoma de Occidente. 2. Se deben diferenciar las corrientes de malla, de las de rama usadas en anlisis nodal. 3. La presente herramienta no pretende desacreditar los programas existentes. 4. Matrices grandes con porcentaje alto de ceros, fruto de nodos que no estn conectados directamente. 5. Software para realizar clculos numricos con matrices y vectores, de gran aplicacin en ingeniera. 6. Incluido el cdigo JavaScript 7. Cdigo 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 interaccin, a modo de dilogo, entre el ordenador y el usuario. (RAE)

Referencias Alexander, K; Sadiku, O. (2001). Fundamentos de Circuitos Elctricos, McGraw-Hill, Mxico, Captulo 3. Hayt, H. Jr; Kemmerly, E. (1993). Anlisis de Circuitos en McGraw-Hill, Mxico. Ingeniera,

Burden, L; Faires, J. Douglas, (1985). Anlisis Numrico, Grupo Editorial Iberoamrica., Mxico. Chapra, S., (1998). Numerical Methods for Engineers McGraw-Hill, Mxico. 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. Yage, A. Villaverde, S. A. Gutierrez, A. (, 2001). Creacin de Sitios Web con PHP 4, Osborne McGraw-Hill, Madrid.