0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_AHleW45b 来源:旺材伺服与运动控制 2022-12-27 10:57 次阅读

【导读】介绍了CAN总线与伺服电机的特点,并讨论了伺服电机基于CAN总线的通信控制特性。

1、引言

CAN(ControllerArea Network)总线是一种有效支持分布式控制或实时控制的串行通信局域网络,由于其高性能、高可靠性、实时性好以及独特的设计,已广泛应用于控制系统中的各检测和执行机构之间的数据通信,在工控领域兴起应用热潮。

而伺服电机具有结构紧凑、控制容易、运行稳定、响应速度快等优异特性,已越来越成为现代工业自动化系统中的一个重要执行元件。在自动化程度高、需精确控制速度、位置、力矩等的场合,如印刷机械、造纸机械、纺织机械、工业机器人、高速电梯、数控机床等重要行业中,得到了普遍的应用。

德国伦茨公司生产的伺服电机由于提供了CAN总线接口,使其很容易挂接到CAN总线上,通过CAN总线进行数据传输与控制,拓展了伺服电机的功能与应用范围,使伺服电机能更好更灵活地应用于现代工业控制系统中。

2、CAN总线的特性

作为专门应用于工业自动化领域的网络,CAN总线具有以下优点:

(1)使用简单方便。许多CAN控制器芯片如SJA1000T、Philips 82C250等实现了CAN物理层及数据链路层的大部分,在使用时用户需要做的只是两件事:对CAN控制器进行初始化,对CAN总线上的数据进行收发操作。

(2)高效可靠。CAN采用短帧结构,数据帧中的数据字段长度最多为8B,所以传输的速度快(最大通信速率可达1Mbps),受干扰的概率低。同时,CAN总线作为多主节点,各节点通过总线仲裁获得总线控制权,并拥有完善的错误处理机制,保证了各种干扰环境下数据传输的安全可靠。

(3)系统可扩充性好。CAN总线是面向消息的编码,而不是面向设备的编码,故增添或删减CAN上的节点非常方便和灵活,易于系统的扩充。

3、伺服电机接入CAN网

伦茨伺服电机的伺服控制器由于提供了专门的CAN总线接口X4,可以像其他的CAN节点一样,用普通双绞线作为通信介质,很方便地连接到基于CAN总线的工业控制系统上,如图1所示。

e323f778-8514-11ed-bfe3-dac502259ad0.jpg

伦茨的伺服控制器与伺服电机之间采用旋转变压器或光电编码器建立反馈,形成高精度的伺服控制系统,伺服电机实时地将其运行状态与运行信息上传给伺服控制器。作为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总线上;同时亦可以接收来自总线的伺服电机所需的各种数据信息与控制命令。

5、CAN的通信协议

作为实时性要求比较高的工业控制底层网络,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所示。

e33dff60-8514-11ed-bfe3-dac502259ad0.jpg

上位主机正是通过对CAN驱动函数的不断调用,发送控制命令或参数设定命令给各伺服电机的伺服控制器,驱动伺服电机的启停运转;同时接收来自伺服控制器的伺服电机的速度、相位、转动方向、转矩等各种数据信息及状态信息,并进行分析处理,然后按照系统的实际控制需要再给伺服控制器发送相应的命令,去驱动电机,使伺服电机的运行始终按用户的要求进行变化,从而实现对伺服电机的管理与控制。

7、结束语

伦茨伺服电机CAN接口的引入,提高了伺服电机的自动化水平,使伺服电机在工业控制网络中的通信与控制更为方便、灵活和可靠。

CAN总线在现代工业控制系统中越来越广泛的应用,为带CAN接口的伺服电机提供了广阔的应用前景。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1927

    浏览量

    130606
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2710

    浏览量

    463272
  • 伺服电机
    +关注

    关注

    85

    文章

    2021

    浏览量

    57673
  • 通信控制
    +关注

    关注

    1

    文章

    15

    浏览量

    9148

原文标题:基于CAN总线的伺服电机通信控制

