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.

[参考译文] CCS/EK-TM4C123GXL:QEI 配置

Guru**** 2465890 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/663439/ccs-ek-tm4c123gxl-qei-configuration

器件型号:EK-TM4C123GXL

工具/软件:Code Composer Studio

我正在尝试使用 QEI 和 I m 读取电机位置、将初始值提供给 QEI 位置寄存器"0"和"6400"作为最大值。

  QEIConfigure      (QEI0_BASE、
      (QEI_CONFIG_CAPTURE_A | QEI_CONFIG_NO_RESET | QEI_CONFIG_POICATION | QEI_CONFIG_NO_SWAP、6400)、

   //将位置计数器归零
  QEIPositionSet (QEI0_BASE、0);//初始值

  X=QEIPositionGet (QEI0_BASE);

因此、当电机顺时针方向旋转 x 递增至6400、然后复位、但当电机反向旋转时 x 值直接从0变为6400、然后开始下降至0、 我想测量两个方向上位置的变化。不管怎样、我可以配置 QEI 以使我在两个方向上位置发生变化、我的意思是 x 值在一个方向从0变为6400、从0变为-6400。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该值环绕、因此正向移动从6400返回0、反向移动从0返回6400。

    如果您希望从0开始、并且能够计数到-6400和+6400、则需要将限制设置为12800、并且每次读取 QEI 时、减去6400、使其处于-6400到+6400的范围内。

    请注意、它仍然具有相同的"环绕"行为。 因此、如果您位于-6400、并且您沿负向移动、它将绕回+6400、反之亦然。 如果您正在控制电机、并且您的计数有可能超出此范围、那么您可能需要使用不同的方法来处理此问题。