Simulación de circuitos eléctricos y electrónicos

Este es un pequeño manual de cómo simular circuitos eléctricos y electrónicos con aplicaciones libres. No está completo, pero alguien tiene que empezar...

Opción A:
1) Dibújelo (en gschem) → 2) Conviérta el dibujo a una lista de nodos
y componentes (con gnetlist) → 3) Ejecute la simulación (con
gnucap) → 4) Visualice el resultado.

1) Dibújelo (en gschem)
a) Se pueden añadir componentes desde el menú Añadir o presionando
la letra «i».
- Aparece un menú para seleccionar componentes. Se puede buscar por
modelo.
- Una vez insertado, se puede presionar la tecla «s» para volver
al modo de selección o escogiendo Seleccionar desde el menú
Editar.
- Para conectar un componente, se puede usar la letra «n» en
alguna de sus terminales. Luego se mueve el cursor a otro lugar
y se oprime el ratón para terminar la conexión.

b) Las propiedades del componente se pueden editar tecleando dos
«e» (es decir doble «e» o «e» «e»), una vez que se haya
seleccionado el componente.
- Invariablemente, debe agregarse la propiedad "value". Para una
resistencia de 1 kiloohm, por ejemplo, se escribe 1k ó 1e3 (la
notación define kilo: 1e3 = 1000).
- **Sobre los circuitos integrados**: Los circuitos integrados
necesitan un modelo asociado cuando se genere la simulación
(gschem sólo ayuda a generar la lista de nodos que necesita
el simulador).
La propiedad value debe especificar el nombre de un archivo
con las especificaciones del circuito. Éstas deben ser
acordes al simulador (gschem no las interpreta).
Si el archivo se llama «CI0123.model» y se encuentra en
«/home/circuitos», su ruta sería
«/home/circuitos/CI0123.model». La propiedad "value" debe
definirse como «CI0123» solamente.
Además, debe insertarse una instrucción «include» (para
simular con gnucap, seleccione «gnucap-include.sym» como
componente).
c) Gschem se encarga de generar la numeración de los componentes y
nodos automáticamente.
- Presione las teclas «t» «u» o vaya al menú Propiedades →
Autonumerar texto. Si quiere numerar todo, asegúrese de que no
tiene ningún componente seleccionado en su diagrama. En el menú
que apareció para autonumerar, Ignore los objetos seleccionados
(ninguno) y autonumere texto en Jerarquía completa. Seleccione
la opción de Borrar los números. Indique de qué forma se hará
la numeración y de en aplicar.
d) Las instrucciones (comandos o directrices) de simulación (gnucap)
se insertan como un componente. Por ejemplo, «gnucap-include.sym» o
«gnucap-directive.sym».
- Para incluir la definición de un circuito integrado y simularlo
con gnucap, inserte «gnucap-include.sym» como componente. Abra
las propiedades del componente, y ponga la ruta completa (ver
inciso b arriba) en la propiedad de valor.
e) Es recomendable poner una directriz ("directive"") que produzca
un fichero con datos para graficar. De otro modo, el resultado se
imprime en pantalla solamente. Para eso, utilice los comandos
.print y .tran (un "directive" para cada uno).
- Ejemplo de directriz .print para una simulación transitoria
para reportar el voltaje del nodo 1:
.print tran v(1)
- Ejemplo de directriz .tran para una simulación transitoria que
abarque de 0 segundos a 3 milisegundos, con incrementos de 1
microsegundo:
.tran 0 3m 1u>datos-salida.dat
- Recuerde guardar sus cambios constantemente.

2) Conviérta el dibujo a una lista de nodos y componentes (con gnetlist)
- Si usted guardó su esquema como «circuito-1.sch», debe convertirlo
con:
gnetlist -g spice-sdb -O sort_mode -o «escoja nombre».net
«circuito-1.sch».
Es muy importante que tenga -g spice-sdb y -O sort_mode para que
los circuitos integrados y las directrices funcionen con gnucap.

