38 votos

Cómo hacer Simuladores de Circuitos en realidad?

Recientemente he tenido la oportunidad de jugar con el LiveWire, que es un simulador de circuito y comenzaron a preguntarse cómo exactamente se calculan los voltajes a través de cada componente y de la corriente que pasa a través de cada pista de alambre.

Sólo he sido enseñado circuito básico habilidades de análisis (tales como Malla de análisis y análisis Nodal) hasta el momento, y no estoy del todo seguro de que iban a ser lo suficientemente genérico para implementar en un " único camino dentro de un simulador de circuito.

Como programador este ha intrigado a mí y me encantaría ver qué técnicas se emplean comúnmente cuando la construcción de simuladores de circuitos como este.

Mis disculpas si este no pertenece aquí, era una elección entre el aquí y StackOverflow y sentía que aunque se trata de un desarrollo de software orientado a la pregunta, la pregunta es más aplicable a este sitio y es la base de usuarios.

16voto

Alex Andronov Puntos 178

He examinado el código de la Falstad simulador en algunos detalles. Para los circuitos que sólo consisten lineal de componentes como resistencias, interruptores y fuentes de voltaje (cosas como la lógica-puerta de salidas se consideran de tierra conectado a fuentes de voltaje para efectos de la simulación) el simulador que se refiere a cada circuito de nodo, de la fuente de tensión (conexión de dos nodos), o alambre (igualmente) como la definición de una ecuación lineal y una variable, de tal manera que el número de ecuaciones y el número de variables que son siempre iguales. Para un circuito de nodo, la variable es el voltaje en el nodo, y la ecuación se calcula el total de corriente igual a la corriente total inyectada por cualquier fuente de corriente. Para una fuente de voltaje o de alambre (alambre siendo tratadas como una fuente de voltaje, donde la diferencia de potencial es cero), la ecuación se establece la diferencia de voltaje entre el circuito de dos voltajes de nodo igual a la diferencia de voltaje, y la variable es la cantidad de corriente que fluye a través de la fuente de voltaje de un nodo a otro.

Cosas como fuentes de corriente y resistencias no están asociados con las resistencias o variables. En cambio, fuentes de corriente de aumentar la corriente total requerida para un circuito de nodo (recuerde que cada circuito nodo tiene una ecuación que evalúa la corriente total que fluye dentro y fuera) y disminuir para el otro. Las resistencias son un poco más complicado: para cada extremo de la ecuación, la resistencia añade términos para el nodo de tensión de cada extremo.

Un resistor de 100 ohmios conexión de los nodos 1 y 2, por ejemplo, diría que cada voltios aumento en el nodo 1, se disminuirá el flujo de corriente en el nodo 1 0.01 amperios y aumentar el flujo de corriente en el nodo 2 por una cantidad igual. Asimismo, cada voltios aumento en el nodo 2, aumentaría el flujo de corriente en el nodo 1 0.01 amperios y la disminución de la corriente que fluye en el nodo 2 por una cantidad igual.

Considere un circuito con un 10 voltios, la conexión de los nodos 1 y 5, y de 100 ohm resistencias de conectar el nodo 1 y 2, 2 y 3, 2 y 4, y 3 y 4. Además, supongamos que hay un terreno con un icono en el nodo 1. Por lo tanto:

neg ---+-1---R100---2---R100---3---100---4---pos
      gnd           |                    |
                    +---------100--------+

Habría dos "fuentes de voltaje": el cable de tierra y el 10 voltios (que son considerados como ecuación de variables/5 y 6, respectivamente). Las ecuaciones serían:

-X1*0.01                             +X5 -X6 = 0  Node 1
+X1*0.01 -X2*0.01          +X4*0.01          = 0  Node 2
         +X2*0.01 -X3*0.01 +X4*0.01          = 0  Node 3
         +X2*0.01          -X4*0.01      +X6 = 0  Node 4
-X1*1                                        = 0  Volts 5 (voltage between 1 and gnd)
-X1*1                      +X4*1             = 10 Volts 6 (voltage between 1 and 4)

