编码器:
1.增量式:
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。
就是每转过单位的角度就发出一个脉冲信号(也有发正余弦信号,然后对其进行细分,斩波出频率更高的脉冲),通常为A相、B相、Z相输出。
A相、B相为相互延迟1/4周期的脉冲输出,根据延迟关系可以区别正反转,而且通过取A相、B相的上升和下降沿可以进行2或4倍频;
Z相为单圈脉冲,即每圈发出一个脉冲。
2.绝对式:
绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
就是对应一圈,每个基准的角度发出一个唯一与该角度对应二进制的数值,通过外部记圈器件可以进行多个位置的记录和测量。
应用:
1.编码器(增量式)用定时器来读取:stm32有定时器模式,配置完成后,通过脉冲来进行计数,计数值则为脉冲值。若想转换为速度,就放在另一个定时器里面每隔一段时间读取一次。用读取值/单圈脉冲数*定时器周期得到rad/s;(或者测试1m对应的编码器值)。
2.编码器(增量式)用中断来读取:AB相每次进入中断就进行计数,然后用定时器定时读取。转换为速度。
优缺点:方法一可以更为快速的进行读取,也更为准确。但会用到两个定时器(其实直接用脉冲数来当作“速度”也可以);
方法二节省定时器资源,但是会一直进入中断,占用cpu资源,并且不准。