ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

100W无线电耦合功率测试实验

2021-02-08 20:04:45  阅读:269  来源: 互联网

标签:plt over 无线电 耦合 电路 COMMAND 线圈 100W


 

01 无线功率耦合


根据 Experimental Test on a Contactless Power Transfer System 中的方案,进行无线功率发送实验。

⊙ 耦合线圈

  1. 无线节能线圈参数以及相互之间耦合初步测试
  2. 有互感的电感的串并联
  3. 多股Litz线制作无线耦合线圈测试

⊙ 高频功率半桥

  1. 基于TPS28225功率MOS半桥电路测试
  2. 测试半桥电路 TPS28225,NCP3420驱动MOS半桥

⊙ 全波整流负载

  1. 整流电路对应的阻抗是多少?
⊙ 谐振电容

(1) 0.22uF
▲ 谐振电容-0.22uF

▲ 谐振电容-0.22uF

Cmes=217.7nF

▲ 电容V-I特性

▲ 电容V-I特性

(2)47nF C0G

▲ C0G电容盒

▲ C0G电容盒

▲ C0G电容盒

▲ C0G电容盒

▲ 电容V-I特性

▲ 电容V-I特性

电容击穿之后,电容短路。

■ 结论

从前面高压测试来看,两款电容的哪呀都已经超过了1000V。

 

02 谐振耦合回路


1.测试LC谐振

使用在多股Litz线制作无线耦合线圈测试制作的两个线圈。


使用两个0.22uF的串联,与线圈组成谐振回路。

▲ 使用两个0.22uF组成谐振回路

▲ 使用两个0.22uF组成谐振回路

使用DG1062通过串联150kΩ串联之后,测量不同频率下LC并联之后的交流电压信号。下面是测试电路草图:

▲ 测试电路草图

▲ 测试电路草图

通过测量在谐振电压点出得电压和频率,测量Lp内部的的等效串联电阻。这其中需要应用到电抗电路的串并联的转换中的一些基本结论。

下面通过测量获得DG1062发送的不频率下,在LC并联谐振上的电压大小曲线。

▲ 测量LC谐振数据

▲ 测量LC谐振数据

谐振曲线峰值测量结果:
f0=90.1967kH
Vlc=0.01248V

DG1062的输出信号源,Vpp=5V,有效值:Vrms=1.7678V。可以计算出LC的等效并联电阻:
R 0 p = 150 × 1 0 3 × 0.01248 1.7678 = 1.0594 k Ω R_{0p} = {{150 \times 10^3 \times 0.01248} \over {1.7678}} = 1.0594k\Omega R0p​=1.7678150×103×0.01248​=1.0594kΩ

X = 2 π f ⋅ L o = 2 π × 90.1967 × 1 0 3 × 29 × 1 0 − 6 = 16.345 Ω X = 2\pi f \cdot L_o = 2\pi \times 90.1967 \times 10^3 \times 29 \times 10^{ - 6} = 16.345\Omega X=2πf⋅Lo​=2π×90.1967×103×29×10−6=16.345Ω

根据 电抗电路的串并联的转换 中对于电感的串联、并联模型转换公式:

R p = ( 1 + Q 2 ) ⋅ R s = ( 1 + X 2 R s 2 ) ⋅ R s R_p = \left( {1 + Q^2 } \right) \cdot R_s = \left( {1 + {{X^2 } \over {R^2_s }}} \right) \cdot R_s Rp​=(1+Q2)⋅Rs​=(1+Rs2​X2​)⋅Rs​

R s = R p − R p 2 − 4 X 2 2 = 1059.4 − 1059. 4 2 − 16.34 5 2 2 = 0.063 Ω R_s = {{R_p - \sqrt {R_p^2 - 4X^2 } } \over 2} = {{1059.4 - \sqrt {1059.4^2 - 16.345^2 } } \over 2} = 0.063\Omega Rs​=2Rp​−Rp2​−4X2 ​​=21059.4−1059.42−16.3452 ​​=0.063Ω

Q = X R s = 16.345 0.063 = 259.4 Q = {X \over {R_s }} = {{16.345} \over {0.063}} = 259.4 Q=Rs​X​=0.06316.345​=259.4

2.固定耦合线圈

使用塑料板制作固定高频无线耦合线圈的支架。

▲ 固定线圈的固定塑料杠杆

▲ 固定线圈的固定塑料杠杆

