无线节能信标调试说明-2021-3-3

01 无线节能信标


1.设计背景

第十六届全国大学生智能车竞赛 竞速组比赛中,有一组节能信标组。它使用带有无线充电线圈的信号源,能够为比赛的车模提供:

  • 100W无线充电
  • 无线导航
  • 红色、红外灯光导航;
  • 它同时通过上面的霍尔传感器检测车模是否经过信标。

在之前进行过 100kHz无线充电200kHz无线充电 以及 无线感应定位 测试。根据 《无线充电(电力传输)设备无线电管理暂行规定》公开征求意见 给出的 无线充电(电力传输)设备无线电管理 暂行规定 对于无线充电设备,特别是移动、便携式无线充电设备所使用的频率和额定功率给出了要求:

▲ 移动充电设备技术要求

▲ 移动充电设备技术要求

在后面调试过程中,对于无线充电规格以及相应的LCC补偿电路将会按照150kHz进行配置,这样可以兼顾标准,同时提高无线传送效率。

2.测试电路板

下面是有龙邱公司寄送过来的第一版无线节能信标组的测试电路板。包括两套。每套包括主控板以及圆形灯光检测板。

(1)电路板

▲ 测试无线充电信标主板和发光盘

▲ 测试无线充电信标主板和发光盘

▲ 主控板3D原图

▲ 主控板3D原图

(2)原理图

▲ 接口通讯原理图

▲ 接口通讯原理图

▲ 无线发送电路原理图

▲ 无线发送电路原理图

这个版本中的无线发送回路的电路是根据 节能信标灯设计第一版本:预备实验 设计的。不过在第一版本中,程序还没有完善,比如缺少:

  • 输出功率限制功能;
  • 与主控通信的功能;
  • 检测霍尔信号的功能;

3.电路修改建议

根据后面的调试过程,提示对于电路中的修改意见。

(1)修改U8的C19电容容量

将U8的PIN6管脚对应的补偿电容C19的容量修改为 102(1000pf)。

▲ 将C19的容量修改为102(1000pf)

▲ 将C19的容量修改为102(1000pf)

(2)将晶体的频率修改为8MHz

将U6的晶体的晶振频率修改为8MHz。X

(3)修改PCB中功率底线与控制电线接地点

请参照 节能无线信标Ver0:功率测试 中 2.3.2节关于驱动信号故障原因查找与修改建议,对于PCB图中的PGND与GND之间的连接点进行修改。

(4)确定功率输出LCC中的Lp绕制方案

最终确定使用T94-2国产软磁磁环绕制使用100股Litz先绕制23圈,形成4.7uH左右的电感作为Lp电感。

▲ Lp电感绕制情况

▲ Lp电感绕制情况

02 电路板初步调试


1.调试前准备

(1)焊下功率MOS管

为了避免发射功率电路损坏,在调试之前,现将高频功率跟AOT256(T2,T3)先取下来。

▲ 焊下T3,T2

▲ 焊下T3,T2

▲ 拆焊下来的AOT254L高频功率MOS管

▲ 拆焊下来的AOT254L高频功率MOS管

(2)焊接单片机调试端口

  • U6:STM32F030F4 SWD :80mil, 6pins
  • U6:VNTRB端口: 100mil,4pins
  • U1:RDCVG端口:100mil,4pins

▲ 单片机调试端口

▲ 单片机调试端口

(3)制作临时电源(+24V)接口

使用排针插座制作临时工作电源(+24V)接头,将调试电路板与可调直流电源相连。

▲ 临时电源接口

▲ 临时电源接口

2.调试板级电源

通过前面的临时电源接口,将可调直流电源接入调试电路板。在开始调试时,电源电压从+9V开始施加。

调试电源设置:
电压:+12V
电流限制:500mA

▲ 调试滞留可编程电源

▲ 调试滞留可编程电源

(1)初次加电

初次加电之后,电源电流大约1.4mA。测了U8的输出(U3:AMS1117-3.3V的输入,PIN3)电压大约为0.987V。 电源电压工作不正常!!

电路板上的+8V电源是由 TPS4360 降压开关芯片提供的。

▲ TPS3260及其周围采样电阻

