EDN China > 设计实例 > 工业电子 > 网络与总线 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于CAN总线的旋转编码器采集模块设计

徐婉?? 夏路易?? 太原理工大学?? 2015年03月05日 ?? 收藏0
随着工业生产自动化水平的提高,各种传感器的应用也越来越多。旋转编码器作为速度和位移反馈的传感器,主要应用于数控机床、高精度的闭环调速系统、伺服电动机、异步电动机、步进电动机、电梯曳引机、电梯门机乃至机械轴等需要对运动速度和位移信息反馈的自动化控制场合,以保证机械的高精度稳定运转,进而提高生产效率和保障安全运营。

本文针对旋转编码器在工业现场中的应用,基于LPCI768硬件平台,设计出一种旋转编码器采集模块,该模块内部具有高精度分析、整形、解码电路,可同时对2路编码器输入信号进行分析、解码。经过处理的旋转信号通过高性能处理器进行采集及数字滤波。旋转编码器同时还对2路编码器信号进行角速度计算,最终模块通过CAN总线将采集到的旋转位置值以及角速度值发送到DPU(分散处理单元),以供工业现场使用。

1 旋转编码器

旋转编码器是一种测量转动部件运动情况的传感器,是将旋转的机械位移量转换为电气信号,对该信号进行处理后检测位置、速度等的传感器。所谓编码,其实就是将旋转角度的信息转换为单片机可读的电信号的过程。旋转编码器根据工作原理可以分为接触式、光电式和电磁式三种}根据输出信号的形式又可以分为增量式和绝对值两种,其中增量式编码器是工业中最常用的编码器。

增量编码器包括码盘、发光元件、接收元件和信号处理部分。当轴旋转时带动码盘旋转,这样刻线处透光,问隔处不透光,透过的光被接收元件接收并输入到信号处理部分,产生脉冲信号输出,输出信号一般包括A、B两相(相位差90°),有些编码器每转一圈还会输出一个零位脉冲Z,作为机械参考零位。当主轴以顺时针方向旋转时,A通道信号位于B通道之前;当主轴逆时针旋转时,A通道信号则位于B通道之后,从而可以由此判断主轴是正转还是反转。

2 CAN总线

CAN总线(Controller Area Network),即控制器局域网,是国际上应用最广泛的现场总线之一。CAN总线最初是德国Bosch公司于1983年为汽车应用而开发的,它是一种能有效支持分布式控制和实时控制的串行通讯网络,属于现场总线(Field Bus)的范畴。随着CAN总线的不断完善和发展,它目前已被国际化标准组织采纳为国际标准。

CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有较高的位速率和高抗干扰性,而且能够检测出产生的任何错误。信号传输距离达到10 km时,仍然可提供高达5kb/s的数据传输速率。CAN协议经lSO标准化后有IS011898标准和IS011519标准两种。它们两者的区别在于对物理层的定义不同。ISOll898是通信速度为125 kb/s---1 Mb/s的CAN高速通信标准,而ISOll519是通信速度为125 kb/s以下的CAN低速通信标准。

3 硬件设计

根据系统功能需求,本文选用NXP公司生产的LPCI768处理器,该处理器是一款基于ARMCortex--M3内核的32位处理器,它具有3流水线和哈佛结构,带独立的本地指令和数据总线以及用于外设的稍微低性能的第三条总线,同时还包含一个支持随机跣转的内部预取指单元,工作频率可达100MHz。LPCI768处理器的外设组件包含高达512 kB的Flash存储器、64 kB的数据存储器、4个通用定时器、8通道的12位ADC、10位DAC、电机控制PWM、4个UART、2条CAN通道、带独立电池供电的超低功耗RTC和多达70个的通用I/0管脚.图1为旋转编码器采集模块总体框图。

图1 旋转编码器采集模块总体框图
图1 旋转编码器采集模块总体框图

3.1 CPU部分

由芯片手册可知,LPCI768可以选择内部RC振荡器或者主振荡器作为系统时钟源,而由于内部RC振荡器精度无法满足CAN总线通讯的要求,而主振荡器可以工作的频率范围为1 MHz~25 MHz,故选取12 MHz的晶振加上22 pF的电容构成Pierce振荡器,作为主振荡器的时钟源。由于本系统未使用芯片的A/D模块,故VDDA可以跟VDD一起连接到3.3V,每对VDD、GND引脚间需连接一个0.1uF的去耦电容。同时JTAG及通讯引脚均通过10k的上拉电阻连接到VDD,以提高信号传输的稳定性。

【分页导航】


上一页1234下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

CAN总线? 旋转编码器? LPC? 采集模块?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