* Z:\home\khalils\Downloads\files\data\raw_asc\af16b2b1fe85_Motoring_w_Rectifier.asc
* Generated by LTspice 26.0.1 for Windows.
* LTspice is angry when there is a floating net.
* LTspice is angry when there is a floating net.
* DC Machine Model
* to which driver is connected
* DC Machine Model
* which is coupled to the other
* PWM is adjusted by comparing pulses with\na triangular wave, then applied to the gate.
* Recycle Bin
* Chopper + H-Bridge
* Gate Driver
* Controller
* Rectifier
M1 N007 V_G1 HB+ HB+ IXTH88N30P
LMotor_inductance1 Va_Motor+ N004 {L_motor}
D2 N011 N007 RFUH20TJ6S
V_GS3 V_G3 HB- 0
RMotor_resistance1 N004 N010 {R_motor}
RFriction N005 N012 {R_loss}
V_ref_2 ref2 0 PULSE(10 10 50m 1n 1n 1000)
BV_drive_2 out2 0 V{if(V(tri)<V(ref2),0,10)}
R_GND1 Speed_couple- 0 100Meg
Va_Motor NC_09 NC_10 PULSE(0 320 10m 20m 0 1000)
D3 V_S4 N011 RFUH20TJ6S
M2 HB+ V_G2 V_S4 V_S4 IXTH88N30P
VSense_wm N012 Speed_couple- 0
R_chop N007 N015 26
BV_drive_1 out1 0 V{if(V(tri)<V(ref1),10,0)}
VSense_Ia1 N017 Va_Motor- 0
C_Rect N007 V_S4 470m
Back_emf1 NC_07 NC_08 V=200*K_emf
Back_emf_mot N010 N017 V=I(Sense_wm1)*K_emf
LInertia_constant N001 N005 {L_inertia}
M5 N015 V_G5 V_S4 V_S4 IXTH88N30P
BV_torque1 N002 Speed_couple- V=I(Sense_Ia1)*K_t
V_triangle tri 0 PULSE(0 10 0 0.025m 0.025m 1n 0.05m)
D6 V_S4 N014 RFUH20TJ6S
V_ref_1 ref1 0 PULSE(9.5 9.5 50m 1n 1n 1000)
M3 N007 V_G3 HB- HB- IXTH88N30P
RMotor_resistance N003 N009 {R_motor}
R_GND2 Speed_couple+ 0 100Meg
BV_drive_5 out5 0 V{if(V(tri)<V(ref5),10,0)}
V_AC_a N008 0 SINE(0 110 50)
M4 HB- V_G4 V_S4 V_S4 IXTH88N30P
D1 N008 N007 RFUH20TJ6S
V1 NC_03 NC_04 PULSE(0 10 0 1p 1p 0.02866m 0.05m)
V_AC_b N011 0 SINE(0 110 50 0 0 120)
V_DC_CONST NC_05 NC_06 PWL(0 0 10m 320 40m 320 40.000001m 320 50m 320)
BV_GS2 V_G2 V_S4 V=V{out2}
V_AC_c N014 0 SINE(0 110 50 0 0 240)
LMotor_inductance HB+ N003 {L_motor}
RFriction1 N006 N013 {R_loss}
BV_GS1 V_G1 HB+ V=V{out1}
Back_emf_gen N009 N016 V=I(Sense_wm)*K_emf
BV_torque N001 Speed_couple+ V=I(Sense_Ia)*K_t
BV_GS5 V_G5 V_S4 V=0
VSense_Ia N016 HB- 0
LInertia_constant1 N002 N006 {L_inertia}
VSense_wm1 N013 Speed_couple+ 0
V2 NC_01 NC_02 PULSE(0 10 0.02866m 1p 1p 0.02134m 0.05m 400)
D4 V_S4 N008 RFUH20TJ6S
V_ref_5 ref5 0 PULSE(0 10 24m 10m 80m 1000)
D5 N014 N007 RFUH20TJ6S
V_GS4 V_G4 V_S4 0
R1 Va_Motor+ Va_Motor- 26
.model D D
.lib C:\users\khalils\AppData\Local\LTspice\lib\cmp\standard.dio
.model NMOS NMOS
.model PMOS PMOS
.lib C:\users\khalils\AppData\Local\LTspice\lib\cmp\standard.mos
.tran 0 200m 30m 0.005m
.PARAM K_t=0.2
.PARAM K_emf = 0.25
.PARAM L_motor = 1000u
.PARAM R_motor =1.2
.PARAM R_loss = 0.0001
.PARAM L_inertia =20u
.backanno
.end

