如何自制NFC小卡片实现便捷连接?
摘要:markdown说明 title: NFC_Card小卡片 date: 2022807 02:51:25 cover: false mathjax: false summary: tp4056、ch340,屏幕,BME680,ST25D
--- markdown说明
title: NFC_Card小卡片
date: 2022/8/07 02:51:25
cover: false
mathjax: false
summary: tp4056、ch340,屏幕,BME680,ST25DV
categories: Project
tags:
小项目
嵌入式
补档声明
由于我的博客服务器和备案到期,所以选择转移到博客园平台来进行保存和记录。以后也有可能会在上面不定期更新一些技术类博客。
简介
自己的小项目,最初的灵感是稚晖君的CyberCard卡片,然后自己想加上一些传感器之类的东西。
于是做出了这么个小东西。也算是第一次开发一个功能比较完整的项目。其中使用到了STM32L051作为主控,外设有SPI屏幕,tp4056锂电池充电芯片,ch340串口芯片,BME680多合一传感器,NFC芯片ST25DV。
能够在屏幕上显示温度、湿度、气压、空气质量指数。还可以把一些数据写入NFC芯片,供有NFC的手机读取。
可以使用锂电池供电,整个板子比较小巧,方便携带。
MCU
由于是用锂电池供电的,还有一定的携带和续航要求,所以要稍微考虑一下低功耗。
板子的主控用的是STM32L051,属于ST的低功耗产品线,主频最大32MHz,有串口,I2C,SPI等外设,管脚数量48pin,LQFP封装,有内置振荡器和时钟源,是一款很不错的入门级产品。
价格大概再8元左右。在小项目中用一下很合适,烧了也不心疼。
除此之外,入门产品线还有G0系列的,如G070,也很适合这种小项目。
屏幕
用的是中景园的TFT屏幕,SPI协议,驱动芯片ST7735,2.4寸,分辨率240X240。屏幕素质还是不错的。有排线版本和排针版本,理论上排线版本更美观,但是我图方便和好替换,用的是排针版本,直接插到板子上的排母上就好了。价格大概25元左右,我就不放链接了,淘宝上一搜就有。
BME680多合一传感器
博世公司出的一款能够能够监测温度、湿度、气压、空气质量的多合一传感器芯片。
可以通过SPI或者I2C与单片机进行通信,QFN封装,非常小巧。缺点是价格略贵,淘宝50元出头。若是为了追求降低成本,可以换成分立器件AHT10+SGP30之类的。
NFC芯片ST25DV
ST公司的一款射频NFC芯片,能够模拟M1卡片,用手机就能完成对芯片的写入,还能用单片机的I2C与之进行通信,完成卡片内容的读写。
这里要注意的一点是芯片的板载天线设计,PCB布局的时候要留足足够的空间用来走矩形天线来满足谐振频率的阻抗要求,并且天线的区域不能铺铜,后面会详细提到
tp4056锂电池充电模块
tp4056是一款常用的单节锂电池充电芯片,充电电流可通过一个电阻来设定,最高可达1000ma。外围电路无需MOSFET、检测电阻器或隔离二极管。采用SOP8封装。
八款tp4056锂电池充电电路详解
充电电流与编程电阻之间的关系
适合需要充电状态指示,不需要电池温度监测功能的应用电路
串口芯片CH340N
CH340是一款国产USB总线的转接芯片,实现USB差分信号转TTL串口。
可以加到USB的差分信号口上,这样既一根USB线既能供电又能实现串口通信。
应用电路
typeC接口
简介:typeC接口大势所趋,typeC支持的协议多,接口引脚多达24pin(最高支持USB3.0),有些厂家为了降低成本,减少了引脚的个数,所以有16pin(支持USB2.0协议),6pin(仅供电)的阉割版。还有各手机厂家的魔改版本。一般电子产品目前用的最多的还是16pin的。
其中CC引脚是用于typeC双公头电流大小的控制,若是双公头供电,需要接一个5.1K下拉电阻倒地。否则收电端会没有电。
开发过程
绘制原理图
绘制PCB
这块PCB的主要设计难点就在于PCB板载天线的问题,查阅数据手册可以知道,这个NFC芯片天线所需要的电感量是4.6uH,不能超过太多,也不能太少,否则就会导致谐振频率偏移13.56Mhz,导致手机读不出数据。
这个PCB我绘制了两板,第一版由于禁止铺铜区域只放置了顶层没有放置底层(画PCB的时候猪脑过载忘记了),所以导致铺铜的时候板载天线处铺上了底层铜,由于铜层会吸收电磁波的能量,而且第一版的天线电感量经过再次计算也只有2uH左右的水平,达不到设计标准。到手测试后果然无法检测到芯片(╯▔皿▔)╯,第一版的NFC功能无法使用。但是经过测试其他功能还是正常的,于是我打算保留第一版,NFC芯片再打板单独测试一下,如果可以的话再考虑出个完整版。
