@loudnoises (y @Dorian, mientras escribía) tiene razón, así que sólo añadiré algunas cosas más: Los NMOS en LTspice suelen tener un diodo de cuerpo, a no ser que sea un MOS monolítico (que no tienes). Además, el uso de fuentes de comportamiento es bonito y práctico, pero el if()
trae discontinuidades no deseadas en el solucionador, lo que obliga a que la derivada en ese punto sea un problema, numéricamente hablando.
Parece que sólo necesitas un comparador, así que es más seguro usar los propios dispositivos A de LTspice, que son aptos para esta tarea. Por cierto, ese retardo no hace lo que quieres, retrasa, pero hasta que aparezca la forma de onda tendrá el valor de DC; lo que probablemente querías era SINE(0 5 50 0 0 180)
o una simple inversión de fase con una fuente E. Además, como sólo te interesa una simulación, los MOSFETs pueden ser sustituidos por los interruptores de tiempo ( SW
). Mirando tu foto, estás conduciendo los MOSFETs directamente referidos a tierra, pero los de alta necesitan un cambiador de nivel. Los interruptores evitan este problema.
Aquí hay una versión revisada:
A1
es el comparador con salidas complementarias, A2
junto con A3
y A4
crear el tiempo muerto (especificado a través del .param dt=<value>
), y he puesto la tensión de conducción 1,01 para que se represente mejor en la ventana de forma de onda.
Y aquí está el contenido del .asc
(copiar y guardar como .asc
archivo, no .asc.txt
):
Version 4
SHEET 1 1236 680
WIRE 496 -32 432 -32
WIRE 768 -32 496 -32
WIRE 832 -32 768 -32
WIRE 976 -32 832 -32
WIRE 432 0 432 -32
WIRE 496 0 496 -32
WIRE 768 0 768 -32
WIRE 832 0 832 -32
WIRE 96 16 -96 16
WIRE 192 16 160 16
WIRE -304 48 -384 48
WIRE -176 48 -304 48
WIRE -96 48 -96 16
WIRE -96 48 -112 48
WIRE -80 48 -96 48
WIRE 96 48 -16 48
WIRE 976 64 976 -32
WIRE -272 80 -288 80
WIRE -176 80 -272 80
WIRE -96 80 -112 80
WIRE 16 80 -16 80
WIRE 16 96 16 80
WIRE 96 96 16 96
WIRE 192 96 160 96
WIRE 432 96 432 80
WIRE 496 96 496 64
WIRE 496 96 432 96
WIRE 768 96 768 64
WIRE 832 96 832 80
WIRE 832 96 768 96
WIRE -288 128 -288 80
WIRE -96 128 -96 80
WIRE 96 128 -96 128
WIRE 432 144 432 96
WIRE 480 144 432 144
WIRE 592 144 560 144
WIRE 608 144 592 144
WIRE 736 144 688 144
WIRE 832 144 832 96
WIRE 832 144 736 144
WIRE 432 192 432 144
WIRE 496 192 432 192
WIRE 832 192 832 144
WIRE 832 192 768 192
WIRE 432 208 432 192
WIRE 832 208 832 192
WIRE 496 224 496 192
WIRE 592 224 592 144
WIRE 624 224 592 224
WIRE 736 224 736 144
WIRE 736 224 688 224
WIRE 768 224 768 192
WIRE 432 320 432 288
WIRE 496 320 496 288
WIRE 496 320 432 320
WIRE 768 320 768 288
WIRE 832 320 832 288
WIRE 832 320 768 320
WIRE 432 352 432 320
WIRE 608 352 432 352
WIRE 832 352 832 320
WIRE 832 352 608 352
WIRE 976 352 976 144
WIRE 976 352 832 352
FLAG -384 128 0
FLAG -288 208 0
FLAG 192 16 A
FLAG -304 48 Vcon1
FLAG -272 80 tri
FLAG 384 64 0
FLAG 384 272 0
FLAG 384 16 A
FLAG 384 224 _A
FLAG 880 64 0
FLAG 880 272 0
FLAG 880 224 A
FLAG 880 16 _A
FLAG 608 352 0
FLAG 192 96 _A
SYMBOL Digital\\diffschmitt -176 0 R0
WINDOW 3 -7 -16 Left 2
SYMATTR InstName A1
SYMATTR Value vt=0 vh=0 Vhigh={VH}
SYMBOL voltage -384 32 R0
WINDOW 3 26 80 Left 2
SYMATTR InstName V1
SYMATTR Value sin 0 4.5 50
SYMBOL voltage -288 112 R0
SYMATTR InstName V2
SYMATTR Value pulse -5 5 0 16u 16u 0 32u
SYMBOL Digital\\and -48 0 R0
WINDOW 3 -40 114 Left 2
SYMATTR InstName A2
SYMATTR Value td={dt} Vhigh={VH}
SYMBOL Digital\\and 128 -32 R0
WINDOW 3 -1 1 Left 2
SYMATTR InstName A3
SYMATTR Value tripdt=10n Vhigh={VH}
SYMBOL voltage 976 48 R0
WINDOW 3 28 100 Left 2
SYMATTR InstName V3
SYMATTR Value 10 rser=10m Cpar=10u
SYMBOL sw 432 96 M180
SYMATTR InstName S1
SYMBOL sw 432 304 M180
SYMATTR InstName S2
SYMBOL sw 832 96 R180
SYMATTR InstName S3
SYMBOL sw 832 304 R180
SYMATTR InstName S4
SYMBOL ind 464 160 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 5 56 VBottom 2
SYMATTR InstName L1
SYMATTR Value 500u
SYMBOL cap 688 208 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C1
SYMATTR Value 50u Rser=10m
SYMBOL res 592 160 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Rout1
SYMATTR Value 5
SYMBOL diode 480 64 M180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D1
SYMBOL diode 784 64 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D2
SYMBOL diode 480 288 M180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D3
SYMBOL diode 784 288 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D4
SYMBOL Digital\\and 128 48 R0
WINDOW 3 -31 117 Left 2
SYMATTR InstName A4
SYMATTR Value tripdt=10n Vhigh={VH}
TEXT 80 288 Left 2 !.tran 20m
TEXT -352 320 Left 2 !.model sw sw ron=10m roff=10meg vt=0.5 vh=-0.5\n.model d d ron=10m roff=10meg vfwd=0.5 epsilon=50m revepsilon=10m
TEXT 88 256 Left 2 !.param dt=1u VH=1.01
Tu esquema probablemente quiera ser una modulación de tres niveles, pero la forma en que lo hiciste quemaría los interruptores de potencia. Lo he modificado un poco, eres bienvenido a modificarlo, tú mismo, a tu gusto.
Para no irme con bromas, aquí está la versión de tres niveles:
y aquí está el .asc
archivo:
Version 4
SHEET 1 1280 680
WIRE 496 -32 432 -32
WIRE 768 -32 496 -32
WIRE 832 -32 768 -32
WIRE 976 -32 832 -32
WIRE 432 0 432 -32
WIRE 496 0 496 -32
WIRE 768 0 768 -32
WIRE 832 0 832 -32
WIRE 96 16 -96 16
WIRE 192 16 160 16
WIRE -336 48 -384 48
WIRE -304 48 -336 48
WIRE -176 48 -304 48
WIRE -96 48 -96 16
WIRE -96 48 -112 48
WIRE -80 48 -96 48
WIRE 96 48 -16 48
WIRE 976 64 976 -32
WIRE -272 80 -288 80
WIRE -208 80 -272 80
WIRE -176 80 -208 80
WIRE -96 80 -112 80
WIRE 16 80 -16 80
WIRE 16 96 16 80
WIRE 96 96 16 96
WIRE 192 96 160 96
WIRE 432 96 432 80
WIRE 496 96 496 64
WIRE 496 96 432 96
WIRE 768 96 768 64
WIRE 832 96 832 80
WIRE 832 96 768 96
WIRE -288 128 -288 80
WIRE -96 128 -96 80
WIRE 96 128 -96 128
WIRE 432 144 432 96
WIRE 464 144 432 144
WIRE 480 144 464 144
WIRE 592 144 560 144
WIRE 608 144 592 144
WIRE 736 144 688 144
WIRE 784 144 736 144
WIRE 832 144 832 96
WIRE 832 144 784 144
WIRE 432 192 432 144
WIRE 496 192 432 192
WIRE 832 192 832 144
WIRE 832 192 768 192
WIRE 432 208 432 192
WIRE 832 208 832 192
WIRE 496 224 496 192
WIRE 592 224 592 144
WIRE 624 224 592 224
WIRE 736 224 736 144
WIRE 736 224 688 224
WIRE 768 224 768 192
WIRE 96 240 -96 240
WIRE 192 240 160 240
WIRE -176 272 -288 272
WIRE -96 272 -96 240
WIRE -96 272 -112 272
WIRE -80 272 -96 272
WIRE 96 272 -16 272
WIRE -336 288 -336 48
WIRE -208 304 -208 80
WIRE -176 304 -208 304
WIRE -96 304 -112 304
WIRE 16 304 -16 304
WIRE 16 320 16 304
WIRE 96 320 16 320
WIRE 192 320 160 320
WIRE 432 320 432 288
WIRE 496 320 496 288
WIRE 496 320 432 320
WIRE 768 320 768 288
WIRE 832 320 832 288
WIRE 832 320 768 320
WIRE -96 352 -96 304
WIRE 96 352 -96 352
WIRE 432 352 432 320
WIRE 608 352 432 352
WIRE 832 352 832 320
WIRE 832 352 608 352
WIRE 976 352 976 144
WIRE 976 352 832 352
FLAG -384 128 0
FLAG -288 208 0
FLAG 192 16 A
FLAG -304 48 Vcon1
FLAG -272 80 tri
FLAG 384 64 0
FLAG 384 272 0
FLAG 384 16 A
FLAG 384 224 _A
FLAG 880 64 0
FLAG 880 272 0
FLAG 880 224 _B
FLAG 880 16 B
FLAG 608 352 0
FLAG -288 352 0
FLAG -336 336 0
FLAG 192 96 _A
FLAG 192 240 B
FLAG 192 320 _B
FLAG 464 144 x
FLAG 784 144 y
SYMBOL Digital\\diffschmitt -176 0 R0
WINDOW 3 -7 -16 Left 2
SYMATTR InstName A1
SYMATTR Value vt=0 vh=0 Vhigh={VH}
SYMBOL voltage -384 32 R0
WINDOW 3 26 80 Left 2
SYMATTR InstName V1
SYMATTR Value sin 0 4.5 50
SYMBOL voltage -288 112 R0
WINDOW 3 33 36 Left 2
SYMATTR InstName V2
SYMATTR Value pulse -5 5 0 16u 16u 0 32u
SYMBOL Digital\\and -48 0 R0
WINDOW 3 -40 114 Left 2
SYMATTR InstName A2
SYMATTR Value td={dt} Vhigh={VH}
SYMBOL Digital\\and 128 -32 R0
WINDOW 3 -1 1 Left 2
SYMATTR InstName A3
SYMATTR Value tripdt=10n Vhigh={VH}
SYMBOL voltage 976 48 R0
WINDOW 3 28 100 Left 2
SYMATTR InstName V3
SYMATTR Value 10 rser=10m Cpar=10u
SYMBOL sw 432 96 M180
SYMATTR InstName S1
SYMBOL sw 432 304 M180
SYMATTR InstName S2
SYMBOL sw 832 96 R180
SYMATTR InstName S3
SYMBOL sw 832 304 R180
SYMATTR InstName S4
SYMBOL ind 464 160 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 5 56 VBottom 2
SYMATTR InstName L1
SYMATTR Value 500u
SYMBOL cap 688 208 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C1
SYMATTR Value 50u Rser=10m
SYMBOL res 592 160 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Rout1
SYMATTR Value 5
SYMBOL diode 480 64 M180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D1
SYMBOL diode 784 64 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D2
SYMBOL diode 480 288 M180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D3
SYMBOL diode 784 288 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D4
SYMBOL Digital\\and 128 48 R0
WINDOW 3 -31 117 Left 2
SYMATTR InstName A4
SYMATTR Value tripdt=10n Vhigh={VH}
SYMBOL e -288 256 R0
SYMATTR InstName E1
SYMATTR Value -1
SYMBOL Digital\\diffschmitt -176 224 R0
WINDOW 3 -4 -11 Left 2
SYMATTR InstName A5
SYMATTR Value vt=0 vh=0 Vhigh={VH}
SYMBOL Digital\\and -48 224 R0
WINDOW 3 -40 114 Left 2
SYMATTR InstName A6
SYMATTR Value td={dt} Vhigh={VH}
SYMBOL Digital\\and 128 192 R0
WINDOW 3 -1 1 Left 2
SYMATTR InstName A7
SYMATTR Value tripdt=10n Vhigh={VH}
SYMBOL Digital\\and 128 272 R0
WINDOW 3 -31 117 Left 2
SYMATTR InstName A8
SYMATTR Value tripdt=10n Vhigh={VH}
TEXT 1040 288 Left 2 !.tran 20m
TEXT 480 400 Left 2 !.model sw sw ron=10m roff=10meg vt=0.5 vh=-0.5\n.model d d ron=10m roff=10meg vfwd=0.5 epsilon=50m revepsilon=10m
TEXT 1048 256 Left 2 !.param dt=1u VH=1.01
0 votos
Responderé, pero primero tengo que saber algo: ¿esto es solo una prueba, es decir, solo para simulación, para ver formas de onda, o será un esquema completo en funcionamiento?
0 votos
Esto es solo para simular que no lo voy a construir.
0 votos
¿Qué tal si agregas una resistencia de 1 Mega ohmio desde el ánodo D1 a tierra y lo mismo para D3? Conecta a tierra A1 y A2.
0 votos
@user16307 Como guía general, si solo quieres ver cierto comportamiento, utiliza un enfoque conductual, idealista:
SW
en lugar de MOS, A-dispositivos en lugar de comparadores, o cualquier cosa relacionada con la lógica, ideal.modelo
de diodos con adecuadoepsilon
yrevepsilon
pueden ser muy útiles, ... y no olvides que las fuentes de voltaje tienen resistencia interna cero, por lo que un capacitor en paralelo no hace nada, a menos que se agregue algo de resistencia en serie, pero luego puedes especificarlo en la fuente,Rser, Cpar
, lo cual también lo transforma, internamente, en una fuente de corriente, lo que lo hace amigable al convergente (ver manual paraV
).