基于ZIGBEE通信的功率电子负载

举报
tsinghuazhuoqing 发表于 2021/12/27 00:41:48 2021/12/27
【摘要】   ▌01 电子负载 使用功率电子负载,也就是可以设定其消耗的电流,可以在自动测量中做到非常好的效果。 之前的电子负载属于大功率的负载,可以消耗电流在50A左右。这样就不太有利于对一些...

 

01 电子负载


使用功率电子负载,也就是可以设定其消耗的电流,可以在自动测量中做到非常好的效果。

之前的电子负载属于大功率的负载,可以消耗电流在50A左右。这样就不太有利于对一些小型负载进行测量。

 

02 基本功能


下面的电子负载可以在1A范围内提供了4096个等级设置,可以的中一些小型功率电路进行测量。

电子负载的功能有两个:

使用左边的按钮可以在在这个两个功能之间进行切换。

功能1:手动设置: 手动设置输出 的电压范围,用于在自动测试前找到测试设置参数的范围;

功能2:自动设置: 使用ZIGBEE无线通信模块接收计算机发送的设定指令。这个部分用于自动测量。

▲ 电阻负载顶视图

▲ 电阻负载顶视图

 

03 控制指令


1.最初实验结果

下面的代码显示了zbcmd所发送的控制指令的格式。


from tsmodule.tshardware    import *
from tsmodule.tsvisa        import *
from tsmodule.tsstm32       import *
for s in range(100):
    zbcmd(b'clzigbee %d'%s)

    time.sleep(1)
    vdc = dm3068vdc()
    meter = meterval()
    vout = meter[0]

    printf("VDC:%f, VOUT:%f"%(vdc, vout))

    vdcdim.append(vdc)
    voutdim.append(vout)
    tspsave('testdata',vdc=vdcdim, vout=voutdim)

printf('\a')
tspsave('testdata',vdc=vdcdim, vout=voutdim)

plt.plot(vdc, vout)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

2.重新的实验

实验方式:使用 可编程DC电源 DH1766 输出直流电压,并且读回相应的输出电流。

(1)设置数值与负载电流

DH1766输出8V电压。测量设置数字与负载电源之间的关系。
▲ 设置数值与电流

▲ 设置数值与电流

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-01-27
#
# Note:
#============================================================

from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tshardware    import *

setnum = linspace(0, 4000, 100)
currdim = []
setdim = []

for s in setnum:
    zbcmd(b'clzigbee %d'%int(s))

    setdim.append(int(s))
    time.sleep(1)
    curr = dh1766curr()
    currdim.append(curr)

    printff(s, curr)

    tspsave('measure1', setdim=setdim, currdim=currdim)

zbcmd(b'clzigbee 0')
plt.plot(setdim, currdim)
plt.xlabel("SetNum")
plt.ylabel("Current(A)")
plt.grid(True)
plt.tight_layout()
plt.show()

printf('\a')

#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

(2)不同电压下的恒流作用

重新设置DH1766输出2V电压,测量设置数字与负载电流之间的关系。

▲ 在电压为2V情况下设置数字与负载电压之间的关系

▲ 在电压为2V情况下设置数字与负载电压之间的关系

对比负载电压分别是2V和8V情况下,设置数字与电子负载电流之间的关系。
从中可以看到在设置2250左右,负载电流变化很小。

▲ 对比在负载电压分别是2V和8V情况下恒流电流特性

▲ 对比在负载电压分别是2V和8V情况下恒流电流特性

▲ 设置为2250时负载电压与输出电流

▲ 设置为2250时负载电压与输出电流

▲ 设置为1000时负载电压与输出电流

▲ 设置为1000时负载电压与输出电流

▲ 设置为3000时负载电压与输出电流

▲ 设置为3000时负载电压与输出电流

▲ 设置不同的数字对应的电压与电流曲线

▲ 设置不同的数字对应的电压与电流曲线

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# DRAW.PY                      -- by Dr. ZhuoQing 2021-01-27
#
# Note:
#============================================================

from headm import *

setv0, curr0 = tspload('voltc2250', 'setv', 'curr')
setv1, curr1 = tspload('voltc1000', 'setv', 'curr')
setv2, curr2 = tspload('voltc3000', 'setv', 'curr')

plt.plot(setv0, curr0, label='Set 2250')
plt.plot(setv0, curr1, label='Set 1000')
plt.plot(setv0, curr2, label='Set 3000')

plt.xlabel("Voltage(V)")
plt.ylabel("Current(A)")
plt.grid(True)
plt.legend(loc="upper right")
plt.tight_layout()
plt.show()

#------------------------------------------------------------
#        END OF FILE : DRAW.PY
#============================================================

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2021-01-27
#
# Note:
#============================================================

from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tshardware    import *

zbcmd(b'clzigbee 3000')

setv = linspace(0, 10, 100)
currdim = []

for v in setv:
    dh1766volt(v)
    time.sleep(1)
    curr = dh1766curr()
    currdim.append(curr)

    tspsave('voltc3000', setv=setv, curr=currdim)
    printff(v, curr)

dh1766volt(5)

plt.plot(setv, currdim)
plt.xlabel("Voltage(V)")
plt.ylabel("Current(A)")
plt.grid(True)
plt.tight_layout()
plt.show()

#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#============================================================

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

 

04 修改量程


1.修改方法

