关键词: 数控系统;ARM;Modbus
1 引言
数控技术是用数字信息对机械运动和工作过程进行控制的技术,数控装备是以数控技术为代表的新技术对传统制造产业和新兴制造业的渗透形成的机电一体化产品。数控技术的应用不但给传统制造业带来了革命性的变化,使制造业成为工业化的象征,而且随着数控技术的不断发展和应用领域的扩大,它对国计民生的一些重要行业的发展起着越来越重要的作用,因为这些行业所需装备的数字化已是现代发展的大趋势[1-2]。
随着科学技术和生产工艺的进步,数控系统的实现方案也越来越多,目前的数控系统,比较常见的实现方案有以下几种:基于PLC 控制器﹑基于运动控制卡﹑基于运动控制芯片﹑基于单片机。对于复杂的,大中型的数控系统而言,基于PLC 的运动控制方案,基于运动控制卡的控制方案或者基于运动控制芯片的控制方案是比较适合的解决方案,总能在性能和价格上找到一个平衡点;而对于中小型的系统,比如双轴控制系统,方案的选择比较困难,基于控制卡这样的解决方案显得造价偏高,基于单片机控制这样的解决方案,性能又很难得到保证。
本文正是基于这样一个现状而进行的研究,其主要目的就是设计出一个用于中小型数控系统的高性价比,高灵活性,并具有较强扩展性的数控平台。为中小型数控系统的开发提供切实可行的解决方案。
2 系统方案设计
2.1 系统框图
就一般数控系统而言,其应用需求主要包括人机交互和控制两个大的部分,本系统在此之上又增加了系统扩展模块,系统设计框图如图1 所示。
图1 系统设计框图
2.2 选型分析
主要对“嵌入式处理器选型”,“双ARM 控制器架构”和“脉冲发送方案”进行分析。
(1) 嵌入式处理器选型
嵌入式系统硬件的核心部分是各种类型的嵌入式处理器,目前全世界嵌入式处理器的品种总量已经超过1000 多种,流行体系结构有30 多个系列。寻址空间一般从64KB 到64MB,处理器速度从0.1MIPS 到200MIPS,字长从8 位、16 位、到32 位。
目前比较流行的嵌入式处理器主要是8 位的C51 核的单片机和32 位的高性能处理器,通常情况下51 核的单片机可寻址空间为64kB,机器周期为晶振的12 分频,其应用范围主要是速度要求不严格,代码容量要求低的简单嵌入式控制系统。32 位的高性能处理器目前主要有PowerPC、68K、MIPS、ARM 等系列,而这其中ARM 控制器则是凭借其功耗低、性价比高、代码密度高三大特色成为行业公认的嵌入式RISC 处理器标准。鉴于上述比较,最终选择了ARM 系列的控制器。
(2) 双ARM 控制器选型依据
在本系统中使用了两片ARM 控制器,一片专门负责人机交互和参数存储以及系统扩展等操作,另一片则专注于控制。这样选取主要有两个原因:第一,目前最常用的单色LCD 控制器SED1335 的数据传输速度相对于ARM 芯片来讲显得十分缓慢,经过初期的计算和实际测量,刷新一屏320*240 点的图片最快需要130ms 左右,所以在显示任务繁重的时候其它任务的实时性很难保证,LCD 屏显示的速度成为整个系统的瓶颈。解决这个问题有两种方案:选择一款片内集成LCD 控制器的微控制器或者使用两片微控制器分别负责人机交互和控制。一般情况下,集成LCD 控制器的微控制器价格普遍偏高,因此采取了第二种解决方法,并且通过职责分开,另一片CPU 专门负责控制,大大提高了系统的实时性,可以满足更为苛刻的系统需求。第二个原因:通过职责分开,增加了系统设计的并行性和修改的灵活性。在设计控制程序的同时其它模块的设计工作可以同时进行,并且两个部分可以单独调试,互不影响。同时,当需要修改系统功能时,可以只对相关的控制器一侧进行改动,不会影响另一侧的控制器功能,从而使功能修改变得简单易行。
(3) 脉冲发送模块硬件选型
本系统中的脉冲发送模块并没有使用专用的电机控制芯片,比如MCX314。其主要原因是这类芯片价格高昂。因为系统控制部分由专职处理器负责,因此系统的性能并不会因此而降低。
3 系统组件设计
3.1 双CPU 通讯模块设计及其实现
在双CPU 或多CPU 设计中,CPU 之间的协同工作是必须解决的问题。根据不同的系统的具体情况,有不同的解决方案,就一般方法而言主要有以下几种方案。
(1) 双CPU 数据线通过双向缓冲器对接,另外设计几根I/O 线作为握手信号
这种方案硬件上比较简单,成本相对较低,但是容易影响其它硬件模块尤其是外存的设计,需要根据不同的CPU 进行仔细考虑,避免出现冲突,并且这种设计方案使得软件设计变得颇为复杂,并且极容易出错,出现冲突情况,所以这种方案很少使用。
(
2) 双端口RAM 方案
这种方案的方法是在CPU 之间加上一片双端口RAM,CPU 之间可以同时访问双端口RAM,通过双端口RAM 实现数据共享。这种方案的硬件连接示意图如图2 所示。
双端口RAM 一般在CPU 之间通讯数据量较大的时候效率很高,数据吞吐量很大,在一些高端产品中经常被使用。但双端口RAM 的价格比较昂贵,也在一定程度上限制了它的应用。
(3) 通讯接口互连方案
通讯接口互连方案就是将两片CPU 通过芯片内集成的或外扩的通讯接口进行互连,通过通讯接口实现数据交换。这种方案特别适合于CPU 间以数据包的形式交换数据的场合,这种方案方便﹑简捷,每个CPU 可以单独进行通讯功能和其它功能的调试,互不影响,彼此之间耦合性很小。但是需要额外增加的工作就是需要编写相关通讯接口的驱动程序,并且制定CPU 间的数据通讯协议。这种方案相对双端口RAM 方案价格便宜,但是速度相对于双端口RAM 方案要低。通讯接口互连方案如图3 所示。
下面分别对通讯介质进行介绍:第一,Ethernet 网口。这种通讯方式速度高,可以达到100Mbps,但是硬件成本较高,软件开发工作量大,所以在双CPU 协同工作设计中很少使用这种方式实现CPU 间的数据交换。第二,I2C 接口和SPI 接口,这两种接口在一般的控制器中都能集成通讯控制器。这种方案一般不会增加硬件成本,只需编写驱动程序,但是通讯速度偏低,适合于数据交互量低,对速度要求不高的场合。在嵌入式系统设计中这种方式经常被使用。第三,UART 串口。在一般的嵌入式控制器中都能集成串口控制器,在用于双CPU 数据交互的情况下,不需要外接电平转换芯片,因此这种方案也不会增加硬件成本,只需编写驱动程序即可。类似于I2C 通讯和SPI 通讯,这种方案的数据吞吐量偏低,不适合需要大量数据交互的场合,但是因为串口通讯的应用普遍性和操作简易性,这种方案在实际系统设计中还是被广泛采用的。
通过上述比较,最终本文选用UART 接口通讯作为双CPU 之间的数据交互方案,这种方案的连线示意图如图4 所示。
3.2 人机交互模块设计及其实现
人机交互部分采用液晶显示模块LCM 作为界面平台。LCM 与控制器的连接如图5 所示。
界面设计上基于ZLG/GUI 进行开发。ZLG/GUI 是专为嵌入式系统简易的图形用户界面设计的软件,占用资源小,使用方便。提供了最基本的画点、线、圆形、圆弧、椭圆形、矩形、正方形和填充等功能,较高级的接口功能有ASCII 显示,汉字显示,图标显示、窗口和菜单等,支持单色、灰度、伪彩和真彩等图形显示设备。
3.3 系统控制模块设计与实现
控制模块操作的硬件包括:数字量输入DI,数字量输出DO,0-5V DA 输出,步进电机脉冲输出等等。数字量输入输出和DA 输出控制比较常规,这里仅对步进电机脉冲输出进行分析。
为了保证在进给时不产生冲击、失步、超程或振荡等现象,能够按照预定的速度和位置实现快速准确地运动,加给电机的输入脉冲要按照一定的规律给出,这就是加减速控制。常见的加减速曲线有以下几种:阶梯加减速曲线,直线加减速曲线,指数加减速曲线,S 形加减速曲线[3-4]。
每种曲线都有不同的适用场合,具体选择那一种方式还应根据具体应用情况进行选择。
图7 是本文选用“直线加减速曲线”方案发送的一组脉冲在逻辑分析仪下的截图。
3.4 通讯接口设计方案
增设“系统扩展通讯接口”主要是为了增强系统的可扩展性,便于连接其它设备。本通讯接口的通讯协议选择了工业上广泛使用的Modbus 协议,通讯介质选择了RS485 接口。
Modbus 协议中规定了1-255 个功能码(部分功能码保留),但最为常用的是因此本系统中只对功能码1-6 进行实现。
4 小结
本文在充分研究了国内外数控系统的发展和应用现状之后,针对中小型数控系统选型困难的问题,设计了一个高效,廉价,又具有较强可扩展性的数控开发平台,从而为中小型数控系统的开发设计提供了参考和平台。基于该平台已经成功开发出一款应用于制袋机行业的步进电机控制系统,该系统已应用于实际工业现场,并且运行效果良好,控制精度较高,人机界面友好。相信随着此开发平台的不断成熟和完善,一定能在中小型数控系统的研究和开发中得到广泛的应用。
参考文献
[1] 韩权利,马宏伟,张斌等.开放式数控系统.机械设计与制造工程,2001,30(1):4-5.
[2] 廖德岗.开放式数控系统的研究及其发展现状.机械,1999,26(3):13-15.
[3] 胡建华,廖文和,周儒荣.CNC 系统中几种升降速控制曲线的研究与比较.南京航空航天大学学报,1999,31(6):706-711.
[4] Jae Wook Jeon. Efficient acceleration and deceleration technique for short distancemovement in CNC machine tools. ELECTRONICS LETTERS,2000,36(8):766-768.