磁阻研究
磁阻研究
文号931143
9153
3
收藏(6)

线圈参数计算器(基于Wheeler公式计算电感量)

中文摘要

文章介绍了一种基于Wheeler的多层空心线圈电感计算方法,并给出python代码。

关键词

线圈电感电感计算python

一:介绍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")


三:测试并与最常见的线圈炮模拟器对比


A%Z[1US%TDFXA447U7TYYXE.png

ZQ(GV(7QE2FC~~WVO8GW2{B.png

可以看到,电感量的计算结果与模拟器的计算结果极为接近,但线圈阻抗的结果稍有差别。



参考文章:

1.多层空气芯线圈的设计-电子发烧友网 (XXXXXXXXXXXX)

2.磁阻炮用线圈参数选型表&多层空心线圈电感计算方法&线圈参数计算器V1.1 - 科创网 (XXXXXXXXXXXX)

3.Mark 2 - 电感器 Sim (XXXXXXXXXXfo)


[修改于 8 个月前 - 2024/04/12 15:58:07]

3
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
托卡马克
8个月12天前 IP:四川
931183

用我写的计算器试了一下,估计那个模拟器用的就是论文中的公式

屏幕截图 2024-04-13 203136.png


三水合番
8个月11天前 IP:四川
931204

楼主可以多接触一下ai,对写代码帮助极大。

比如跟ai说下面这几句话,然后附上顶楼的代码,它就能整一个gui出来

Your tasks are:
1. read the following code, explain what does it want to achieve, what are the input values and what are the output values.
2. improve the code, add some basic gui to this code.

我刚试了一下,用poe的assistant(gpt3.5),一次对话就直接得到能用的结果了。修改后的代码和运行结果如下:

attachment icon calculator with gui.py 4.49KB PY 50次下载

image.png

三水合番
8个月11天前 IP:四川
931205

说起来,这种“计算”电感的经验公式挺“讨厌”的:一方面它没有任何道理,另一方面它又准的惊人 sticker

主体信息
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:上海
 文章分类
 内容统计
2024年08月
1 篇
2024年06月
5 篇
ID: {{user.uid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
回复
设为精选取消精选
评学术分
鼓励
编辑
查看历史
通过审核
移动文章
加入收藏取消收藏
退修或删除
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
回复
加入收藏取消收藏