发 帖  
原厂入驻New
实战多通道高速精密测温仪的全系列设计教程,以实际项目为依托,提升工程师核心竞争力!→点击立即抢购←
[问答] 请问英飞凌磁传感器TLE5012b读角速度值读出来的是什么
639 英飞凌 传感器
分享
看到很多朋友到处发帖问这个TLE5012b的角度读取例程,其实不怎么难的东西,关键还是要你自己详细读取手册才行,这里我就放出个差不多的代码吧,帮助那些已经攻占了很久的朋友,如果你攻占了很久,一看我代码你就一目了然,如果你没有研究,那抱歉你可能看不懂,请继续回去查看手册,我这个是自己用的代码,工作读数很正常。
1.首先介绍一下TLE5012b,这个是英飞凌的一个磁传感器,很跨时代的一个产品,综合性能都很高,15位解析度,20khz刷新率,典型8mhz的spi时钟,我用了9mhz也正常,呵呵,因为STM32的硬件spi 72M分频,只能8,16,等等,没法凑到8MHZ,只能凑到9mhz,也无可厚非啊,反正tle没说不能9MHZ,我就试了9mhz,可以的
2.关于硬件的接线,因为tle是3线制的spi,也就是data是一根线,仔细看手册你会发现,手册上说了,tle收mcu指令的时候,data是高阻态,tle发数据时候是推挽模式,那么硬件怎么用呢,把stm32的mosi和miso连接在一起,因为miso是配置成为复用浮空输入的(ps如果你在操作spi的时候miso配置的是复用推挽,说这里spi应该配置成复用推挽,我只能说,你学习不用脑子,把stm32的spi的miso配置成为复用推挽是错误的,正确应该配置成为浮空输入,之所以错误的也能用spi正常工作,请仔细看stm32的手册,查找为什么配置错误了也能工作,确实是能工作的,原因手册上面看明白就知道为什么了)miso是浮空输入,这个可以不用管了,管mosi,这个是首先要发数据的,然后发完指令之后,要发空指令,目的是为了让硬件sck工作,使得tle能发出来数据,如果你用开漏的模式,也就是mosi配置成为开漏的话,你不需要把tle配置成为开漏,硬件连接如下图

只要你先是操作mcu的mosi发指令,tle会收到,然后操作mcu的mosi发送FFFF,切记全是F,是16位的,开漏模式发F等于将mcu的mosi释放对总线的控制,这时候tle控制mosi总线,也就是data总线,那么miso就能收到了,一切就都正常工作了
3.如果你想要速度更快一点,那就要把mcu的mosi配置成为推挽输出,依然可以用上面的电路,也可以把这个上拉电阻去了,不去等于驱动能力更强一点,原理是,首先配置成为推挽,发指令的时候,tle的data是高阻抗,没有关系,tle收到指令,然后注意这里,操作gpio的寄存器,给mosi配置成为复用开漏输出,这步完成之后,发送0xFFFF,tle接管data总线,它变成推挽输出,而这时候的mcu的mosi是开漏,等于释放了总线,miso就能收到tle发来的数据了。
4.好了,基本操作都说的很清楚了,我知道有些朋友可能喜欢代码,其实我个人更喜欢思路,不喜欢看别人代码,尤其别人写代码,注释太少,思路不明了,看起来麻烦,这里我放出示例代码,和注释,思路还是比较清楚的,仅供参考,欢迎有兴趣的朋友一起交流

这帖子我在21ic也发过一次,都是我原创的,这里代码仅供参考,可以正常使用的,
下面是我的问题了,希望大神不吝赐教
      有没有试过用tle5012b去读角速度值,读出来的是什么东西?我读了角速度值的寄存器,但是读出来的数值摸不出规律来,一会变成了32767,一会又是2,10等等的,很不清楚这个规律,我想是不是他传出来的是两次读数之间的差值?那么负差值它怎么处理呢,就是我正反转的问题,它怎么反应角速度值呢?此外我看了里面有个Tupd,这个时间是内部的固定时间还是我采样之间的时间间隔,要我自己去计算的吗?它反应两次读数之间的差值,是它自己反应的我两次读数之间的差值还是它内部的两次数据准备好刷新数据之间的差值?这些东西我看寄存器是手册和说明书并没有获得我的答案,十分难解疑惑啊
0
2018-12-20 10:51:53   评论 分享淘帖 邀请回答
19个回答
楼主,我现在正在调角速度,遇到和你一样的问题!对于读回来的数字32768,2 等知道原因,就是不知道Tupd这个值是怎么确定的,同时我把读回来数字进行有符号处理后,读取的数据很小,基本是-1,1,2等数据,望楼主根据你的经验给点意见!
2018-12-20 13:36:03 评论

举报

大家只看不回啊,问题找到了,是那个角速度和角转速都是signed的,要补码,第14位表示正负号,具体参见用户手册,不是datasheet,但是问题又来了,这个芯片的角速度值跳动有4个数,静止不转的时候,但是当我慢速转动,大概60rpm转速,也就是十几个数的范围,这个传感器的角速度值满量程范围可以设置吗?
2018-12-20 13:41:35 评论

举报