文章出处:【微信号:旺材伺服与运动控制,微信公众号:旺材伺服与运动控制】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAN总线通信系统的研究与设计

    MCS-51单片机组成CAN通信系统需要扩展CAN控制器,本系统采用的CAN控制器是SJA100
    的头像 发表于 01-09 08:23 6167次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b>系统的研究与设计

    导弹伺服机构与CAN总线的连接和通信

    查询的时间必须足够快,以避免报文丢失。4 结束语本设计很好地解决了导弹伺服机构与CAN总线的连接和通信问题,大大减轻了原系统的重量,增强了信号传递的抗干扰性,提高了
    发表于 06-11 05:00

    DSA和CAN总线的步进电机控制系统

    DSA和CAN总线的步进电机控制系统:步进电机可直接接收脉冲信号的控制,适用于数字
    发表于 04-02 11:12 28次下载

    基于DSP 和CAN电机同步控制系统与通信

    本文主要介绍了基于多DSP 的CAN 总线通信电机控制系统的设计,利用PC 机作为监控主机,采用CAN
    发表于 05-30 14:56 27次下载

    基于CAN总线的多伺服电机同步控制

    根据印刷机械的工艺特点,针对传统以机械长轴为动力源的印刷机同步系统,设计了基于CAN现场总线的多伺服电机同步控制系统方案,提出了上位机同步运
    发表于 06-01 15:40 41次下载

    基于CAN总线的客房通信控制器的设计

    本文针对宾馆、酒店的客房控制和管理系统,介绍了基于CAN 总线的客房通信控制器的硬件电路结构、原理及软件结构和主程序流程。关键词:
    发表于 06-13 12:06 13次下载

    CAN总线通信原理分析

    基于CAN总线系统结构构成,通过工程实践的具体应用以及对CAN控制器及收发器硬件结构的深入理解,并从通信的角度出发着重深入分析了
    发表于 05-08 15:23 404次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b>原理分析

    基于CAN总线伺服系统的多电机同步控制算法的研究

    基于CAN总线伺服系统的多电机同步控制算法的研究,有兴趣的同学可以下载学习
    发表于 04-26 17:53 0次下载

    基于双CAN总线的数字伺服通信协议

    基于双CAN总线的数字伺服通信协议
    发表于 09-01 14:25 8次下载
    基于双<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的数字<b class='flag-5'>伺服</b><b class='flag-5'>通信</b>协议

    汽车空调风门伺服电机与LIN总线通信控制伺服电机

    一种由LIN总线通信控制伺服电机,涉及到汽车空调伺服电机
    发表于 10-13 15:58 44次下载
    汽车空调风门<b class='flag-5'>伺服</b><b class='flag-5'>电机</b>与LIN<b class='flag-5'>总线</b><b class='flag-5'>通信</b><b class='flag-5'>控制</b>的<b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    基于CAN总线技术的新一代智能数字伺服系统的解决方案

    基于CAN总线技术的多电机伺服控制系统网络结构如图1所示,系统由上位机、CAN
    的头像 发表于 03-19 08:05 2114次阅读
    基于<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>技术的新一代智能数字<b class='flag-5'>伺服</b>系统的解决方案

    基于CAN总线伺服电机通信控制特性

    作为实时性要求比较高的工业控制底层网络,CAN协议只分为3层:物理层、数据链入层和应用层。CAN通信协议有4种不同的帧格式:数据帧、远程帧、错误帧和超载帧。
    发表于 12-27 10:57 1580次阅读

    基于FPGA的CAN总线通信节点设计

    点击上方 蓝字 关注我们 摘要:以FPGA 代替传统的单片机和外围扩展芯片, 给出了CAN 总线通信节点的详细设计方案。其中以SJA1000为CAN
    的头像 发表于 06-18 11:15 2835次阅读

    总线伺服电机的回零控制方法

    通过总线控制伺服电机时,如何进行回零(寻参考点)控制?这里就CANOPEN伺服
    的头像 发表于 10-23 11:42 3361次阅读
    <b class='flag-5'>总线</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>的回零<b class='flag-5'>控制</b>方法

    如何使用Arduino实现CAN总线通信

    CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠性、实时性和灵活性而受到青睐。Arduino
    的头像 发表于 11-12 10:09 218次阅读