智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2671|回复: 14
打印 上一主题 下一主题

编码器波形!!!

[复制链接]

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
跳转到指定楼层
1#
发表于 2015-9-16 12:45:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
使用编码器获得脉冲的时候。。为什么会有突然间的增大。。。。。。两个信号口只接 上拉电阻 ,,,,用不用加电容???   
回复

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
15#
发表于 2015-9-18 22:03:03 | 只看该作者
头上两只角 发表于 2015-9-18 21:49
不是。。。。。有什么区别吗???

不同编译器有不同,你换下试试呗
回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
14#
 楼主| 发表于 2015-9-18 21:49:46 | 只看该作者
Quixote 发表于 2015-9-18 19:12
是signed short int么?

不是。。。。。有什么区别吗???
回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
13#
发表于 2015-9-18 19:12:56 | 只看该作者
头上两只角 发表于 2015-9-18 17:48
我定义的也都是int类型。。。。

是signed short int么?
回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
12#
 楼主| 发表于 2015-9-18 17:48:10 | 只看该作者
Quixote 发表于 2015-9-18 13:13
RightPulse改为signed short int
其余改为:RightPulse = *((signed short int*)(&FTM2_CNT));/*这个改动 ...

我定义的也都是int类型。。。。
回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
11#
发表于 2015-9-18 13:13:11 | 只看该作者
本帖最后由 Quixote 于 2015-9-18 13:24 编辑

RightPulse改为signed short int
其余改为:RightPulse = *((signed short int*)(&FTM2_CNT));/*这个改动有问题的话,使用signed short int temp = FTM2_CNT;
RightPulse = *((signed short int*)(&temp));  */
    FTM2_CNT = 0;
    RightSpeed = RightPulse;//RightSpeed的类型也要改为有符号的
试试
回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
10#
 楼主| 发表于 2015-9-18 12:59:42 | 只看该作者
Quixote 发表于 2015-9-18 11:53
把你底层函数发上来看看

   LeftPulse = FTM1_CNT;
    LeftPulse = (LeftPulse >30000)?(LeftPulse-65535)eftPulse;
    FTM1_CNT = 0;
    LeftSpeed = LeftPulse;

    RightPulse = FTM2_CNT;
    RightPulse = (RightPulse >30000)?(RightPulse-65535):RightPulse;
    FTM2_CNT = 0;
    RightSpeed = RightPulse;



正常的底层。。野火的。。


void FTM_QUAD_init()
{
      /*开启端口时钟*/
    SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;

    /*选择管脚复用功能*/
    PORTA_PCR12 = PORT_PCR_MUX(7);
    PORTA_PCR13 = PORT_PCR_MUX(7);
    PORTA_PCR11 = PORT_PCR_MUX(6);
    PORTA_PCR10 = PORT_PCR_MUX(6);


    /*使能FTM1时钟*/
    SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;
    SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;

    FTM1_CNTIN = 0;
    FTM2_CNTIN = 0;
    FTM1_MOD = 65535; //可根据需要设置
    FTM2_MOD = 65535; //可根据需要设置

    FTM1_MODE |= FTM_MODE_WPDIS_MASK; //禁止写保护
    FTM2_MODE |= FTM_MODE_WPDIS_MASK; //禁止写保护
    FTM1_MODE |= FTM_MODE_FTMEN_MASK; //FTMEN=1,关闭TPM兼容模式,开启FTM所有功能
    FTM2_MODE |= FTM_MODE_FTMEN_MASK; //FTMEN=1,关闭TPM兼容模式,开启FTM所有功能

    FTM1_QDCTRL &= ~FTM_QDCTRL_QUADMODE_MASK; //选定编码模式为A相与B相编码模式
    FTM1_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; //使能正交解码模式
    FTM2_QDCTRL &= ~FTM_QDCTRL_QUADMODE_MASK; //选定编码模式为A相与B相编码模式
    FTM2_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; //使能正交解码模式

    //FTM1_SC |= FTM_SC_CLKS(3);  //选择外部时钟
//   FTM1_CONF |=FTM_CONF_BDMMODE(3); //可根据需要选择
    FTM1_CNT=0;
    FTM2_CNT=0;
}



回复 支持 反对

使用道具 举报

162

主题

2048

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14920

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6285
贡献
5963
兑换币
2581
注册时间
2013-11-14
在线时间
1336 小时
9#
发表于 2015-9-18 11:53:00 | 只看该作者

把你底层函数发上来看看
回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
8#
 楼主| 发表于 2015-9-17 21:59:12 | 只看该作者
Quixote 发表于 2015-9-17 13:29
你换成signed long int试试

还是不行。。。
回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章论坛骨干奖章

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
7#
 楼主| 发表于 2015-9-17 17:59:55 | 只看该作者
Quixote 发表于 2015-9-17 13:29
你换成signed long int试试

好的我试试看。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 15:43 , Processed in 0.049185 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表