TI中文支持网
TI专业的中文技术问题搜集分享网站

F28335,TI官网例程eqep_pos_speed运行问题

你们好,我刚学习TMS320F28335,很多不懂,在此请教各位,谢谢。
运行TI官网例程eqep_pos_speed时,查看(unsigned int)EQep1Regs.QPOSCNT值只是

在0和1之间变化,应该没对,但没找到问题出在哪里,请各位多多帮忙,谢谢,

也按照以下说明连接了这3个相应管脚,

GPIO20/EQEP1A <- GPIO0/EPWM1A (simulates EQEP Phase A signal)
GPIO21/EQEP1B <- GPIO1/EPWM1B (simulates EQEP Phase B signal)
GPIO23/EQEP1I <- GPIO4 (simulates EQEP Index Signal)

rong zhang:

网上也有网友遇到了这个问题的,EQep1Regs.QPOSCNT值一直为0,但都没给出解决思路,特请教各位,谢谢,

你们好,我刚学习TMS320F28335,很多不懂,在此请教各位,谢谢。
运行TI官网例程eqep_pos_speed时,查看(unsigned int)EQep1Regs.QPOSCNT值只是

在0和1之间变化,应该没对,但没找到问题出在哪里,请各位多多帮忙,谢谢,

也按照以下说明连接了这3个相应管脚,

GPIO20/EQEP1A <- GPIO0/EPWM1A (simulates EQEP Phase A signal)
GPIO21/EQEP1B <- GPIO1/EPWM1B (simulates EQEP Phase B signal)
GPIO23/EQEP1I <- GPIO4 (simulates EQEP Index Signal)

mangui zhang:

回复 rong zhang:

如果保证了你的输入信号是没有问题的   那就是设置问题   如果只是0和1肯定是有问题的  

你送入eqep的A B相信号   是否正确     连续   

Z相有没有同时送入      Z相会使计数清零的  

下面代码请参考

void  PosSpeed_Init(void){    #if (CPU_FRQ_150MHZ)          EQep1Regs.QUPRD=1500000;        / Unit Timer for 100Hz at 150 MHz SYSCLKOUT =10ms#endif        /在150MHz系统时钟下产生100Hz的单位时间值,即让qep10ms产生一次timeout中断           #if (CPU_FRQ_100MHZ)          EQep1Regs.QUPRD=1000000;                        // Unit Timer for 100Hz at 100 MHz SYSCLKOUT#endif                EQep1Regs.QPOSCNT = 0;                                EQep1Regs.QDECCTL.bit.QSRC=00;// QEP quadrature count mode 求积计数模式:产生方向和4倍频的时钟        EQep1Regs.QDECCTL.bit.XCR=0;        // 2x resolution (cnt falling and rising edges)        EQep1Regs.QDECCTL.bit.SWAP=0;          EQep1Regs.QDECCTL.bit.IGATE=1;        //该位置1后,连索引脉冲都过滤了        EQep1Regs.QDECCTL.bit.QAP=0;         EQep1Regs.QDECCTL.bit.QBP=0;          EQep1Regs.QDECCTL.bit.QIP=0;          EQep1Regs.QDECCTL.bit.QSP=0;                          EQep1Regs.QEPCTL.bit.FREE_SOFT=2;   //自然地动作        EQep1Regs.QEPCTL.bit.PCRM=00;        // 每次索引事件产生时QPOSCNT复位//        EQep1Regs.QEPCTL.bit.PCRM=01;        // 最大计数位置时QPOSCNT复位        EQep1Regs.QEPCTL.bit.UTE=1;                 // Unit Timeout Enable 使能单位定时器        EQep1Regs.QEPCTL.bit.QCLM=1; // Latch on unit time out使能单位时间输出时其他重要寄存器的锁存功能//        EQep1Regs.QPOSMAX=0xffffffff;                //位置的最大计算值        EQep1Regs.QPOSMAX=7999;                //位置的最大计算值        EQep1Regs.QEPCTL.bit.QPEN=1;         // QEP enable 使能QEP                        EQep1Regs.QCAPCTL.bit.UPPS=5;           // 1/32 for unit position即每32个QCLK产生一个单位位置时件        EQep1Regs.QCAPCTL.bit.CCPS=7;        // 1/128 for CAP clock 即捕捉定时器的时钟频率为SYSCLKOUT/128        EQep1Regs.QCAPCTL.bit.CEN=1;         // QEP Capture Enable 使能QEP捕捉功能        }

你们好,我刚学习TMS320F28335,很多不懂,在此请教各位,谢谢。
运行TI官网例程eqep_pos_speed时,查看(unsigned int)EQep1Regs.QPOSCNT值只是

在0和1之间变化,应该没对,但没找到问题出在哪里,请各位多多帮忙,谢谢,

也按照以下说明连接了这3个相应管脚,

GPIO20/EQEP1A <- GPIO0/EPWM1A (simulates EQEP Phase A signal)
GPIO21/EQEP1B <- GPIO1/EPWM1B (simulates EQEP Phase B signal)
GPIO23/EQEP1I <- GPIO4 (simulates EQEP Index Signal)

min Kong:

回复 mangui zhang:

能不能提供一个28335控制直流电机双闭环直流调速的例程,PID控制的,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » F28335,TI官网例程eqep_pos_speed运行问题
分享到: 更多 (0)