Other Parts Discussed in Thread: C2000WARE
Dear TI Expert:
eQEP模块低速测量产生巨大速度脉冲,具体描述如下:
编码器分辨率4*ENCODER_SLOTS=4 * 2048,eQEP外设时钟200MHz,eQEP module edge-capture unit配置如下:
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.
Dear TI Expert:
eQEP模块低速测量产生巨大速度脉冲,具体描述如下:
编码器分辨率4*ENCODER_SLOTS=4 * 2048,eQEP外设时钟200MHz,eQEP module edge-capture unit配置如下:
您好
您是否看到 eQEP 示例有问题? 根据所需的最小 RPM、将设置单位计时器周期。 假设您有一个1000线编码器、eQEP 时钟运行频率为120MHz、并且最大 rpm 为150rpm。 假设您需要1%的精度、即测量1.5 rpm 时所需的最小转速。 为了实现这一点、QUPRD 必须设置为值120,000,000。 如果有100Mhz eQEP、相同的编码器和 rpm 测量、则 QUALPRD 单元计时器输出必须为1,000,000。 该值等于100Hz 或1ms。
为什么UPVENT会在不足1us的时候产生一次?
您这个是M法测速时的eQEP_ISR中断发生一次所对应的时间吧,在EQEP_enableUnitTimer(uint32_t base, uint32_t period)设置第二个参数,speed=ΔX/T,对应的是T,是个固定值。UPEVENT的这个是T法测速用的,speed=X/ΔT,统计的是ΔT,不是固定的值。
另外,M法的精确测量转速,speed=ΔX/T中的这个T肯定是越大测得的值越准吗,但是太大了实时性就不好,而且这个ΔX也需要尽可能大,测量的转速也就越精确,如果转速越低,测量的转速的精度也不高。我在低速时用的是T法测速,不是M法测速,UPEVENT的设置和QUPRD的设置是无关的吧。
然后,关于您提到的精度问题,如果测量某个转速,需要确保1%的精度,比如测量100RPM的转速,要求精度达到1%,即要能测出1RPM的转速来,是如何计算的?是通过speed=ΔX/T,其中ΔX=1,speed=1RPM来计算的T,再换算QUPRD么?
您好
比如测量100RPM的转速,要求精度达到1%,即要能测出1RPM的转速来,是如何计算的?是通过speed=ΔX/T,其中ΔX=1,speed=1RPM来计算的T,再换算QUPRD么?
QUALPRD 根据速度测量速率进行转换。 我们在 C:\ti\c2000\C2000Ware_5_04_00_00\driverlib\f28p65x\examples\c28x\eQEP\eqep_ex2_calculation.xlsx 中找到可以用作参考的计算器。