智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2730|回复: 5
打印 上一主题 下一主题

K60正交解码脉冲不准

[复制链接]

7

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
931
威望
448
贡献
247
兑换币
246
注册时间
2013-3-15
在线时间
118 小时
跳转到指定楼层
1#
发表于 2013-9-9 00:45:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
K60正交解码 使用欧姆龙500线编码器(红树伟业) AB相接10K上拉 加100PF电容滤波到地
转一圈一般有5-8个的脉冲的误差 正反转误差更加严重 求解惑
代码如下
  /*开启端口时钟*/
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;
/*选择管脚复用功能*/
PORTA_PCR12 = PORT_PCR_MUX(7);  //FTM1A相
PORTA_PCR13 = PORT_PCR_MUX(7);  //FTM1B相
PORTA_PCR10 = PORT_PCR_MUX(6);  //FTM2A相
PORTA_PCR11 = PORT_PCR_MUX(6);  //FTM2B相

/*使能FTM1、FTM2时钟*/
SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;
SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;
FTM1_MOD = 65535; //可根据需要设置
FTM2_MOD = 65535;
FTM1_CNTIN = 0;
FTM2_CNTIN = 0;
FTM2_QDCTRL|=FTM_QDCTRL_PHBFLTREN_MASK; //打开B的滤波器
FTM2_QDCTRL|=FTM_QDCTRL_PHAFLTREN_MASK; //打开A的滤波器
FTM1_QDCTRL|=FTM_QDCTRL_PHBFLTREN_MASK; //打开B的滤波器
FTM1_QDCTRL|=FTM_QDCTRL_PHAFLTREN_MASK; //打开A的滤波器

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; //模式1启用
FTM1_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; //使能正交解码模式
FTM2_QDCTRL |= FTM_QDCTRL_QUADMODE_MASK; //模式1启用
FTM2_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; //使能正交解码模式
        
FTM1_SC |= FTM_SC_CLKS(3);  //选择外部时钟
//   FTM1_CONF |=FTM_CONF_BDMMODE(3); //可根据需要选择
FTM2_SC |= FTM_SC_CLKS(3);
//   FTM2_CONF |=FTM_CONF_BDMMODE(3);

68

主题

718

帖子

0

精华

跨届大侠

火云邪神

Rank: 10Rank: 10Rank: 10

积分
6644

论坛元老奖章

QQ
威望
3359
贡献
2001
兑换币
765
注册时间
2011-8-24
在线时间
642 小时
2#
发表于 2013-9-9 00:51:47 | 只看该作者
本帖最后由 ☆_。寒泉..+ 于 2013-9-9 00:53 编辑

呵呵,请查看寄存器设置,可以很准的
回复 支持 反对

使用道具 举报

38

主题

486

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5017

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

威望
2376
贡献
1401
兑换币
1570
注册时间
2013-1-7
在线时间
620 小时
3#
发表于 2013-9-9 07:39:17 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

2

主题

45

帖子

0

精华

高级会员

Rank: 4

积分
797
威望
398
贡献
241
兑换币
251
注册时间
2012-11-15
在线时间
79 小时
4#
发表于 2013-9-9 08:31:07 | 只看该作者
编码器的精度不够,不一定就是500线。
回复 支持 反对

使用道具 举报

7

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
931
威望
448
贡献
247
兑换币
246
注册时间
2013-3-15
在线时间
118 小时
5#
 楼主| 发表于 2013-9-10 00:03:14 | 只看该作者
☆_。寒泉..+ 发表于 2013-9-9 00:51
呵呵,请查看寄存器设置,可以很准的

发现问题原来是读了FTM1_CNT之后忘记清零了。。 继续读就会不准
回复 支持 反对

使用道具 举报

7

主题

120

帖子

0

精华

高级会员

Rank: 4

积分
931
威望
448
贡献
247
兑换币
246
注册时间
2013-3-15
在线时间
118 小时
6#
 楼主| 发表于 2013-9-10 00:04:29 | 只看该作者
热血男儿! 发表于 2013-9-9 08:31
编码器的精度不够,不一定就是500线。

发现问题原来是读了FTM1_CNT之后忘记清零了。。 继续读就会不准

一开始我还以为是编码器的回旋误差 详见帖子
http://www.amobbs.com/forum.php?mod=viewthread&tid=4749847&highlight=%E5%A2%9E%E9%87%8F%E5%BC%8F%E7%BC%96%E7%A0%81%E5%99%A8
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 16:40 , Processed in 0.042136 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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