This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMAG5273:TMAG5273 -磁增益调整

Guru**** 2551110 points
Other Parts Discussed in Thread: TMAG5273

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1467768/tmag5273-tmag5273---magnetic-gain-adjustment

器件型号:TMAG5273

工具与软件:

我目前正在研究一个项目、其中我要将 TMAG5273用作里程表传感器、用于测量轮轴的旋转量。
STM32 UC 将用于连接到传感器并进行测量。 目前我能够连接到 TMAG5273和读取  
寄存器、开发了 C++类。 因此、我可以将角度结果转换为度数格式并显示它。 仿真结果相比较得出的
这种效果很好。 我还没有做过精度或灵敏度测试。

现在、我要实现  具有 I2C 接口的 TMAG5273低功耗线性3D 霍尔效应传感器手册(修订版 B)第7.2.3.2章中所述的磁增益调整功能
我不太明白示例值的工作原理、所描述的过程本身以及调整对传感器的作用。
如上所述、我能够读出寄存器、 只是无法了解应该/可以如何实现此功能的工作流程
在 C++函数中,因为我不理解手册中的解释/示例。

我希望我描述的问题是可以理解的、并且可以在这里找到支持。

此致
Sebastian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sebastian、

    欢迎来到 E2E、感谢您提出您的问题。  增益校正旨在帮助您将所用两个轴的幅度设置为相同的幅度。

    您应该首先捕获至少一个完整的旋转周期并查看两个通道的振幅。  您可以选择角度测量中使用的两个通道之一进行调整。

    您的 ANGLE_EN 设置将控制这一点:

    其次、MAG_GAIN_CH 将控制您要在哪个轴上调整增益

    在您选择的 ANGLE_EN 中会记下第一个和第二个通道的含义。  此轴将 通过 MAG_GAIN_CONFIG 中的值进行调整

    您将识别角度测量中使用的两个轴的较大幅度、然后使用 MAG_GAIN_CH 进行选择。  然后取以下比率:

    (较小的幅度)/(较大的幅度)获取0和1之间的值。  但是、我认为显示的公式可能会有误差。  目前、这表明您要将十进制比率除以256、但实际上、您应该将此因子乘以256。

    谢谢!

    Scott

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复!

    如果我理解正确、我的函数应该如下所示:

    1)获取起始位置角度
    2) 2)开始360度旋转磁体、并读取 X 和 Y_Result_MSB/LSB 寄存器
       直到再次达到起始位置
    3) 3)找出相应轴的最高值和最低值、并计算振幅
    4) 4)根据提供的公式和情况比较振幅并计算增益调整
    5) 5)将值写入 MAG_GAIN_CONFIG 寄存器并事先选择轴

    因此、对于提供的公式、我的增益值将是 float 类型来获得十进制值。
    然后、我会将其值乘以256 (如您建议的那样)、并将结果(二进制)写入 MAG_GAIN_CONFIG 寄存器中。



    我希望我的解释是可以理解的,你可以核实我的想法。

    此致  
    Sebastian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sebastian、

    这似乎是正确的过程。

    谢谢!

    Scott