* LTspice schematic (.asc):
Version 4
SHEET 1 4744 680
WIRE 304 -880 272 -880
WIRE 416 -880 384 -880
WIRE 768 -880 736 -880
WIRE 880 -880 848 -880
WIRE 304 -720 272 -720
WIRE 416 -720 384 -720
WIRE 768 -720 736 -720
WIRE 880 -720 848 -720
WIRE 672 -544 640 -544
WIRE 784 -544 752 -544
WIRE 2496 -400 2080 -400
WIRE 3728 -400 3312 -400
WIRE 1712 -368 1712 -416
WIRE 2080 -368 2080 -400
WIRE 2944 -368 2944 -416
WIRE 3312 -368 3312 -400
WIRE 2496 -352 2496 -400
WIRE 3728 -352 3728 -400
WIRE 1712 -240 1712 -288
WIRE 2944 -240 2944 -288
WIRE 2080 -208 2080 -288
WIRE 2112 -208 2080 -208
WIRE 3312 -192 3312 -288
WIRE 3344 -192 3312 -192
WIRE 2496 -176 2496 -272
WIRE 3728 -176 3728 -272
WIRE 4096 -160 4096 -208
WIRE 464 -128 224 -128
WIRE 688 -128 464 -128
WIRE 1104 -128 688 -128
WIRE -576 -96 -672 -96
WIRE -288 -96 -496 -96
WIRE 688 -96 688 -128
WIRE 1104 -96 1104 -128
WIRE 1712 -80 1712 -160
WIRE 2944 -80 2944 -160
WIRE 464 -64 464 -128
WIRE -96 -48 -208 -48
WIRE 16 -48 -96 -48
WIRE 96 -48 16 -48
WIRE 224 -48 224 -128
WIRE 224 -48 96 -48
WIRE 4096 -48 4096 -80
WIRE -208 -32 -208 -48
WIRE -96 -32 -96 -48
WIRE 16 -32 16 -48
WIRE 3344 -32 3312 -32
WIRE -640 16 -736 16
WIRE -400 16 -560 16
WIRE 2496 32 2496 -96
WIRE 3728 32 3728 -96
WIRE -288 48 -288 -96
WIRE -208 48 -208 32
WIRE -208 48 -288 48
WIRE 96 48 96 -48
WIRE 688 48 688 0
WIRE 688 48 672 48
WIRE 1104 48 1104 0
WIRE 1104 48 1088 48
WIRE -400 64 -400 16
WIRE -96 64 -96 32
WIRE -96 64 -400 64
WIRE 16 80 16 32
WIRE 16 80 -288 80
WIRE 464 80 464 16
WIRE 464 96 464 80
WIRE 688 96 688 48
WIRE 816 96 688 96
WIRE 1104 96 1104 48
WIRE 1104 96 976 96
WIRE 2112 96 2080 96
WIRE 1712 112 1712 0
WIRE 2944 112 2944 0
WIRE -704 128 -800 128
WIRE -288 128 -288 80
WIRE -288 128 -624 128
WIRE -208 144 -208 48
WIRE -96 144 -96 64
WIRE 16 144 16 80
WIRE 688 192 688 96
WIRE 1104 192 1104 96
WIRE 1712 208 1712 192
WIRE 2080 208 2080 96
WIRE 2224 208 2080 208
WIRE 2496 208 2496 112
WIRE 2496 208 2224 208
WIRE 2944 208 2944 192
WIRE 3312 208 3312 -32
WIRE 3456 208 3312 208
WIRE 3728 208 3728 112
WIRE 3728 208 3456 208
WIRE -208 224 -208 208
WIRE -96 224 -96 208
WIRE -96 224 -208 224
WIRE 16 224 16 208
WIRE 16 224 -96 224
WIRE 96 224 96 112
WIRE 96 224 16 224
WIRE 224 224 96 224
WIRE 464 224 464 176
WIRE 464 224 448 224
WIRE 688 304 688 288
WIRE 688 304 672 304
WIRE 1104 304 1104 288
WIRE 1104 304 1088 304
WIRE 224 320 224 224
WIRE 464 320 464 224
WIRE 464 320 224 320
WIRE 688 320 688 304
WIRE 688 320 464 320
WIRE 1104 320 1104 304
WIRE 1104 320 688 320
IOPIN 640 -16 In
IOPIN 640 272 In
IOPIN 1056 -16 In
IOPIN 1056 272 In
IOPIN 1088 48 In
IOPIN 672 48 In
IOPIN 672 304 In
IOPIN 1088 304 In
IOPIN 416 -880 Out
IOPIN 272 -880 Out
IOPIN 416 -720 Out
IOPIN 272 -720 Out
IOPIN 880 -880 Out
IOPIN 736 -880 Out
IOPIN 880 -720 Out
IOPIN 736 -720 Out
IOPIN 1712 -416 In
IOPIN 816 96 Out
IOPIN 976 96 Out
IOPIN 1712 208 In
IOPIN 416 160 In
IOPIN 448 224 In
IOPIN 784 -544 Out
IOPIN 640 -544 Out
IOPIN 2944 -416 In
IOPIN 2944 208 In
IOPIN 4096 -208 Out
IOPIN 4096 -48 Out
SYMBOL diode -192 208 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D4
SYMATTR Value RFUH20TJ6S
SYMBOL voltage -608 128 R90
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 0 -140 86 Left 2
WINDOW 3 -163 120 Left 2
SYMATTR InstName V_AC_c
SYMATTR Value SINE(0 110 50 0 0 240)
SYMBOL res 1696 -256 R0
SYMATTR InstName Motor_resistance
SYMATTR Value {R_motor}
SYMBOL nmos 640 -96 R0
SYMATTR InstName M1
SYMATTR Value IXTH88N30P
SYMBOL diode 32 32 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D5
SYMATTR Value RFUH20TJ6S
SYMBOL voltage 3280 -1200 R90
WINDOW 0 37 30 VLeft 2
WINDOW 3 -49 364 VLeft 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value PULSE(0 10 0 1p 1p 0.02866m 0.05m)
SYMBOL voltage 4352 -176 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName Va_Motor
SYMATTR Value PULSE(0 320 10m 20m 0 1000)
SYMBOL voltage -544 16 R90
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 0 -167 85 Left 2
WINDOW 3 -208 114 Left 2
SYMATTR InstName V_AC_b
SYMATTR Value SINE(0 110 50 0 0 120)
SYMBOL voltage 864 -880 R90
WINDOW 0 -56 90 VLeft 2
WINDOW 3 48 70 VLeft 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V_GS3
SYMATTR Value 0
SYMBOL voltage -1136 -800 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 3 -194 135 Left 2
SYMATTR Value PULSE(0 10 24m 10m 80m 1000)
SYMATTR InstName V_ref_5
SYMBOL voltage -1536 -784 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 3 -204 140 Left 2
SYMATTR Value PULSE(10 10 50m 1n 1n 1000)
SYMATTR InstName V_ref_2
SYMBOL ind 3712 -368 R0
SYMATTR InstName Inertia_constant1
SYMATTR Value {L_inertia}
SYMBOL voltage -1136 -1024 R0
WINDOW 3 -221 137 Left 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(0 10 0 0.025m 0.025m 1n 0.05m)
SYMATTR InstName V_triangle
SYMBOL voltage 1712 96 R0
SYMATTR InstName Sense_Ia
SYMATTR Value 0
SYMBOL res 3440 192 R0
SYMATTR InstName R_GND2
SYMATTR Value 100Meg
SYMBOL bv 3312 -384 R0
SYMATTR InstName V_torque1
SYMATTR Value V=I(Sense_Ia1)*K_t
SYMBOL bv 400 -720 R90
WINDOW 0 -32 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName V_GS2
SYMATTR Value V=V{out2}
SYMBOL res 2928 -256 R0
SYMATTR InstName Motor_resistance1
SYMATTR Value {R_motor}
SYMBOL voltage 3728 16 R0
SYMATTR InstName Sense_wm1
SYMATTR Value 0
SYMBOL bv -240 -576 R0
WINDOW 3 -138 143 Left 2
SYMATTR Value V{if(V(tri)<V(ref5),10,0)}
SYMATTR InstName V_drive_5
SYMBOL bv 2080 -384 R0
SYMATTR InstName V_torque
SYMATTR Value V=I(Sense_Ia)*K_t
SYMBOL res 4080 -176 R0
SYMATTR InstName R1
SYMATTR Value 26
SYMBOL nmos 640 192 R0
SYMATTR InstName M2
SYMATTR Value IXTH88N30P
SYMBOL cap 80 48 R0
SYMATTR InstName C_Rect
SYMATTR Value 470m
SYMBOL voltage 3280 -1056 R90
WINDOW 0 37 30 VLeft 2
WINDOW 3 -55 363 VLeft 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value PULSE(0 10 0.02866m 1p 1p 0.02134m 0.05m 400)
SYMBOL diode -80 32 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D2
SYMATTR Value RFUH20TJ6S
SYMBOL res 3712 -192 R0
SYMATTR InstName Friction1
SYMATTR Value {R_loss}
SYMBOL res 448 -80 R0
WINDOW 0 -97 43 Left 2
WINDOW 3 -71 69 Left 2
SYMATTR InstName R_chop
SYMATTR Value 26
SYMBOL diode 32 208 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D6
SYMATTR Value RFUH20TJ6S
SYMBOL res 2208 192 R0
SYMATTR InstName R_GND1
SYMATTR Value 100Meg
SYMBOL nmos 1056 192 R0
SYMATTR InstName M4
SYMATTR Value IXTH88N30P
SYMBOL voltage 2496 16 R0
SYMATTR InstName Sense_wm
SYMATTR Value 0
SYMBOL res 2480 -192 R0
SYMATTR InstName Friction
SYMATTR Value {R_loss}
SYMBOL nmos 1056 -96 R0
SYMATTR InstName M3
SYMATTR Value IXTH88N30P
SYMBOL bv 1712 -96 R0
SYMATTR InstName Back_emf_gen
SYMATTR Value V=I(Sense_wm)*K_emf
SYMBOL bv -240 -800 R0
WINDOW 3 -138 143 Left 2
SYMATTR Value V{if(V(tri)<V(ref2),0,10)}
SYMATTR InstName V_drive_2
SYMBOL ind 1696 -384 R0
SYMATTR InstName Motor_inductance
SYMATTR Value {L_motor}
SYMBOL bv 768 -544 R90
WINDOW 0 -32 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName V_GS5
SYMATTR Value V=0
SYMBOL nmos 416 80 R0
SYMATTR InstName M5
SYMATTR Value IXTH88N30P
SYMBOL ind 2928 -384 R0
SYMATTR InstName Motor_inductance1
SYMATTR Value {L_motor}
SYMBOL voltage -480 -96 R90
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 0 -147 73 Left 2
WINDOW 3 -207 103 Left 2
SYMATTR InstName V_AC_a
SYMATTR Value SINE(0 110 50)
SYMBOL diode -80 208 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D3
SYMATTR Value RFUH20TJ6S
SYMBOL voltage 864 -720 R90
WINDOW 0 -54 88 VLeft 2
WINDOW 3 51 70 VLeft 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V_GS4
SYMATTR Value 0
SYMBOL bv 400 -880 R90
WINDOW 0 -32 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName V_GS1
SYMATTR Value V=V{out1}
SYMBOL ind 2480 -368 R0
SYMATTR InstName Inertia_constant
SYMATTR Value {L_inertia}
SYMBOL diode -192 32 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Left 2
SYMATTR InstName D1
SYMATTR Value RFUH20TJ6S
SYMBOL voltage 2688 -1200 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 0 -169 9 Left 2
WINDOW 3 -345 136 Left 2
SYMATTR InstName V_DC_CONST
SYMATTR Value PWL(0 0 10m 320 40m 320 40.000001m 320 50m 320)
SYMBOL bv -240 -992 R0
WINDOW 3 -146 129 Left 2
SYMATTR Value V{if(V(tri)<V(ref1),10,0)}
SYMATTR InstName V_drive_1
SYMBOL voltage -1536 -1024 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 3 -208 129 Left 2
SYMATTR Value PULSE(9.5 9.5 50m 1n 1n 1000)
SYMATTR InstName V_ref_1
SYMBOL bv 2944 -96 R0
SYMATTR InstName Back_emf_mot
SYMATTR Value V=I(Sense_wm1)*K_emf
SYMBOL bv 2112 -1232 R0
SYMATTR InstName Back_emf1
SYMATTR Value V=200*K_emf
SYMBOL voltage 2944 96 R0
SYMATTR InstName Sense_Ia1
SYMATTR Value 0
FLAG 640 -16 V_G1
FLAG 640 272 V_G2
FLAG 1056 -16 V_G3
FLAG 1056 272 V_G4
FLAG 1088 48 V_S3
FLAG 672 48 V_S1
FLAG 672 304 V_S2
FLAG 1088 304 V_S4
FLAG 416 -880 V_G1
FLAG 272 -880 V_S1
FLAG 416 -720 V_G2
FLAG 272 -720 V_S2
FLAG 880 -880 V_G3
FLAG 736 -880 V_S3
FLAG 880 -720 V_G4
FLAG 736 -720 V_S4
FLAG 1712 -416 HB+
FLAG 816 96 HB+
FLAG 976 96 HB-
FLAG 1712 208 HB-
FLAG 416 160 V_G5
FLAG 448 224 V_S5
FLAG 784 -544 V_G5
FLAG 640 -544 V_S5
FLAG -1136 -928 0
FLAG -1536 -928 0
FLAG -1136 -1008 tri
FLAG -1536 -1008 ref1
FLAG -240 -896 0
FLAG -240 -976 out1
FLAG -240 -704 0
FLAG -240 -784 out2
FLAG -1536 -688 0
FLAG -1536 -768 ref2
FLAG -1136 -704 0
FLAG -1136 -784 ref5
FLAG 2224 288 0
FLAG 2944 -416 Va_Motor+
FLAG 2944 208 Va_Motor-
FLAG 3456 288 0
FLAG 4096 -208 Va_Motor+
FLAG 4096 -48 Va_Motor-
FLAG -240 -480 0
FLAG -240 -560 out5
FLAG 3344 -192 Speed_couple-
FLAG 3344 -32 Speed_couple+
FLAG 2112 -208 Speed_couple+
FLAG 2112 96 Speed_couple-
FLAG -672 -96 0
FLAG -736 16 0
FLAG -800 128 0
TEXT -344 360 Left 2 !.tran 0 200m 30m 0.005m
TEXT 2136 -104 Left 2 !.PARAM K_t=0.2\n.PARAM K_emf = 0.25\n.PARAM L_motor = 1000u\n.PARAM R_motor =1.2\n.PARAM R_loss = 0.0001\n.PARAM L_inertia =20u
TEXT 2184 336 Left 0 ;LTspice is angry when there is a floating net.
TEXT 3416 336 Left 0 ;LTspice is angry when there is a floating net.
TEXT 2000 -552 Left 5 ;DC Machine Model
TEXT 2096 -512 Left 2 ;to which driver is connected
TEXT 3272 -560 Left 5 ;DC Machine Model
TEXT 3392 -520 Left 2 ;which is coupled to the other
TEXT 240 -968 Left 0 ;PWM is adjusted by comparing pulses with\na triangular wave, then applied to the gate.
TEXT 2376 -1368 Left 5 ;Recycle Bin
TEXT 200 -264 Left 5 ;Chopper + H-Bridge
TEXT 72 -1088 Left 5 ;Gate Driver
TEXT -1472 -1128 Left 5 ;Controller
TEXT -336 -184 Left 5 ;Rectifier