▲ TPS3260及其周围采样电阻

使用测量万用表触碰C6(20pf)的靠近芯片一侧的节点,电源工作正常。此时输出电压为9V,+12V电源供电电流大约是35mA。但是重新加电启动,电源还是不工作。仍然需要使用万用表触碰C19才行。

将C19焊接下来,使用SmartTweezer测量,容量为20pF。

▲ U8 旁边的C9电容

▲ U8 旁边的C9电容

测量U8:PIN3(EN)管脚的电压:4.3V左右。这个U8芯片的是能管脚内部被上拉电阻置为高电位。

考虑到使用万用表触碰C19一端,从物理作用上相当于在C19增加了万用表的一些杂散电容。根据 TPS4360数据手册 中给定的PIN5控制补充电路的参数,将C19的容值从原来的20pf增加到102(1000pf)。更换后问题解决了

这种改动通过第二套电路板进行重新验证,证明是有效的!

板级电源电压:
U8输出电压(U3输入):8.08V
U3的输出电压:3.27V
供电电压:12V

在两套测试电路板上的U1已经有程序了,在电源正常之后,它开始工作。

▲ 供电正常之后,原来电路板的U1已经开始工作的

▲ 供电正常之后,原来电路板的U1已经开始工作的

侧面测试了U8的输出与供电电压之间的关系,可以看出,当输入电压超过5V之后,U8的输出电压就随着输入线性增加,到达8V之后就始终维持8V的电压。

▲ U8的输出与供电电压之间的关系

▲ U8的输出与供电电压之间的关系

下图显示了不同电源电压下的工作电流。可以看到随着输入电压的增加,工作电流减小,显示了U8作为开关电源能够保持较高的转换效率。也就是在输出功率不变的情况下,维持输入功率不变。

▲ 电源的工作电流是输出电压之间的关系

▲ 电源的工作电流是输出电压之间的关系

03 调试无线发送电路


1.下载U6单片机程序1

节能信标灯设计第一版本:预备实验 进行的电路的初步实验。使用STM32BOOTLOADER将程序通过端口VNTRB下载到电路板上的U6.

在下载程序时,出现无法擦除程序的错误!

▲ 下载程序错误

▲ 下载程序错误

考虑到是否单片机本身在之前可能会被锁死,将其拆焊下来更新一个新的单片机重新测试。

▲ 将U6拆下

▲ 将U6拆下

重新更换了U6:STM32F030F4之后,可以正常下载程序了。

▲ 使用STM32BOOTLOADER下载程序

▲ 使用STM32BOOTLOADER下载程序

下载之后,对话框内的显示不正常。表明UART的波特率错误。其中的原因是板上的晶体为16MHz。需要将其更新为8MHz。

▲ U6的晶体

▲ U6的晶体

▲ 更换晶体的频率:8MHz

将原来的16MHz更换成8MHz晶体。单片机输出正常了。

▲ 更换后的晶体

▲ 更换后的晶体

``▲ 更换晶体的频率:8MHz``

2.PWM输出

(1)测量PWM输出频率

测量U6的PIN12(PA6)输出WPWM。

▲ 测量单片机的PWM输出

▲ 测量单片机的PWM输出

原来的版本中,PWM的输出频率为200kHz。
▲ 输出PWM信号

▲ 输出PWM信号

(2)修改PWM频率

将PWM频率修改为150kHz。单片机的OSC频率为48MHz。通过下面公式计算TImer的ARR:

A R R = 48 × 1 0 6 150 × 1 0 3 = 320 ARR = { {48 \times 10^6 } \over {150 \times 10^3 }} = 320 ARR=150×10348×106=320

在control.c的ControlInit()调用SetPWMARR():

SetPWMARR(320);                         // Set PWM frequency 150kHz

经过测量,输出的频率为150MHz。

04 LCC补偿网络


1.计算LCC参数

根据 无线功率发送器与接收实验:设定为200kHz 中计算LCC参数过程,编制LCC的计算程序。其中关于电路的基本工作参数在程序前面设定。

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

from head import *

#------------------------------------------------------------
Rload = 10                          # Receive load: ohm
RLB = Rload*8/pi**2
f0 = 150e3                          # Work frequency:Hz