Este sistema de ecuaciones puede ser representada como una matriz de NxN además de un N elemento de la matriz. Cada ecuación está representada por una fila de la matriz, con valores en cada fila representa los coeficientes de cada variable. El lado derecho de cada ecuación se almacena en la matriz independiente. Antes de resolver las ecuaciones, sabrá de la red de corriente que fluye en cada nodo (cero en este caso), y la diferencia de tensión entre pares de nodos conectados por fuentes de voltaje. La resolución de las ecuaciones que se va a producir el voltaje en cada nodo y la corriente que fluye a través de cada fuente de voltaje.

Si el circuito contiene condensadores, cada uno de esos va a ser considerada como una fuente de voltaje en serie con un bajo valor de la resistencia; después de cada etapa de la simulación, la fuente de voltaje será ajustado de acuerdo a la cantidad de corriente que fluye a través de él. Inductores serán considerados como de alto valor de las resistencias que se alimentan de corriente en uno y sacar la otra (la cantidad de corriente que se ajusta de acuerdo a la tensión a través de la resistencia). Para ambos condensadores e inductores, el valor de la resistencia será controlado por la cantidad de tiempo representado por una etapa de la simulación.

Circuito más complejo que otros elementos, como los transistores son considerados como combinaciones de fuentes de voltaje, fuentes de corriente, y resistencias. A diferencia de los simples elementos de circuito que dejar que todo se procesa una vez para cada paso de tiempo de simulación, elementos como los transistores de calcular su efectiva resistencias etc. basado en las tensiones y corrientes que están viendo, evaluar todas las ecuaciones resultantes, y re-evaluar su resistencia con base en los nuevos voltajes y corrientes, re-evaluar las ecuaciones, etc. en un esfuerzo para alcanzar un punto de equilibrio donde su resistencia efectiva es como debe de ser para el voltaje y la corriente en el transistor está viendo.

El Falstad simulador puede ser decentemente rápido de tamaño moderado circuitos que se componen enteramente de "lineal" de los elementos. El tiempo a veces resolver un sistema de ecuaciones es bastante razonable si lo único que cambia son los del lado derecho de los coeficientes. El tiempo se vuelve mucho más lento si el lado izquierdo de los cambios (por ejemplo, debido a un transistor de vigencia de la resistencia va hacia arriba o hacia abajo) porque el sistema tiene que "refactorizar" las ecuaciones. Tener que hacer refactorizar las ecuaciones varias veces por simulación paso (puede ser necesario con transistores) que hace las cosas con más lentitud todavía.

El uso de una matriz grande para todo lo que no es un buen enfoque para los grandes simulaciones; aunque la matriz será bastante escasa, ocupa un espacio proporcional al cuadrado del número de nodos más fuentes de voltaje. El tiempo necesario para resolver la matriz en cada etapa de la simulación será proporcional al cuadrado del tamaño de la matriz si la refactorización no es necesario, o al cubo de tamaño de la matriz si la refactorización es necesario. Sin embargo, el enfoque tiene una cierta elegancia cuando se trata de mostrar la relación entre un circuito y un sistema de ecuaciones lineales.

12voto

userid53 Puntos 116

LiveWire es uno de los muchos simuladores de circuitos, de los diversos niveles de capacidad.

Por ejemplo, Falstad Simulador de Circuito parece ser de un similar nivel de capacidad como LiveWire - y el código fuente se ofrece en ese enlace. Que debe ser un buen comienzo.

Para obtener más sofisticado circuito de simulación, muchas de las herramientas de rastrear sus raíces de nuevo a la ESPECIA por la universidad de california Berkeley. Las SPICE código fuente está disponible a petición de UCB bajo la licencia BSD.

Específicos del fabricante de ESPECIAS ediciones suelen integrar muy detallada de semiconductores modelos de simulación de sus propios productos en sus simuladores. Por ejemplo, el LTSpice IV de Tecnologías Lineales o TINA-TI de Texas Instruments. Por debajo, es usualmente de ESPECIAS.

Cito de la página de la WikiPedia sobre de ESPECIAS:

Circuito de simulación de los programas, de los cuales ESPECIAS y derivados son los más destacados, tomar un texto de netlist describir los elementos del circuito (transistores, resistencias, condensadores, etc.) y sus conexiones, y traducir esta descripción en las ecuaciones a resolver. Las ecuaciones generales producidos son diferenciales no lineales algebraicas de ecuaciones que se resuelven mediante implícita la integración de métodos, el método de Newton y la matriz dispersa técnicas.

