repl.it
Python

No description

fork
loading
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#Menjate
#Parametri kola
#Ovde staviti izlazni napon baka
Vout=8#V
Vin=17#V
#Ovde staviti ucestanost na kojo svicuje bak 100kHz za pocetak
fsw=100000#kHz
#Ovde staviti max izlaznu struju iz bakova
#za izlazne znamo na ifec zadatku je data struja
#za ulzane racunajte oko 6
I0=4#A
#induktivnost proracunata nasim simulacijama
L=33e-06#uH
#Aktivna otpornost kalema koji nadjete na
#digikey 
#mouseru
DCR=8e-3#mOhm
#Flag koji skripti oznacava da li racunamo za multilevel ili ne 1 je da
multilevel=1
#Rds tranzistora
Ron=3.5*0.001#Ohm
#time rise za tranzistore
Tr=47/1000000000#ns
#time fall za tranzistore
Tf=3/1000000000#ns
#Irr za tranzistore
Irr=1#A
#trr ima u data sheetu
trr=37/1000000000#ns
#dead time kasnjenja u datasheet-u 
Tdr=10/1000000000#ns
Tdf=19/1000000000#ns
#napon body diode u datasheetu
Vd=1.1#V# Naso na sajt

#1.Kondukcioni/Gubici provodjenja


dIl=(Vin-Vout)*Vout/(fsw*L*Vin)

if multilevel==1:
  Pon=(I0*I0+dIl*dIl/12)*Ron*2
else:  
  Pon=(I0*I0+dIl*dIl/12)*Ron



#2.Switching loss

if multilevel==1:
  Pswh=0.5*Vin*I0*(Tr+Tf)*fsw*2
else:  
  Pswh=0.5*Vin*I0*(Tr+Tf)*fsw
#3.Reverse recovery

Pdiode=0.5*Vin*Irr*trr*fsw
#4.Dead time gubici
if multilevel==1:
  Pd=Vd*I0*(Tdf+Tdr)*fsw*2
else:  
  Pd=Vd*I0*(Tdf+Tdr)*fsw

Ptotal=Pd+Pswh+Pon+Pdiode
#5.Kondukcioni gubici u L
Pl=(I0*I0+dIl*dIl/12)*DCR
print("Gubici u tranzistoru:   "+str(Ptotal) )
print("Gubici u kalemu: "+str(Pl))