编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。我们做小车应用的编码器都属于增量式AB相编码器。
CW32自带编码器接口,可以直接使用定时器通道进行硬件计数。因为编码器输出的是标准的方波序列,各种单片机都能很方便的读取。
而没有编码器接口的单片机如 51 、 Arduino,可以通过外部中断读取,将编码器 A 相接到单片机的外部中断输入口,通过跳变沿触发中断,然后在对应的外部中断服务函数中,通过 B 相的电平高低判断 旋转方向。
四倍频的方法是同时测量A相和B相的上升沿和下降沿全部计数。大幅度提高了采样的精度。
1.4.1 M法
M 法是指在一定的时间周期 Tc 内,测量编码器输出的脉冲个数 M1来计算转速。用个数除以时间就可以得到编码器输出脉冲的频率,因此 M 法也称为频率法,f1=M1/Tc。我们可以使用 CW32 的定时器定时 10ms 的中断,每过 10ms 就将编码器的计数值取出计算转速。
由于编码器转一圈只能输出固定个数的脉冲,因此 M 法的最大误差也为 1 个脉冲,经过程序计算后会发现转速会以固定大小变化,这种方法适合高速场景下的测量,对于低速的情况,M 法存在较大的误差。
1.4.2 T法
T 法是测量编码器两个脉冲之间的时间间隔来计算转速,也被称为周期法。实际使用中通过一个高频时钟脉冲的个数 M2 来计算编码器两个脉冲之间的时间间隔。
在低速下,T 法可以在两个编码器脉冲输出之间采到更多的高频时钟脉冲,而在高速下采到的脉冲更少,所以 T 法更适用于低速的场景。
如下图所示,常见的直流编码电机虽然形状不同,但是基本都是提供6PIN的接 口。而直流电机本身是只用接两根线的。图示电机插口最外侧两根线1/6号线,其实是跟电机引脚焊在一起的如图示的红白线。电机线 M1 M2 有的厂家标的是 M+ M- 但是其实没有绝对的正负关系。而中间的四根引线都是编码测速电路的接线,跟直流电机本身没关系,分别是VCC、A、B、GND
电机线2 接驱动输出端 | M2 |
---|---|
编码器电源线接3V3或者5V | V |
编码器信号线 | A |
编码器信号线 | B |
编码器负极GND | G |
电机线1 接驱动输出端 | M1 |
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !