问下增量式旋转编码器与51单片机的接线问题。
发布网友
发布时间:2022-04-29 22:24
我来回答
共2个回答
热心网友
时间:2022-06-24 12:09
1、如果需要高速(速度比较快)计数,在单片机外面加一个判向电路。做硬件判向。
输出一般有两种,一种是输出一个方向信号和一个计数信号。
用单片机的一个计数器(如用T0),这样就能实现正反两方向的加减计数了。
另一种是输出两个正反计数的脉冲串。
用两个计数器做减法运算。两种都可以。
Z信号一般不用接计数器。看你用途和用法了。
2、编码器直接接单片机。
如你用5V单片机那编码器输出信号的幅值也应该是TTL电平的。
做软件判向,可能会影响计数速度。
热心网友
时间:2022-06-24 12:10
e6a2-cw3c旋转编码器输出两路正交(相位相差90°)脉冲信号。分辨率200意味着编码器每旋转一周输出200个周期脉冲。如果把每一路脉冲的上沿和下沿都利用起来,相当于四倍频,分辨率可以达到200×4=800。
编码器输出通常为5v的ttl电平,可以直接连接到单片机。能否利用单片机直接读取编码器并计数,则取决于你的应用中,编码器轴旋转的速度有多大?因为,单片机对两路脉冲的计数只能基于对脉冲的上跳(或者下跳,下同)的处理。而单片机对随机上跳处理的较好的方案是上跳引起一个中断,在中断程序中实施判断后再进行加1或减1的计数。中断处理是需要时间的。当编码器旋转足够快,输出脉冲周期少于中断处理时间时,将导致脉冲丢失,这会引起计数误差。
所以,你要准确估计你的编码器旋转速度,得到最小的脉冲周期;然后估算你的中断处理程序的执行时间(在at89s52最大系统时钟下)。两者比较后才能确定你的设计是否可行。