本帖最后由 1203030117 于 2024-3-4 17:29 编辑
#申请原创# @21小跑堂
年前做了一个搅拌器项目,用到了旋转编码器开关去调节搅拌器的速度和定时时间。在前期送样阶段都很顺利。后续的小批量生产完后,测试时发现旋钮开关在进行调速时会出现跳数值的情况,我们选用的20刻度/360度的编码器,试产用的编码器和之前样机的是同一个厂家送过来的。项目本身要求每旋转一个刻度,数值加1或者减1,但是现在的是不是的会出现旋转一个客户加2加3的情况。前面送样的样机效果是完全没问题的,但是试产的这批出现这种情况,第一反应就是编码器有问题。于是开始用示波器抓取编码器旋钮的波形如下:
一眼看去,很标准的方波信号。在软件里面处理的方式的下降沿中断触发的,虽然在中断进行的操作比较多,但是从波形上看,低电平时间也是完全充裕的。顿时有点懵。于是找到之前送样剩下的一个样板对比编码器波形,发现两者波形基本上一样,如同上图。虽然本身还是认为是旋转编码器的问题,但是抓出来的波形摆在这里,看不出什么问题,虽然充满疑惑,但是还是转身去找代码的问题。于是把之前的代码重新注释,按新的思路去编写程序处理这一块的信号,希望能解决掉这个问题。经过一番努力,终于不管从什么角度去处理,最终结果都是一样的,还是会出现跳数值的问题。好吧,客户的还没那么着急要这批货,刚好有新的案子进来,于是放下这个,先把新项目处理了。
几天后,回过头来重新整理搅拌器的问题。重新抓取编码器信号进行分析,这一个看着波形,突然发现问题了。
无意间放大信号发现波形有杂波,上右图标记出来了比较明显。看着波形感觉来了,大概明白问题是怎么出现的了。于是继续放大波形进行确认。继续放大后波形如下图:
这两张图一出来,瞬间真相大白了,编码器有杂波,导致了中断误触发。于是马上在软件里进行杂波过滤处理。重新下载烧录软件进行测试,旋转一个刻度,再一个刻度,完美!继续进行测试,拧拧拧,发现还是会有个别的刻度会出现跳数值情况。于是修改软件,加长前面过滤的时间段,极限加长到10ms过滤,烧录,测试,嗯,个别数值跳动的情况依然存在。。。。
既然有了方向,于是旋转了一周的刻度波形出来,一个一个波形放大,观察,抓到了一个小尾巴
在上升沿的时候也出现了杂波干扰,摆出来的这个杂波虽然可能还不到影响数值的地步,但是至少说明是可能存在这个问题的。于是针对这个杂波进行软件滤波处理,烧录,测试,结果可以,没有再出现数值跳动的情况了。又继续多次测试,全功能测试,依旧没有出现问题。嗯,可以确定问题解决了。
后续把该批次的板子全部重新烧录软件,同时把问题向旋转编码器工厂反馈。以前也有用到编码器,但是没有遇到这个问题,算是长知识了。很多时候都是这样,不是你软件没问题就没问题了,可能在硬件上面或者器件上面要给你的软件硬是要整出来些问题,最终还得软件来处理掉。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
打赏榜单
21小跑堂 打赏了 20.00 元 2024-03-07 理由:恭喜通过原创审核!期待您更多的原创作品~
评论
|