电磁铁的磁芯实验

举报
tsinghuazhuoqing 发表于 2021/12/26 01:57:15 2021/12/26
【摘要】 ■ 前言 在近期一个视频中,给出了使用电磁铁的磁芯制作悬浮物的过程。这其中包括有很多和控制相关的话题。比如磁芯本身具有很强的滞后、非线性等,这都使得它去悬浮一个物体过程中变得非常不容易控制。 ...

■ 前言


在近期一个视频中,给出了使用电磁铁的磁芯制作悬浮物的过程。这其中包括有很多和控制相关的话题。比如磁芯本身具有很强的滞后、非线性等,这都使得它去悬浮一个物体过程中变得非常不容易控制。

▲ 组装悬浮电磁阀的元器件

▲ 组装悬浮电磁阀的元器件

▲ 磁悬浮电路图

▲ 磁悬浮电路图

  • 原文连接:

▲ Magnetic Levitation - The easy Way

▲ Magnetic Levitation - The easy Way

  1. Magnetic Levitation - The easy Way
  2. B站视频:How does magnetic levtiation work?

为了能够将这个过程应用到将来信号与系统建模与控制过程中,准备重复这个实验。在此之前先对控制对象电磁铁的磁芯做一些相应的测量工作。

 

01拆解电磁继电器


1.基本参数

使用一款J ZX-18F 继电器作为实验的电磁铁。它表明由9V驱动,带有四组双掷开关。

▲ 被拆解的电磁继电器

▲ 被拆解的电磁继电器

  • 线圈的基本参数: 电阻: R=90.4Ω, 电感:337.5mH(100Hz)

注意,使用RLC表在测量线圈的电感的时候, 随着所使用的频率不同,测量电感的输出也不相同 。具体数值如下:

测量频率 电感值
100Hz 337.5mH
120Hz 301.7mH
1kHz 156.7mH
10kHz 75.74mH

使用9V直流电源驱动JZX-18F继电器动作。

▲ 继电器在9V作用下动作

▲ 继电器在9V作用下动作

2. 机械电磁振荡

将JZX-18F的一组常闭开关接入它的电磁线圈供电回路,就会形成一个自激振荡电路。这是由于继电器的动作会自己将线圈供电切断,从而有返回过来是的继电器恢复到正常状态。如此反复形成振荡。

▲ 继电器与它的开关组成振荡器

▲ 继电器与它的开关组成振荡器

下面是测试继电器两点电压的波形。可以看到使用继电器的机械开关在连通和断开继电器的过程中会产生很多的接触毛刺。
振荡周期大约是7.7ms,振荡频率约为130Hz。

▲ 机械电磁振荡波形

▲ 机械电磁振荡波形

3. 线圈参数估计

使用DS345信号源产生100Hz,峰峰值为2V的方波信号。该信号串联一个100Ω电阻连接到继电器线圈上。

信号源DS345 具有标准的内阻R0=50欧姆。测量信号的输出信号U1以及线圈两端的电压信号U2。根据已知的电阻、信号频率以及U1,U2的波形,来估计线圈的电阻和电感。

▲ DS345产生的激励信号以及测量线圈的电压信号

▲ DS345产生的激励信号以及测量线圈的电压信号

▲ 线圈电压电流波形

▲ 线圈电压电流波形

■ 根据信号稳态幅值计算线圈电阻

测量U1信号的稳态下幅度变化: Δ U 1 = 2.404 − 0.790 = 1.614 \Delta U_1 = 2.404 - 0.790 = 1.614 ΔU1=2.4040.790=1.614V。
测量U2信号的稳态幅度变化: Δ U 2 = 1.143 − 0.362 = 0.781 \Delta U_2 = 1.143 - 0.362 = 0.781 ΔU2=1.1430.362=0.781V。
那么线圈的内阻 R c R_c Rc与R1组成了分压电阻,他们应该满足:

Δ U 1 Δ U 2 = R 1 + R c R c = a = 2.067 {{\Delta U_1 } \over {\Delta U_2 }} = {{R_1 + R_c } \over {R_c }} = a = 2.067 ΔU2ΔU1=RcR1+Rc=a=2.067

所以:
R c = 1 a − 1 R 1 = 100 2.067 − 1 = 93.7 Ω R_c = {1 \over {a - 1}}R_1 = {{100} \over {2.067 - 1}} = 93.7\Omega Rc=a11R1=2.0671100=93.7Ω

这与前面使用万用表测量的线圈内阻90.4欧姆有差异,这个数值可以来自于波形的稳态并没有完全被满足。所以在下面的计算中,还是采用使用万用表所得到的结果: R c = 90.4 Ω R_c = 90.4\Omega Rc=90.4Ω

■ 根据波形测量电感

截取波形下降的一段数据。
▲ U2中波形下降的一段数据

▲ U2中波形下降的一段数据

startn = list(y2>1.5).index(True)+3
endn = list(y2[startn:]<0.5).index(True) + startn

  

