下载此文档

基于CAN总线的伺服电机通信控制.doc


文档分类:通信/电子 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
该【基于CAN总线的伺服电机通信控制 】是由【艾米】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【基于CAN总线的伺服电机通信控制 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。基于CAN总线的伺服电机通信控制
充。
3伺服电机接入CAN网
伦茨伺服电机的伺服控制器由于提供了专门的CAN总线接口X4,可以象其他的CAN节点一样,用普通双绞线作为通信介质,很方便地连接到基于CAN总线的工业控制系统上,如图1所示。
伦茨的伺服控制器与伺服电机之间采用旋转变压器或光电编码器建立反馈,形成高精度的伺服控制系统,伺服电机实时地将其运行状态与运行信息上传给伺服控制器。作为CAN总线上的节点,伺服控制器不仅可以与上位主机进行通信,通过CAN总线接收上位机的各种操作、控制和参数设定命令;同时伺服控制器之间亦可以进行快速的数据交换,相互间建立一定的协调或控制关系。
上位主机通过接插支持CAN的通讯适配卡获得对CAN总线的支持,负责对整个系统的运行和工作状态进行监视管理。由于CAN总线在工业控制上的应用越来越广泛,很多公司都推出了支持CAN总线的接口适配卡,如研华的PCL-841通信卡、北京华控的HK-CAN20通信卡、北京三兴达公司的智能CAN-PC总线适配卡PCCAN等等,用户可以通过这些接口适配卡,来运行复杂的通信任务,进行各CAN节点与上位主机之间的数字通信和协调管理。
4伺服控制器的功能模块与基于CAN总线的数据通道
伦茨伺服电机的伺服控制器,具有丰富的内部功能模块库,如常见的逻辑功能模块、算术功能模块、信号类型转换模块、斜坡函数发生模块、相位积分模块以及较特殊的数频输入输出模块、数频处理模块、伺服控制处理模块、速度设定处理模块等等。用户利用这些功能块,可以自由配置控制器的信号流程,使控制器能很容易地适应不同的实际应用。
为了实现基于CAN总线的应用,伺服控制器提供了专门的CAN总线功能模块组CAN-IN与CAN-OUT,作为过程数据通道,进行过程数据的传输。其中,功能块CAN-IN1与CAN-OUT1只用于伺服控制器与上位主机之间进行通信与数据传输。输入功能块CAN-IN1用于接收上位主机的数据信息,CAN-IN1有8B的数据空间可供用户使用配置,可以向其他内部功能模块提供二进制信号、16位的模拟信号、16位的速度信号以及32位的相位信号等多种控制信号。上位主机通过向根据实际应用配置的CAN-IN1模块发送命令信息,能实现伺服电机的速度给定、电机快停、电机的正反转切换、电机正常模式转速与恒定低速的切换、电机使能、电机禁止等各种功能。同样,CAN-OUT1功能模块亦有8B的数据空间可供用户使用,可以通过配置向上位主机实时地提供电机的各种状态信息、电机的实际速度、电机的实际相位等信息。
功能块CAN-IN2、CAN-IN3与CAN-OUT2、CAN-OUT3用于伺服控制器之间进行快速数据交换。只要配置了某一伺服控制器的CAN-OUT2或CAN-OUT3与另一伺服控制器的CAN-IN2或CAN-IN3的对应关系,即可建立起伺服控制器间的数据传输通道,在电机运行过程中将1台伺服控制器的各种数据信息传给另1台伺服控制器,常见的如:将1台伺服控制器的速度给定经一定运算处理后作为另1台伺服控制器的速度给定信号,使2台伺服电机速度比例运行。该特性对于多台伺服电机之间的协调控制具有重要意义。上位主机亦可以监测到在CAN总线上传输的该类数据信息。
同时,伺服控制器还提供2路参数输入通道和2路参数输出通道。在CAN总线上,上位主机可通过2路参数输入通道,对伺服控制器内的各种参数进行设置修改,如伺服电机的加减速时间、齿轮箱变速比、级联系数等等;通过2路参数输出通道读取伺服控制器的各种参数,如伺服电机的当前温度、当前配置的加减速时间以及电机的实际电压电流等等,故只要是能在伺服控制器的参数代码表中找得到的参数,基本上都能够读取。
通过CAN总线接口与各个数据通道,伺服电机可将自己的相关数据信息发送到CAN总线上;同时亦可以接收来自总线的伺服电机所需的各种数据信息与控制命令。
5CAN的通信协议
作为实时性要求比较高的工业控制底层网络,CAN协议只分为3层:物理层、数据链入层和应用层。CAN通信协议有4种不同的帧格式:数据帧、远程帧、错误帧和超载帧。
由于CAN通信协议给出的只是共性要求,在实际应用中需要将协议具体化,建立适用的协议规则。根据伺服电机伺服控制器的特点,并遵循CAN通信协议标准,制定了伺服控制器的通信协议规则。伺服控制器的每个信息帧分为2部分:帧头和数据域。帧头占2B,其前11位为标识符,然后是一位RTR位,最后是4位的数据长度位DLC(即所发数据的实际长度,以字节为单位)。数据域占用8B。11位的信息标识符反应了节点的优先级别,总线仲裁就是通过它来实现的,信息帧的标识符越小,信息帧就具有越高的优先权。除总线状态等特殊信息外,伺服控制器对所传输信息的标识符有一定的计算公式:
信息标识符=基准标识符+设定的控制器的节点地址
伺服控制器的节点地址可以在参数代码表中设定。而对信息的基准标识符,伺服控制器有统一的规定,如:同步触发信号的基准标识符为128,来自控制器CAN-OUT1通道的信息的基准标识符为384,而发送到控制器CAN-IN1通道的信息的基准标识符为512,通过参数通道1发送到控制器的信息基准标识符为1536,通过参数通道1接收的信息基准标识符则为1408。
对于8B的数据域,用户需要按照所要发送的具体信息来确定应遵循的使用原则。比如,要通过参数通道进行参数设定,第1个字节为命令码,第2、3字节为参数对应的索引号,第4个字节为参数对应的次索引,后4个字节是要设定的参数数据大小;而要发送信息到某伺服控制器的过程数据通道CAN-IN1,则直接是数据信息的发送,没有命令码,也没有索引号。
6上位主机的软件设计
通过CAN总线进行通信与控制的伺服电机,在针对实际的应用要求配置好伺服控制器的内部控制信号流,以及基于CAN的接口功能模块和数据通道后,剩下需要解决的是上位主机的软件设计问题。
由于上位主机所接插的CAN通讯适配卡一般都提供CAN的驱动函数,所以在上位机软件的编制过程中,实现与CAN总线的通信部分可以直接调用相应的函数,如上位主机与CAN通信的主要任务:对CAN适配卡的初始化、CAN信息包的发送、CAN信息包的接收等,都有现成的函数可以使用,为用户使用CAN进行通信提供了方便。对CAN通讯适配卡的初始化主要是初始化适配卡的各个寄存器,设置中断向量、通信卡的波特率以及中断屏蔽字等必要的参数,为正常通信作准备。实现CAN信息包的发送,首先要确定信息包的11位信息标识符,填入帧头,并在数据域中填入需要发送的数据信息,通过发送函数发送给所有CAN节点或特定的CAN节点上。而对于使用接收函数所接收的CAN信息包,亦通过其11位信息标识符,判断其来源,对数据域的数据进行处理,取得有效的信息,进行显示或存储,并按照控制需要发送控制指令。其软件控制流程图,如图2所示。
上位主机正是通过对CAN驱动函数的不断调用,发送控制命令或参数设定命令给各伺服电机的伺服控制器,驱动伺服电机的启停运转;同时接收来自伺服控制器的伺服电机的速度、相位、转动方向、转矩等各种数据信息及状态信息,并进行分析处理,然后按照系统的实际控制需要再给伺服控制器发送相应的命令,去驱动电机,使伺服电机的运行始终按用户的要求进行变化,从而实现对伺服电机的管理与控制。
7结束语
伦茨伺服电机CAN接口的引入,提高了伺服电机的自动化水平,使伺服电机在工业控制网络中的通信与控制更为方便、灵活和可靠。
CAN总线在现代工业控制系统中越来越广泛的应用,为带CAN接口的伺服电机提供了广阔的应用前景。
参考文献
[1][M].北京:北京航空航天大学出版社,1996.
智能仪表的CAN接口设计
王文华
(辽宁机电职业技术学院机械系,辽宁丹东118002)
1前沿
在计算机数据传输领域内,长期以来使用RS-232通信标准,尽管被广泛的使用,但却是一种低数据率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模应用中(如工业现场控制或生产自动化领域),需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,所以,在最底层的确需要一种造价低廉而又能适应工业现场环境的通信系统,现场总线(FieldBus)就是在这种背景下应运而生的。
现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络,现场总线技术自上世纪70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推广。
CAN是一种有效支持分布式控制或实时控制的串行通信网络,最初是由德国***公司为汽车监控、控制系统设计的。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向过程工业、***、纺织机械、农用机械、机器人、数控机床、医疗器械、传感器及智能仪表等领域发展。
智能仪表是自动化学科的重要组成部分。随着科学技术的迅速发展,尤其是微电子、计算机和通信技术日新月异的变化,智能仪表逐渐向数字化、网络化和智能化方向发展。智能仪表一方面可以进行人机对话及与外部仪器设备对话,通过现场总线接入自动测试系统;另一方面,使用者借助面板上的键盘和显示屏,可用对话方式选择测量功能,设置参数。当然,通过总线中的工业计算机也可获得测量节点的数据。
2CAN的接口设计
CAN总线是一种串行数据通信协议,在CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可以完成对通信数据的成帧处理。CAN总线接口的具体电路如图1所示。
笔者用SJA1000作为流量计的CAN控制器,与CPU(单片机)的I/O口直接相连,再通过PCA82C250组成CAN总线。这种结构很容易实现CAN网络节点中的信息收发,从而实现对现场的控制。
SJA1000的AD0-AD7连接到MSP420F149的P0口,,,,,,SJA1000的RX0与TX0分别通过2个CNW137型高速光耦与PCA82C250相连后,再连到CAN总线上。
PCA82C250为CAN总线收发器,是CAN控制器与CAN总线的接口器件,对CAN总线以差分方式发送,其RS引脚用于选择PCA82C250的工作方式:高速方式和斜率方式。RS接地为高速,RS引脚串接1只电阻器后再接地,用于控制上升和下降斜率,从而减小射频干扰。RS引脚接高电平,PCA82C250处于等待状态。此时发送器关闭,接收器处于低电流工作,可以对CAN总线上的显性位做出反应来通知CPU。实验数据表明15kΩ-200kΩ为串联电阻器较理想的取值范围,在这种情况下,可以用平行线或双绞线作为总线,本设计中PCA82C250的斜率电阻为30kΩ。
CNW137为高速光耦,最高速度为10Mb/s,用于保护SJA1000型CAN总线控制器。CAN总线的终端匹配电阻器起相当重要的作用,不合适的电阻器会使数据通信的抗干扰性及可靠性大大降低甚至无法通信,理想的阻值范围为108Ω-132Ω,该设计使用的阻值为124Ω。