En un nivel aún más alto de sofisticación, de varios productos comerciales tales como Proteus Virtual de Modelado del Sistema, parte de la Proteo de la Suite de Diseño, de uso privativo de mejoras para el modo mixto SPICE del circuito de simulación de estas herramientas se puede simular el comportamiento de los circuitos analógicos y digitales del microcontrolador código, con las interacciones entre ellas totalmente modelados.

En un tiempo mucho más limitado y limitante, el nivel de esquemático editores, tales como el Circuito de Laboratorio herramienta integrada dentro de este sitio, proporcionar una pequeña gama de capacidades de simulación. Mientras que esto puede no ser del todo útil en la práctica no trivial de diseño electrónico, el estudio de sus capacidades y de su aplicación proporcionaría un desarrollador de software alguna información sobre lo que funciona bien para los usuarios, y lo que no.

8voto

RWH Puntos 21

Hay tres principales análisis que se realizan por ESPECIAS como simuladores de circuitos:

  • DC punto de funcionamiento
  • Análisis de CA
  • Análisis de transitorios

La DC punto de funcionamiento análisis de un circuito lineal (formado a partir de fuentes DC, resistores lineales, lineales y fuentes controladas) se realiza mediante el análisis nodal modificado (MNA). Malla de análisis también podría ser utilizado, pero es muy fácil de configurar las ecuaciones para el análisis nodal.

Para circuitos no lineales (que incluyen dispositivos tales como transistores, los cuales pueden ser modelados essentiallhy como no lineal de fuentes controladas), algunos trucos adicionales tienen que ser utilizados. Conceptualmente simple es usar una extensión del Método de Newton para varias ecuaciones.

El método de Newton consiste en adivinar la solución, a continuación, hacer un modelo lineal del circuito que sólo precisa "cerca de" la adivinado solución. La solución a la linearaized circuito se utiliza como una nueva conjetura acerca de la solución, y el proceso se repite hasta que las sucesivas iteraciones "convergen" en la (esperemos) solución correcta para el circuito no lineal. En el mundo real, más complicado solucionadores de problemas no lineales se utilizan para ser capaz de hacer la solución más rápida y con menos errores debido a la insuficiencia de convergencia.

El CA de análisis es hecho por primera haciendo un DC de análisis para encontrar un punto de funcionamiento. A continuación, se estudio el efecto de pequeñas perturbaciones alrededor del punto de funcionamiento. "Pequeño" significa, por definición, lo suficientemente pequeño para que los efectos no lineales no son importantes. Eso significa que los elementos del circuito se transforma en lineal de elementos equivalentes, dependiendo del punto de funcionamiento. A continuación, el MNA puede ser utilizado (con números complejos representación de la impedancia de almacenamiento de energía de los elementos) para resolver el efecto de las perturbaciones ocasionadas por las fuentes CA en el circuito.

El análisis de transitorios se hace, como Olin dice en los comentarios, por considerar cómo el circuito de variables evolucionan con pasos muy pequeños de tiempo. De nuevo en cada paso de tiempo del circuito es linealizado alrededor del punto de funcionamiento, por lo que la MNA puede ser utilizada para establecer las ecuaciones. Un método sencillo para resolver el comportamiento en el tiempo es de Euler Método. Sin embargo, de nuevo en la práctica es más complicado son los métodos utilizados para permitir el uso de un mayor timesteps con pequeños errores.

Se puede ver que un hilo común en estos métodos es hacer una aproximación lineal para el comportamiento de los circuitos y de los problemas que con MNA hasta encontrar una solución a la no lineal el comportamiento de los circuitos.

Estos tres análisis han sido las principales realizado por ESPECIAS como simuladores desde la década de 1970. Nuevos simuladores de añadir más capacidades como el equilibrio armónico (una extensión de CA anlaysis para acomodar la mezcla de efectos no lineales de los elementos), o electromagnetismo simulaciones para simular la línea de transmisión de efectos. Pero la DC, AC, y simulaciones transitorias son los tres primeros se debe entender cuando se utiliza una de las ESPECIAS como el simulador.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X