我刚刚要在我的应用中使用这款芯片,LZ就发帖啦,真的是及时雨{:3:}
2018-12-20 13:50:24 评论

举报

LZ的代码只有一部分吧{:11:}{:10:}{:10:}{:10:}{:10:}
2018-12-20 13:57:53 评论

举报

多谢楼主分享,楼主有没有做个磁场零点和电机机械零点的对齐问题!
2018-12-20 14:13:09 评论

举报

2018-12-20 14:30:30 评论

举报

统一回复,有问题,论坛回帖交流,不要加qq什么的,交流重点在交流上,已经指出了你的问题所在,我做的就已经够了, 我没有义务没有责任帮你解决问题,解决你的问题建立在大家平等互利的基础上,对我问的这个问题保密,那个问题保密,你这种人凭什么觉得我就会帮你?如果限制于非技术层面保密,技术层面呢,也保密,我告诉你技术,你保密你的技术,你发现的细节,发现的有意义的现象也保密,这种人请走的远远的,浪费我的时间不说,还希望发代码给你,你觉得可能么,基本的,该有的思路已经贴在帖子里面了,再其次,大家互不认识,连一句谢谢都没有,这里保密,那里保密,你那么能,干嘛来找人帮忙,学艺不精还想偷师,只能说人品有问题,我和别人交流,都会给我发现的重要的现象,解决问题了,也会把要注意的细节告诉别人,你觉得你能做到吗?做不到的朋友,请远之,这种人是我最鄙视的。
      很生气,,,都想给我贴出的代码屏蔽掉,但是相信这种人都是少数,,,
2018-12-20 14:41:07 评论

举报

楼主角速度的问题解决了吗  期待一起交流
2018-12-20 14:55:06 评论

举报

motianlun1111 发表于 2015-12-28 17:31
大家只看不回啊,问题找到了,是那个角速度和角转速都是signed的,要补码,第14位表示正负号,具体参见用户 ...

SPI绝对角度是15位的,AB分辨率可以配置
2018-12-20 15:12:07 评论

举报

所谓硬启动,即通过 SSC 协议先配置 S_BIST 为 0, 接着配置 AS_RST 为 1。当 TLE5012B 硬启动后, TLE5012B能够快速重启, 然后再通过 SSC 协议配置 ANG_BASE。通过这种方式后当 TLE5012B
E1000 再次进入 IIF 启动特性模式时所获得的绝对角度信息便是相对于电机机械零点的绝对角度。硬启动是什么意思?按照“基于 iGMR 原理角度传感器 TLE5012B 应用指南”这篇文章里介绍的零点标定,磁位置角度传感器是不是可以随便安装?
2018-12-20 15:31:45 评论

举报

lhy774098554 发表于 2016-2-16 15:20
SPI绝对角度是15位的,AB分辨率可以配置

你好,所谓硬启动,即通过 SSC 协议
先配置 S_BIST 为 0, 接着配置 AS_RST 为 1。当 TLE5012B 硬启动后, TLE5012B
能够快速重启, 然后再通过 SSC 协议配置 ANG_BASE。通过这种方式后当 TLE5012B
E1000 再次进入 IIF 启动特性模式时所获得的绝对角度信息便是相对于电机机械
零点的绝对角度。硬启动是什么意思?
2018-12-20 15:39:50 评论

举报

您好,请教:我现在正在调角速度,遇到和你一样的问题
请问Tupd是指FIR_MD里的吗,比如21.3us
谢谢
2018-12-20 15:57:37 评论

举报

接上面
UM里面有一句话  
01: Autocalibration Mode 1. Parameters are updated by one LSB at every update time tupd (dependent on
FIR_MD setting) till the new autocalibration parameter values are reached.
那么:SPEED=171.98*ANG_SPD
这数据也太不正常了
求指导
谢谢
2018-12-20 16:16:35 评论

举报

你好,楼上问题搞明白了吗?也遇到同样的困惑,求交流。
2018-12-20 16:34:24 评论

举报

2018-12-20 16:49:05 评论

举报

楼主,能不能详细介绍一下电子零位标定的方法。我这边遇到的问题和五楼的类似。标定减去偏差,方便,但带来的成本也回高。传感器芯片这边做成可调整,标定的时候把传感器角度调整到零点,这种做法工艺性差。楼主有没有这方面的经验分享。谢谢
2018-12-20 17:05:48 评论

举报

楼主,能不能详细介绍一下电子零位标定的方法。我这边遇到的问题和五楼的类似。标定减去偏差,方便,但带来的成本也回高。传感器芯片这边做成可调整,标定的时候把传感器角度调整到零点,这种做法工艺性差。楼主有没有这方面的经验分享。谢谢
2018-12-20 17:12:29 评论

举报

楼主,希望得到5012b和5009使用方案的技术支持。我的电话13506720210,qq微信均是786332305。如何合作可以详谈。
2018-12-20 17:27:49 评论

举报

大家好,我发送8021进去,等待2ms左右马上读取它返回数值。一直都是32767,是什么问题呢。是不是时序不对?
2018-12-20 17:34:07 评论

举报

只有小组成员才能发言,加入小组>>

55个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表