将支架固定在微型台钳上可以比较方便调节它们之间的耦合关系。

▲ 无线电耦合线圈

▲ 无线电耦合线圈

3.不同距离下线圈耦合系数

测量方案与在 无线节能线圈参数以及相互之间耦合初步测试 中所使用的方法一致。将发送线圈使用电容进行匹配谐振,然后测量接收线圈的交流电压。通过接收电压比上发送电压便可以得到线圈的耦合系数了。

▲ 测量耦合系数方案

▲ 测量耦合系数方案

根据前面分析,在LC谢振下,L1的电抗大约为16欧姆左右,并联电阻大约1k欧姆左右,所以使用并联C是为了将L1的电感对于信号的内阻的影响降低到最低。

考虑到信号源的内阻R0=50欧姆。因此在谐振下,施加在L1上的电压应该是L1的等效并联电路Rp=1059Ω与R0(50Ω)的分压: U 1 = 5 2 2 × 1059 1059 + 50 = 1.688 V U_1 = {5 \over {2\sqrt 2 }} \times {{1059} \over {1059 + 50}} = 1.688V U1​=22 ​5​×1059+501059​=1.688V

其中公式中5是指DG1062设置输出信号的峰峰值为5V。

▲ 谐振电容

▲ 谐振电容

(1)初步测量

两个线圈相距2.5厘米,中心对准,共轴。

  • 信号源频率:f0=90.1kHz; U1=1.667V
  • 接收到的信号电压:U2=0.767V

可以计算出此时两个线圈之间的耦合系数: k = U 2 U 1 = 0.767 1.667 = 0.46 k = {{U_2 } \over {U_1 }} = {{0.767} \over {1.667}} = 0.46 k=U1​U2​​=1.6670.767​=0.46

▲ 测量两个线圈在相距2.5厘米下耦合系数

▲ 测量两个线圈在相距2.5厘米下耦合系数

(2)不同距离下的耦合系数

利用 单轴步进驱动模块SH-20403 带动接收线圈逐步远离发送线圈,测量接收到的交流电压随着距离的变化。

  • 起始位置:L0=2.5厘米;
  • 结束位置:L1=7.5厘米
  • 移动步骤:N=100步

下图是初步测量接收线圈的电压。
▲ 不同距离下测量接收线圈的电压

▲ 不同距离下测量接收线圈的电压

测量距离扩大到7.5厘米,移动步骤150步。

▲ 滑轨带动线圈逐步远离

▲ 滑轨带动线圈逐步远离

根据输入电压为U1=1.667V,计算出两个线圈之间的耦合系数随着距离变化对应的曲线:

▲ 不同距离下的互感系数

▲ 不同距离下的互感系数

 

03 发送与接收电路


1.接收电路

使用四个10A的肖特基二极管组成桥整流电流。根据 整流电路对应的阻抗是多少? 实验结果,在负载有滤波电容的情况,整流桥输入组口与负载电阻基本相仿。

▲ 使用10A肖特基二极管组成的整流桥

▲ 使用10A肖特基二极管组成的整流桥

基本的负载是一个15W的200欧姆的电阻。右面在增加 基于ZIGBEE通信的功率电子负载 ,用于改变接收的功率的大小。

▲ 接收线圈的负载

▲ 接收线圈的负载

使用下面快速制版,得到接收电路及其负载电路。

▲ 无线接收线路及其负载

▲ 无线接收线路及其负载

▲ 接收电路

▲ 接收电路

2.发送功率电路1

(1)发送电路

使用在 基于TPS28225功率MOS半桥电路测试 制作的高频功率MOS半桥电路驱动发送线圈。发送线圈使用

▲ 半桥驱动电路

▲ 半桥驱动电路

▲ 快速制版的PCB

▲ 快速制版的PCB

▲ 焊接之后的MOS半桥电路

▲ 焊接之后的MOS半桥电路

(2)接口电路2

接口电路包括:

  • 发送串联匹配电路
  • 接收整流电路

▲ 接口匹配电阻与整流电路

▲ 接口匹配电阻与整流电路

▲ 接口匹配电路

▲ 接口匹配电路

▲ 焊接之后的电路板

▲ 焊接之后的电路板

(3)谐振频率

修改后的谐振电路的电容修改成两个47nF的并联,C0=94nF。对应的29uH的电感,所对应的串联的谐振频率:

