HENGSTLER基于CAN总线的编码器检测模块设计
随着工业生产自动化水平的提高,各种传感器的使用也在增加。作为一种速度和位移反馈传感器,HENGSTLER旋转编码器主要用于需要运动速度和位移信息反馈的自动控制场合,例如CNC机床、高精度闭环速度控制系统、伺服电机、异步电机、步进电机、电梯曳引机、,电梯门电机,甚至机械轴,确保机器的高精度和稳定运行,提高生产效率,确保安全运行。
针对亨士乐编码器在工业领域的应用,本文基于LPCI768硬件平台,设计了一种具有高精度分析、形成和解码电路的编码器采集模块,可以同时对两个编码器的输入信号进行分析和解码。处理后的旋转信号由高性能处理器捕获并进行数字滤波。编码器还计算两个编码器信号的角速度,末端模块通过CAN总线将获取的旋转位置和角速度值传输到DPU(分布式处理单元),以供工业部门使用。
1、HENGSTLER旋转编码器
HENGSTLER旋转编码器是用于测量旋转部件运动的传感器。这是一种传感器,它将旋转的机械位移转换为电信号,并在处理信号后显示位置、速度等。所谓的编码实际上是将旋转角度的信息转换成可由单片机读取的电信号的过程。根据工作原理,旋转编码器可分为三种类型:接触式、光电式和电磁式。}根据输出信号的形状,它可以分为两种类型:增量型和绝对值型。其中,增量式编码器是业内最常用的旋转编码器。
增量编码器包括码盘、发光元件、接收元件和信号处理部分。当轴旋转时,它驱动码盘旋转,从而使光栅线透明,间隙不透明。发射的光被接收元件接收并输入到信号处理部分以产生脉冲信号输出。输出信号通常包括A相和B相(相差90°)。一些编码器还输出每转零脉冲Z作为机械参考零点。当主轴顺时针旋转时,通道A是通道B之前的信号;当主轴逆时针旋转时,通道A的信号位于通道B之后,可用于确定主轴是向前旋转还是向后旋转。
2、CAN总线
CAN总线(控制器局域网)是世界上使用最广泛的现场总线之一。CAN总线最初由德国博世公司于1983年为汽车应用开发,属于现场总线类别。随着CAN总线的不断改进和发展,它已被国际标准化组织采纳为国际标准。
CAN总线是一种串行多主通信总线。基本设计规范要求高比特率和高干扰安全性,并且可以检测发生的错误。当信号传输距离达到10km时,它仍然可以提供高达5kb/s的数据传输速率。根据iSO标准,CAN协议有两种类型:IS011898标准和IS011519标准。它们之间的区别在于物理层的定义不同。ISOll898是一种CAN高速通信标准,通信速度为125kb/s--1Mb/s,而ISOll519是一种通信速度低于125kb/s的CAN低速通信标准。
3、硬件设计
HENGSTLER编码器根据系统的功能要求,本文选用了NXP公司生产的LPCI768处理器。该处理器是基于ARMCortex-M3内核的32位处理器。它具有3条流水线和哈佛结构,具有独立的本地指令和数据总线,以及用于外围设备的功率稍低的第三条总线。同时,它还包括一个支持随机翻译的内部预取单元,其工作频率可达100MHz。LPCI768处理器的外围组件包括高达512 kB的闪存、64 kB的数据存储器、4个通用定时器、8通道12位ADC、10位DAC、电机控制PWM、4个UART、2个CAN通道、具有独立电池电源的超低功耗RTC和多达70个通用I/O引脚。图1显示了编码器检测模块的完整框图。
图1编码器检测模块总框图
3.1 CPU
根据芯片手册,LPCI768可以选择内部RC振荡器或主振荡器作为系统的时钟源。由于内部RC振荡器的精度不能满足CAN总线通信的要求,并且主振荡器的频率范围可以在1MHz到25MHz之间工作,因此选择12MHz晶体振荡器和22pF电容器以形成皮尔斯振荡器作为主振荡器的时钟源。由于系统不使用芯片的A/D模块,VDDA可以与VDD一起连接到3.3V。每对VDD和GND引脚之间应连接一个0.1uF的去耦电容器。同时,JTAG和通信引脚通过10k上拉电阻连接到VDD,以提高信号传输的稳定性。
3.2编码器部分采集
当HENGSTLER旋转编码器用于角度定位或测量时,摇动旋转轴会导致旋转编码器输出轴形状的抖动,从而导致错误计数的现象。在这种情况下,波形无法正确计数。该系统使用单稳态触发器来消除编码器输出脉冲信号的抖动。图2显示了一个编码器传感电路。
图2编码器检测电路中的电路
根据电路分析,如果旋转编码器正向旋转,则F1输出脉冲序列,如果旋转解码器反向旋转,则R1输出脉冲序列。
图3编码器检测电路仿真波形
CAN总线3.3的通信部分
LPC1768处理器支持CAN 2.0B规范,并与IS011898-1标准兼容。在此基础上,本文选择飞利浦半导体公司生产的PCA82C250芯片作为CAN总线收发器。通信匹配电阻为120,i1,CAN收发器电路如图4所示。
图4 CAN收发器
3.4电源
LPC1768的工作电压为3.3V,而CAN收发器和编码器检测电路的电压为5V。因此,首先使用MC33063将相关电路的输入电压降至5V,然后使用LM1117-3.3V将5V电压降至3.3V作为处理器的工作电压。电路见图5。
图5电路
4、软件设计
系统采用RealView MDK-ARM V4.10作为开发平台,C语言作为主要开发语言。程序主要分为三部分:亨士乐编码器检测部分采用中断模式,通过LPC1768的时间记录单元对输入脉冲信号进行计数;CAN通信部分还使用中断模式来接收来自DPU或其他控制主机的命令,然后执行相应的数据传输任务;主程序通过特定的调度算法完成编码器旋转方向的评估、角速度的计算、相应指示器状态的设置、CAN通信过程中异常情况的处理以及狗的喂食。主程序流程图见图6。
图6主程序流程图
5、结论
本文设计的HENGSTLER编码器检测模块适用于各种工业控制场所,具有广阔的应用前景。经过实验室初步测试和工业现场测试应用,该模块能够满足用户对旋转编码器输入信号处理结果的要求,能够与现场控制系统可靠通信,工作性能稳定,抗干扰能力强,安全性高。
了解更多编码器相关知识,敬请关注
亨士乐编码器国内正规授权代理西安德伍拓自动化传动系统有限公司网站。公司技术团队为您免费提供HENGSTLER编码器的选型、安装、调试、保养等技术指导服务,尽量避免企业因为编码器技术人员的短缺带来的损失,采取“线上+线下”服务的服务形式,帮助企业解决技术难题。