3) El circuito puede simularse con gnucap -b «escoja nombre».net
- En caso de tener una directriz que produzca datos de salida (como
tran dc op ac, etc.), estos pueden guardarse en un fichero externo si
se agrega el símbolo > al final de la línea (vea inciso 1e)

4) Los datos pueden visualizarse con gnuplot o con gaw:
a) gnuplot (vea el manual de gnuplot). Por ejemplo, si se quieren
graficar las primeras dos variables de la simulación (un fichero),
la primera con una línea continua y la segunda con línea y
puntos:

plot '«fichero de salida de gnucap»' using 1:2 with lines title
'Volt (1)', '' using 1:3 with linespoints title 'Volt (R3)'

b) con gaw: abra gaw, pulse sobre uno de los (páneles) recuadros
negros a la derecha) y seleccione "File" → "Open". Escoja un
conjunto de datos.

Nota: el comando sweep de gnucap no funciona con la opción -b (como se
muestra en el inciso 3).

Opción B:
A veces es conveniente cambiar los parámetros de simulación con la
opción -b de gnucap. Ya que sweep no funciona en ese modo por el
momento, se puede preparar un fichero externo con las directrices de
simulación.
1) Dibújelo (en gschem) → 2) Conviérta el dibujo a una lista de nodos
y componentes (con gnetlist) → 3) Prepare un fichero externo para los
parámetros de simulación → 4) Ejecute la simulación (con gnucap) → 5)
Visualice el resultado

** Lea 1a, 1b, 1c, 2 **
3) Prepare un fichero externo para los parámetros de simulación
- Incluya los comandos que necesite. Por ejemplo, para mostrar los
valores de (1) voltaje de la resistencia R3, (2) de corriente de
la fuente de poder V1 y (3) de potencia de esa misma fuente en una
simulación transitoria que (1) empiece en el instante 0, (2) termine en 15
segundos, (3) con un incremento temporal de 1 ms:

.INCLUDE «fichero creado con gnetlist desde gschem»
* Comandos de simulación GNU-Cap
.OPTIONS NOPAGE
.PRINT TR V(R3) I(V1) P(V1)
.TR 0.00m 15.00 1.00m TE 27.00 > «fichero de salida 1»
.END

Si además se quiere modificar uno de los parámetros y guardarlos en
otro fichero:

.INCLUDE «fichero creado con gnetlist desde gschem»
* Comandos de simulación GNU-Cap
.OPTIONS NOPAGE
.PRINT TR V(R3) I(V1) P(V1)
.TR 0.00m 15.00 1.00m TE 27.00 > «fichero de salida 1»
.MODIFY R3=150k
.TR 0.00m 15.00 1.00m TE 27.00 > «fichero de salida 2»
.END

Después, se puede adaptar el paso 4 reemplazando la parte con dos
comillas simples ('') con el nombre del segundo fichero. Por ejemplo,
si «fichero de salida 1» es datos1.dat y «fichero de salida 2» es
datos2.dat:

plot 'datos1.dat' using 1:1 with lines title
'Volt (1)', 'datos2.dat' using 1:2 with linespoints title 'Volt (R3)'

Bibliografía:
LM555 and LM556 Timer Circuits: http://home.cogeco.ca/~rpaisley4/LM555.html
How to use Gaw: http://www.rvq.fr/linux/gawman.php
Simple NMOS Simulation with gEDA | Tower of Air: https://airtower.wordpress.com/2012/05/11/simple-nmos-simulation-with-geda/
Re: gEDA-user: Multivibrator Simulation: http://archives.seul.org/geda/user/Jun-2009/msg00529.html
GEDA and GnuCap for Beginners: http://www.johannes-bauer.com/electronics/gnucap/?menuid=2
The Gnu Circuit Analysis Package Users manual: http://www.gnu.org/software/gnucap/gnucap-man.pdf

Pendiente: Verdadero formato HTML, revisión de valores de resistencia entre astable-555.gschem.sch y astable-555.gschem.ckt, imágenes.

AdjuntoTamaño
projects.tar.gz183.82 KB

Revisiones

01/16/2016 - 06:20
elektro