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/TM4C1294NCPDT:编码器模块

Guru**** 2555630 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/871858/ccs-tm4c1294ncpdt-encoder-module

器件型号:TM4C1294NCPDT

工具/软件:Code Composer Studio

大家好、我在 Tiva 1294中使用 QEI 模块、当我使用方向计数模式时、计数器会向我提供无意义的分散数据、我检查了寄存器映射、一切都在控制寄存器中、 是否有人可以检查我设置的配置并为我提供帮助。



 -这里是引脚配置:

//步骤1. 将 GPIO 引脚配置为用作编码器引脚
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOL);
GPIOPinConfigure (GPIO_PL1_PHA0);
GPIOPinConfigure (GPIO_PL2_PHB0);
GPIOPinConfigure (GPIO_PL3_IDX0);

//步骤2. 使能编码器引脚
SysCtlPeripheralEnable (SYSCTL_Periph_QEI0);
GPIOPinTypeQEI (GPIO_PORTL_base、GPIO_PIN_1);//通道 A
GPIOPinTypeQEI (GPIO_PORTL_base、GPIO_PIN_2);//通道 B
GPIOPinTypeQEI (GPIO_PORTL_base、GPIO_PIN_3);//通道 I

//步骤3. 启用编码器模块
QEIEnable (QEI0);

//步骤4. 启用索引中断
QEIIntEnable (QEI0、QEI_INTINDEX);

//步骤5. 焊盘配置
GPIOPadConfigSet (GPIO_PORTL_base、GPIO_PIN_1 | GPIO_PIN_2、GPIO_Strength _8mA_SC、GPIO_PIN_TYPE_STD_WPU);

-下面是配置为在方向计数模式下工作的模块:

QEIConfigure (QEI0、(QEI_CONFIG_CAPTURE_A | QEI_CONFIG_NO_RESET | QEI_CONFIG_CLOCK_DIR | QEI_CONFIG_NO_SWaP)、2500);  

-下面是我使用的时钟设置:

SysCtlClockFreqSet (SYSCTL_OSC_INT、16000000);  

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

    您好!

    [报价用户="5931296"]当我使用方向计数模式时,计数器会向我提供分散的数据

    您对 QEI 模块的设置似乎正确。    

    但是-在(两者之一) 'QEIPositionGet ()'或'QEIDirectionGet ()'中有"没有注意到函数调用"。   您是否发出了(职位获取)呼叫-但未在此处为我们提供该呼叫?

    遵循通用 QEI 编码器诊断检查清单:

    • 编码器是否已正确通电?    (即在"运行中?"时符合编码器的规格电压)
    • MCU 和编码器是否正确"设置"为公共接地?
    • 当电机处于(接近)固定速度时-'A、B 和 I'编码器输出是否合理一致?   (即在范围上查看时)
    • 明显的噪声和信号源是否已"关闭"和/或远离 MCU 和编码器?
    • 编码器和 MCU 之间的电缆/电线长度是否已最小化-并远离噪声和电源?
    • 您会注意到散射数据-但是、除非您要求重置编码器、否则这些数据可能会"添加"。   (因此不是真的“破旧”。   在此处展示该数据可让其他人查看和评论...)

    通过将 QEI 引脚与 MCU 的"定时器输出引脚"-配置为 PWM 输出模式、可确认潜在的编码器困难。  这种性质的实验"建立对特定 MCU 外设的熟悉和掌握"-即使编码器性能不好和/或尚未到达时也是如此...

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

    您好!  

     CB1_MOBILE 回答的此帖子也将有所帮助。  

    https://e2e.ti.com/support/microcontrollers/other/f/908/t/858407?tisearch=e2e-quicksearch&keymatch=qei

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

    您好、先生、

    我的硬件如下所示:
    我将 eQEP A 连接到 GPIO PL1 、将 eQEP B 连接到 GPIO PL2、将 eQEP I 连接到 GPIO PL3、 并将 ECU 和 eQEP VCC 的同一 GND 连接到 ECU 的3.3V、 我问、例如在 Delfino 中、连接到编码器模块输入引脚的电阻器和电容器是否会影响[方向计数模式]的运行、因为我在该模式下使用 Defino。

    此致。   

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

    [引用用户="5931296"]

    我的硬件如下所示:

    我将 eQEP A 连接到 GPIO PL1 、将 eQEP B 连接到 GPIO PL2、将 eQEP I 连接到 GPIO PL3、 并将 ECU 和 eQEP VCC 的同一 GND 连接到 ECU 的3.3V、 我问、例如在 Delfino 中、连接到编码器模块输入引脚的电阻器和电容器是否会影响[方向计数模式]的运行、因为我在该模式下使用 Defino。

    [/报价]

    连接编码器的常用方法是通过电阻器将 A 和 B 引脚上拉至电源轨、并将公共引脚接地。 RC 滤波也很有用。

    使用示波器的两个通道检查您的引脚、并确保它们按照您的预期进行转换。

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

    您是否有机会在此链接中引用之前提到的发布代码?

     GPIOPinTypeQEI()将配置引脚以用于功能用途。  您无需在步骤5中单独调用 GPIOPadConfigSet。  

    您是否还尝试按如下方式设置时钟?

    ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
    SYSCTL_OSC_MAIN |
    SYSCTL_USE_PLL |
    SYSCTL_CFG_VCO_480)、120000000);

    或  

    ui32SysClock = SysCtlClockFreqSet (SYSCTL_OSC_INT | SYSCTL_USE_OSC、16000000);