发新帖本帖赏金 20.00元(功能说明)我要提问
返回列表
打印
[技术讨论]

旋转编码器在实际项目中遇到的问题分析及解决

[复制链接]
4066|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 1203030117 于 2024-3-4 17:29 编辑

#申请原创# @21小跑堂
        年前做了一个搅拌器项目,用到了旋转编码器开关去调节搅拌器的速度和定时时间。在前期送样阶段都很顺利。后续的小批量生产完后,测试时发现旋钮开关在进行调速时会出现跳数值的情况,我们选用的20刻度/360度的编码器,试产用的编码器和之前样机的是同一个厂家送过来的。项目本身要求每旋转一个刻度,数值加1或者减1,但是现在的是不是的会出现旋转一个客户加2加3的情况。前面送样的样机效果是完全没问题的,但是试产的这批出现这种情况,第一反应就是编码器有问题。于是开始用示波器抓取编码器旋钮的波形如下:                                       
      一眼看去,很标准的方波信号。在软件里面处理的方式的下降沿中断触发的,虽然在中断进行的操作比较多,但是从波形上看,低电平时间也是完全充裕的。顿时有点懵。于是找到之前送样剩下的一个样板对比编码器波形,发现两者波形基本上一样,如同上图。虽然本身还是认为是旋转编码器的问题,但是抓出来的波形摆在这里,看不出什么问题,虽然充满疑惑,但是还是转身去找代码的问题。于是把之前的代码重新注释,按新的思路去编写程序处理这一块的信号,希望能解决掉这个问题。经过一番努力,终于不管从什么角度去处理,最终结果都是一样的,还是会出现跳数值的问题。好吧,客户的还没那么着急要这批货,刚好有新的案子进来,于是放下这个,先把新项目处理了。
       几天后,回过头来重新整理搅拌器的问题。重新抓取编码器信号进行分析,这一个看着波形,突然发现问题了。
         
无意间放大信号发现波形有杂波,上右图标记出来了比较明显。看着波形感觉来了,大概明白问题是怎么出现的了。于是继续放大波形进行确认。继续放大后波形如下图:
           

      这两张图一出来,瞬间真相大白了,编码器有杂波,导致了中断误触发。于是马上在软件里进行杂波过滤处理。重新下载烧录软件进行测试,旋转一个刻度,再一个刻度,完美!继续进行测试,拧拧拧,发现还是会有个别的刻度会出现跳数值情况。于是修改软件,加长前面过滤的时间段,极限加长到10ms过滤,烧录,测试,嗯,个别数值跳动的情况依然存在。。。。
      既然有了方向,于是旋转了一周的刻度波形出来,一个一个波形放大,观察,抓到了一个小尾巴

在上升沿的时候也出现了杂波干扰,摆出来的这个杂波虽然可能还不到影响数值的地步,但是至少说明是可能存在这个问题的。于是针对这个杂波进行软件滤波处理,烧录,测试,结果可以,没有再出现数值跳动的情况了。又继续多次测试,全功能测试,依旧没有出现问题。嗯,可以确定问题解决了。
      后续把该批次的板子全部重新烧录软件,同时把问题向旋转编码器工厂反馈。以前也有用到编码器,但是没有遇到这个问题,算是长知识了。很多时候都是这样,不是你软件没问题就没问题了,可能在硬件上面或者器件上面要给你的软件硬是要整出来些问题,最终还得软件来处理掉。

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 20.00 元 2024-03-07
理由:恭喜通过原创审核!期待您更多的原创作品~

评论
1203030117 2024-3-11 11:41 回复TA
展示出来所遇到的问题或者说经验能给后来者提供些参考。 
1203030117 2024-3-11 11:40 回复TA
测试后第一反应就是编码器有问题,直接找采购是不是换供应商了,然后让他找厂家联系。。但是采购说这就是送样那家的编码器,价格也一样。供应商那边肯定的说之前送样的就是这种,什么都没改。所以么的法子,只能花时间处理这个问题。 4:论坛上面的问题很多时候就是一层窗户纸的事情。不是说自己有多少技术,只是接触的多了,会有稍微多点的经验,展示出来所...  
1203030117 2024-3-11 11:39 回复TA
参考下5楼大哥的编码器波形,给我们送样的编码器的波形边沿和他这个是一样的,很干净,但是批量给过来的编码器都存在边沿不干净的情况。电容滤波是有用的,只能说是板子上电容容量不合适。 3:总结来说,整个就是供应商批量提供的编码器和送样的编码器的有差距,给大家提供个样例,都注意下这方面。为什么会折腾这么一下,其实从贴片好回来测试后第一反应就... 
1203030117 2024-3-11 11:36 回复TA
学无前后,达者为先。感谢各位给了我很多启发。这里统一回复下哈: 1:作为消费品来说,真要谈论,就那么点技术,很多问题就是一层窗户纸的事情,不确定问题的时候一脸懵,确定问题了也就能解决问题了。 2:回复各楼滤波的问题:电路上是有加100pF电容的,这个电容本来是要根据调试情况来进行调整的,但调试的时候,是没有这种问题的,可以参考下5楼大哥的编码...  
21小跑堂 2024-3-7 14:03 回复TA
一个简单的增量编码器的常见问题探究解决,其实在设计之初就应该考虑到软件和硬件的滤波问题,此处属于经验不足,不过解决问题就是好的。 
1203030117 2024-3-5 16:18 回复TA
@xch :谢谢批评!以后加强数学学习 
xch 2024-3-4 18:58 回复TA
数学基础太差,瞎折腾 

相关帖子

沙发
1203030117|  楼主 | 2024-3-4 17:25 | 只看该作者