对上述数据使用指数函数进行建模:

x, y1, y2 = tspload('coilwave', 'x', 'y1', 'y2')
startn = list(y2>1.5).index(True)+3
endn = list(y2[startn:]<0.5).index(True) + startn
printff(startn, endn)
#------------------------------------------------------------
def func(x, a,b,c):
    return a * exp(-x/b) + c
param = [3, 0.001, 1.1]
param, conv = curve_fit(func, x[startn:endn], y2[startn:endn],p0=param)
printf(param)

  

计算出的参数为:

[1.13974566e+00 8.76274762e-04 1.15007597e+00]

其中b参数为LR串联时间常数。RC,RL串联电路的时间常数为:

所以,根据上述参数b,计算线圈等效电感为:

▲ 对截取的测量数据使用指数建模

▲ 对截取的测量数据使用指数建模

将参数: b = 8.762 × 1 0 − 4 ,    R 0 = 50 ,    R 1 = 100 , R c = 90.4 b = 8.762 \times 10^{ - 4} ,\,\,R_0 = 50,\,\,R_1 = 100,R_c = 90.4 b=8.762×104,R0=50,R1=100,Rc=90.4

代入公式(3),可以计算出线圈的电感: L c o i l = 0.211 H L_{coil} = 0.211H Lcoil=0.211H

使用RLC表测量线圈的电感量, 随着使用的测试频率的不同,所得到的电感读数也不一样 ,可以看到上述测量所得到的电感值与前面使用RLC表测量所得到的电感值存在着较大的差异。不过它的测量值比120Hz(301.7mH)读数还要大,但比起1kHz下测量的结果(156.7mH)要小。

 

02电磁线圈磁场强度


使用 线性HALL 器件A1308测量继电器磁芯的磁感应强度。

▲ 线性HALL A1308测量继电器磁芯的磁感应强度

▲ 线性HALL A1308测量继电器磁芯的磁感应强度

下面是测量的数据,可以看到在0到12V器件,继电器的磁芯磁场强度大体上与电流成正比。
▲ 使用HALL A1308测量电磁铁磁芯磁感应强度与线圈施加电压之间的关系

▲ 使用HALL A1308测量电磁铁磁芯磁感应强度与线圈施加电压之间的关系

使用一个正负变化的电压,测量继电器磁芯磁感应强度的变化。

▲ 施加 一个正负变化的电压,测试磁芯的磁感应强度

▲ 施加 一个正负变化的电压,测试磁芯的磁感应强度

下面是将这两个变化绘制在一起,可以看到继电器的铁芯芯的磁回滞现象非常小。

▲ 使用HALL A1308测量磁铁在正负电压下的磁场强度

▲ 使用HALL A1308测量磁铁在正负电压下的磁场强度

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# MEAS1.PY                     -- by Dr. ZhuoQing 2020-07-05
#
# Note:
#============================================================
from headm import *
from tsmodule.tsstm32       import *
from tsmodule.tsvisa        import *
dp1308open()
dp1308p25v(0)
dp1308p6v(0)
relayflag = 0
time.sleep(1)
angle = linspace(0, 2*pi, 100)
setv=[]
hall=[]
#------------------------------------------------------------
for a in angle:
    v = 12 * sin(a)
    setv.append(v)
    if v >= 0:
        if relayflag > 0:
            dp1308p6v(0)
            relayflag = 0
        dp1308p25v(v)
        time.sleep(1)
        meter = meterval()
        hall.append(meter[0])
    else:
        if relayflag == 0:
            relayflag = 1
            dp1308p6v(5)
        v = -v
        dp1308p25v(v)
        time.sleep(1)
        meter=meterval()
        hall.append(meter[0])
    printff(v, meter[0])
