基于RS485多机通信的四轴步进电机同步控制系统

2016-01-20 04:39张五一,罗冬冬,程宾
中原工学院学报 2015年3期
关键词:步进电机同步控制

基于RS485多机通信的四轴步进电机同步控制系统

张五一, 罗冬冬, 程宾

(中原工学院, 郑州 450007)

摘要:提出一种以STC89C58单片机为核心的四轴步进电机控制系统。它由主机和4个从机构成。主机通过U盘进行数据下载,再利用RS485总线实现主机与从机之间的数据传输,从而实现主机对各个从机步进电机的正反转控制以及速度控制。该系统通用性强,不同应用场合的用户通过修改U盘中的下载数据即可实现对步进电机各种运行要求的控制。

关键词:RS485多机通信;步进电机;同步控制

中图分类号:TM306

文献标志码:A

DOI:10.3969/j.issn.1671-6906.2015.03.004

Abstract:This article describes a four-axis stepper motor control system which takes STC89C58 MCU as its core. This system consists of one main engine and four subordinate engines. The main machine completes reversing control and speed control of each stepper motor by downloading data from the U-disk and then taking use of the RS485 bus to data transfer from the host and the subordinate machine. This system has high generality, and accomplishes all kinds of operation requirements by users modify the download data in the U-disk on the basis of different applications.

收稿日期:2014-11-10

作者简介:杨森(1989-),男, 河南焦作人, 硕士生,主要研究方向为流体传动CAD。

文章编号:1671-6906(2015)03-0024-05

近年来,国内外对于步进电机控制技术的研究主要有传统的PID控制、矢量控制以及一些现代的智能控制理论。但这些研究仅仅局限于对单个电机的控制。随着对各种机械性能和产品质量要求的逐渐提高,许多控制领域需要对多台步进电机进行同步协调控制,如军事、纺织、航空领域等。因此,深入研究步进电机的多台同步控制问题具有重要意义[1-2]。

对于多轴步进电机控制系统的研究,许贤泽等曾提出了以DSP为核心的多轴联动系统[3],但该系统对于CPU造成的负担很重,并且对步进电机的控制数量也有限。本文提出了一种利用RS485多机通信方式实现步进电机多轴控制的方法。RS485总线上最多可以挂载256个从机。为了简化实验,本系统由一个主机和4个从机构成。主机从U盘中读取事先编码的控制数据,利用RS485通信将其下载到从机的外部存储器中。根据下载的数据,从机的定时器产生相应的PWM波,作为步进电机的驱动信号。同时,以接近开关的输出信号作为4个方向步进电机运行的同步信号,可以有效解决步进电机多台同步问题。该系统的样机已制作完成。经试验,在经纱间距为0.3~0.4 mm的环境下,步进电机所带齿轮直径为15 mm,每步精度达到0.1 mm,可牵引经纱经过停经片、综丝和钢筘与经轴接经。该控制方法精度较高,运行稳定。

1系统硬件电路设计

本设计以STC89C58单片机为核心,电机采用三洋公司的两相混合式步进电机,驱动器为HSM20403B混合式步进电机驱动器,通过RS485总线搭建成一主多从结构。主机由USB接口、3×3矩阵按键和LCD液晶显示装置构成。其中:USB接口用来下载U盘中的电机控制数据,包括电机的转向和转速;按键和液晶装置使用户可以更方便地控制整个系统;主从机之间用RS485总线进行通信。4个从机将主机从U盘中读取的数据放入外部存储器。当接近开关产生同步信号时,从机读取存储器的控制数据,并根据读取的数据,利用定时器产生相应的PWM波来控制电机的转向和速度。为了提高系统的抗干扰能力,对单片机的控制信号与驱动信号进行光电隔离。该控制系统结构如图1所示。

1.1主机硬件系统设计

根据系统的设计要求,主机的主要功能是通过USB接口读取U盘中步进电机的控制数据,并将数据通过RS485总线传送到从机。其外设主要有USB接口、按键和液晶显示器。主控单元不需要大量的I/O接口和存储空间,对运算能力和运算速度要求都不是特别高,因此,综合考虑后采用STC89C58单片机。STC89C58增强型的51系列单片机,支持12时钟和6时钟操作,包含1 280字节的SRAM、32条I/O接口、3个16位定时/计数器,完全可以满足本系统的需求。