通过在采样电阻上并联电阻,减少采样电阻来提高测量量程。

▲ 测试过程中的负载

▲ 测试过程中的负载

2.测量数据

setdim=[0.0000,40.0000,80.0000,121.0000,161.0000,202.0000,242.0000,282.0000,323.0000,363.0000,404.0000,444.0000,484.0000,525.0000,565.0000,606.0000,646.0000,686.0000,727.0000,767.0000,808.0000,848.0000,888.0000,929.0000,969.0000,1010.0000,1050.0000,1090.0000,1131.0000,1171.0000,1212.0000,1252.0000,1292.0000,1333.0000,1373.0000,1414.0000,1454.0000,1494.0000,1535.0000,1575.0000,1616.0000,1656.0000,1696.0000,1737.0000,1777.0000,1818.0000,1858.0000,1898.0000,1939.0000,1979.0000,2020.0000,2060.0000,2101.0000,2141.0000,2181.0000,2222.0000,2262.0000,2303.0000,2343.0000,2383.0000,2424.0000,2464.0000,2505.0000,2545.0000,2585.0000,2626.0000,2666.0000,2707.0000,2747.0000,2787.0000,2828.0000,2868.0000,2909.0000,2949.0000,2989.0000,3030.0000,3070.0000,3111.0000,3151.0000,3191.0000,3232.0000,3272.0000,3313.0000,3353.0000,3393.0000,3434.0000,3474.0000,3515.0000,3555.0000,3595.0000,3636.0000,3676.0000,3717.0000,3757.0000,3797.0000,3838.0000,3878.0000,3919.0000,3959.0000,4000.0000]
currdim=[0.0006,0.0308,0.0822,0.1350,0.1865,0.2392,0.2962,0.3731,0.4619,0.5544,0.6522,0.7464,0.8387,0.9311,1.0214,1.1126,1.1823,1.2072,1.2436,1.2802,1.3171,1.3528,1.3877,1.4229,1.4566,1.4907,1.5234,1.5558,1.5887,1.6205,1.6527,1.6841,1.7153,1.7471,1.7779,1.8095,1.8402,1.8709,1.9023,1.9326,1.9640,1.9946,2.0245,2.0560,2.0867,2.1184,2.1493,2.1803,2.2121,2.2432,2.2752,2.3064,2.3386,2.3702,2.4023,2.4359,2.4686,2.5025,2.5354,2.5686,2.6026,2.6359,2.6705,2.7043,2.7383,2.7732,2.8072,2.8425,2.8771,2.9118,2.9473,2.9822,3.0184,3.0535,3.0888,3.1251,3.1611,3.1975,3.2335,3.2695,3.3067,3.3430,3.3806,3.4171,3.4536,3.4916,3.5287,3.5667,3.6040,3.6409,3.6791,3.7163,3.7534,3.7910,3.8289,3.8677,3.9048,3.9431,3.9497,3.9484]

  
 
  • 1
  • 2

▲ 设置数字与电流

▲ 设置数字与电流

3.建模

(1)线性建模

I = 0.000915 × N + 0.3919 I = 0.000915 \times N + 0.3919 I=0.000915×N+0.3919

▲ 使用线性建模

▲ 使用线性建模

2.二次多项式

I = − 6.8 ⋅ N 2 + 0.001872 N + 0.2126 I = - 6.8 \cdot N^2 + 0.001872N + 0.2126 I=6.8N2+0.001872N+0.2126
▲ 二次多项式建模

▲ 二次多项式建模

4.电压与负载电流

▲ 在设置N=2000时,不同电压下对应的负载电流

▲ 在设置N=2000时,不同电压下对应的负载电流

 

05 电流标定


实验日期:2021-04-04

1.标定方案

在电子负载上有关于电流采样电压输出,它的典雅与负载电流之间是线性关系。使用标准电阻 BWL EE高精度精密电阻0.1%低温漂无感采样取样金属膜0.25w1w3W10W 对于电流进行标定。使用1欧姆的标准电阻串联在负载输入端。然后使用万用表测量电阻上的电压与采样电路上的电压。

使用电子负载上的设定电阻设定几个不同测设定值,来读取不同电流下标定电流与采样电阻上的电压之间的关系。

▲ 使用标准电阻串联在负载上

▲ 使用标准电阻串联在负载上

2.测量结果

测试了9个设定点的数据,它们之间的关系如下:

ch1=[-0.0001,0.0079,0.0258,0.0405,0.0522,0.0665,0.0750,0.0837,0.1031]
ch2=[0.0000,0.0917,0.2971,0.4666,0.6015,0.7654,0.8645,0.9641,1.1899]

  
 
  • 1
  • 2

▲ 电流与采样电阻上的电压之间的关系

▲ 电流与采样电阻上的电压之间的关系

可见它们之间呈现非常好的线性关系。其中比例为:

k = I r e a l V = 1.19 0.10312 = 11.54 A / V k = {{I_{real} } \over V} = {{1.19} \over {0.10312}} = 11.54A/V k=VIreal=0.103121.19=11.54A/V

■ 相关文献链接:

 

率电子负载拆除 ※


在(2021-09-05 11:35:48)将该款 功率电子负载进行了拆除。至此,包括 在内的自制的电子负载 均已自行拆除。剩下的是使用购买到的 FZ25/FZ35 恒流电子负载 进行后期的电子实验。

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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