CAN通信协议主要由CAN控制器完成。SJA1000是适用于汽车和一般工业环境控制器局域网(CAN)的高集成度控制器,具有完成高性能通信协议所要求的全部特性,具有简单总线连接的SJA1000可完成物理层和数据链路层的所有功能,应用层功能可由微控制器完成,SJA1000为其提供了多用途的接口。
SJA1000是Philips公司PCA82C200型CAN控制器的后续产品,在软件和引脚上均与PCA82C200兼容,并增加了许多新的功能,性能更佳。尤其适用于对系统优化、诊断和维护要求比较高的场合。
SJA1000的功能框图如图2所示,由以下几部分构成:接口管理逻辑;发送缓冲器,能够存储1个完整的报文(扩展的或标准的);验收滤波器;接收FIFO;CAN核心模块。

SJA1000的一端与单片机相连,另一端与CAN总线相连。但是,为了提高单片机对CAN总线的驱动能力,可以把82C250作为CAN控制器和物理总线间的接口,以提供对总线的差动发送能力和对CAN控制器的差动接收能力。82C250的主要特性如下:
与ISO/DIS11898标准兼容;
高速(最高可达1Mb/s);
具有抗汽车环境下的瞬间干扰和保护总线的能力;
降低射频干扰的斜率控制;
热保护功能;
防止电池与地之间发生短路;
低电流待机方式;
某个节点掉电不会影响总线;
可有110个节点相连接。
3CAN通信程序
SJA1000操作期间,在上电之前必须配置控制线路(中断、复位、片选等)建立与CAN控制器之间通信的硬件连接。初始化、CAN通信采用中断方式数据发送和接收子程序,其流程如图3、图4和图5所示。

基于CAN总线的伺服电机通信控制 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人艾米
  • 文件大小2.32 MB
  • 时间2022-12-20