多轴步进电机CAN总线控制系统设计
2015-06-09张恺钰李国利
张恺钰,李国利,陈 健,刘 登,时 光
(金陵科技学院机电工程学院,江苏南京 211169)
多轴步进电机CAN总线控制系统设计
张恺钰,李国利,陈 健,刘 登,时 光
(金陵科技学院机电工程学院,江苏南京 211169)
设计了一种基于CAN总线的多轴步进电机运动控制系统。系统由PC机、CAN收发器、CAN控制器、单片机、步进电机及其驱动器等部分组成。系统由PC机通过CAN总线向各轴步进电机控制器发送控制命令,实现多轴步进电机的同步运动控制。将各轴步进电机安装在采摘机械手上进行机械手运动控制试验,结果表明该系统稳定可靠。
CAN总线;步进电机;多轴;运动控制
0 引言
步进电机是工业控制及仪表中最常用的控制元件之一,它有输入脉冲与电机轴转成比例的特征,在智能机器人、采摘机械手、数据机床中广泛运用[1]。在运动控制中经常涉及多轴步进电机协调控制的问题,这就需要建立用于多轴步进电机控制的通信系统。CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,是国际上应用最广泛的现场总线之一[2]。以PC机为上位机、单片机为控制器,设计了基于CAN总线的多轴步进电机运动控制系统。
1 系统总体设计
1.1 系统构成
系统总体框图如图1所示,主要由CAN消息收发装置和智能控制部分组成。CAN消息收发装置包括PC机、CAN控制器SJA1000和CAN收发器TJA1050;智能控制部分包括单片机、步进电机驱动器等。
图1 系统结构
1.2系统主要功能
对于单轴步进电机控制来说,该轴上的位移可通过步进电机的转动来实现,步进电机的转动采用电机的运动控制策略,其运动过程是加速-匀速-减速的连续过程。设计要实现的是基于CAN总线的多轴电机运动控制的控制,在单轴步进电机控制的基础上,利用CAN组成控制网络实现多轴电机的分布式控制。PC机发出CAN消息,通过CAN总线传给各节点所在的单片机,单片机将信息处理后向步进电机驱动器发出驱动信号,从而实现步进电机的运动控制。
2 系统硬件设计
2.1主控模块
步进电机的控制芯片采用STC89S52,它是一种低损耗、高性能、CMOS微处理器。STC89S52与CAN控制器收发器结合使用,能较好的接受控制信息,并且该芯片与步进电机驱动器接口技术成熟。
CAN总线通信接口采用PHLIPS公司生产的SJA1000和TJA1050芯片。SJA1000是独立的CAN通信控制器,用于完成CAN总线通信协议的物理层和数据链路层的功能。微控制器和SJA1000之间状态、控制和命令的交换都是通过在复位模式或工作模式下对这些寄存器的读写来完成的[3]。TJA1050为高性能、高速的CAN收发器,使用它能够增大通信距离,提高系统的抗干扰能力,并能起到保护总线、降低射频干扰、实现热保护的作用。
为了进一步提高通信的抗干扰能力,在CAN控制器和CAN驱动器之间使用高速光耦器件构成隔离保护电路,传输介质使用双绞线连接到SJA1000和TJA1050的CANH和CANL接口。一组CAN控制器、收发器与单片机组合就是一个节点,每个节点可配置唯一的ID号以作为身份标识。而单片机STC89S52负责SJA1000的初始化,控制SJA1000实现数据的接收和发送通信任务[2]。
2.2 步进电机驱动模块
图2 步进电机驱动模块
步进电机驱动模块如图2所示。执行器件选用两相四线的步进电机,驱动器选用MB450A 4.2A/128细分高性能步进电机驱动器,只要向驱动器输入一定频率的脉冲就能实现对步进电机的控制。
3 软件设计
3.1 上位机界面
上位机控制程序由C++语言编写。上位机控制程序可以实现基于CAN总线的通信,可以手动发送CAN消息,也可设置定时自动发送,同时,能检测到消息是否发送成功。
3.2 主控模块软件设计
主控模块工作步骤为:①系统各部分初始化,包括初始化CAN控制器SJA1000。SJA1OOO的初始化设置是在复位模式下进行的。初始化包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器IER的设置等[3]。②判断SJA1000是否初始化成功,不成功则继续初始化,直至成功。③由接收器TJA1050接收上位机发来的CAN消息。④收到CAN消息,单片机处理,将CAN消息中包含的所需的数据解析,将总步数分解成加速,匀速,减速的部分,以实现运动控制。⑤通过中断向驱动器发送相应脉冲,驱动电机。
3.3电机的运动控制实现
在步进电机开环控制中,为了实现电机的平稳快速运动,减小启动和停止时的冲击、防止丢步,合理的速度曲线设计是非常重要的[4]。步进电机的控制与调速选用定时器调速方案,用改变定时常数的方法来改变输出的步进脉冲频率,达到改变转速的目的。采用非线性加减速曲线,如图3所示。由于加减速是非线性的,所以要用离散法把加减速曲线离散化,将离散后所得的转速序列对应的定时常数序列,并以表格的形式存储在程序中。在程序运行时,使用查表的方式重装定时常数,以达到加减速的目的[5]。用此方法能提高系统的运行效率。
图3 步进电机运动曲线
具体实现方法如图4。该曲线是近似指数加速曲线,由图可知,离散后的速度并不是一直上升,而是每升一级都要在该级上保持一段时间,所以实际加速轨迹应该是阶梯状的。如果速度是等间距分布,那么在每个速度级上保持的时间都是不同的。为了便于实现,用速度级数N与一个常数C的乘积去模拟,并且保持的时间用步数来代替。因此,速度每升一级,步进电机都要在该速度级上走NC步(其中N为该速度级数),而C的具体值需要根据具体的应用需求,不断地实验与调整。同理,减速的实现则是加速实现的逆过程。
图4 步进电机加速曲线
3.4 步进电机的驱动
步进电机驱动过程如下:①定时器初始化,用于产生驱动步进电机的脉冲。②单片机将收到的CAN消息处理,计算出各轴电机需要加速,匀速,减速的步数。③定时器每产生一个脉冲,加速的总步数Adds减1,直到Adds减为0。匀速的总步数A-ves开始减1,直到Aves减为0,减速的总步数Mins减1,直到Mins减为0,表示电机已经转动到位。在此过程中,由2.3所述算法来决定在某些时刻改变定时器初值,从而实现电机的运动控制。④关闭定时器,停止电机的转动。
4 系统试验与结果
将步进电机安装于采摘机械手上进行试验,采摘机械手包含3个运动关节和采摘手抓,由四轴步进电机分别控制。试验采用仿真苹果树,控制机械手运动,使机械手爪到达目标果实并抓取果实。试验时,首先测量目标果实与采摘机械手爪的空间距离,通过机械手运动学逆解方程计算各关节运动量,上位机通过CAN总线发送给各个单片机模块,并驱动关节各轴步进电机运动使采摘手爪到达目标果实,控制手爪步进电机运动实现果实的抓取如图5所示。试验进行10次,每次都能成功采摘果实系统工作稳定。但机械手爪末端定位存在误差,误差主要来源距离测量误差和机械手关节运动误差。
图5 机械手抓取果实
5 结束语
设计了一种基于CAN总线的多轴步进电机运动控制系统。系统试验运行结果表明,系统工作稳定。系统具有成本低、工作可靠及操作简单等特点,适用于诸多工业现场控制,如机床加工作业、物料的运送等。
[1] 李峻,李学全,胡德金.步进电机的运动控制系统及其应用[J].微特电机,2002(2):37- 39.
[2] 刘维弋,金远平.基于CAN总线的通信系统的设计与实现[J].计算机技术与发展,2007,17(12):207- 209.
[3] 杨晶.CAN总线接口电路设计[J].办公自动化,2010(1):34- 35.
[4] 王邦继,刘庆想,周磊,等.步进电机速度曲线的设计与FPGA实现[J].微电机,2012,45(8):67- 71.
[5] 罗健明,葛良全,邱化冬.一种基于TMP93CS41的步进电动机驱动设计方案[J].微电机,2007,40(2):84 -87.
Design of Motion Control of Multidimensional Stepping Motor System Based on CAN Bus
ZHANG Kaiyu,LI Guoli,CHEN Jian,LIU Deng,SHI Guang
(School of Mechanical and Electronic Engineering,Jinling Institute of Technology,Nanjing 211169,China)
A multidimensional stepping motor motion control system based on a CAN bus is designed in this paper.The system is mainly composed of a personal computer(PC),a CAN transceiver,a CAN controller,a microcontroller,a stepper motor and a driver.In this system,control commands are sent by the PC to each stepping motor controller by means of the CAN bus,so that the stepping motors are controlled simultaneously.The system is applied to a picking manipulator,and a number of manipulator motion control experiments are conducted.The experiment and application show that the system is stable and reliable.
CAN bus;stepping motor;multidimensional;Motion Control
TP273
A
1001- 2257(2015)08- 0038- 03
张恺钰 (1994-),男,江苏镇江人,本科,方向为自动化控制技术;李国利 (1973-),男,山东滨州人,硕士,副教授,研究方向为自动化检测与控制技术。
版权声明
机械与电子杂志社
2015- 04- 07
2014江苏省高等学校大学生实践创新训练计划重点项目(201413573007Z)。
各位作者:来稿凡经本刊录用,如无特殊声明,即视作投稿者同意授权本刊及本刊合作媒体复制、发行及进行信息网络传播。著作权使用费已包含在本刊所支付的稿酬中。