图1 控制系统结构图

1.2USB通信模块方案设计

USB(通用串行总线)以其支持热插拔和即插即用、占用系统资源少、无总线竞争等性能特点,被广泛应用于生产和生活中。能够支持USB通信协议的芯片有很多,如CH372、CH376、PDIUSBD12等。其中,CH376支持USB设备方式和USB主机方式,并且内置了USB通讯协议的基本固件,以及处理Mass-Storage海量存储设备专用通信协议的固件;支持3 种通讯接口,即8位并口、SPI接口和异步串口。单片机/DSP/MPU等控制器可以通过上述任何一种通讯接口控制CH376芯片[4]。CH376芯片的最小系统如图2所示。

图2 CH376芯片系统图

1.3从机硬件系统设计

本系统中从机的主要任务是接收主机发送的控制指令和主机从U盘中读取的步进电机控制数据。当主机发送运行指令时,从机进入运行状态,在运行状态检测到接近开关产生的同步信号时,从外部存储器中取出步进电机的运行数据,根据取出的数据产生相应的PWM波并送给步进电机驱动器。此外,用户还可以通过按键来调节步进电机的转动角度,只需事先设计好步进电机的转速和转动距离,将电机所需的脉冲数编码为二进制的运行数据,通过U盘下载到从机中就可以便捷地控制多个步进电机的运行。

用光电耦合器TLP521将单片机控制信号与驱动信号进行电气隔离,可以有效防止电磁干扰。电机驱动采用HSM20403B混合式步进电机驱动器。该驱动器由8个拨码开关设置参数:第1、2、3位设置细分数;第5、6、7位设置电机相电流。本系统使用的是三洋公司混合式步进电机,细分数设置为2,电流为2 A。采用细分驱动方式减少了系统的低频震动,使电机运行更加平稳。

2RS485多机通信系统设计

RS485总线传输距离远、速度快、抗干扰能力强,是工业现场广泛应用的数字通信标准。RS485接口标准是:传输介质为双绞线,多点通信,平衡式发送,差分式接收;驱动器输出共模电压范围为-7~+7 V;接收器灵敏度为200 mV;最大总线负载为32个;最大传输速率为10 Mb/s;最大传输距离为1 219.2 m[5]。

RS485总线属于外部总线,用于外部设备进行信息和数据交换,是设备级的总线。因此,其所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。RS485总线可以挂载256个步进电机,为未来多步进电机控制系统的研究指明了一个新的方向。

2.1RS485多机通信结构设计

本设计构成的多机通信系统采用主从结构,即1个主机控制4个从机。作为从机的单片机从不主动向主机发送任何命令,一切均由主机控制;并且,为了保证通信的稳定性,4个从机之间没有相互通信。RS485构成的多机通信原理如图3所示。在总线末端接一个匹配电阻,可以吸收总线上的反射信号,有效地抑制噪声干扰,使得传输信号无毛刺。根据双绞线特性,阻抗的大小匹配电阻值应取为120 Ω。在总线上没有信号传输时,总线处于悬浮状态,易受到干扰信号影响,为此在总线的差分信号A、B端接上10 kΩ电阻。当总线悬空时,差分信号A与B间的电压大约为1.6 V,即使有干扰也很难产生串行通信的起始信号,可以有效提高总线的抗干扰能力[6]。

图3 多机通信原理图

2.2通信协议设计

为了保证多机通信,首先要给4个从机分配一个地址码。系统中协议有3种帧格式:地址帧、应答帧和指令帧。地址帧和指令帧由主机发出,应答帧由从机发出。当某一从机收到地址帧后,把本机地址发送回主机;当返回地址正确时主机向该从机发出控制指令,从机收到控制指令后,向主机回送该指令,然后执行相应动作。

通信的关键不仅是能够传输数据,更重要的是能够保证数据的准确性。为此,本系统作如下优化设计:在通信过程中,对于主机发送的地址帧,如果从机没有在规定时间内响应,则主机重新发送地址;如果发送3次仍没有从机响应,则主机认为与该从机通信出现故障,进行报警并继续执行其他任务。另外,该系统要通过USB接口进行数据下载,为了避免通信频繁造成的数据丢失,在通信协议中采用数据备份的方式,将长度为N的缓冲区里的数据备份到长度为2N的缓冲区中,传输过程中若传输失败则将备份缓冲区的数据发送出去。这种方法很好地解决了大量数据在传输过程中丢失的问题,大大增强了通信的可靠性。