tspsave('coilhallud', v=setv, hall=hall)
dp1308p25v(0)
dp1308p6v(0)
plt.plot(setv, hall)
plt.xlabel("SetV(V)")
plt.ylabel("Hall(V)")
plt.grid(True)
plt.show()
#------------------------------------------------------------
#        END OF FILE : MEAS1.PY
#============================================================

  
v=[0.00000,0.76109,1.51911,2.27101,3.01378,3.74440,4.45995,5.15754,5.83436,6.48769,7.11490,7.71345,8.28095,8.81510,9.31376,9.77491,10.19671,10.57744,10.91558,11.20977,11.45883,11.66174,11.81769,11.92606,11.98641,11.99849,11.96226,11.87786,11.74563,11.56611,11.34001,11.06825,10.75193,10.39230,9.99084,9.54914,9.06899,8.55233,8.00123,7.41791,6.80472,6.16413,5.49872,4.81117,4.10424,3.38079,2.64373,1.89602,1.14067,0.38074,-0.38074,-1.14067,-1.89602,-2.64373,-3.38079,-4.10424,-4.81117,-5.49872,-6.16413,-6.80472,-7.41791,-8.00123,-8.55233,-9.06899,-9.54914,-9.99084,-10.39230,-10.75193,-11.06825,-11.34001,-11.56611,-11.74563,-11.87786,-11.96226,-11.99849,-11.98641,-11.92606,-11.81769,-11.66174,-11.45883,-11.20977,-10.91558,-10.57744,-10.19671,-9.77491,-9.31376,-8.81510,-8.28095,-7.71345,-7.11490,-6.48769,-5.83436,-5.15754,-4.45995,-3.74440,-3.01378,-2.27101,-1.51911,-0.76109,-0.00000]
hall=[2.49020,2.52330,2.55860,2.59400,2.62910,2.66370,2.69780,2.73100,2.76320,2.79420,2.82400,2.85220,2.87890,2.90390,2.92730,2.94880,2.96830,2.98580,3.00130,3.01460,3.02570,3.03440,3.04100,3.04550,3.04760,3.04760,3.04560,3.04140,3.03520,3.02670,3.01630,3.00360,2.98900,2.97240,2.95400,2.93350,2.91130,2.88760,2.86220,2.83520,2.80680,2.77700,2.74620,2.71430,2.68130,2.64760,2.61310,2.57830,2.54290,2.50740,2.47220,2.43650,2.40090,2.36580,2.33110,2.29710,2.26380,2.23160,2.20030,2.17030,2.14160,2.11430,2.08870,2.06490,2.04260,2.02230,2.00390,1.98750,1.97320,1.96110,1.95110,1.94330,1.93760,1.93430,1.93320,1.93420,1.93700,1.94210,1.94940,1.95850,1.96980,1.98310,1.99840,2.01560,2.03460,2.05560,2.07820,2.10240,2.12820,2.15550,2.18400,2.21520,2.24640,2.27680,2.31090,2.34330,2.37750,2.41220,2.44720,2.48010]

  

下面是通过施加±24V正弦缓变电压下,电压与继电器磁芯磁场强度之间的关系曲线。

很显然,这是一个非常奇怪的测量结果。
▲ 施加正负24V时,对应的继电器铁芯的磁场强度变化曲线

▲ 施加正负24V时,对应的继电器铁芯的磁场强度变化曲线

下面再次重复扫描一遍测量结果,此时每次测量停留时间为2秒钟,以避免测量数据在传输过程中出现问题。但是测量后的结果依然呈现出奇怪的形状
▲ 重复测量±24V缓变正弦波电压扫描下电磁铁磁芯的变化情况

▲ 重复测量±24V缓变正弦波电压扫描下电磁铁磁芯的变化情况

v=[0.00000,3.06905,6.08771,9.00641,11.77722,14.35465,16.69638,18.76396,20.52343,21.94590,23.00803,23.69236,23.98767,23.88910,23.39827,22.52324,21.27838,19.68413,17.76667,15.55748,13.09284,10.41321,7.56260,4.58781,1.53769,-1.53769,-4.58781,-7.56260,-10.41321,-13.09284,-15.55748,-17.76667,-19.68413,-21.27838,-22.52324,-23.39827,-23.88910,-23.98767,-23.69236,-23.00803,-21.94590,-20.52343,-18.76396,-16.69638,-14.35465,-11.77722,-9.00641,-6.08771,-3.06905,-0.00000]
hall=[2.48310,2.62320,2.76250,2.89670,3.02310,3.13870,3.24120,3.32900,3.40070,3.45650,3.49440,3.51520,3.51970,3.50920,3.48420,3.44490,3.39010,3.32160,3.24050,3.14540,3.03860,2.93040,2.81180,2.68630,2.55690,2.42540,2.29400,2.16570,2.04290,1.92820,1.82430,1.73260,1.65470,1.59250,1.54590,1.51600,1.50180,1.50230,1.51760,1.54760,1.59190,1.65000,1.72360,1.80580,1.90420,2.00460,2.11520,2.23220,2.35570,2.47980]

  

 

※ 结论


通过对一款继电器的电磁铁做简单的测量,获得该继电器的一些基本特征和参数:

  • 电磁铁的电阻大约为90.4欧姆
  • 电磁铁的电感,大约在211mH

电磁铁在0~12V驱动电压下,所产生的磁场大体上与施加的电压(包括流过电磁铁的电流)成正比。没有饱和现象。电磁铁的磁滞现象非常小。

当施加的电压在±24V时,测量所得到的电压与磁芯磁场强度之间出现了很奇怪的数据。不知道为什么是这样的。

下面是普通的磁性材料在测量过程中应该表现出来的磁滞曲线。但是不知道为什么在本实验中却出现了异样

▲ 普通的磁性材料的磁滞曲线

▲ 普通的磁性材料的磁滞曲线

■ 问题最终的解释

在第二天的补充实验 对于继电器线圈奇怪的H-B曲线的实验测量 中,通过实验证明,前面的奇怪的线圈电压与磁感应强度之间的关系是由于线圈温度升高造成的。

文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuoqing.blog.csdn.net/article/details/107037755

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。