Saltar al contenido principal
LibreTexts Español

2.9: Simulación por Computadora de Circuitos Eléctricos

  • Page ID
    155571
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Estos mismos programas pueden ser fantásticas ayudas para el estudiante principiante de electrónica, permitiendo la exploración de ideas rápida y fácilmente sin necesidad de ensamblar circuitos reales. Por supuesto, no hay sustituto para construir y probar circuitos reales, pero las simulaciones por computadora ciertamente ayudan en el proceso de aprendizaje al permitir que el estudiante experimente con los cambios y vea los efectos que tienen en los circuitos. A lo largo de este libro, voy a estar incorporando impresiones por computadora de simulación de circuitos frecuentemente para ilustrar conceptos importantes. Al observar los resultados de una simulación por computadora, un estudiante puede obtener una comprensión intuitiva del comportamiento del circuito sin la intimidación del análisis matemático abstracto.

    Para simular circuitos en computadora, hago uso de un programa particular llamado SPICE, que funciona describiendo un circuito a la computadora mediante una lista de texto. En esencia, este listado es una especie de programa de computadora en sí mismo, y debe apegarse a las reglas sintácticas del lenguaje SPICE. La computadora se utiliza entonces para procesar, o “ejecutar”, el programa SPICE, que interpreta el listado de texto que describe el circuito y emite los resultados de su análisis matemático detallado, también en forma de texto. Muchos detalles del uso de SPICE se describen en el volumen 5 (“Referencia”) de esta serie de libros para aquellos que desean más información. Aquí, solo voy a introducir los conceptos básicos y luego aplicar SPICE al análisis de estos circuitos simples sobre los que hemos estado leyendo.

    Primero, necesitamos tener SPICE instalado en nuestro equipo. Como programa gratuito, comúnmente está disponible en Internet para su descarga, y en formatos apropiados para muchos sistemas operativos diferentes. En este libro, utilizo una de las versiones anteriores de SPICE: la versión 2G6, por su simplicidad de uso.

    A continuación, necesitamos un circuito para que SPICE analice. Probemos uno de los circuitos ilustrados anteriormente en el capítulo. Aquí está su diagrama esquemático:

    00053.png

    Este sencillo circuito consta de una batería y una resistencia conectados directamente entre sí. Conocemos el voltaje de la batería (10 voltios) y la resistencia de la resistencia (5 Ω), pero nada más sobre el circuito. Si describimos este circuito a SPICE, debería poder decirnos (por lo menos), cuánta corriente tenemos en el circuito usando la Ley de Ohm (I=E/R).

    SPICE no puede entender directamente un diagrama esquemático o cualquier otra forma de descripción gráfica. SPICE es un programa informático basado en texto, y exige que se describa un circuito en términos de sus componentes constituyentes y puntos de conexión. Cada punto de conexión único en un circuito se describe para SPICE mediante un número de “nodo”. Los puntos que son eléctricamente comunes entre sí en el circuito a simular se designan como tales compartiendo el mismo número. Podría ser útil pensar en estos números como números de “cable” en lugar de números de “nodo”, siguiendo la definición dada en la sección anterior. Así es como la computadora sabe lo que está conectado a qué: mediante el intercambio de hilos comunes, o nodos, números. En nuestro circuito de ejemplo, solo tenemos dos “nodos”, el cable superior y el cable inferior. SPICE exige que haya un nodo 0 en algún lugar del circuito, así que etiquetaremos nuestros cables 0 y 1:

    00054.png

    En la ilustración anterior, he mostrado múltiples etiquetas “1” y “0” alrededor de cada cable respectivo para enfatizar el concepto de puntos comunes que comparten números de nodos comunes, pero aún así se trata de una imagen gráfica, no una descripción de texto. SPICE necesita tener los valores de los componentes y los números de nodo que se le dan en forma de texto antes de que pueda continuar cualquier análisis.

    Crear un archivo de texto en una computadora implica el uso de un programa llamado editor de texto. Similar a un procesador de textos, un editor de texto te permite escribir texto y grabar lo que has escrito en forma de un archivo almacenado en el disco duro de la computadora. Los editores de texto carecen de la capacidad de formateo de los procesadores de texto (sin cursiva, negrita o caracteres subrayados), y esto es algo bueno, ya que programas como SPICE no sabrían qué hacer con esta información extra. Si queremos crear un archivo de texto plano, sin absolutamente nada grabado excepto los caracteres del teclado que seleccionamos, un editor de texto es la herramienta a utilizar.

    Si usa un sistema operativo Microsoft como DOS o Windows, un par de editores de texto están fácilmente disponibles con el sistema. En DOS, existe el antiguo programa de edición de texto Editar, que puede invocarse escribiendo edit en el símbolo del sistema. En Windows (3.x/95/98/NT/ME/2K/XP), el editor de texto del Bloc de notas es su elección de stock. Muchos otros programas de edición de texto están disponibles, y algunos incluso son gratuitos. Sucede que uso un editor de texto libre llamado Vim, y lo ejecuto bajo los sistemas operativos Windows 95 y Linux. Poco importa qué editor uses, así que no te preocupes si las capturas de pantalla de esta sección no se parecen a las tuyas; la información importante aquí es lo que escribas, no qué editor usas.

    Para describir este sencillo circuito de dos componentes a SPICE, comenzaré invocando mi programa editor de texto y escribiendo una línea de “título” para el circuito:

    20001.png

    Podemos describir la batería a la computadora escribiendo una línea de texto que comienza con la letra “v” (para “Fuente de voltaje”), identificando a qué cable se conecta cada terminal de la batería (los números de nodo), y el voltaje de la batería, así:

    20002.png

    Esta línea de texto le dice a SPICE que tenemos una fuente de voltaje conectada entre los nodos 1 y 0, corriente continua (CC), 10 voltios. Eso es todo lo que la computadora necesita saber con respecto a la batería. Ahora pasamos a la resistencia: SPICE requiere que las resistencias se describan con una letra “r”, los números de los dos nodos (puntos de conexión), y la resistencia en ohmios. Dado que se trata de una simulación por computadora, no es necesario especificar una potencia nominal para la resistencia. Eso es algo bueno de los componentes “virtuales”: ¡no pueden ser perjudicados por tensiones o corrientes excesivas!

    20003.png

    Ahora, SPICE sabrá que hay una resistencia conectada entre los nodos 1 y 0 con un valor de 5 Ω. Esta muy breve línea de texto le dice a la computadora que tenemos una resistencia (” r”) conectada entre los mismos dos nodos que la batería (1 y 0), con un valor de resistencia de 5 Ω.

    Si agregamos una sentencia .end a esta colección de comandos SPICE para indicar el final de la descripción del circuito, tendremos toda la información que SPICE necesita, recopilada en un archivo y lista para su procesamiento. Esta descripción de circuito, compuesta por líneas de texto en un archivo de computadora, se conoce técnicamente como netlist, o deck:

    20004.png

    Una vez que hayamos terminado de escribir todos los comandos SPICE necesarios, necesitamos “guardarlos” en un archivo en el disco duro de la computadora para que SPICE tenga algo a lo que hacer referencia cuando se invoque. Como esta es mi primera lista de redes SPICE, la guardaré bajo el nombre de archivo “circuit1.cir” (el nombre real es arbitrario). Puedes elegir nombrar a tu primer netlist SPICE algo completamente diferente, siempre y cuando no violes ninguna regla de nombre de archivo para tu sistema operativo, como usar no más de 8+3 caracteres (ocho caracteres en el nombre y tres caracteres en la extensión: 12345678.123) en DOS.

    Para invocar SPICE (indicarle que procese el contenido del archivo netlist circuit1.cir), tenemos que salir del editor de texto y acceder a un símbolo del sistema (el “prompt DOS” para usuarios de Microsoft) donde podemos ingresar comandos de texto para que el sistema operativo de la computadora los obedezca. Esta forma “primitiva” de invocar un programa puede parecer arcaica para los usuarios de computadoras acostumbrados a un entorno gráfico “apuntar y hacer clic”, pero es una forma muy poderosa y flexible de hacer las cosas. Recuerda, lo que estás haciendo aquí usando SPICE es una forma simple de programación informática, y cuanto más cómodo te vuelvas al darle a la computadora comandos en forma de texto para seguir, en lugar de simplemente hacer clic en imágenes de iconos usando un mouse, más dominio tendrás sobre tu computadora.

    Una vez en el símbolo del sistema, escriba este comando, seguido de una pulsación de tecla [Enter] (en este ejemplo se usa el nombre de archivo circuit1.cir; si ha elegido un nombre de archivo diferente para su archivo netlist, sustituirlo):

    d.PNG

    Así es como se ve esto en mi computadora (ejecutando el sistema operativo Linux), justo antes de presionar la tecla [Enter]:

    20005.png

    Tan pronto como presione la tecla [Enter] para emitir este comando, el texto de la salida de SPICE debe desplazarse por la pantalla de la computadora. Aquí hay una captura de pantalla que muestra qué salidas SPICE en mi computadora (he alargado la ventana “terminal” para mostrarte el texto completo. Con un terminal de tamaño normal, el texto supera fácilmente una longitud de página):

    20006.png

    SPICE comienza con una reiteración de la netlist, completa con la línea de título y la declaración.end. Aproximadamente a la mitad de la simulación muestra el voltaje en todos los nodos con referencia al nodo 0. En este ejemplo, solo tenemos un nodo distinto al nodo 0, por lo que muestra ahí el voltaje: 10.0000 voltios. Luego muestra la corriente a través de cada fuente de voltaje. Dado que solo tenemos una fuente de voltaje en todo el circuito, solo muestra la corriente a través de esa. En este caso, la corriente fuente es de 2 amperios. Debido a una peculiaridad en la forma en que SPICE analiza la corriente, el valor de 2 amperios se emite como negativo (-) 2 amperios.

    La última línea de texto en el informe de análisis de la computadora es “disipación de potencia total”, que en este caso se da como “2.00E+01” vatios: 2.00 x 10 1, o 20 vatios. SPICE produce la mayoría de las figuras en notación científica en lugar de notación normal (punto fijo). Si bien esto puede parecer más confuso al principio, en realidad es menos confuso cuando se trata de números muy grandes o muy pequeños. Los detalles de la notación científica se tratarán en el próximo capítulo de este libro.

    Uno de los beneficios de usar un programa basado en texto “primitivo” como SPICE es que los archivos de texto tratados son extremadamente pequeños en comparación con otros formatos de archivo, especialmente los formatos gráficos utilizados en otros programas de simulación de circuitos. Además, el hecho de que la salida de SPICE sea texto plano significa que puede dirigir la salida de SPICE a otro archivo de texto donde puede ser manipulada aún más. Para ello, reemitimos un comando al sistema operativo del equipo para invocar SPICE, esta vez redirigiendo la salida a un archivo al que llamaré “output.txt”:

    20007.png

    SPICE se ejecutará “silenciosamente” esta vez, sin el flujo de salida de texto a la pantalla de la computadora como antes. Se creará un nuevo archivo, output1.txt, que podrá abrir y cambiar usando un editor de texto o procesador de textos. Para esta ilustración, usaré el mismo editor de texto (Vim) para abrir este archivo:

    20008.png

    Ahora bien, puedo editar libremente este archivo, borrando cualquier texto ajeno (como los “banners” que muestran fecha y hora), dejando solo el texto que me parece pertinente para el análisis de mi circuito:

    20009.png

    Una vez debidamente editado y reguardado bajo el mismo nombre de archivo (output.txt en este ejemplo), el texto puede ser pegado en cualquier tipo de documento, siendo “texto plano” un formato de archivo universal para casi todos los sistemas informáticos. Incluso puedo incluirlo directamente en el texto de este libro, en lugar de como una imagen gráfica de “captura de pantalla”, así:

    e.PNG

    Por cierto, este es el formato preferido para la salida de texto de las simulaciones SPICE en esta serie de libros: como texto real, no como imágenes gráficas de captura de pantalla.

    Para alterar un valor de componente en la simulación, necesitamos abrir el archivo netlist (circuit1.cir) y realizar las modificaciones necesarias en la descripción del texto del circuito, luego guardar esos cambios en el mismo nombre de archivo y volver a invocar SPICE en el símbolo del sistema. Este proceso de edición y procesamiento de un archivo de texto es familiar para todos los programadores de computadoras. Una de las razones por las que me gusta enseñar SPICE es que prepara al alumno para pensar y trabajar como un programador informático, lo cual es bueno porque la programación informática es un área importante del trabajo de electrónica avanzada.

    Anteriormente exploramos las consecuencias de cambiar una de las tres variables en un circuito eléctrico (voltaje, corriente o resistencia) usando la Ley de Ohm para predecir matemáticamente lo que sucedería. Ahora probemos lo mismo usando SPICE para hacer las matemáticas por nosotros.

    Si tuviéramos que triplicar el voltaje en nuestro último circuito de ejemplo de 10 a 30 voltios y mantener la resistencia del circuito sin cambios, esperaríamos que la corriente también se triplicara. Intentemos esto, renombrando nuestro archivo netlist para no sobrescribir el primer archivo. De esta manera, tendremos ambas versiones de la simulación de circuito almacenadas en el disco duro de nuestro equipo para uso futuro. El siguiente listado de texto es la salida de SPICE para esta netlist modificada, formateada como texto plano en lugar de como una imagen gráfica de la pantalla de mi computadora:

    f.PNG

    Justo como esperábamos, la corriente se triplicó con el aumento de voltaje. La corriente solía ser de 2 amperios, pero ahora ha aumentado a 6 amperios (-6.000 x 10 0). Observe también cómo ha aumentado la disipación de potencia total en el circuito. Antes eran 20 watts, pero ahora son 180 watts (1.8 x 10 2). Recordando que el poder está relacionado con el cuadrado de la tensión (Ley de Joule: P=E 2 /R), esto tiene sentido. Si triplicamos el voltaje del circuito, la potencia debería aumentar en un factor de nueve (3 2 = 9). Nueve por 20 es de hecho 180, así que la salida de SPICE sí se correlaciona con lo que sabemos sobre la energía en los circuitos eléctricos.

    Si queremos ver cómo respondería este sencillo circuito en una amplia gama de voltajes de batería, podemos invocar algunas de las opciones más avanzadas dentro de SPICE. Aquí, usaré la opción de análisis “.dc” para variar el voltaje de la batería de 0 a 100 voltios en incrementos de 5 voltios, imprimiendo el voltaje y la corriente del circuito en cada paso. Las líneas en la netlist SPICE que comienzan con un símbolo de estrella (” *”) son comentarios. Es decir, no le dicen a la computadora que haga nada relacionado con el análisis de circuitos, sino que simplemente sirven como notas para cualquier ser humano que lea el texto de netlist.

    g.PNG

    El comando .print en esta lista de redes SPICE indica a SPICE que imprima columnas de números correspondientes a cada paso del análisis:

    h.PNG

    Si vuelvo a editar el archivo netlist, cambiando el comando .print a un comando.plot, SPICE generará un gráfico crudo compuesto por caracteres de texto:

    i.PNG

    En ambos formatos de salida, la columna izquierda de números representa el voltaje de la batería en cada intervalo, ya que aumenta de 0 voltios a 100 voltios, 5 voltios a la vez. Los números en la columna derecha indican la corriente del circuito para cada una de esas tensiones. Mire de cerca esos números y verá la relación proporcional entre cada par: La Ley de Ohm (I=E/R) se mantiene cierta en todos y cada uno de los casos, siendo cada valor de corriente 1/5 el valor de voltaje respectivo, porque la resistencia del circuito es exactamente de 5 Ω. Nuevamente, los números negativos para la corriente en este análisis SPICE es más una peculiaridad que cualquier otra cosa. Basta con prestar atención al valor absoluto de cada número a menos que se especifique lo contrario.

    Incluso hay algunos programas de computadora capaces de interpretar y convertir los datos no gráficos emitidos por SPICE en una gráfica gráfica. Uno de estos programas se llama Nuez moscada, y su salida se ve algo así:

    20010.png

    Observe cómo Nutmeg traza el voltaje de la resistencia v (1) (voltaje entre el nodo 1 y el punto de referencia implícito del nodo 0) como una línea con una pendiente positiva (desde la parte inferior izquierda hasta la parte superior derecha).

    Si alguna vez te vuelves competente en el uso de SPICE no es relevante para su aplicación en este libro. Todo lo que importa es que desarrolles una comprensión de lo que significan los números en un informe generado por Spice. En los ejemplos por venir, haré todo lo posible para anotar los resultados numéricos de SPICE para eliminar cualquier confusión, y desbloquear el poder de esta increíble herramienta para ayudarte a entender el comportamiento de los circuitos eléctricos.


    This page titled 2.9: Simulación por Computadora de Circuitos Eléctricos is shared under a GNU Free Documentation License 1.3 license and was authored, remixed, and/or curated by Tony R. Kuphaldt (All About Circuits) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.