谈CAN总线的多轴转台控制系统设计

谈CAN总线的多轴转台控制系统设计

摘要:在工业自动化领域经常会遇到多轴转动问题,同时需要实现精确定位。本文设计了一种简单可靠的实现方法,通过CAN总线实现对多轴电机的时时控制,威纶eMT系列触摸屏作为主站,伺服驱动器作为从站,通过触摸屏宏指令实现对伺服电机位置环的总线控制。触摸屏同时可以通过串口接收上位机控制指令。该系统结构简单、精度高、可靠性高。

关键词:CAN;转台;触摸屏

1概述

在自动化设备中经常会遇到多轴转动的问题,比如多轴机床。在复杂的环境下要实现多轴精确定位,需要考虑复杂电路对系统的干扰问题,同时,系统要尽量简单,避免多环节造成的可靠性降低问题。CAN(ControllerAreaNetwork)总线由于其高性能、高可靠性及独特的设计,具有较强的抗干扰能力,适合用于实时性要求很高的系统[1]。为了实现系统简单,考虑采用总线控制方式,因为CAN总线抗干扰性比较强,所以设计了基于CAN总线的多轴转台控制系统。目前多采用单片机、plc作为主控制器,采用串口总线控制方式,人机交互采用上位机或显示屏实现,这样系统元件增加,成本较高。针对上述问题,本文设计了四轴转台控制系统,转动范围-180°~+180°,转动速度1-10°/s可调。采用基于CAN总线的控制方式,同时选用触摸屏作为控制,实现控制器与人机界面一体,该系统结构简单,精度高,可靠性高。

2系统组成

CAN总线可根据总线驱动能力支持100个以上节点,具有接口简单,传输速率高、实时性好、抗干扰能力强等特点,非常适合伺服系统多节点、高实时性的要求[2]。威纶eMT系列触摸屏可以作为主站,从而实现对节点驱动器的控制。同时触摸屏可以实现人机交互。电机为伺服电机,本文以施耐德BSH伺服电机,驱动器型号为匹配的LXM32A系列伺服驱动器为例。触摸屏与节点之间采用CAN总线进行通信,接口协议为CANopen,采用屏蔽双绞线作为传输介质设计。系统网络拓扑结构如图1所示。触摸屏作为主站,通过CAN总线与4台电机驱动器连接,通过电机驱动器设置4台电机分别设置为节点1至节点4,比特率均为1Mbp,触摸屏与上位机留有RS485串口,可实现上位机对系统的监控。触摸屏中添加4个CAN从机,在EasyBuilderPro软件的系统参数内添加。如图2所示,共添加了4个CAN节点从机,节点号分别为1-4.波特率为1Mbp,添加了一个RS232串口,用于与上位机的通讯,该串口波特率设置为115200kbps。至此触摸屏添加硬件设置已完成,下面需要软件设计。

3系统软件设计

3.1软件框图

软件开发工具为EasyBuilderPro,是一款非常好用的威纶通触摸屏编程软件,软件提供了人性化的人机交互界面,可以满足不同编程人员的需要,适用于威纶通eMT、cMT、iE、MT(iP)以及TK(iP)机型,可以有效地提升编程人员的效率。为了实现各电机的精确定位,软件设计通过CAN总线操作伺服电机驱动器位置环。首先上电初始化CAN,然后判断是否按下相应轴的启动按钮,如启动则关使能,选择工作模式为位置模式,以及位置模式下的速度值。最后判断输入角度是否合法,是否在-180°~+180°范围内,如合法则使能电机,电机运动到目标角度。控制程序原理框图如图3所示。

3.2宏指令设计

触摸屏是通过运行宏指令来给电机发送指令和数据的,宏指令,是威纶通触摸屏提供的一个附加功能。简而言之,它是一个脚本编辑界面,用户可以在上面编写一些指令,从而对组态的控件执行一些复杂的逻辑运算等处理。宏指令语法类似于简化的C语言。本文主要用到了如下宏指令,分别用于实现不同的功能。如“回告”指令用于上报给上位机系统的角度数据。“串口接收角度”用于对接收到的上位机指令进行解析。“停止”和“找零”指令分别用于停止工作和各轴回归原点。四个轴的定位工作分别通过相应的宏指令实现。最后的“差值显示”指令用于显示定位目标角度与当前角度的差值(图4)。

3.3轴1定位示例

定位模式属于点到点运行模式,这种模式仅可通过现场总线的方式来执行运行模式,在设定目标位置时有相对位置和绝对位置两种方式。两种方式均可以使用加速斜坡和减速斜坡以及最终速度参考值来设置运动曲线[3]。在执行相对运动时,运动以上次目标位置或者当前电机位置为参考;执行绝对运动时,因为执行的绝对运动是完全以零点为参考的,所有在首次执行绝对定位之前,必须通过Homing模式来定义零点[4]。我们采用的是绝对运动,所以需要定义零点,我们先将各种调整至机械零点,然后通过can总线读取各轴电机编码器的数据,将机械零点时的数据标定为零点。后面产生的运动都是以此零点为基础。在轴1定位宏指令中,我们分别通过函数SetDataEx关使能,设置位置模式,设置速度。然后在循环中,不断通过GetData函数读取触摸屏数值元件RW25输入的轴1的目标角度,并进行角度转换,最后通过函数SetDataEx使能驱动器,电机实现转动。具体程序如图5所示。其他功能宏指令与此示例类似,均通过相应函数实现,这里不再赘述。

4界面设计

利用EasyBuilderPro软件设计了人机界面,每个轴包含启动停止按钮,下发目标角度的数值元件,显示实际角度的数值元件和误差角度数值元件。当触摸屏右上方伺服状态为“开”时,用户可对系统进行操作。伺服状态为“关”时,系统禁止使用。(图6)实验阶段,所有轴先恢复到机械零点,通过施耐德伺服电机调试软件SoMove软件监控电机运行状态,通过触摸屏设置目标角度10°,运动速度2°/s,然后按下“轴1启动按钮”后,轴1从当前位置开始运动,直至运动到目标位置,运动曲线如图7所示,最上方曲线为位置曲线,中间为速度曲线,最下方为电流曲线。可见,电机运行平稳。对其他轴进行相同操作均可获得准确定位。多个轴可以同时操作。

5结论

本文设计了多轴转台控制系统,以四轴为例做了具体说明,控制方式为CAN总线控制,选用威纶通触摸屏作为主站,各轴伺服电机驱动器为从站。软件开发使用宏指令实现。最后模拟验证,该系统能够实现转动范围-180°~+180°,转动速度1-10°/s可调的技术要求,控制精度0.1°。该控制系统结构简单,可靠性高。

作者:李唐 洪晴 单位:南京工业职业技术大学工程技术实训中心