M12 = 9.5e-6                        # H
L0 = 29e-6                          # H
P0 = 50                             # Output Power:W

#------------------------------------------------------------
Rref = (2*pi*f0*M12)**2/RLB         # Reflect resistion

printf("Reflect Load :%f"%Rref)

Ubus = 24                           # V
U1 = Ubus*sqrt(2)/pi

Effi = 0.8                          # Efficient
Pref = P0/Effi

I0 = sqrt(Pref/Rref)

printf("I0:%f"%I0)

#------------------------------------------------------------
Xp = U1/I0
Lp = Xp/(2*pi*f0)
Cpp = 1/(2*pi*f0*Xp)
Cps = 1/(2*pi*f0*(2*pi*f0*L0-Xp))

printf('Xp=%5.3f uH'%(Xp*1e6))
printf('Lp=%5.3f uH'%(Lp*1e6))
printf('Cpp=%5.3f nF'%(Cpp*1e9))
printf('Cps=%5.3f nF'%(Cps*1e9))

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

在150kHz的工作情况下,LCC的参数为:

参数 数值 单位
T型LCC网络左侧电感:Lp 4.560 uH
T型LCC网络下侧电容:Cpp 246.9 nF
T型LCC网络右侧电容:Cps 46.1 nF

2.LCC网络制作

(1)Lp:4.56uH

采用 无线功率发送器与接收实验:设定为200kHz 相同的自制电感。

(2)Cpp:246.9nF

  • 配置:47×5+5.6×2=246.2nF。
  • 实测:242.8nF

▲ 焊接Cpp,Cps的情况

▲ 焊接Cpp,Cps的情况

(3)Cps:46.1nF

直接使用一个47nF电容。

05 安装半桥MOS管


1.增加散热片

▲ 给AOT256L增加散热片

▲ 给AOT256L增加散热片

2.焊接半桥MOS管

▲ 给AOT254L增加散热片

▲ 给AOT254L增加散热片

▲ 焊接之后的电路板

▲ 焊接之后的电路板

3.连接发射线圈

多股Litz线制作无线耦合线圈 连接到电路板上。加上12V工作电压。

工作基本情况:
工作电压:12V
工作电流:77mA

▲ 将发送线圈连接在电路板上

▲ 将发送线圈连接在电路板上

▲ 测量线圈上的电压信号

▲ 测量线圈上的电压信号

4.修改接收线圈补偿电容

(1)计算串联补偿电容

工作参数:
接收线圈的电感:L0=29uH
工作频率:f0=150kHz

串联补偿电容: C s s = 1 ( 2 π f 0 ) 2 ⋅ L 0 = 1 ( 2 π ⋅ 150 × 1 0 3 ) 2 ⋅ 29 × 1 0 − 6 = 38.82   n F C_{ss} = {1 \over {\left( {2\pi f_0 } \right)^2 \cdot L_0 }} = {1 \over {\left( {2\pi \cdot 150 \times 10^3 } \right)^2 \cdot 29 \times 10^{ - 6} }} = 38.82\,nF Css=(2πf0)2L01=(2π150×103)229×1061=38.82nF

(2)制作Cs

使用5.6nF yu 22nF 制作Css ,具体如下图所示:

▲ 接收电路的补偿电容

▲ 接收电路的补偿电容

实际测量结果: 39.7nF。

06 功能测试


1.接收与发射功率

关于无线发送与接收的功率测试详见博文: 节能无线信标Ver0:功率测试

▌附件


■ 相关文献链接:

1.测量电源电压与电流程序

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

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

setv = linspace(0, 24, 100)

idim = []
v33dim = []

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

    meter=meterval()
    v33dim.append(meter[1])
    idim.append(dh1766curr())

    printff(v, meter)

    tspsave('measure', setv=setv, idim=idim, v33dim=v33dim)

dh1766volt(12)
plt.plot(setv, v33dim)
plt.xlabel("Input Voltage(V)")
plt.ylabel("3.3V(V)")
plt.grid(True)
plt.tight_layout()
plt.show()

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

  1. 节能灯MCU程序:STM32\Application\SmartCar\2021\Beacon\F303AOD254\ ↩︎

猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/114313236