您好,欢迎来到中国工控网   请 登录免费注册
服务热线:
当前位置:首页 >> 资讯频道 >> > 技术应用 >> 基于ARM的网络化步进电机控制系统王义峰^赵勇2

基于ARM的网络化步进电机控制系统王义峰^赵勇2

时间:2017-11-14 11:36:00   来源:本网   添加人:admin

  传统的步进电机控制系统有很多不足,如不利于系统的移植和升级,主机体积庞大,不利于有移动需求的场合111.发展和成熟起来的以太网同传统的工业控制接口,如串口、并口、PCI以及USB相比,其优势在于性能价格比高,远距离传输和分布式等特点,和现场总线如CAN等相比,其又有通信速率高,与现有商用网络连接方便的特点。非确定性是传统以太网用于工业控制的缺点,因为一个网络化的控制系统要求很强的实时性。实时性差将降低系统的控制性能,严重时导致系统破坏12-31.网络技术及嵌入式系统的发展提供了高可靠性,为基于网络的运动控制系统提供了一种性能价格比很高的解决方案,且由于其能够嵌入控制系统而在步进电机控制系统中独具优势。

  1控制系统体系设计网络化的控制体系结构常见的有B/S(浏览器/服务器模式)、C/S(客户机/服务器模式)。B/S模式不宜采用。C/S模式是一种分布式处理模式,客户机提供交互式界面,服务器端提供数据处理,资源共享和安全管理,这种方式下网络上的信息流量比较少,网络运行效率和响应速度比较高,而且其具有很好的开放性,不依赖于具体的硬件和操作平台,便于应用程序移植141,而本系统对实时性要求比较高,所以选择C/S模式。根据实际需要步进电机端设置为客户机模式,PC机设置为服务器模式,服务器与客户机之间通过以太网交换机相连接,一方面保证在使用时,可以根据需要配置步进电机的数量(即接入网络的客户端数量)。另一方面也可以保证服务器和客户机之间的通信速度。

  步进电机的控制一般为开环控制,启动频率过高或者负载过大,易出现丢步或者堵转的现象,停止时转速过高容易出现过冲现象,所以为保证控制精度,要处理好升、降速的问题。另外一方面,步进电机连接的对象总是存在一定程度的非线性因素,整个系统的实际输出和期望输出不一定一致,在这种情况下有必要引入光电编码器组成一个闭环的步进电机控制系统。

  客户机端由步进电机控制器(采用ARM微处理器)、步进电机驱动器、步进电机和光电编码器组成本地闭环控制回路,实现高精度闭环位置控制,步进电机控制器一方面负责通过网络接口与服务器通信,另外一方面负责控制本地步进电机运行。一旦步进电机(客户端)接入网络即向服务器发送连接请求,服务器响应客户机请求,生成新的线程处理客户机请求,并根据控制需要将控制指令发送给客户机。

  客户机根据控制指令的要求产生相应的驱动脉冲等控制信号,经步进电机驱动器变换放大后驱动步进电机运行。与此同时,光电编码器信号经放大整形后送入步进电机控制器,由客户机通过端口读入,经简单处理后得到转子角位移,一方面与服务器给定位置值作比较产生差值,由客户机程序控制步进电机向着消除误差的方向运动,另一方面客户机将转子角位移以及其它相关信息组成数据帧通过网络发送给服务器做进一步处理。

  2通信原理服务器(PC机)和客户机(基于ARM的嵌入式控制器)之间通过以太网连接,两者之间的数据传输都是以TCP/IP协议族作为底层传输机制的。服务器要完成对客户机的初始化,中断设置,运行参数设置,运行方式设置等工作,而客户机也需要把运行参数设置值,光电编码器值等数据根据需要上传到服务器,在程序设计中采用了多线程技术,所有的服务线程都侦听同一个端口所以有必要定义一个统一的数据帧格式,便于对应的服务线程处理来自不同客户的请求,IP报文的格式,定义本文中的数据帧格式如所示。

  数据帧格式采用TCP协议后,数据的可靠性得到保证,所以此处定义的数据帧无须增加校验字节。由于源地址、目的地址、帧长度及服务类型的字节数固定,所以,用帧长度表示整个数据帧的长度,通过简单处理可以得到数据的长度,在客户机端根据需要组成数据帧,当服务器收到数据帧后,每一个服务线程通过源地址和目的地址来区分数据帧是否送给本线程,如果不是则放弃。如果数据帧是送给当前线程,那么服务线程首先根据帧长度提取出数据,然后根据数据类型调用相应的子程序。在服务器线程中,根据需要还要把控制指令组成数据帧发送下去,所以在这里数据类型包括客户机状态、步进电机位置信息、客户机速度设置、客户机状态查询、客户机停止、客户机复位、客户机运行模式设置、客户机连续运行和客户机按指定步距运行等。:机械与电子2006(客户端收到服务器返回的数据帧后,首先对数据帧进行解包,然后按照帧格定义的帧类型进行进一步处理。

  IP协议是网络层协议,IP协议提供尽力发送(best effort)服务,把数据从源端发送到目的端。数据包在经过网络传输时,有可能因为网络拥塞,链路故障等而丢失或出错。对此,IP协议仅具有有限的报错功能,数据包的差错检测和恢复都由传输层协议来完成。

  传输层协议主要有TCP和UDP2种,TCP协议实现端到端(peerto-peer)的通信。TCP对上层提供面向连接,端到端的可靠通信服务。在进行数据传输之前,通信双方要先通过三次握手建立点到点的全双工连接,在数据通信结束后断开连接,TCP通过采用滑动窗口机制来实现差错恢复,流量控制,排序等功能,保证了数据传输的可靠性,而UDP协议是面向无连接的协议,由于UDP尽最大可能提供可靠服务,所以在网络环境较复杂的时候就不能提供很好的数据传输服务,只有通过超时和重传来实现可靠性,作为一个网络化的控制系统,需要提供可靠的数据传输服务,才能保证系统的稳定性。所以在系统中采用了TCP传输协议。

  3网络化步进电机控制系统实现Ethernet接口,256MB内存,采用英特尔奔腾M处理器,内部时钟速度达到1.5GHz前端总线速度400 MHz.足以保证高的连接速度和处理速度。

  客户端的步进电机控制器米用Samsung公司的S3C4530A作为主控微处理器,S3C4530A是Samsung公司专门为网络通信设计的一款16/32位低成本,高性能的RISC微处理器,其运行速度可以达到50MHz.片内集成2路带缓冲区描述器的HDLC接口,2个UART接口,2路GDMA,2个32位定时器,26个可编程I/O口,一个支持M接口的ethernet LXT972是IEEE兼容的快速以太网物理层收发器,支持100BASETX和10BASE-T,支持自动握手和并行检测,可以很方便地通过M接口和S3C4530A连接。

  程A系的1接收来皇务器的控制为了在客户机端存储如IP地址,子网掩码等系统参数,通过C接口连接一片24C256EEPROM,S3C4530A可以通过C总线访问EEPROM器件步进电机调速范围宽,最高可达5 000r/min,如果用S3C4530A直接控制步进电机,将占用系统很大的资源,而步进电机的控制信号都是数字量,很容易集成到一起,所以通过一片ISPLSI1032在系统可编程芯片实现步进电机的控制。然后由ISPLSI1032和SEC4530A做软硬件分工,在S3C4530A上运行程序接收来自服务器的控制需求,并实现一些必要的计算,然后将电机参数配置如高速、低速、加速度和转动角位移等写入ISPLSI1032中,由IS PLSI1032直接控制步进电机运行,根据需要,可以外接光电编码器对电机的转子角位移进行测量,如所示,编码器信号经信号调理环节整形放大后送入ISPLSI1032A.组成一个高精度闭环位置控制系统,同时S3C4530可以将光电编码器值读出后组成数据帧送服务器做进一步处理。

  客户端系统信号流目前应用在嵌入式环境中的操作系统如PalmOS,WindowsCE,uCos等都是商业系统,技术保密,不公开源代码,而且价格也很昂贵,一般人难以接受。Linux是一个免费的开放源代码的操作系统,Linux和Unix很相似,是一个内核稳定,功能强大,支持多钟硬件平台,内核可以裁减的多任务操作系统,对内核做适当裁减后就可以运行在嵌入式系统上,作实时化改造后的RT -Linux系统可以保证关键任务的实时性,且其自带TCP/IP协议栈,在此操作系统上运行的客户端程序具有开发容易,可扩展性强的特点。可以根据对步进电机控制任务的要求扩充新的功能,客户端程序流程如所示。

  由于在客户机端ARM处理器只需要提供一个与以太网的网络接口而且只需要对控制指令做解释并配置ISPLSI中相应的寄存器单元,所以在客户端的程序设计相对简单,且这种循环分支的程序结构能够满足系统需要。

  客户机程序流程在上述基础上,经过进一步改进,设计了便携式多通道超声C扫描系统的XY工作台,主计算机通过网络把扫描要求发送给ARM,由ARM控制两轴步进电机XY向联动,通过传动机构带动超声探头在XY平面内做扫描运动,采集每点超声波信号做进一步处理,在此基础上得到点扫描图像,从扫描结果可以看出这种控制结构能够满足系统要求。

  4结束语主计算机只要有以太网接口就可以很方便地组建一个模块化的步进电机控制系统,根据实际需要很容易改变系统中的步进电机控制器数量,以太网的发展能够提供越来越高的网络速度,对于一般的便携式步进电机控制系统,同时控制的步进电机数量不可能太多,所以在此基础上扩充步进电机控制器的数量只受网络带宽的约束。嵌入式技术可以大大减小系统的体积和重量,在环境比较恶劣的现场,基于ARM的系统可以提高系统的可靠性和稳定性。只要合理配置客户机的网络参数,那么客户机就可以直接接入因特网,远程服务器就可以通过因特网直接控制客户机。