测试补充

本帖最后由 1203030117 于 2024-3-4 17:33 编辑

后续继续回过头测试发现,目前测试的这个板子上的旋转编码器,有5个固定位置会出现杂波,然后影响数值跳动,其他的刻度位置波形是正常的。这一点也通过抓取这几个位置的波形进行了确认。

使用特权

评论回复
板凳
eydj2008| | 2024-3-5 08:42 | 只看该作者
人才啊,这个寿命才多少,所有编码器都有干扰的,除非是数字式的。

使用特权

评论回复
地板
gyh974| | 2024-3-5 13:49 | 只看该作者
编码器就是一个开关,不可能没有抖动的

使用特权

评论回复
5
CXFLBH| | 2024-3-5 14:50 | 只看该作者
你那个编码器波形貌似是有问题的,我看了一下我们的,波形正常多了。

使用特权

评论回复
6
1203030117|  楼主 | 2024-3-5 16:26 | 只看该作者
CXFLBH 发表于 2024-3-5 14:50
你那个编码器波形貌似是有问题的,我看了一下我们的,波形正常多了。

嗯嗯嗯  也有用到过这种波形好的,各个厂家质量不一,现在这个工厂送样生产的就是这种,没有去深究它,消费品要考虑的东西太多,器件只要能满足要求,或者后续能通过其他各种手段去平替掉元器件的缺点,保证好产品质量,就可以了,工程师能做的就是这种。

使用特权

评论回复
7
1203030117|  楼主 | 2024-3-5 16:27 | 只看该作者
gyh974 发表于 2024-3-5 13:49
编码器就是一个开关,不可能没有抖动的

受教了,一开始用的器件可能是比较有质量的,所以忽视了这个问题

使用特权

评论回复
8
1203030117|  楼主 | 2024-3-5 16:28 | 只看该作者
eydj2008 发表于 2024-3-5 08:42
人才啊,这个寿命才多少,所有编码器都有干扰的,除非是数字式的。

受教

使用特权

评论回复
9
圣骑士by| | 2024-3-5 16:40 | 只看该作者
硬件上加个RC滤波电路吧,软件就省事了。

使用特权

评论回复
10
zlf1208| | 2024-3-5 20:25 | 只看该作者
没搞懂吃透器件的原理特性就开始干了,典型的新手。

使用特权

评论回复
11
一叶倾城wwq| | 2024-3-6 09:12 | 只看该作者
不要用电平中断,有干扰够你受的

使用特权

评论回复
评论
一叶倾城wwq 2024-3-12 08:50 回复TA
@1203030117 :主体程序运行时间长的话要考虑是否程序结构是否合理,一个按键任务能延长多点时间,连这点时间都不能冗余,说明程序整体有问题。 
1203030117 2024-3-11 11:11 回复TA
具体是否用中断检测,根据实际情况来考虑,我这边主体程序运行的时间很长,所以放到中断才有实时性。 
一叶倾城wwq 2024-3-11 08:48 回复TA
@黑起001 :定时扫描就好了,软件滤波。 
黑起001 2024-3-8 16:53 回复TA
请问那要用什么来进行判断啊 
12
dd731| | 2024-3-6 10:52 | 只看该作者
接1个滤波电容就解决问题

使用特权

评论回复
评论
1203030117 2024-3-11 11:13 回复TA
收到!感谢 
13
gfjshenglei| | 2024-3-6 14:56 | 只看该作者
自娱自乐嘛,这么简单的技术问题拿到论坛上要说明啥

使用特权

评论回复
14
sherwin| | 2024-3-9 12:15 | 只看该作者
这种小干扰,一个电容或者RC积分电路就搞定了,简单快速还可靠,用不着折腾代码啊。

使用特权

评论回复
15
1203030117|  楼主 | 2024-3-11 11:41 | 只看该作者
学无前后,达者为先。感谢各位给了我很多启发。这里统一回复下哈:
1:作为消费品来说,真要谈论,就那么点技术,很多问题就是一层窗户纸的事情,不确定问题的时候一脸懵,确定问题了也就能解决问题了。
2:回复各楼滤波的问题:电路上是有加100pF电容的,这个电容本来是要根据调试情况来进行调整的,但调试的时候,是没有这种问题的,可以参考下5楼大哥的编码器波形,给我们送样的编码器的波形边沿和他这个是一样的,很干净,但是批量给过来的编码器都存在边沿不干净的情况。电容滤波是有用的,只能说是板子上电容容量不合适。
3:总结来说,整个就是供应商批量提供的编码器和送样的编码器的有差距,给大家提供个样例,都注意下这方面。为什么会折腾这么一下,其实从贴片好回来测试后第一反应就是编码器有问题,直接找采购是不是换供应商了,然后让他找厂家联系。。但是采购说这就是送样那家的编码器,价格也一样。供应商那边肯定的说之前送样的就是这种,什么都没改。所以么的法子,只能花时间处理这个问题。
4:论坛上面的问题很多时候就是一层窗户纸的事情。不是说自己有多少技术,只是接触的多了,会有稍微多点的经验,展示出来所遇到的问题或者说经验能给后来者提供些参考。

使用特权

评论回复
16
springvirus| | 2024-3-11 16:28 | 只看该作者
学习一下

使用特权

评论回复
17
万能的互联网| | 2024-3-12 15:58 | 只看该作者
这么水,都能加原创和赏金,这是什么评判标准?

使用特权

评论回复
18
medety| | 2024-3-22 15:04 | 只看该作者
LZ应该给个代码滤波思路,分享一下编码器驱动,这样更好学习。。。

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

81

帖子

3

粉丝