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.

[参考译文] MSPM0C1104:BLDC 电机位置

Guru**** 2589265 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1430568/mspm0c1104-bldc-motor-position

器件型号:MSPM0C1104
主题中讨论的其他器件:SysConfig

工具与软件:

我希望从 BLDC 电机到 MSPM0的3个霍尔输入使用 QEI 中的硬件对电机位置进行计数。

第15.2.3.1.3章 QEI 模式似乎没有提供足够的答案。

我已经从 SDK 中读取了"timg_qei_mode"示例、但该示例只有两个输入、并且不显示如何读取位置。

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

    您好 Jan:  

    您是否具体询问了第三个 IDX 引脚连接?   

    我以前没有使用过它、但我看到它列在大多数封装的 IO 引脚多路复用器中。  则需要相应地配置该引脚。   

    由于这个位对定时器有影响、你可以在这里的方框图中看到它输入:

    为了使 IDX 将计时器计数重置为零、我认为您只需要正确设置 CZC 位。   

    谢谢!

    JD

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

    尊敬的 JD:

    感谢您快速回答。

    那么、现在我可以将我的霍尔传感器连接到 uC。

    我假设位置计数可以由 QEI 硬件完成、但如果不能完成、我想需要生成中断并在软件中执行计数。

    这张图片显示了我要实现的位置计数。

    顺时针方向 逆时针方向
    霍尔 A 1. 1. 1. 0 0 0 0 0 1. 1. 1. 0
    霍尔 B 0 0 1. 1. 1. 0 1. 1. 1. 0 0 0
    霍尔 C 1. 0 0 0 1. 1. 1. 0 0 0 1. 1.
    什么情况 1. 2. 3. 4. 5. 6. 5. 4. 3. 2. 1. 0

    下面显示了2个霍尔信号的情况、3个霍尔信号也是如此。 我希望 MSP 能够在硬件中实现此计数、但我在哪里读取计数器值?

    来自数据表第15.2.3.1章

    我已经尝试在 SysConfig 工具中对此进行配置、但我不知道这是否会创建我需要的计数以及在何处读取计数结果。

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

    嗨、Jan、

    会存储计时器的计数值以及计时器计数器寄存器 TIMx.TIMx。CTR。 我没有关于3霍尔传感器应用的个人经验、我也不清楚计时器是否能够 按照您的建议保持计数。  我确实看到、您可以清楚地在内部对3个霍尔信号进行异或运算以获得用于测量速度的脉冲波。   

    我确实找到了我们的 有霍尔传感器的 Trap 电机控制 示例、这是我们 MSPM0 SDK 中使用3个霍尔传感器的电机驱动示例。  扫描这个示例、看上去好像他们在使用 GPIO 中断来设置您列出的状态、以及用计时器来测量速度。  我让您看一看。   

    TIMx 模块可能是最复杂的外设、而这是更复杂的用例。  让我看看我明天是否能在团队中找到一些可能对配置此类应用程序有一定经验的人。  

    谢谢!

    JD