RC522线圈设计及相关参数的选定

2023-11-26 04:20

本文主要是介绍RC522线圈设计及相关参数的选定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RC522线圈设计及相关参数的选定

      • LC低通滤波电路(蓝色区域)
      • NFC天线电路(绿色区域)
      • 匹配电路(黄色区域)
        • 品质因子
        • 阻抗匹配
      • 接收电路(浅黄色区域)
      • TGND的疑问

img

LC低通滤波电路(蓝色区域)

TX1、TX2为载波发送引脚。

载波或者载频(载波频率)是一个物理概念,是一个特定频率的无线电波,单位[Hz],是一种在频率、幅度或相位方面被调制以传输语言、音频、图象或其它信号的电磁波。

下图为TX1、TX2引脚发送的波形

在这里插入图片描述

可以看到TX1、TX2发送的载波为幅值相等,频率为13.56MHz左右,相位相差180°的正弦信号,

经过后续电路在线圈内叠加产生大于2倍幅值的正弦波(串联谐振增益)。

这个频率要用一个石英振荡器发生 但它同时也产生高次谐波 为了符合国际 EMC 规定 13.56MHz 中的三次 五次和高次谐波要被良好地抑制 。

所以这里采用的是低通滤波器来滤除13.56MHz的谐波。

这个低通滤波器第一时间我想到的是RC低通,但是官方使用的是LC低通滤波,

我手里的PCB不方便进行实验,于是就是用Multism进行了仿真

LC和RC的截止频率均为13.56MHz左右,


在这里插入图片描述

上为LC低通滤波波特图

下为RC低通滤波波特图

根据波特图可以看出LC低通滤波其波形并不是正常的低通滤波,而是在谐振频率点发生了谐振对信号产生了增益的作用,

而RC低通滤波在截止频率下不仅没有对信号产生增益,反而抑制了信号

手册里采用的LC低通截止频率附近会对TX发出载波产生谐振增益,这个增益有助于提升NFC的刷卡距离

那这个增益能不能通过修改LC的值进行增大呢?

根据LC谐振频率公式:
ω = 1 L C \omega=\frac {1}{\sqrt{LC}} ω=LC 1
LC低通滤波传递函数:
A v = 1 1 − ω 2 L C Av=\frac {1}{1-\omega^2LC} Av=1ω2LC1
可得
A v = 1 1 − 1 = + ∞ Av=\frac{1}{1-1}=+\infty Av=111=+
也就是说当在谐振频率处的 A v Av Av 是趋于无穷大的

由于我选取的 L C LC LC谐振频率只是接近于 13.56 M H z 13.56MHz 13.56MHz,并且信号源输出的频率为标准的 13.56 M H z 13.56MHz 13.56MHz,所以仿真的波特图 A v Av Av不会趋于无穷大

但是我们可以确定的一点是,我们选取得 L C LC LC谐振频率越接近于 13.56 M H z 13.56MHz 13.56MHz A v Av Av就越大。

而且 A v Av Av C C C后所带的阻抗有关

负载阻值越高,增益越大。

这里 L C LC LC的选取只要接近 13.56 M H Z 13.56MHZ 13.56MHZ就可以了,越接近效果越好。

NFC天线电路(绿色区域)

NFC天线本身就是一个线圈,本就含有电感 L L L,导线包含电阻 R R R,相邻导线之间存在电容 C C C,

所以我们可以将线圈进行简化,调节谐振频率时,由于电容 C 2 C2 C2非常小,可以忽略不计

通过等效电路可以方便我们的参数选定,线圈的电感值不好测定,我使用的是ST官方提供的计算工具

NFC电感在线计算

不过由于我画的线圈并不是规则的矩形,这种方法对我来说基本没有办法用,而且实验室也没有测量电感的仪器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lC8i3uv8-1632383809143)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\image-20210923102959450.png)]

本来想着谐振法测电感利用公式
ω = 1 L C \omega=\frac {1}{\sqrt{LC}} ω=LC 1
和波形发生器、示波器进行测试,找到谐振频率就能倒推 L L L的值

但是由于线圈的 L L L特别小属于 n H nH nH级别,谐振频率 f f f基本已经达到100MHZ以上了,

基本已经超出示波器和波形发生器测试范围了,

这种方法基本也不能用(但凡有台测电感的仪器,我都不会写这一部分┐(─__─)┌)

后来又想到串联一个电阻和电感,利用波形发生器产生不同频率的正弦波,

加到这个串联回路上就能根据感抗 X L = ω ∗ L X_L=\omega*L XL=ωL上分压来测量电感了

电路如下,非常简单,利用分压就可以算出 L L L

由于 L L L很小,我直接从 20 M H Z 20MHZ 20MHZ开始测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KcIDrXao-1632383809145)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\image-20210923105439395.png)]

去掉突变项,取一个近似值 0.0000005 H 0.0000005H 0.0000005H左右

