NFC能量收集PCB名片制作完整指南:从设计到编程的全程解析
深入了解如何制作一款无需电池的NFC能量收集PCB名片,涵盖硬件设计、Charlieplexing LED矩阵、天线制作、MCU编程等核心技术细节,为电子爱好者和工程师提供实用的参考指南。
在当今数字化时代,传统的纸质名片正在经历一场革命性的变革。一位名叫Wilson Harper的创客成功打造了一款令人惊叹的NFC能量收集PCB名片,这款名片无需电池供电,仅通过智能手机的NFC信号就能驱动21颗LED灯珠进行动画展示。这一创新项目不仅展示了近场通信技术的无限可能,更为电子爱好者和硬件工程师提供了宝贵的学习案例。这款NFC能量收集名片的设计理念源于对简约和创新的追求。在过去,我们见过许多基于PCB的名片设计,大多数只是利用丝印层和露铜来展示联系方式和二维码。这些设计确实很有创意,但更偏向于平面设计而非电子工程。
另一些则集成了显示屏、电池和输入设备,功能强大但成本高昂且体积厚重。Wilson Harper希望找到一种平衡点,制作出既简单又便宜的名片,让他在各种场合都能毫无顾虑地分发给感兴趣的人。经过深入研究,他发现了NFC名片这一完美概念。NFC技术的工作原理值得深入探讨。当我们将智能手机靠近NFC卡片时,手机会持续发射一个微弱的磁场。这个磁场可以被NFC卡片接收,使手机实际上扮演了一个微型无线充电器的角色。
有趣的是,NFC卡片并不会真正向手机传输消息,而是通过改变自身从磁场中吸收能量的多少来通信。手机检测到这些能量消耗的变化,并将它们转换为二进制数据。大多数NFC标签只利用收集到的能量来运行内部电路,但某些NFC芯片能够将多余的直流电压导出,为外部硬件供电。这正是这款名片所利用的关键特性。在芯片选择方面,Wilson Harper最初选择了ATtiny412微控制器,这款芯片以其紧凑的尺寸、充足的GPIO接口和极低的功耗需求而著称。然而,在深入设计过程中,他意识到这个选择并非最优。
ATtiny412只有5个GPIO接口,而且只提供通孔或带引脚封装,没有QFN封装选项,这会导致芯片在PCB上占据更大的垂直空间。由于Wilson Harper在大学暑期期间无法使用学校的PCB组装设备,他需要依靠JLCPCB进行专业组装。此外,如果打算将名片送给别人,他不希望产品中含有任何铅元素,即使回到学校也无法使用无铅电子设备工作环境。JLCPCB支持完整的RoHS合规标准,因此成为必然选择。既然决定采用专业组装服务,不妨选择更小巧的QFN封装。经过调研,Wilson Harper发现了ATtiny816这款芯片,它与ATtiny412类似但拥有17个GPIO接口和更薄的3毫米乘3毫米封装。
这使得他能够分配6个GPIO接口来控制LED,实现20个Charlieplexed LED和一个简单指示灯的配置。同时,他将NFC芯片更换为NXP NTAG I2C Plus,因为它支持更近距离、更高功率的NFC标准。LED控制采用了Charlieplexing技术,这是一种巧妙利用二极管单向电流特性的技术。通过三态逻辑,少数GPIO接口能够控制大量LED。具体公式为y等于x乘以x减1,其中y代表可独立控制的LED数量,x代表GPIO接口数量。主要限制是同一时间只能点亮一个LED,但可以通过PWM调制将占空比分散到多个LED上来缓解这个问题。
最初的草稿使用4个GPIO接口控制12个LED,而最终设计则扩展到6个GPIO接口控制20个LED。在设计能量收集电路时,Wilson Harper注意到NTAG I2C Plus数据手册中明确规定VOUT上的电容不能超过220纳法。更大的电容会导致电压轨下降,产生振荡回路,使系统永远无法启动。然而,设计师希望使用更大的电容来实现更好的电压平滑效果。为此,他设计了一个巧妙的电路。底部的大型10微法电容有助于平滑VCC,但它在启动时会产生过大的电流冲击。
电阻R3将涌入电流限制在几毫安。一旦电容充满电,R3会过度减缓充电过程。此时,MOSFET Q1充当开关角色。120毫秒后,C3完全充电,MCU将GATE拉低,为电容提供低阻抗路径来平滑电压波动。电阻R2只是一个上拉电阻,在最初的120毫秒内保持GATE为高电平。这个电路在遵守数据手册规范的同时,保留了大型电容的优势。
LED的Charlieplexed走线使用了100欧姆电阻。由于电流必须从一个GPIO流出,经过电阻、LED,然后再通过另一个电阻,总电阻实际上是翻倍的。设计师还意识到,如果100欧姆电阻允许的电流过大,可以通过高频PWM来控制LED。配合10微法电容,这些脉冲会被平滑成稳定的电流,防止VOUT崩溃。以1千赫兹刷新率和20%占空比计算,VOUT仅下降约0.2伏。天线的设计使用了STM的天线电感计算工具。
由于希望天线占据卡片的全部空间,设计师尝试了不同的匝数、走线宽度和走线间距组合,直到找到可行的方案。目标是将电感控制在2.75微亨左右,以便与NTAG内部50皮法电容在13.56兆赫兹共振。由于计算得到的电感略低,这反而提供了微调到精确频率的能力。如果电感恰好是2.75微亨,可以通过并联一个电容来降低谐振频率,但没有方法提高频率。设计师安装了一个1.5皮法的电容,以便在需要时将频率调低。KiCad没有内置的天线或线圈生成工具,所有尝试过的插件都无法生成矩形螺旋线。
最终,一个KiPython脚本解决了这个问题。大语言模型帮助创建了这个脚本,经过几分钟的对话就成功运行了。脚本生成了一个符合SMT计算器参数的矩形螺旋走线。脚本文件已包含在代码仓库中,相信对其他创客也会很有用。之后,设计师手动将拐角圆润化,这个修改仅使封闭面积改变了几个百分点。在PCB布局方面,设计师认为将所有IC和无源元件放在卡片的左四分之一区域会更具美感。
LED走线经过了大约六次布线、删除和重新布线的过程才最终确定。虽然存在能够实现更短平均走线长度的布线方式,但设计师希望避免形成完整回路,同时尽量减小回路面积。完整回路会导致走线与NFC场耦合,产生破坏性的涡流。通过在顶部中间留出间隙,没有电流能够形成,因此天线不会受到宏观射频干扰的影响。背面设计展示了所有走线。设计师还创建了一个简单的框图和IC物料清单。
为了将走线复制到背面丝印层,他将正面铜层和背面铜层导出为SVG文件,然后导入到背面丝印层并凭肉眼对齐。布线在许多方面都很不寻常,肯定有经验的电气工程师会注意到值得改进的地方。许多人可能会问为什么没有使用地平面。实际上,地平面会阻止所有磁通量穿过天线,从而完全破坏其功能。在实现最小化封闭电流和创造有趣美观外观的目标方面,最终结果是令人满意的。卡片尺寸与信用卡相同,设计师还额外付费使其厚度与信用卡相当。
他选择了高精度丝印印刷和ENIG表面处理。最后这个选择使卡片完全符合RoHS标准,不含铅或其他有害物质。在下单时,他面临一个抉择:应该只订购几张来测试是否能工作,还是全力投入?在JLCPCB报价工具中花费数小时后,他意识到每张额外卡片的边际成本非常低,购买五张和三十张之间的差异并不大。他下定决心,订购了三十张卡片。收到卡片后,设计师首先测试它是否能够收集能量。他在VCC和GND之间连接了一个LED,它立即亮了起来,完全不需要任何调校。
当然,很难在卡片贴着手机背面的同时拍摄照片。编程方面,卡片背面有三个小型裸露焊盘:GND、VCC和UPDI。这个焊盘顺序与RC伺服电机类似,即使连接旋转180度也能防止任何损坏。每个焊盘直径为1.8毫米,中心到中心距离为0.1英寸或0.254毫米。这种标准面包板距离使他能够使用弹簧探针夹连接,而无需添加其他组件。名片会被粗略处理,放在充满静电的钱包和口袋中,因此设计师添加了一个跨接在UPDI和GND之间的TVS二极管,使任何高电压直接流入地而不是烧毁MCU。
ATtiny816通过UPDI接口编程,即统一编程和调试接口。它基本上是单线格式的UART。有官方的调试器,USB转串口适配器也可以工作。人们还成功使用过Arduino和树莓派Pico作为编程器,后者听起来最有趣。大多数支持jtag2updi固件的Arduino具有5伏逻辑电平,所以设计师选择了Pico。他找到了UF2文件,连接好所有线路,但什么都没发生。
他花了数小时研究IDE设置并尝试不同的引脚。最后,他灵机一动,将输出连接到示波器。仍然什么都没有。他觉得自己很傻,于是订购了Adafruit UPDI Friend。它立刻就能工作了。代码本身类似于基本的Arduino闪烁程序。
但是,设计师用裸机C语言编写主循环,以便Charlieplexed矩阵能够尽可能快地循环,将闪烁降到最低。代码中还有一个彩蛋,等待有心人去发现。ATtiny被降频到1兆赫兹以节省电力。值得一提的是,NTAG I2C Plus实际上并没有通过I2C连接到ATtiny。最初,设计师使用著名的NFC Tools安卓应用来编程,但遇到一些错误后,他发现NXP TagWriter应用在格式化和写入联系方式方面效果更好。二维码和NFC链接都指向https://connect.wilsonharper.net。
目前,这只是重定向到https://wilsonharper.net,但他可以在Cloudflare上配置它,将流量路由到任何网址,而无需对硬件进行任何更改。物料清单显示了所有组件的成本和供应商信息。对于有兴趣自己制作类似项目的爱好者来说,这份清单提供了宝贵的参考。这款NFC能量收集名片项目给我们带来了深刻的启示。硬件设计确实困难,这是我们经常听到的一句话,这个项目让我们深刻体会到这句话的真实性。从技术上讲,这个项目中的每个单独部分都不是全新的或特别复杂的:NFC PCB天线、带MCU的闪烁LED和PCB名片都曾经有人做过。
据设计师所知,目前还没有人将它们组合成一个美观的产品包。或者说,他至少在网上找不到这样的例子。确实有一些结合了NFC收集、天线中的电路或Charlieplexing的设计,但没有同时包含这三者的。在这个过程中,有多次他觉得这是超出自己能力范围的。但在反复检查了每一个可能的问题后,他意识到必须勇敢尝试,结果他非常高兴自己这么做了。现在拥有的三十张卡片应该能持续使用一段时间。
但一旦用完,设计师计划制作第二版。VOUT保持足够高的电压来驱动任何颜色的LED,绿色或黄色可能会很有趣。他还在考虑添加一两个薄型按钮来增加交互性,有几种街机风格的游戏可以用环形LED来实现。总的来说,这个项目不仅展示了NFC能量收集技术的实际应用,更为所有硬件爱好者和工程师提供了宝贵的学习和参考价值。 。