欧姆龙旋转编码器硬件开发指南


欧姆龙E6B2_CWZ6C调试指南

准备工作

旋转编码器购入于淘宝。欧姆龙旋转编码器E6B2_CWZ6C

实物图

原装的编码器提供了详细的说明书
需要简单说明书的请参照百度文库
这个旋转编码器的输出是一个NPN三级管,内部输出电路如下–>>
电路图
通过NPN晶体管的集电极输出的信号通常使用一个上拉电阻来输出指定的电平信号。


First

设计的初衷是使用这个模块来测量一个三相直流无刷电机的转速,编码器
的输出对象是一款接口电压为3.3v的单片机。为了保证安全使用了光耦进
行隔离。但是也由于选择了光耦出现了一些问题,最后还是抛弃了使用光
耦的方案,改在三极管的集电极直接接上拉电阻输出。原因在于
待测电机转速为3000rpm、约50rps。使用的旋转编码器为1000线。
旋转编码器的输出为50k,但是光耦的开关频率较低,不能可靠地工作在50k
这个频率下,因此最后放弃了使用光电耦合器的方案,使用了三极管直接进行输出

Second

使用的单片机型号为stm32f103zet6,自带的定时器可以工作在编码器模式下。使用定时器4
统计脉冲数判断旋转的角度。配置TIM4上升沿下降沿均使能,因此旋转一周的脉冲计数为AB两相*线数*2
\=

2*1000*2=4000

电机转速为50rps,因此理论上每秒的计数值为

4000*50=200k  

定时器最大计数值为2^16=65536不满足计数要求
因此取定时间隔为0.01s理论脉冲数为2k。使用定时器3工作在中断模式。
每0.01s进入一次中断,判断tim4定时器的计数值,并同时清零计数器4
通过取得的脉冲数计算转速,计算公式为

speed=n*100*60/4000;

化简为

speed=n*3/2;

测得的转速再经过控制器进入调速系统供调速控制器使用。

Third

工业上使用的编码器多不使用三级管输出,因为容易受到干扰。需要的传输线较多。因此
选用编码器时应该注意选型。此外,应该根据具体系统选用合适的编码器,本设计使用的电机转速较高。
要求的控制精度较低。可以选用线数更少的旋转编码器。但是,请买一个欧姆龙的。

总结

  1. 一次点亮很激动。
  2. 没了。