[信号传感和变送]

直流减速电机编码器

[复制链接]
2211|13
手机看帖
扫描二维码
随时随地手机跟帖
猎影囚徒|  楼主 | 2017-4-9 18:40 | 显示全部楼层 |阅读模式
这种光电编码器是怎么使用的呢?500线的编码器。
我用stm32和编码器连接,捕获编码器输出的脉冲数。可是转一圈捕获的脉冲数并不是500,并且随着转速的增加,转一圈脉冲数也会增加。是使用方法不对还是其他什么原因,希望前辈赐教,感谢。比较急。对了像欧姆龙那种增量光电编码器同样的方法捕获脉冲数,得到的就是脉冲数,可以使用,可是用这种安装在电机上面的光电编码器就不行。

相关帖子

猎影囚徒|  楼主 | 2017-4-9 18:40 | 显示全部楼层
[img][/img]

使用特权

评论回复
猎影囚徒|  楼主 | 2017-4-9 18:41 | 显示全部楼层
https://bbs.21ic.com/forum.php?mod=attachment&aid=ODMxNTgwfGNlMDE3MWM1OTZhYjA2YzgwOWZmMmQ2Mzg2ZDZkN2UzfDE3MTE2MzQ4Njc%3D&request=yes&_f=.jpg
T15tVFFw8dXXXXXXXX_!!0-item_pic.jpg_400x400.jpg_.webp.jpg

使用特权

评论回复
zrflij| | 2017-4-9 19:24 | 显示全部楼层
qq48256650

使用特权

评论回复
猎影囚徒|  楼主 | 2017-4-9 20:10 | 显示全部楼层

你好,QQ加您了

使用特权

评论回复
Prry| | 2017-4-10 11:11 | 显示全部楼层
这就是stm32的**肋!明明是32处理器,整个16位定时器,但价格亲民也就这样了。
解决办法:
1、采用轮询的方式读取计数,读取间隔根据最大速度而定,比如1ms、10ms等,但在这个间隔内必须保证定时器计数不溢。
2、处理好正传、反正时刚好溢出的情况。
3、不要有其他函数阻塞这个计时。
4、编码z相可以接中断引脚,但这个我没用过,频繁进入中断可能处理不及,这个可以自己尝试。

使用特权

评论回复
cauhorse| | 2017-4-10 12:55 | 显示全部楼层
QEI可不是**肋,用软件实现QEI你得把鉴相,2X/4X计数都做进去,小角度来回抖动还可能丢失脉冲,不但占用处理器内核资源,片内外设的功能也没有用上;
玩玩可以,做成产品就太危险了;
楼主光编500线,正常4X计数下就是2000个脉冲,16位计数器够用了,如果光编有Z信号(或Index信号)也可以接进来,这样每次Index到来时,计数器会清零;
也可以溢出中断中置Index计数值 ,这样就可以记录光编转了多少圈。
看楼主的光编是带Index刻线的,可以试试。

使用特权

评论回复
jaymanyi| | 2017-4-10 17:03 | 显示全部楼层

使用特权

评论回复
猎影囚徒|  楼主 | 2017-4-17 14:34 | 显示全部楼层
Prry 发表于 2017-4-10 11:11
这就是stm32的**肋!明明是32处理器,整个16位定时器,但价格亲民也就这样了。
解决办法:
1、采用轮询的方 ...

您好,那么我这种方式捕获脉冲对不对?

使用特权

评论回复
猎影囚徒|  楼主 | 2017-4-17 14:39 | 显示全部楼层
cauhorse 发表于 2017-4-10 12:55
QEI可不是**肋,用软件实现QEI你得把鉴相,2X/4X计数都做进去,小角度来回抖动还可能丢失脉冲,不但占用处 ...

你好,现在我需要的得到的结果是,转一圈可以捕获到准确的500个,用于后续程序中使用。目前出现的情况是转一圈捕获的脉冲数随着转速变化,脉冲数会发生变化,而且差别很大,几百上千的差别。希望前辈给说一下我的问题出在哪里,是使用方法错了?程序里面计时、中断等原因没有做好的原因?谢谢!!

使用特权

评论回复
猎影囚徒|  楼主 | 2017-4-17 14:40 | 显示全部楼层

使用特权

评论回复
cauhorse| | 2017-4-17 22:48 | 显示全部楼层
本帖最后由 cauhorse 于 2017-4-17 22:50 编辑

先确认一下编码器接口有没有用对,输出信号是不是两路正交方波信号;图中这个编码器看起来是HP或者AVAGO的读数头,但是只有4个引脚,输出可能就是+V、A、B、GND四路了,这样的器件一般没有Z信号输出。
连上单片机,转动编码器,用示波器确认输出信号是否正常,AB两路信号应该是完整的、相位相差90度的方波;
检查无误后,找个STM32 QEP接口的例程再试一下,这时不应当有问题。
如果是自制硬件,先确认一下电路设计是否合理:编码器输出有单端输出,422差分输出、集电极开路输出等多种类型,有时需要分别处理。
怀疑编码器的话,也可用单片机自己输出两路正交方波,接进来看一下QEP的计数值;除非转速过高,输入脉冲频率超出QEP计数能力,否则不应这样的现象。
楼主依次检查一下。

使用特权

评论回复
猎影囚徒|  楼主 | 2017-4-22 12:48 | 显示全部楼层
cauhorse 发表于 2017-4-17 22:48
先确认一下编码器接口有没有用对,输出信号是不是两路正交方波信号;图中这个编码器看起来是HP或者AVAGO的 ...

谢谢,我尝试一下。

使用特权

评论回复
52wm| | 2017-4-22 22:37 | 显示全部楼层
stm32的16位编码器接口确实是**肋,值接用Cpld写个64位的,连速度也给弄好,简单。我有编码器接口的代码,楼主要是还没整好,我就贴下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