绝对式编码器

STM32编码器

我只是一个虾纸丫 提交于 2019-12-12 01:28:53
最近在做毕业设计,需要计算小车的行驶距离,需要用到编码器计算具体走了多远,就了解学习了一下编码器。 一、编码器简介 编码器(encoder)是将信号 如比特流或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按码盘的刻孔方式可分为绝对编码器和增量编码器。绝对编码器由机械位置决定的每个位置是唯一的,它无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置。并且没有累计误差,这样,编码器的抗干扰特性、数据的可靠性大大提高了。增量式编码器不能返回位置信息,它只能返回脉冲,告知自己是否在转,速度,以及正反转等信息。 我这里只需要知道正反转转了多少算行驶距离而已,用的是增量等待AB相正交编码器。那么什么是正交呢,如果两个信号相位差为90度,则这两个信号称为正交。由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向、根据每个信号脉冲数量的多少及整个编码轮的周长就可以算出当前行走的距离、如果再加上定时器的话还可以计算出速度。编码器的线数代表转一圈所发出的脉冲数。 二、STM32编码器接口 由于TI,T2一前一后有个90度的相位差,所以当出现这个相位差时就表示轮子旋转了一个角度。既然都是脉冲,为什么不用普通IO中断