再次通过公式
ω = 1 L C \omega=\frac {1}{\sqrt{LC}} ω=LC 1
计算得到 C ≈ 276 P F C≈276PF C276PF

由于计算和测量存在误差最后实际测试 C = 330 P F C=330PF C=330PF时效果最好

实测距离 40 − 50 m m 40-50mm 4050mm左右

匹配电路(黄色区域)

此部分主要是调整整个天线发射部分的谐振频率点到 13.56 M H z 13.56MHz 13.56MHz附近,这样可以使得线圈上的信号幅度增加有利于磁场辐射。

另外匹配电路还要将发射部分电路的电阻匹配到与读卡芯片的输出电阻附近,典型的是50欧姆(不同芯片不一样)。

这样可以使得天线部分获得最大功率有利于读卡距离提升。

阻抗匹配(impedance matching) 主要用于传输线上,以此来达到所有高频、微波信号均能传递至负载点的目的,而且几乎不会有信号反射回来源点,从而提升能源效益。信号源内阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输入端或输出端处于阻抗匹配状态,简称为阻抗匹配。

负载阻抗等于信源内阻抗,即它们的模与辐角分别相等,这时在负载阻抗上可以得到无失真的电压传输。

这个我理解的意思就是从匹配电路和线圈,总阻抗为50欧姆

品质因子

假设天线电感 L 和电阻 R 的值已知
天线的品质因子是天线正确调谐和所获得的性能的一个重要特性 天线的品质因子由下面的公式定义
Q = ω ∗ L R Q=\frac{\omega*L}{R} Q=RωL
这个公式从能量角度理解为产生磁场的无功功率与电阻上消耗的有功功率的比值。

线圈作为通信媒介,我们肯定是希望产生磁场的无功功率更大一些,也就是 Q Q Q更大一些。

根据天线的几何形状 Q 的值通常在 50-100 之间 要进行正确的数据传输这个值还要减少

由于RFID通信方式最小脉宽也要 T = 3 u s T=3us T=3us

带宽
B = f Q B=\frac{f}{Q} B=Qf

时间与带宽的乘积规定:
B ∗ T ≥ 1 B*T\geq1 BT1

算出品质因子的要求为
Q ≤ f ∗ T ≤ 40.68 Q\leq f*T\leq40.68 QfT40.68
周立功的手册里推荐Q问为35左右

我们已知线圈 L L L R R R

利用上述公式
R Q = ω ∗ L Q − R R_Q=\frac{\omega*L}{Q}-R RQ=QωLR
R Q R_Q RQ为外接电阻,用来改善线圈品质因数,

我计算的 R Q ≈ 0.2 Ω R_Q≈0.2Ω RQ0.2Ω,由于没有这么小的电阻,直接使用 0 Ω 0Ω 0Ω电阻代替了

其实这个 R Q R_Q RQ可以取稍微大一些,因为 R Q R_Q RQ大一些的话,品质因数 Q ≤ 35 Q\leq35 Q35

在低于40下基本都是可以正常工作的。

阻抗匹配

这里我们直接看匹配电路和线圈,在 13.56 M H Z 13.56MHZ 13.56MHZ下使其阻抗达到50Ω

其他参数选取基本完成了,现在只剩下 C 26 C26 C26一个未知项

这里的计算属实麻烦,我直接在推荐电路数值周围改了改,取了一个较为合适的值。

(这个计算公式实在看不懂# -__-)

接收电路(浅黄色区域)

先看引脚功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ROUdDj5T-1632383809147)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\image-20210923111141630.png)]

VMID为RX提供参考电压,RX负责接收信号

为了减少干扰 在 VMID 管脚连接一个电容到地

这一部分我是直接参考官方的推荐电路,因为线圈参数确定的话,传回来的信号频率基本也是确定的。

TGND的疑问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2FBLhS59-1632383809152)(C:\Users\86180\AppData\Roaming\Typora\typora-user-images\image-20210923153459338.png)]

在线圈中间引出一条地线,实际上把线圈分成了两个回路

T X 1 − > T G N D TX1->TGND TX1>TGND

T X 2 − > T G N D TX2->TGND TX2>TGND

T X 1 、 T X 2 TX1、TX2 TX1TX2输出的为差分信号,所以这两条回路在任意时刻流过的电流方向都是相同的

所以产生的磁场会进行叠加。

若果我们去掉红框部分的 T G N D TGND TGND

回路变成了 T X 1 − > T X 2 TX1->TX2 TX1>TX2,并且因为 T X 1 、 T X 2 TX1、TX2 TX1TX2为差分信号,

也就是 T X 1 、 T X 2 TX1、TX2 TX1TX2的信号进行了叠加。

实测接 T G N D TGND TGND与不接 T G N D TGND TGND效果相差无几。

参考资料:
设计 MF RC500 的匹配电路和天线的应用指南

13.56MHz RFID读写器天线匹配设计方法

13.56Mhz下50欧姆阻抗匹配简易教程

这篇关于RC522线圈设计及相关参数的选定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/425107

相关文章

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用