一:介绍Wheeler公式
计算空气芯多层线圈的电感量使用的Wheeler公式,现列举如下:
L=(7.87N2M2)/(3M+9B+10C)
这里N为缠绕圈数,M为平均直径,B为线圈长度,C为线圈径向厚度。M、B、C的单位为毫米(mm),L为电感量,单位为纳亨(nH)
二:python代码
Pythonimport math
def coil_calculate(N,wire_size,Paint,inner_Radius_mm,coil_length,Coil_material):
#输入 缠绕圈数,铜线直径,涂漆厚度,支架直径,线圈长度,材料选择(铜/铝)
Coil_material_dict={"Cu":[8920,5.8*1e+7],"Al":[2700,3.7*1e+7]} #线圈材料(密度,导电率)
Enameled_wire_size = wire_size+2*Paint*1e-3 #漆包线外径
q=int(coil_length/Enameled_wire_size) #q每层缠绕数
qend=N%q #未满的最后一层的缠绕数(p+1层)
p=int(N/q) #p满层层数
Length=0
D_layer=inner_Radius_mm - Enameled_wire_size
for layer in range(p): #循环计算每层直径,每层线长
D_layer=D_layer+2*Enameled_wire_size*1 #*0.96,0.96为层间交错导致的层间距修正系数
#Length=Length+(math.sqrt( (D_layer*math.pi)**2 + Enameled_wire_size**2 ))*q #累加计算线长
Length=Length+(math.pi*D_layer)*q
Length=Length+(math.pi*D_layer)*qend #计算导线长度 并对最后一层修正
#外径计算(单位 mm)
outer_Radius_mm = D_layer + (qend/q)*2*Enameled_wire_size*1 +Enameled_wire_size #计算外径 并对最后一层修正
#线圈电阻计算(单位 mohm)
Resistivity = (1 / (Coil_material_dict[Coil_material][1])) #Ω.m
Res_Metre = (Resistivity)/((1e-3*wire_size/2)**2*math.pi) #每米电阻 (欧)
Res_mohm=(Length/1000)*Res_Metre*1e+3 #总电阻=每米电阻×线长 (单位毫欧)
#线圈重量计算(单位 g)
Coil_Weigh_g=(Length/10)*((wire_size/20)**2*math.pi)*Coil_material_dict[Coil_material][0]*1e-3
#根据Wheeler公式 计算电感量(单位 uH)
M=(inner_Radius_mm+outer_Radius_mm)/2 #线圈平均直径
B=coil_length #线圈长度
C=(outer_Radius_mm-inner_Radius_mm)/2 #线圈径向长度
L_uh=1e-3*(7.87*N**2*M**2)/(3*M+9*B+10*C)
#线圈时间常数计算(单位 us)
coil_time_us=1000*L_uh/Res_mohm
#输出 每层缠绕数,满层的层数,未满层的缠绕数,外径,线圈阻抗,电感,线圈重量,时间常数
return q,p,qend,outer_Radius_mm,Res_mohm,L_uh,Coil_Weigh_g,coil_time_us
temp_str=input("缠绕圈数,铜线直径,支架直径,线圈长度。 长度单位均为mm,英文逗号隔开 \n如:320,0.7,8,30\n\n\n请输入:")
N=float(temp_str.split(",",5)[0])
wire_size=float(temp_str.split(",",5)[1])
inner_Radius_mm=float(temp_str.split(",",5)[2])
coil_length=float(temp_str.split(",",5)[3])
q,p,qend,outer_Radius_mm,Res_mohm,L_uh,Coil_Weigh_g,coil_time_us=coil_calculate(N,wire_size,25,inner_Radius_mm,coil_length,"Cu")
print(f"每层缠绕数:{q} ")
print(f"满层的层数:{p} ")
print(f"未满层的缠绕数:{qend} ")
print(f"外径:{outer_Radius_mm:.2f} mm")
print(f"线圈阻抗:{Res_mohm:.2f} mohm")
print(f"电感:{L_uh:.2f} uH")
print(f"线圈重量:{Coil_Weigh_g:.2f} g")
print(f"时间常数:{coil_time_us:.2f} us")
三:测试并与最常见的线圈炮模拟器对比
可以看到,电感量的计算结果与模拟器的计算结果极为接近,但线圈阻抗的结果稍有差别。
参考文章:
1.多层空气芯线圈的设计-电子发烧友网 (elecfans.com)
2.磁阻炮用线圈参数选型表&多层空心线圈电感计算方法&线圈参数计算器V1.1 - 科创网 (kechuang.org)
3.Mark 2 - 电感器 Sim (coilgun.info)
[修改于 1年0个月前 - 2024/04/12 15:58:07]