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.

28335 QEP问题

28335,qep初始化程序如下:

void POSSPEED_Init(void)
{

#if (CPU_FRQ_150MHZ)
EQep1Regs.QUPRD=1500000; // Unit Timer for 100Hz at 150 MHz SYSCLKOUT
#endif
#if (CPU_FRQ_100MHZ)
EQep1Regs.QUPRD=1000000; // Unit Timer for 100Hz at 100 MHz SYSCLKOUT
#endif

EQep1Regs.QDECCTL.bit.QSRC=00; // QEP quadrature count mode

EQep1Regs.QEPCTL.bit.FREE_SOFT=2;
EQep1Regs.QEPCTL.bit.PCRM=00; // PCRM=00 mode - QPOSCNT reset on index event
EQep1Regs.QEPCTL.bit.UTE=1; // Unit Timeout Enable
EQep1Regs.QEPCTL.bit.QCLM=1; // Latch on unit time out
EQep1Regs.QPOSMAX=0xffffffff;
EQep1Regs.QEPCTL.bit.QPEN=1; // QEP enable

EQep1Regs.QCAPCTL.bit.UPPS=5; // 1/32 for unit position
EQep1Regs.QCAPCTL.bit.CCPS=7; // 1/128 for CAP clock
EQep1Regs.QCAPCTL.bit.CEN=1; // QEP Capture Enable

}

当电机同方向转动时,电机转向位一直跳变,位置计数器总是在0和1之间跳动,示波器观测编码器A,B信号正常,求指点?

  • 方向位也一直在跳变,有没有可能是两路QEP信号,处理器只收到一路?方向位仅仅与两路信号相位相关还是跟其他有关?

  • 找到原因了,AB信号接到板子接插件后并没有进入28335芯片引脚,之间有个电平转换的过程中一路信号丢失了。因此根据方向解码机制,只有一路信号,方向位一直翻转,位置计数器一直加1减1

x 出现错误。请重试或与管理员联系。