f 0 = 1 2 π L 0 C 0 = 1 2 π 29 × 1 0 − 6 × 47 × 1 0 − 9 = 96.4    k H z f_0 = {1 \over {2\pi \sqrt {L_0 C_0 } }} = {1 \over {2\pi \sqrt {29 \times 10^{ - 6} \times 47 \times 10^{ - 9} } }} = 96.4\,\,kHz f0​=2πL0​C0​ ​1​=2π29×10−6×47×10−9 ​1​=96.4kHz

▲ 测试电路

▲ 测试电路

 

04 发送效率测试


1.测试条件

  • 桥整流后负在:14.7欧姆
  • 频率:98kHz
  • 两个线圈之间的距离:3.5厘米

2.发送与接收

  • 发送电流:U1=24V
  • 发送电压:I1=2.73A
  • 接收电压:U2=26.0V

发送功率: P I n = U 1 × I 1 = 24 × 2.73 = 65.52 W P_{In} = U_1 \times I_1 = 24 \times 2.73 = 65.52W PIn​=U1​×I1​=24×2.73=65.52W

接收功率: P O u t = U 2 2 R L o a d = 2 6 2 14.7 = 45.99 W P_{Out} = {{U_2^2 } \over {R_{Load} }} = {{26^2 } \over {14.7}} = 45.99W POut​=RLoad​U22​​=14.7262​=45.99W

发送与接收效率:

η = P o u t P i n = 45.99 65.52 = 70.2 % \eta = {{P_{out} } \over {P_{in} }} = {{45.99} \over {65.52}} = 70.2\% η=Pin​Pout​​=65.5245.99​=70.2%

 

▌附件


1.测量电容程序

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

from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tsstm32       import *

setv = linspace(0, 2, 100)
vdim = []
cdim = []

for v in setv:
    dh1766volt(v)
    time.sleep(2)

    meter = meterval()
    vdim.append(meter[0] * 1000)
    cdim.append(meter[1] * 1000)

    printff(meter, '\a')

dh1766volt(0)

plt.plot(vdim, cdim)
plt.xlabel("Voltage(V)")
plt.ylabel("Current(uA)")
plt.grid(True)
plt.tight_layout()
plt.show()

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

2.测量LC谐振程序

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

from headm import *
from tsmodule.tsvisa        import *

dg1062open()
dm3068open()

freq = linspace(88500, 92000, 100)
vdim = []

for f in freq:
    dg1062freq(1, int(f))
    time.sleep(.5)
    v = (dm3068vac())
    vdim.append(v)
    printf(f, v)

tspsave('measure1', f=freq, v=vdim)

id = vdim.index(max(vdim))
printff(freq[id], vdim[id])

plt.plot(freq, vdim)
plt.xlabel("Frequency(Hz)")
plt.ylabel("Output(V)")
plt.grid(True)
plt.tight_layout()
plt.show()

printf('\a')

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

3.滑轨控制程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# LSCM8.PY                     -- by Dr. ZhuoQing 2020-01-14
#
# Note:
#============================================================

from head import *
import serial

#------------------------------------------------------------
cmdportdef = 'COM2'
cmdport = serial.Serial(cmdportdef, baudrate=115200, timeout=0.1)
cmdport.setDTR(False)
#cmdport.setRTS(False)

printf("Open %s for LSCM8."%cmdportdef)

#------------------------------------------------------------
COMMAND_FRAME_HEAD		= 0x56
COMMAND_FRAME_TAIL		= 0x65

COMMAND_STATUS_WAIT		= 0x0
COMMAND_STATUS_COMMAND	        = 0x1
COMMAND_STATUS_LENGTH	        = 0x2
COMMAND_STATUS_DATA		= 0x3
COMMAND_STATUS_CHECK	        = 0x4
COMMAND_STATUS_TAIL		= 0x5

#------------------------------------------------------------
COMMAND_HELLO_ECHO		= 0x20
COMMAND_BEEP_ON			= 0x21
COMMAND_BEEP_OFF		= 0x22
COMMAND_DIR_ON			= 0x23
COMMAND_DIR_OFF			= 0x24
COMMAND_REL_ON			= 0x25
COMMAND_REL_OFF			= 0x26
COMMAND_PUL_SET			= 0x27
COMMAND_PUL_STOP		= 0x28
COMMAND_GOTO_HEAD		= 0x29
COMMAND_GOTO_TAIL		= 0x2A
COMMAND_GET_STATE		= 0x2B
COMMAND_GET_PULSEOUT	        = 0x2C
COMMAND_CLEAR_PULSEOUT	        = 0x2D

