情况如下图。 1、光电式增量旋转编码器,ABZ三相,分辨率1圈100线,NPN漏极开路输出。 2、用51系列单片机(晶振12M)工作在外部计数器状态的Timer0采集A相脉冲。 3、编码器每1秒转1圈。 现在的情况是,如果不加上红线内的电路:编码器每旋转1圈,能采... 情况如下图。
1、光电式增量旋转编码器,ABZ三相,分辨率1圈100线,NPN漏极开路输出。
2、用51系列单片机(晶振12M)工作在外部计数器状态的Timer0采集A相脉冲。
3、编码器每1秒转1圈。
现在的情况是,如果不加上红线内的电路:编码器每旋转1圈,能采集到的脉冲个数不到100个,大概只有30-50个。
但是,如果加上图中红线所示的电路时,采集到的脉冲明显增多,可以达到85-95个。但是也不到100个。(请注意,红线中的电路,有一部分需要用手短路图中的5K电阻,如果不短路,即使加上5K上拉电阻,却只能采集到5-10个脉冲)。
由以上分析,应该是编码器的输出不符合要求,思路应该是从编码器的输出着手。
问题:
1、为什么用手短路5K电阻,会采集的更精确一些?
2、请想个办法把我的手解放出来吧,要纯电路解决方案。
PS:单片机软件程序不存在任何问题。
调小5K电阻试试。用示波器看一下A相输出就清楚了。
调小上拉电阻不起作用的话,可能A相输出有问题。你说单片机部分不会有问题,还是验证一下为好。做一个简单的方波发生器代替A相信号,调节发生器的频率,看单片机是否工作正常。若正常,肯定是编码器的问题了。
可以试着更换光电器件,如果电路以前工作正常,其它元件损坏的可能性不大。没有示波器,调试比较困难。用一个LED串一电阻作为逻辑测试工具,可以测试光电放大电路及A相输出信号,以作参考。