Handmades

Fórum Geral => Softwares => Tópico iniciado por: xformer em 18 de Maio de 2024, as 14:38:07



Título: Programa para calcular Choke de filtro
Enviado por: xformer em 18 de Maio de 2024, as 14:38:07
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.

Spoiler (clique para mostrar ou esconder)

Listagem do programa:

Citar

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")



SimplePortal 2.3.3 © 2008-2010, SimplePortal