#------------------------------------------------------------
def lscm8cmd(cmd, cmddata):

    checksum = cmd + len(cmddata)
    for cd in cmddata:
        checksum = checksum + cd

    checksum = (checksum & 0xff) ^ 0xff

    cmdstr = b'' + byte(COMMAND_FRAME_HEAD) + byte(cmd) + byte(len(cmddata)) +\
             cmddata + byte(checksum) + byte(COMMAND_FRAME_TAIL)

#    printf(cmdstr)
    cmdport.write(cmdstr)

def lscm8hello():
    lscm8cmd(COMMAND_HELLO_ECHO, b'')

def lscm8beepon():
    lscm8cmd(COMMAND_BEEP_ON, b'')

def lscm8beepoff():
    lscm8cmd(COMMAND_BEEP_OFF, b'')

#------------------------------------------------------------
def lscm8relon(bits):
    cmd = bits.to_bytes(1, byteorder='big')
    lscm8cmd(COMMAND_REL_ON, cmd)

#------------------------------------------------------------
# bits:0:relay0, 1:relay1
def lscm8reloff(bits):
    cmd = bits.to_bytes(1, byteorder='big')
    lscm8cmd(COMMAND_REL_OFF, cmd)

def lscm8diron(bits):
    cmd = bits.to_bytes(1, byteorder='big')
    lscm8cmd(COMMAND_DIR_ON, cmd)

def lscm8diroff(bits):
    cmd = bits.to_bytes(1, byteorder='big')
    lscm8cmd(COMMAND_DIR_OFF, cmd)

#------------------------------------------------------------
def lscm8setpulse(bits, pulse):
    cmd = bits.to_bytes(1, byteorder='big') +\
          pulse.to_bytes(4, byteorder='big')
    lscm8cmd(COMMAND_PUL_SET, cmd)

def lscm8stoppulse():
    lscm8cmd(COMMAND_PUL_STOP, b'')

def lscm8gotohead():
    lscm8cmd(COMMAND_GOTO_HEAD, b'')

def lscm8gototail():
    lscm8cmd(COMMAND_GOTO_TAIL, b'')

def lscm8clearpulseout():
    lscm8cmd(COMMAND_CLEAR_PULSEOUT, b'')

def lscm8mf(steps):
    lscm8diron(3)
    lscm8reloff(3)
    lscm8setpulse(3, steps)

def lscm8mb(steps):
    lscm8diroff(3)
    lscm8reloff(3)
    lscm8setpulse(3, steps)

#------------------------------------------------------------
if __name__ == "__main__":
    time.sleep(.5)

#    lscm8diron(3)
#    lscm8reloff(3)
#    lscm8gotohead()
 #   lscm8gototail()
#    lscm8setpulse(3, 1000)
#    lscm8diron(3)

    lscm8mf(10000)

#    lscm8mf(1900000)

    tspbeep(1500, 100)
    printf('End of the command')

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

4. 测量不同距离下耦合系数

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2021-02-08
#
# Note:
#============================================================

from headm import *
import lscm8
from tsmodule.tsvisa        import *

dm3068open()

lscm8.lscm8mf(750000)
exit()

#------------------------------------------------------------
vdim = []
startd = 2.5
endd = 7.5

dist = linspace(2.5, 2.5*0.5*150, 150, endpoint=False)
gifid = 10

#------------------------------------------------------------

tspgiffirst(gifid)

for i in range(150):
    v = dm3068vac()
    vdim.append(v/1.668)
    printff(i, v)

    lscm8.lscm8mb(500)

    tspsave('meask', v=vdim)

    time.sleep(1)
    tspgifappend(gifid)

plt.plot(dist, vdim)
plt.xlabel("Distance(cm)")
plt.ylabel("Voltage(V)")
plt.grid(True)
plt.tight_layout()
plt.show()

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

  1. 制作半桥电路AD工程文件:AD\SmartCar\2021\WirelessBeacon\TPS28225 ↩︎

  2. 接口匹配电路与整流电路:AD\OutInBoare.SchDoc ↩︎

标签:plt,over,无线电,耦合,电路,COMMAND,线圈,100W
来源: https://blog.csdn.net/zhuoqingjoking97298/article/details/113663347

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有