Simulación con geda y ngspice en Linux

En este artículo voy a comentar como realizar simulaciones mediante el programa gscheme (captura esquemática), ngspice (simulador) y gnuplot (visualización de la simulación).

Voy a hacer la simulación de ejemplo desde un entorno Linux. Los programas que he comentado también existen en otras plataformas como Windows.

Tenéis que tener instalados los programas gscheme, ngspice y gnuplot para que podáis realizar la simulación en concreto.

Primeramente actualizaremos la lista de repositorios:

sudo apt update

Y si es necesario el sistema:

sudo apt upgrade

Instalamos los programas necesarios como sigue a continuación:

sudo apt install gnuplot geda-gschem ngspice

Una vez instalados los tres programas, procederemos a dibujar el esquema:

Selección_013
Enlace a la imagen

Como podréis observar, tengo configurado el programa para que se vea con fondo blanco. Esta y otras cosas las dejaré en el tintero en este artículo. En otro posterior ya veremos como configurar estos programas. Lo mas importante ahora es el ver la simulación.

Como veis hay tres fuentes de tensión de cero voltios. Al final del artículo lo explico.

En el esquema se pueden ver también tres directivas, la última es un pequeño fichero en el que incluyo lo que quiero que se simule de forma automática si utilizo una macro de bash. No lo vamos a utilizar en este artículo, así que no es necesario que lo incluyáis.

He dedicado unos días a este artículo y he avanzado bastante. En esta entrada del blog empezare desde abajo, lo mas básico. Ya publicaré una revisión del artículo con estos avances.

La simulación necesita dos modelos para que funcione: El modelo del diodo y el modelo del regulador. En el menú del blog, veréis una opción que pone “Hojas técnicas”. De allí podréis descargar los modelos. Si usáis Linux, tened cuidado con las mayúsculas y las minúsculas.

En fin; una vez dibujado el esquema, necesitamos generar el netlist (listado de nodos). Ejecutamos desde una terminal:

gnetlist -g spice-sdb -o circuito.cir circuito.sch

Se nos generará un fichero “circuito.cir” en nuestro directorio donde este el esquema.

La salida por la terminal será como la que sigue:

josemari@mazinger: ~-Escritorio-ngspice-circuito_014
Enlace a la imagen

Lo que tenemos que hacer a continuación es entrar el simulador proporcionándole el nombre del circuito de nodos como parámetro:

ngspice circuito.cir

Nos aparecerá una ventana como la siguiente:

ngspice circuito.cir_015
Enlace a la imagen

Ahora vamos a realizar una simulación del transitorio. Le pedimos que simule hasta 100 mili segundos con un paso de 100 micro segundos  (1000 puntos).

Tecleamos lo siguiente:

tran 100u 100m

Y después, tecleamos lo siguiente:

plot v(input) v(output)

Aparecerá una ventana como la siguiente:

tran1: - gnetlist -g spice-sdb -o circuito.cir circuito.sch_017
Enlace a la imagen

Este ploteado no es demasiado práctico, así que utilizaremos gnuplot para poder realizarlo:

Tecleamos lo siguiente:

gnuplot circuito v(input) v(output)

Obteniendo la siguiente ventana:

Gnuplot_019
Enlace a la imagen

Gnuplot es un programa que necesitaría por si solo un artículo dedicado a el.

Vamos a mirar la corriente en los diodos:

Gnuplot_020
Enlace a la imagen

Ngspice no tiene sondas de corriente, así que se hace un truco con fuentes de tensión de cero voltios, y luego se mira la corriente a través de ellas. El comando para obtener la anterior gráfica es el siguiente:

gnuplot corriente i(v2) i(v3)

Y de momento no voy a añadir mas información en este artículo, ya que hay demasiada información pendiente de publicar y lo haré haciendo poco a poco.

Os adelanto que tengo en mente añadir artículos sobre:

  • gnuplot
  • gspiceui
  • gaw
  • Octave
  • Rstudio

Todos estos programas pueden interactuar con ngspice.

Nada mas de momento, un cordial saludo.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s