Com base neste artigo publicado na revista Antena, escrevi um programa em Python para calcular um indutor de choque para filtro de fonte de tensão. Assim temos a coleção completa para calcular transformadores para valvulados e o choque de filtro.
Listagem do programa:
import math
def lookupWire(area):
rc = -1
diametro = 2*(area/3.1415926535)**(1/2)
for AWG in range(40,0,-1):
Bitola = 0.005*92**((36-AWG)/39)*25.4
if diametro <= Bitola:
rc = AWG
break
return rc
# premissas
LI2 = [0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.125,0.15,0.175,0.2,0.25,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.5,2,2.5,3,3.5,4,5,5.5,6,7,8,9,10]
SEC = [1.8,2.3,2.8,3.1,3.5,4,4.5,4.8,5,5.5,6,7,8.8,9,10,13,15,16,18.8,19,21,23,30,38,42,48,52,58,60,65,72,82,90,100,110]
NI = [200,225,250,265,280,300,325,340,350,365,380,410,440,455,480,550,590,610,640,690,710,740,820,910,970,1050,1100,1150,1200,1250,1270,1350
,1450,1500,1550]
DC = 3.0
LX = float(input("Indutancia do Choke (H) ?"))
IDC = float(input("Corrente DC maxima em A ?"))
LXI2 = LX * IDC * IDC
for indice in range(0,34,1):
LI2N = LI2[indice]
if LI2N >= LXI2:
LXI2 = LI2N
break
NUCLEO = SEC[indice]
ESPIRAS = int( NI[indice]/IDC)
print("Secçao minima do nucleo: " + str(round(NUCLEO,2)) + "cm2 perna central de " + str(round(NUCLEO**(1/2),1))+"cm")
print("Numero de espiras: " + str(ESPIRAS))
Sp = IDC/DC
Bitolafio = lookupWire(Sp)
print("Bitola do fio: AWG" + str(Bitolafio))
COMPRIMENTO = 7 * (NUCLEO**(0.5))
ENTREFERRO = 0.03 * COMPRIMENTO / 2
print("GAP do nucleo:" + str(round(ENTREFERRO,3)) + " mm")