Diferencia entre revisiones de «Simulación de circuitos»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
Sin resumen de edición |
||
| (No se muestran 10 ediciones intermedias de 2 usuarios) | |||
| Línea 1: | Línea 1: | ||
= Circuitos básicos = | |||
== Doble resistor, medición entre resistores y tierra == | |||
===resistor_dc.cir=== | |||
<pre> | |||
.title Resistor DC | |||
v1 1 0 10 | |||
r1 1 2 1k | |||
r2 2 0 1k | |||
.control | |||
op | |||
print v(1, 2) | |||
print v(2) | |||
.endc | |||
.end | |||
</pre> | |||
== Diodo, medición entre diodo y tierra == | |||
===1n4148.lib=== | |||
<pre>.model 1n4148 D(IS=2.5n N=1.9 BV=100 RS=1)</pre> | |||
===diodo.cir=== | |||
<pre> | |||
.title Diodo DC | |||
.include 1n4148.lib | |||
v1 1 0 10 | |||
r1 1 2 1k | |||
d1 2 0 1n4148 | |||
.control | |||
op | |||
print v(1, 2) | |||
print v(2) | |||
.endc | |||
.end | |||
</pre> | |||
= Caja de ritmos = | |||
__NOTOC__ | |||
Podemos simular el sonido de la clave de la caja de ritmos | |||
[https://es.wikipedia.org/wiki/Roland_TR-808 Roland TR-808]. | |||
Aquí está el esquematico del generador de sonido de clave: | |||
<gallery> | |||
Tr808_clave.png | |||
</gallery> | |||
Las ecuaciones de diseño se muestran aquí: | |||
<gallery> | |||
Tr-808 bridged t.png | |||
</gallery> | |||
=Archivo de Entrada SPICE (tr808_clave.cir)= | =Archivo de Entrada SPICE (tr808_clave.cir)= | ||
<pre> | <pre> | ||
| Línea 6: | Línea 65: | ||
v0 opampout out 0 | v0 opampout out 0 | ||
r1 inv out | r1 inv out 1.5meg | ||
r2 3 0 | r2 3 0 100 | ||
c1 inv 3 | c1 inv 3 47n | ||
c2 3 out | c2 3 out 47n | ||
x1 ninv inv cc ee opampout TL072 | x1 ninv inv cc ee opampout TL072 | ||
| Línea 16: | Línea 75: | ||
vee ee 0 -15 | vee ee 0 -15 | ||
v1 ninv 0 PULSE(0 10m 1u 0 0 100u 0.25) | v1 ninv 0 dc 0 ac 1 PULSE(0 10m 1u 0 0 100u 0.25) | ||
.control | .control | ||
tran | tran 10us 200ms | ||
wrdata outputfile v(out) | wrdata outputfile v(out) | ||
.endc | .endc | ||
| Línea 71: | Línea 130: | ||
.ENDS | .ENDS | ||
</pre> | </pre> | ||
=Ngspice Manual= | |||
* https://ngspice.sourceforge.io/docs/ngspice-html-manual/manual.xhtml | |||
=Para Ejecutar la Simulación= | =Para Ejecutar la Simulación= | ||
| Línea 106: | Línea 169: | ||
El resultado:<br> | El resultado:<br> | ||
[[Archivo:Clave outputfile.wav]] | [[Archivo:Clave outputfile.wav]] | ||
==2N3904.lib== | |||
<pre> | |||
.model 2N3904 NPN(Is=6.734f Xti=3 Eg=1.11 Vaf=74.03 Bf=416.4 Ne=1.259 | |||
+ Ise=6.734f Ikf=66.78m Xtb=1.5 Br=.7371 Nc=2 Isc=0 Ikr=0 Rc=1 | |||
+ Cjc=3.638p Mjc=.3085 Vjc=.75 Fc=.5 Cje=4.493p Mje=.2593 Vje=.75 | |||
+ Tr=239.5n Tf=301.2p Itf=.4 Vtf=4 Xtf=2 Rb=10) | |||
</pre> | |||
=Transistor Transient (Respuesta transitoria)= | |||
<pre> | |||
.title transistor tran | |||
.include 2n3904.lib | |||
v1 1 0 10 | |||
q1 collector base emitter 2n3904 | |||
r1 1 collector 1k | |||
r2 1 base 220k | |||
r3 emitter 0 100 | |||
v2 2 0 ac 1 sin 0 .1 1000 | |||
c1 2 base 1u | |||
.control | |||
tran 1u 3m | |||
run | |||
.endc | |||
.end | |||
</pre> | |||
=Oscilador de cambio de fase= | |||
<pre> | |||
.title oscilador de cambio de fase | |||
.include 2n3904.lib // C B E | |||
.param cc = "4.7u" | |||
.param rc = "1k" | |||
v1 vcc 0 5 | |||
q1 q1c q1b 0 2n3904 | |||
r1 q1c vcc {rc} | |||
c1 q1c 0 {cc} | |||
q2 q2c q2b 0 2n3904 | |||
r2 q2c vcc {rc} | |||
c2 q2c 0 {cc} | |||
q3 q3c q3b 0 2n3904 | |||
r3 q3c vcc {rc} | |||
c3 q3c 0 {cc} | |||
r4 q1c q2b 1 | |||
r5 q2c q3b 1 | |||
r6 q3c q1b 1 | |||
.tran 1u 100m | |||
.control | |||
run | |||
plot v(q1c) xlimit 0 30m | |||
spec 1 2k 10 v(q1c) | |||
plot mag(v(q1c)) | |||
.endc | |||
.end | |||
</pre> | |||
Revisión actual - 16:37 9 ago 2026
Circuitos básicos
Doble resistor, medición entre resistores y tierra
resistor_dc.cir
.title Resistor DC v1 1 0 10 r1 1 2 1k r2 2 0 1k .control op print v(1, 2) print v(2) .endc .end
Diodo, medición entre diodo y tierra
1n4148.lib
.model 1n4148 D(IS=2.5n N=1.9 BV=100 RS=1)
diodo.cir
.title Diodo DC .include 1n4148.lib v1 1 0 10 r1 1 2 1k d1 2 0 1n4148 .control op print v(1, 2) print v(2) .endc .end
Caja de ritmos
Podemos simular el sonido de la clave de la caja de ritmos Roland TR-808.
Aquí está el esquematico del generador de sonido de clave:
Las ecuaciones de diseño se muestran aquí:
Archivo de Entrada SPICE (tr808_clave.cir)
.title Roland TR-808 Clave .include TL072.mod v0 opampout out 0 r1 inv out 1.5meg r2 3 0 100 c1 inv 3 47n c2 3 out 47n x1 ninv inv cc ee opampout TL072 vcc cc 0 15 vee ee 0 -15 v1 ninv 0 dc 0 ac 1 PULSE(0 10m 1u 0 0 100u 0.25) .control tran 10us 200ms wrdata outputfile v(out) .endc .end
TL072.mod
* TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT * CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08 * (REV N/A) SUPPLY VOLTAGE: +/-15V * CONNECTIONS: NON-INVERTING INPUT * | INVERTING INPUT * | | POSITIVE POWER SUPPLY * | | | NEGATIVE POWER SUPPLY * | | | | OUTPUT * | | | | | .SUBCKT TL072 1 2 3 4 5 * C1 11 12 3.498E-12 C2 6 7 15.00E-12 DC 5 53 DX DE 54 5 DX DLP 90 91 DX DLN 92 90 DX DP 4 3 DX EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5 FB 7 99 POLY(5) VB VC VE VLP VLN 0 4.715E6 -5E6 5E6 5E6 -5E6 GA 6 0 11 12 282.8E-6 GCM 0 6 10 99 8.942E-9 ISS 3 10 DC 195.0E-6 HLIM 90 0 VLIM 1K J1 11 2 10 JX J2 12 1 10 JX R2 6 9 100.0E3 RD1 4 11 3.536E3 RD2 4 12 3.536E3 RO1 8 5 150 RO2 7 99 150 RP 3 4 2.143E3 RSS 10 99 1.026E6 VB 9 0 DC 0 VC 3 53 DC 2.200 VE 54 4 DC 2.200 VLIM 7 8 DC 0 VLP 91 0 DC 25 VLN 0 92 DC 25 .MODEL DX D(IS=800.0E-18) .MODEL JX PJF(IS=15.00E-12 BETA=270.1E-6 VTO=-1) .ENDS
Ngspice Manual
Para Ejecutar la Simulación
- instalar ngspice
- crea un directorio para los archivos de simulación
- crea TL072.mod en ese directorio
- crea tr808_clave.cir en ese directorio
- ejecutar la simulación
ngspice -b tr808_clave.cir
Para ver el resultado de la simulación
Usando GNU Plotutils:
graph -T ps -f 0.04 outputfile > outputfile.ps ps2pdf outputfile.ps open outputfile.pdf
El resultado:
Para escuchar el resultado de simulación
Podés usar Spice Audio Tools para convertir el outputfile a un archivo de formato .wav.
python spicetowav.py outputile outputfile.wav
El resultado:
2N3904.lib
.model 2N3904 NPN(Is=6.734f Xti=3 Eg=1.11 Vaf=74.03 Bf=416.4 Ne=1.259 + Ise=6.734f Ikf=66.78m Xtb=1.5 Br=.7371 Nc=2 Isc=0 Ikr=0 Rc=1 + Cjc=3.638p Mjc=.3085 Vjc=.75 Fc=.5 Cje=4.493p Mje=.2593 Vje=.75 + Tr=239.5n Tf=301.2p Itf=.4 Vtf=4 Xtf=2 Rb=10)
Transistor Transient (Respuesta transitoria)
.title transistor tran .include 2n3904.lib v1 1 0 10 q1 collector base emitter 2n3904 r1 1 collector 1k r2 1 base 220k r3 emitter 0 100 v2 2 0 ac 1 sin 0 .1 1000 c1 2 base 1u .control tran 1u 3m run .endc .end
Oscilador de cambio de fase
.title oscilador de cambio de fase
.include 2n3904.lib // C B E
.param cc = "4.7u"
.param rc = "1k"
v1 vcc 0 5
q1 q1c q1b 0 2n3904
r1 q1c vcc {rc}
c1 q1c 0 {cc}
q2 q2c q2b 0 2n3904
r2 q2c vcc {rc}
c2 q2c 0 {cc}
q3 q3c q3b 0 2n3904
r3 q3c vcc {rc}
c3 q3c 0 {cc}
r4 q1c q2b 1
r5 q2c q3b 1
r6 q3c q1b 1
.tran 1u 100m
.control
run
plot v(q1c) xlimit 0 30m
spec 1 2k 10 v(q1c)
plot mag(v(q1c))
.endc
.end