一:介绍Wheeler公式
计算空气芯多层线圈的电感量使用的Wheeler公式,现列举如下:
L=(7.87N2M2)/(3M+9B+10C)
这里N为缠绕圈数,M为平均直径,B为线圈长度,C为线圈径向厚度。M、B、C的单位为毫米(mm),L为电感量,单位为纳亨(nH)
二:python代码
import 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.多层空气芯线圈的设计-电子发烧友网 (XXXXXXXXXXXX)
2.磁阻炮用线圈参数选型表&多层空心线圈电感计算方法&线圈参数计算器V1.1 - 科创网 (XXXXXXXXXXXX)
3.Mark 2 - 电感器 Sim (XXXXXXXXXXfo)
[修改于 7个月25天前 - 2024/04/12 15:58:07]
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |