打印
[传感器]

3D磁传感器来了-英飞凌3D磁传感器TLV493D开发套件评测

[复制链接]
1558|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 巧克力娃娃 于 2017-2-28 17:06 编辑

查看全文:http://www.21ic.com/eva/MCU/201702/707313.htm ~
1.开箱与简介
TLV493D是英飞凌新推出的3D磁传感器,可精确测量3个方向的磁通量.主要应用场合包括:
  • ·       3D运动测量
  • ·       线性移动测量
  • ·       360度角度旋转测量
这个传感器在应用领域上跟目前市场上广泛使用的电位器与光传感器有很大的重叠,因为功耗,尺寸以及精确度上的优势(比如磁通量读数本身具有温漂非常小的特点),TLV493D将在很多场合可以对传统传感器进行替代. 为了使用户更快上手该传感器的开发,英飞凌设计了一款小巧的开发板3DMagnetic Sensor 2Go.今天来简单为大家分享一下这个板子的使用体验,并且也介绍一下如何开发自定义的应用.首先看开箱:


图一 开箱照与内容(板子边上的标准SD卡用来参照尺寸)
图中可以看出此板子是基于英飞凌用户都很熟悉的XMC 2 Go开发板的,事实上这个3D Magnetic Sensors 2Go就是一个XMC 2Go + 一个TLV493D传感器.后面分析原理图与应用软件开发的时候会提到这一点.还有就是这个板子有个小尾巴,可以挂在钥匙扣上.事实上它的功能不止于装饰,还是块磁铁,后面的实验还要用到它.板子的尺寸是50x14mm,是非常小巧的.再近距离的看一看正反面:

图二 正面照

图三 背面照
因为不是所有读者都对XMC 2Go开发板有所了解,这里还是简单图解一下板上主要器件构成:

图四 板上主要器件

主要就是三个主要芯片:XMC4200作为Jlink和调试串口,这里不多讲它.XMC1100作为主控,由它控制传感器的读写;再就是板子顶部的传感器TLD493V了,如果不想用这个开发板来控制用户还可以掰下来另外使用.除了那个小尾巴是个块小磁铁之外,英飞凌还提供了另外两款磁铁,一个是手柄测试,一个是旋转测试的.因为要单独购买,此处也不多加介绍.

图五 另外两款磁铁的形状


2.硬件分析
2.1 原理图
这里简要分析一下原理图,用过XMC2Go系列开发板子的读者可以看出这个开发板跟其他2Go系列板子原理图兼容度很大:

图六 调试器部分原理图

相关帖子

沙发
zhanzr21|  楼主 | 2017-2-23 16:36 | 只看该作者
本帖最后由 zhanzr21 于 2017-2-23 16:54 编辑


图七 XMC1100部分原理图
这部分上面有TSSOP-16 Pinout的字样,意思是焊上这两排排针后可以当做TSSOP-16的器件用在像面包板上面等别的实验板子上.


图八 传感器部分原理图
整体来讲,原理图比较简单直接,基本上没有什么可以详细分析的, 只是注意两个LED接在P1.0,P1.1,传感器的I2C接口接在P2.11,P2.10上就可以了,后面写软件要用到.插上USB,设备管理器中出现Jlink,再就是调试器旁边的那个灯亮了就应该说明硬件工作正常了.

图九 硬件正常确认


使用特权

评论回复
板凳
zhanzr21|  楼主 | 2017-2-23 16:41 | 只看该作者
本帖最后由 zhanzr21 于 2017-2-23 16:56 编辑

2.23D磁传感器的原理与接口
开始做实验与写代码之前,先将此传感器的一些参数稍加介绍一下.
首先解释一下,这个传感器其实有两个变种:TLV493D是此文介绍的,面向工控与消费电子领域,还有一个TLE493D主要面向汽车电子领域,应该是一些认证与出厂老化有些不同.截止此文,汽车用的型号还没有量产,所以此文只讨论TLV493D.


图十 传感器外观以及测量方向示意

图十一 三轴测量方向的平面示意

图十二内部功能Block
Block图来看,这个传感器的核心就是霍尔传感器+ADC+I2C接口,自带时钟振荡器.当然还有温度传感器.根据文档来看,这个温度传感器精度误差高达正负10摄氏度,还不如XMC1100内部的温度传感器精度,只能用作简单校正之用. TLV493D参数:
  • ·       3D磁通量测量
  • ·       集成温度测量单元
  • ·       关断时电流:7nA,超低功耗模式电流:10uA,最快的工作模式电流:3.7mA
  • ·       电压范围:2.7-3.5V
  • ·       I2C接口通信(100K-1000KHz);
  • ·       三个维度的测量范围:正负130mT
  • ·       每个维度采样精度为12位(10->3.3KHz)
  • ·       分辨率:98uT/LSB
  • ·       工作温度范围:-40125摄氏度
典型的应用举例: 游戏手柄,三表安防(防破坏,比如恶意调整水电表偷电偷水等等),白色家电控制手柄
.
图十三 从左到右:旋转测量,3D旋转测量,线性移动测量的磁场变化示意
这个传感器可以测量角度,旋转,3D旋转,线性移动等物理量.
这里简单说明一下使用光传感器与磁传感器在旋转测量中不同的原理.

图十四 光传感器测量旋转示意
原理就是在旋转的轴上贴一个有间隔透光的盘(学名编码器),旋转的时候有光无光被整形成方波,两个接收管形成两个相位.这样比较两个相位的脉冲即可得知目前旋转了多少角度,哪个方向旋转的.这个方案的缺点在于:编码器因为震动会发生位移,另外光敏管在温度超过70摄氏度之后稳定性会大大降低.

