智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5450|回复: 13
打印 上一主题 下一主题

【求助!快崩溃了】求大神指点下K60的两路正交解码

[复制链接]

3

主题

21

帖子

0

精华

高级会员

Rank: 4

积分
887
威望
445
贡献
278
兑换币
291
注册时间
2013-4-1
在线时间
82 小时
跳转到指定楼层
1#
发表于 2014-5-28 01:45:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
刚临时换的K60芯片,双电机测速已经纠结很多天了,一直没有读数
用的代码是论坛上搜来的,代码应该没什么问题吧......
/*======================================================================
功能:FTM1、FTM2模块双路正交脉冲计数;
引脚:PTA12、PTA13、PTA10、PTA11
内容:初始化FTM1、FTM2的正交解码功能;
参数:无
======================================================================*/
void FTM_QUAD_init()
{
    /*开启端口时钟*/
    SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;

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

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

    FTM1_MOD = 14000; //可根据需要设置
    FTM2_MOD = 14000;

    FTM1_CNTIN = 0;
    FTM2_CNTIN = 0;

    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); //可根据需要选择
    FTM2_SC |= FTM_SC_CLKS(3);
//   FTM2_CONF |=FTM_CONF_BDMMODE(3);

}


查看FTM1_CNT、FTM2_CNT就可知道当前计数值,查看TOFDIR、QUADIR可以知道转向。

我很纠结是不是编码器连错了,我两根信号线没做任何处理直接连的FTM1模块的两个引脚,是不是应该加个上拉电阻.......还是不能这么连?
还是我编码器有问题,我用的型号是OME-100-1N?
跪求大神指点一二,没多少时间了:'(:'(
回复

使用道具 举报

0

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
576
QQ
威望
291
贡献
143
兑换币
182
注册时间
2014-9-29
在线时间
71 小时
毕业学校
新河中学
14#
发表于 2016-3-7 21:35:34 | 只看该作者
忆枫 发表于 2014-6-28 18:10
解决了,直接用的野火的库了。

楼主,我是FTM1正交解码没有读数,直接用的野火函数,FTM2正常的,并且用的是测试正常的编码器,板子也正常。后来直接上拉电阻直接K60还是没读数,楼主觉得是什么问题?

回复 支持 反对

使用道具 举报

1

主题

76

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1031
威望
530
贡献
315
兑换币
346
注册时间
2015-5-28
在线时间
93 小时
毕业学校
**
13#
发表于 2016-1-31 10:11:46 | 只看该作者
本帖最后由 夏辰羲 于 2016-1-31 10:12 编辑

这个编码器好像好少人用,  才100P/R    不知道够用没  ,我做的是直立E车,想换来用用
回复 支持 反对

使用道具 举报

1

主题

76

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1031
威望
530
贡献
315
兑换币
346
注册时间
2015-5-28
在线时间
93 小时
毕业学校
**
12#
发表于 2016-1-31 10:11:37 | 只看该作者
这个编码器好像好少人用,  才100P/R    不知道够用没
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
443
威望
235
贡献
132
兑换币
136
注册时间
2013-10-11
在线时间
38 小时
毕业学校
东北大学秦皇到分校
11#
发表于 2014-6-30 09:15:01 | 只看该作者
忆枫 发表于 2014-6-28 18:10
解决了,直接用的野火的库了。

野火库怎么用正交解码,求楼主指教
回复 支持 反对

使用道具 举报

3

主题

21

帖子

0

精华

高级会员

Rank: 4

积分
887
威望
445
贡献
278
兑换币
291
注册时间
2013-4-1
在线时间
82 小时
10#
 楼主| 发表于 2014-6-28 18:10:51 | 只看该作者
zkm123 发表于 2014-6-23 10:20
lz解决了么 我们遇到同样的问题啦  而且代码和你复制的是一个 。。。

解决了,直接用的野火的库了。
回复 支持 反对

使用道具 举报

5

主题

196

帖子

0

精华

高级会员

Rank: 4

积分
995
威望
452
贡献
321
兑换币
295
注册时间
2014-2-26
在线时间
111 小时
9#
发表于 2014-6-23 10:20:47 | 只看该作者
lz解决了么 我们遇到同样的问题啦  而且代码和你复制的是一个 。。。
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1562
威望
721
贡献
441
兑换币
469
注册时间
2013-11-6
在线时间
200 小时
8#
发表于 2014-5-28 23:14:03 | 只看该作者
忆枫 发表于 2014-5-28 13:53
能不能加个QQ交流一下?

1390424927   我不是大神哦,不过小问题应该还是能解决的
回复 支持 反对

使用道具 举报

3

主题

21

帖子

0

精华

高级会员

Rank: 4

积分
887
威望
445
贡献
278
兑换币
291
注册时间
2013-4-1
在线时间
82 小时
7#
 楼主| 发表于 2014-5-28 13:53:11 | 只看该作者
Traveling_light 发表于 2014-5-28 13:05
我用的是B0,B1和B18,B19。   FTM1_CNT、FTM2_CNT除了大小是还有正负的,即方向,所以只要这两个量就行了。 ...

能不能加个QQ交流一下?
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1562
威望
721
贡献
441
兑换币
469
注册时间
2013-11-6
在线时间
200 小时
6#
发表于 2014-5-28 13:05:27 | 只看该作者
我用的是B0,B1和B18,B19。   FTM1_CNT、FTM2_CNT除了大小是还有正负的,即方向,所以只要这两个量就行了。主函数里初始化一下这个函数就能用这两个量了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-14 00:44 , Processed in 0.046341 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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