通信过程中主机发送的指令均为二进制格式,因此需对控制电机方向和转速的数据事先进行二进制编码。其中末字节代表步进电机要走的步数,字节的最高位则代表电机转动的方向,字节的后7位则代表步进电机所运行的步数。例如:0x83代表步进电机正向3步;0x04代表步进电机反向走4步。此外,主机还可通过按键向从机发送控制指令。

3系统软件设计

3.1主机软件设计

系统的软件设计主要分为主机和从机两个模块的设计。主机为控制系统的核心,其主程序包括对系统的初始化,从U盘中读取步进电机控制数据(正/反转、转速、运行步数),并根据不同的按键调用相应的子程序,对从机发出指令。主机主程序流程如图4所示。

图4 主机主程序流程图

3.2从机软件设计

从机有运行和设置两种状态。在设置状态下,从机一直等待主机控制指令的到来。当主机发送指令时,从机产生串口中断,执行相应的中断服务程序。串口中断服务程序如图5所示。当从机下载电机运行的数据后,主机通过按键发送运行指令,从机进入运行状态,并在运行状态下等待接近开关产生的外部中断;若中断产生,则执行对电机控制的中断子程序。从机外部中断的流程如图6所示。从机采用定时器产生PWM波的方法来驱动步进电机。由于步进电机的最高启动速度要比最高运行速度低很多,并且在停止的时候由于惯性作用可能会发生过冲现象,因此步进电机的速度是一个加速—匀速—减速—停止的过程。理想的步进电机加减速曲线是非线性曲线。软件设计采用梯形加减速的设计方法,这种方法加减速平稳性好,适用于速度变化范围较大的快速定位,并且编程实现简单。

图5 从机串口中断流程图

图6 从机运行流程图

4结语

采用RS485多机通信方式,以主从结构控制多个步进电机的控制系统,较单独的单片机控制而言,利用了RS485总线传输距离长、挂载负载多的优点,使系统适应性更广。从机的外部存储芯片可以存储大量的步进电机控制数据,下载不同的数据便可使步进电机达到不同的运行要求,这使电机的控制更加灵活多样。目前,该系统已在织机上装配实验完成,经试验,在经纱间距为0.3~0.4 mm的环境下,步进电机所带齿轮直径为15 mm,其每步精度达到0.1 mm,可牵引经纱经过停经片、综丝和钢筘与经轴接经。步进电机在工作频率内定位精度高,运行平稳。

参考文献:

[1]尚文杰,宋伟刚. 基于USB接口的步进电机控制系统[J].大连民族学院学报, 2009, 11(3): 223—226.

[2]彭景春. 多步进电机的同步精确运动控制研究[D].哈尔滨:哈尔滨理工大学, 2009.

[3]许贤泽,喻佳,张立英. 步进电机多轴联动DSP控制系统研究[J].机电产品开发与创新, 2005, 18(5): 110—112.

[4]李萍,单葆悦,刘晓东. USB芯片CH376在智能仪表中的应用[J].计量与测试技术, 2011, 38(2): 9—10.

[5]程凯,孙克怡. RS—485总线理论的应用与分析[J].青岛海洋大学学报, 2003, 33(5): 753—758.

[6]陈铁军,谢春萍. PC机与RS485总线多机串行通信的软硬件设计[J].现代电子技术, 2007(5): 103—105.

(责任编辑:王长通)

A Four-axis Synchronous Control System of Stepping Motor Based

on RS485 Multi-machine Communication

ZHANG Wu-yi, LUO Dong-dong, CHENG Bin

(Zhongyuan University of Technology, Zhengzhou 450007, China)

Key words:RS485 multi-machine communication; stepper motor;synchronous control

猜你喜欢
步进电机同步控制
基于EtherCAT网络的金刚线多线切割机双主轴同步控制
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
工矿机车GK1F、GK1C柴油机调速控制
基于单片机的自动化立体车库控制系统设计
T BM 刀盘驱动系统单神经元模糊同步控制
基于单片机的雷达伺服控制系统
基于FANUC系统IO-LINK通信的曲轴磨床头尾架同步控制
基于云模型的舵机同步控制
基于广义预测的双转动扫描系统同步控制