图十五 磁传感器测量旋转示意
相比较而言,磁转感器测量旋转的时候不依赖于编码器,温漂也小很多.所以旋转测量是磁传感器替代上述光传感器的一个明显的场合.


使用特权

评论回复
地板
zhanzr21|  楼主 | 2017-2-23 16:45 | 只看该作者
3.官方软件工具
先体验一下官方的GUI软件,来得一个直观的认识.
点这个连接下载最新的2.01的软件:GUI安装包下载地址
安装什么的就不多讲了,一路Next,安装的最后还要你是否安装Jlink 5.02的驱动.如果你电脑上已经有Jlink驱动了,可以选择不安装.
打开软件,插上我们的板子,一切正常的话点那个刷新按钮应该可以看到板子被检测到.连接后左上角有个Flash的菜单选项,用来下载默认固件的,如果你是拿到新的板子,固件其实已经下载好了,


图十六检测到板子
点连接,选器件,模式(除了PowerDown模式不测量其余都测量),'Start'按钮就可以开始测量了.


图十七第一个界面,详细读数与图表三个图表分别表示三个轴的磁通量读数,注意Fast Mode的时候,为最大限度提升磁通量采集速度,温度读数不上传.用户可以试着晃动一下那块小磁铁,观察读数与曲线的变化,所有读数也可以按'Save'按钮进行保存为Excel能读的表格文件以供下一步分析.
图十八第二个界面,3D旋转测量图示这个界面,如果没有买额外的磁铁配件的话,用户可以一手抓住板子,一手拉住那块小磁铁模拟一下手柄的操作以观察效果.

图十九第三个界面,旋转测量图示这个界面和第二个界面一样,用户要得到精确效果,只能另外买那两个额外的磁铁配件,否则只能用小磁铁模仿一下效果了.那两个磁铁配件的尺寸如下:
图十八手柄用磁铁形状与极性


图二十旋钮用磁铁形状与极性可以看出测量不同运动,使用的磁铁的极化方向也不同的.





使用特权

评论回复
5
zhanzr21|  楼主 | 2017-2-23 16:48 | 只看该作者
本帖最后由 zhanzr21 于 2017-2-23 16:58 编辑

4.自定义开发
自定义开发就是自己写软件来控制这个传感器来完成采集再进行进一步处理已完成想要实现的功能.实际上就是为XMC1100写TLV493D的驱动.不知道什么原因,英飞凌并没有将跟GUI配套的固件代码发布,GUI那个目录中只有固件的bin文件用做演示.所以现在要想用这传感器还得自己动手.
XMC1100是英飞凌的CortexM0的低端处理器.因为是CortexM0的内核,开发的工具选择是很多的.有官方的DAVE(Eclipse+GCC),也可以用IAR,KeilMDK,以及任何可以开发Cortex M0的开发环境.前两天我看有人发了另外一篇XMC1100的开发板子的评测**,称开发XMC单片机必须使用官方的DAVE工具,这是不正确的.考虑到使用Keil的工程师最多,这里只介绍使用Keil开发的操作说明,其他环境都是类似.
首先就是装上XMC1100Keil支持包.


图二十一装XMC1000系列的支持包.
先来个流水灯+Hello World来试试,验证一下子开发环境的正确.直接把这两个例子合并一下即可, 具体代码不在这写了,我把整个工程放在附件中供大家测试.输出这样:
图二十二Helloword工程输出
注意,底下那个温度值是XMC1100内部温度传感器的读数,可用来与TLV493D内部的温传感器进行一下对比,XMC1100上的传感器是要稳定很多的.接下来就是添加TLV493D的驱动了.首先添加I2C驱动,手工调用也好,Keil的RTE界面来自动添加也好悉随尊便,我这里用RTE添加的:

图二十三增加I2C驱动工程中配置引脚,
根据原理图,是P2.10,P2.11两引脚.

图二十四配置I2C引脚
根据TLV493D的数据手册,其设备地址为:

图二十五 I2C设备地址(因为原理图中ADDR拉高,所以取上面那行地址0xBD,0xBC)
上电后TLV493D默认为低功耗模式,不进行测量.根据数据手册说明,7,8,9这三个地址的数据要读出来以备后面初始化的时要用.具体初始化次序请参考数据手册,这里不详述.初始化之后,就可以按照这个来读取三个轴的磁通量与温度值了.

图二十六读取寄存器定义
4.总结与参考资源
这个传感器可以采集三轴磁通量强度
,可广泛替代现在使用的电位器,光传感器.功耗尺寸温漂的的特点是它的优势.
参考资源
:
GUI安装包下载地址板子测试程序
Arduino驱动
数据手册等文档下载页面


使用特权

评论回复
6
sym111| | 2017-2-24 09:10 | 只看该作者

使用特权

评论回复
7
dirtwillfly| | 2017-2-24 10:09 | 只看该作者
感谢分享

使用特权

评论回复
8
cornrn| | 2017-2-24 11:47 | 只看该作者
nice

使用特权

评论回复
9
zzyyzz| | 2017-2-24 13:52 | 只看该作者
感谢详细的分享!

使用特权

评论回复
10
zhanzr21|  楼主 | 2017-2-28 17:34 | 只看该作者
自己顶一下子!

使用特权

评论回复
11
夜玥殇| | 2017-3-1 16:10 | 只看该作者
真小巧啊

使用特权

评论回复
12
天真的傻子| | 2019-11-5 11:34 | 只看该作者
楼主有用过这个TLV493D I2C通信吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天都進步

91

主题

1011

帖子

34

粉丝