请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LAUNCHXL-F28377S
工具/软件:Code Composer Studio
您好!
我 通过 QEP_A 引脚将1024 PPR 旋转编码器与 LAUNCHXL-F28377S 搭配使用。 我还使用串行通信端口将其发送到计算机以绘制速度 x 时间图。 问题是当电机的转速约为750rpm 时、值会出现错误。 请参见照片波纹低。
//来自 Example_posspeed.h 的部分代码#define POSSPEED_DEFAULTS{0x0、0x0、0x0、0x0、0x0、16382、2、0、0x0、\ 50、0、000、0、\ 0、0、0、\ (void (*)(long)) POSSPEED_Init、\ (void (*)(long))POSISPEED_CALC } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Part from example_posspeed.c void POSSPEED_Init (void) { EQep1Regs.QUPRD = 2000000; //频率为200MHz 时频率为100Hz 的单位定时器 // SYSCLKOUT EQep1Regs.QDECCTL.bit.QSRC = 00; // QEP 正交计数模式 EQep1Regs.QEPCTL.bit.free_soft = 2; EQep1Regs.QEPCTL.bit.PCRM = 00; // PCRM=00模式- QPOSCNT 复位打开 //索引事件 EQep1Regs.QEPCTL.bit.UTE = 1; //设备超时启用 EQep1Regs.QEPCTL.bit.QCLM = 1; //锁存装置超时 EQep1Regs.QPOSMAX = 0xffffffff; EQep1Regs.QEPCTL.bit.QPEN = 1; // QEP 使能 EQep1Regs.QCAPCTL.bit.UPP=3; // EQep1Regs.QCAPCTL.bit.CCPS = 6; // EQep1Regs.QCAPCTL.bit.CEN = 1; // QEP 捕捉启用 }
是否有人知道如何解决这个问题?