智能车制作

标题: 大神,来帮帮我把!!!请仔细阅读我的问题,如能帮助,请尽力,再下感激不尽! [打印本页]

作者: heyunfu01    时间: 2015-8-3 22:27
标题: 大神,来帮帮我把!!!请仔细阅读我的问题,如能帮助,请尽力,再下感激不尽!
为什么我用K60单片机正交解码测速时候,正转测的正常,反转测的速度不对啊,我500线欧姆龙双向编码器,用的正交解码FTM2_CNT
A10-A11接口,我每5MS采集一次速度,然后发送到串口助手上,手发动编码器,正转是正常的,每5MS   5-10个脉冲,反转彻底乱了,串口助手显示的是q516   q523 等等,前一段时间还是用这个程序测的速度,还正常了,接口已经接了1K的上拉电阻,请问为什么啊!!!!求解答,已困扰许久,。

下面附上正交解码初始化函数,以及采集和发送函数,另附上串口助手显示的脉冲数,希望大神帮我看看啊

初始化://*****************************************************************************
void FTM2_QUAD_Iint(void)  
{  
  PORTA_PCR10    =  PORT_PCR_MUX(6);                                            // 设置引脚A10引脚为FTM2_PHA功能  
  PORTA_PCR11    =  PORT_PCR_MUX(6);                                            // 设置引脚A11引脚为FTM2_PHB功能  
  PORT_PCR_REG(PORTA_BASE_PTR, 10) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ;     //开弱上拉
  PORT_PCR_REG(PORTA_BASE_PTR, 11) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ;     //开弱上拉
  SIM_SCGC3     |=  SIM_SCGC3_FTM2_MASK;                                        // 使能FTM2时钟  
  FTM2_MODE     |=  FTM_MODE_WPDIS_MASK;                                        // 写保护禁止  
  FTM2_QDCTRL   |=  FTM_QDCTRL_QUADMODE_MASK;                                   // AB相同时确定方向和计数值  
  FTM2_CNTIN     =  0;                                                          // FTM0计数器初始值为0  
  FTM2_MOD       =  65535;                                                   // 结束值  
  FTM2_QDCTRL   |=  FTM_QDCTRL_QUADEN_MASK;                                     // 启用FTM2正交解码模式  
  FTM2_MODE     |=  FTM_MODE_FTMEN_MASK;                                        // FTM2EN=1   
  FTM2_CNT       =  0;  
}
读取速度并且发送到串口助手:
void Angle_Calculation(void)
{


    uart(FTM2_CNT);
    FTM2_CNT=0;
}


附上串口助手图片:
[attach]80753[/attach]



作者: heyunfu01    时间: 2015-8-3 22:40
怎么把我这个帖子删除啊,我仔细思考一下,问题终于解决啦!
下面附上问题出在那:
请看#define FTM2_CNT                                 FTM_CNT_REG(FTM2_BASE_PTR)

FTM2_CNT这个不是一个数值,可以从中读数,而不能直接发送这个数值或者对其进行运算,应该就这么简单,不要吐槽:lol:lol:lol:lol
作者: xhx331153066    时间: 2015-8-4 01:03
K60我感觉没必要正交解码:lol
作者: 、痕迹    时间: 2015-8-4 02:16
你的FTM2_CNT是什么类型的变量...不是short的话就正常,还有你uart这个函数用什么方式发送的数字也需要看一下
作者: heyunfu01    时间: 2015-8-4 08:36
xhx331153066 发表于 2015-8-4 01:03
K60我感觉没必要正交解码

正交解码貌似有误差啊

作者: heyunfu01    时间: 2015-8-4 08:36
、痕迹 发表于 2015-8-4 02:16
你的FTM2_CNT是什么类型的变量...不是short的话就正常,还有你uart这个函数用什么方式发送的数字也需要看一 ...

那个不是一个变量,而是一个宏定义,1楼我发了

作者: xhx331153066    时间: 2015-8-4 08:49
heyunfu01 发表于 2015-8-4 08:36
正交解码貌似有误差啊

有好的干嘛不用

作者: 泰庆电子    时间: 2015-8-4 12:11
FTM2_CNT
这个库用现有的一般不行,需要改一些配置,等我们的库出来之后会更完善
作者: heyunfu01    时间: 2015-8-4 15:12
泰庆电子 发表于 2015-8-4 12:11
FTM2_CNT
这个库用现有的一般不行,需要改一些配置,等我们的库出来之后会更完善

什么时候出来啊,期待

作者: 泰庆电子    时间: 2015-8-5 10:26
第十一届能看到:):)




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2