aniu429 发表于 2012-2-3 09:30

MLX90316通过SPI读出数据后不知道如何计算其角度?急呀!

我已经通过SPI总线把MLX90316的数据读书来了,数据时对的(因为读出来的第3和第5个字节是相反的,第4和第6个字节是相反的,并且第4个字节的最后两位是01);但不知道如何通过读出来的数据计算其走过的角度?公式是什么呢?恳求高人指点迷津呀!小弟已经搞了好多天了!

airwill 发表于 2012-2-4 11:13

MLX903 16是一种线性霍尔芯片。它通过测量与芯片表面共面的磁通密度,来得到从0度到360度的旋转位置值.
根据数据手册, 楼主得到的数据已经是角度信号(而不是错误信号), 在 DATA16 的高 14位(去掉尾巴上的 01 标记)就是角度信号 A代表 0~360° 的 2^14=16384 分之数.

FangC19871125 发表于 2012-4-9 09:52

(1)MISO端接收数据第一个字节应该是FFh,然而我接受到的数据第一个字节是170(AAh),其后的两个数据字节和反向数据字节是正确的,我不明白出现这种情况的原因,这种情况会不会影响SPI通信?
(2)还有磁铁在MLX90316上方旋转大概实际角度0°—90°,但是读取的角度值就在0°—360°,角度计算按照使用手册上说明来实现的:Angle = temp*0.022(Angle指实际角度值,temp指从MLX90316读取的14bits的角度值,0.022是手册上给出的典型值),我现在找不出读数与实际偏差的原因?我不确定自己磁铁选用的是否特别合理,会不会磁场强度太强?
请大侠指点!万分感谢!!!我的QQ664909438

feng_arm_linux 发表于 2015-1-4 22:34

本帖最后由 feng_arm_linux 于 2015-11-21 11:29 编辑

已解决

JorryZhao 发表于 2017-3-8 20:40

airwill 发表于 2012-2-4 11:13
MLX903 16是一种线性霍尔芯片。它通过测量与芯片表面共面的磁通密度,来得到从0度到360度的旋转位置值.
根 ...

很赞呀,多谢指导!!
页: [1]
查看完整版本: MLX90316通过SPI读出数据后不知道如何计算其角度?急呀!