智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6779|回复: 19
打印 上一主题 下一主题

关于正交解码,求助啊!!都快疯了我

  [复制链接]

6

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
威望
251
贡献
132
兑换币
144
注册时间
2013-9-17
在线时间
34 小时
毕业学校
西安邮电大学
跳转到指定楼层
1#
发表于 2014-6-27 21:23:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
正交解码纠结了好久了,就是弄不出来。我是电磁的,用的是200线单向编码器,以为要测两路电机,所以用的是正交解码(K60),正交解码两个管脚一个内部上拉一个接信号线,好多大神说这样是可行的,但是问题是我们一直调不出来一直读书为0,电机转的时候偶尔会是-1.现在一直纠结在这个问题上,求各位大神帮帮忙,分析下是什么问题。。。
回复

使用道具 举报

0

主题

28

帖子

0

精华

常驻嘉宾

VHDL

Rank: 8Rank: 8

积分
3655
威望
1342
贡献
909
兑换币
897
注册时间
2013-7-25
在线时间
702 小时
推荐
发表于 2014-6-27 22:06:57 | 只看该作者
正交解码用于测单相时,一个引脚要接地或VCC,另一个接脉冲信号。 拿PORTB18和PORTB19说        
   PORTB_PCR18= PORT_PCR_MUX(6); // 设置引脚B18引脚为FTM2_PHA功能  
         PORTB_PCR19= PORT_PCR_MUX(6); // 设置引脚B19引脚为FTM2_PHB功能  
         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;
还有你读的时间间隔是不是太短了,不会放在while(1)了吧。。。
回复 支持 1 反对 0

使用道具 举报

0

主题

10

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1492
威望
811
贡献
351
兑换币
307
注册时间
2015-4-17
在线时间
165 小时
毕业学校
公共运输职业学院
20#
发表于 2015-10-14 13:50:22 | 只看该作者
请问下  我也出现这种问题 计数只出现-1  如果开关重开一次则变为-2  到现在还没解决

回复 支持 反对

使用道具 举报

22

主题

425

帖子

0

精华

常驻嘉宾

追梦

Rank: 8Rank: 8

积分
5460
QQ
威望
2558
贡献
1504
兑换币
1706
注册时间
2013-1-27
在线时间
699 小时
19#
发表于 2014-6-28 11:59:03 | 只看该作者
一切随缘。。 发表于 2014-6-28 11:24
论坛上貌似有人用单向做出来过。。。

正交解码里面有个同时AB相计数的,你试试,我没试过
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
威望
251
贡献
132
兑换币
144
注册时间
2013-9-17
在线时间
34 小时
毕业学校
西安邮电大学
18#
 楼主| 发表于 2014-6-28 11:24:31 | 只看该作者
andyxu 发表于 2014-6-27 22:32
只有有AB两相的编码器才能正交解码

论坛上貌似有人用单向做出来过。。。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
威望
251
贡献
132
兑换币
144
注册时间
2013-9-17
在线时间
34 小时
毕业学校
西安邮电大学
17#
 楼主| 发表于 2014-6-28 11:23:49 | 只看该作者
andyxu 发表于 2014-6-27 22:32
只有有AB两相的编码器才能正交解码

论坛上貌似有人用单向做出来过。。。
回复 支持 反对

使用道具 举报

6

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
威望
251
贡献
132
兑换币
144
注册时间
2013-9-17
在线时间
34 小时
毕业学校
西安邮电大学
16#
 楼主| 发表于 2014-6-28 11:22:30 | 只看该作者
Tri-stone 发表于 2014-6-27 22:17
我定时读的
{
  PULSE_READ=(FTM2_CNT);//保存FTM2脉冲计数器计算值

我用的是FTM1 和FTM2 别的功能也没有用。刚用500线编码器测了下正交解码好着呢。但是为啥就是200 线的不能用呢
回复 支持 反对

使用道具 举报

4

主题

306

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4359
威望
1997
贡献
1174
兑换币
1382
注册时间
2013-12-26
在线时间
594 小时
15#
发表于 2014-6-28 09:15:08 | 只看该作者
seakid 发表于 2014-6-28 01:03
就是啊,这样正交解码有意思吗?FTM自带了external clock输入,干嘛不用那个。。。。。。。。。。。。。。 ...

这个是外部时钟。

默认情况下每个FTM的时钟由内部总线时钟( FTM的是指它作为系统时钟),总线时钟可以通过锁相环改变呀。
每个模块包含一个寄存器设置,允许模块从主频外部时钟代替。

回复 支持 反对

使用道具 举报

2

主题

479

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
16171

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

威望
9831
贡献
3996
兑换币
2051
注册时间
2012-1-17
在线时间
1172 小时
14#
发表于 2014-6-28 01:03:38 | 只看该作者
gsc617 发表于 2014-6-27 22:00
单相无法做到,其实正交解码是从两相的波形相位相差90度来判断的方向的

就是啊,这样正交解码有意思吗?FTM自带了external clock输入,干嘛不用那个。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

22

主题

425

帖子

0

精华

常驻嘉宾

追梦

Rank: 8Rank: 8

积分
5460
QQ
威望
2558
贡献
1504
兑换币
1706
注册时间
2013-1-27
在线时间
699 小时
13#
发表于 2014-6-27 22:32:04 | 只看该作者
只有有AB两相的编码器才能正交解码
回复 支持 反对

使用道具 举报

0

主题

28

帖子

0

精华

常驻嘉宾

VHDL

Rank: 8Rank: 8

积分
3655
威望
1342
贡献
909
兑换币
897
注册时间
2013-7-25
在线时间
702 小时
12#
发表于 2014-6-27 22:17:31 | 只看该作者
我定时读的
{
  PULSE_READ=(FTM2_CNT);//保存FTM2脉冲计数器计算值
  FTM2_CNT=0;//清空此处计数器计算值
}
就这样子啊,我可以用的,另外,你用于读编码器的FTM(我的是FTM2)就只用于读脉冲了,其他的功能别用了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 12:37 , Processed in 0.134453 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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