基于ARM9的数控铣床系统设计方案-设计应用_第1页
基于ARM9的数控铣床系统设计方案-设计应用_第2页
基于ARM9的数控铣床系统设计方案-设计应用_第3页
基于ARM9的数控铣床系统设计方案-设计应用_第4页
基于ARM9的数控铣床系统设计方案-设计应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑基于ARM9的数控铣床系统设计方案-设计应用引言

目前国内使用的数控系统通常是在通用计算机或工控机的基础上加装运动控制卡,使用Windows操作系统,并安装昂贵的数控软件构成的。这样的系统软件成本高、硬件资源浪费、功耗大。而嵌入式产品具有系统结构精简、功耗低等特点,能弥补传统数控系统的不足。软件Linux操作系统进军嵌入式领域,更使得嵌入式产品能够充分发挥廉价、高性价比的优势。

本文所述的正是以Linux操作系统为软件平台,以ARM9微处理器为硬件平台,以数控铣床为背景,自主研发数控硬件及软件的嵌入式数控铣床控制系统。

1系统硬件组成

系统的硬件由ARM系统主板和扩展板卡组成。

硬件结构如图1。

1.1ARM系统主板

根据系统需要,主板上主要包括中央处理器S3C2410X、SDRAM内存、NANDFLASH(64M)、串口、CS8900A以太网芯片(10M网口)、LCD显示器接口、USB接口、扩展总线接口等。

中央处理器S3C2410X内部资源十分丰富,包括1个LCD控制器、SDRAM控制器、3个通道的UART、4个具有PWM功能的计时器和1个内部时钟、2个USB主机接口和1个USB设备接口等。S3C2410X处理器主频为202MHz,内置16KB指令高速缓存和16KB数据高速缓存,5级指令流水线,带有乘累加运单元,可以运行起嵌入式Linux操作系统并能进行较为复杂的信息处理,基本满足用户对快速性的要求。并且采用NANDFLASH与SDRAM组合来存储数据和程序,可以获得非常高的性价比。

系统采用10M的以太网接口芯片CS8900A,这是用于嵌入式设备的低成本以太局域网控制器。通过标准网络接口数控系统可以连接到Internet或局域网上。

1.2扩展板卡

扩展板卡即把步进电机驱动器控制接口、伺服电机驱动器控制接口、编码器接口集成在一个板子上,作为控制数控铣床的控制卡,来控制步进电机和伺服电机的运转。

机床目前设计为3轴联动,为未来能扩展为5轴,设计留有5组接线端子。每组需要两个接线端子与驱动器相连(采用单脉冲方式),其中一个端子通过导线连接步进电机驱动器的CP,提供给步进电机脉冲信号,控制它转动,另一个接驱动器的CW,控制电机的转动方向,使电机可以完成正转、反转和停止动作。对电机的速度控制是通过软件控制脉冲的输出频率实现的。经比较决定选择三相混合式步进电机驱动器BD3SFB。因BD3SFB驱动器可兼容两相、四相和五相的工作方式,且有更高的定位精度,可控制电机在任意细分步数情况下,如6000步/转时定位。电机和驱动器间仅用3根线连接,与交流异步电机一样,减少连线出错的可能性。

伺服电机的控制与反馈由驱动器完成,数控系统只需将指令信号发送至驱动器中。由处理器的通用I/O口产生伺服电机的脉冲信号和方向信号。伺服驱动器一般需要差分信号作为输入,故采用26LS31芯片作为其输出驱动电路,经过光耦的隔离直接连接到伺服电机驱动器上。

对步进电机采用开环控制,但为了将铣刀具体位置呈现给用户,同时修正控制及运动部分不可预见的误差,可以在步进电机上安装编码器。通过联轴器将二者相连。编码器脉冲信号经8253计数后可得到被测量的数字信号,然后经地址锁存器连接到扩展总线,由处理器进行处理。8253复用8位数据总线表示计数值,处理器先读低8位后读高8位,计数范围是0~65535。同时,鉴向器占用数据总线3位表示各电机旋转方向。在单脉冲模式下,编码器脉冲由D触发器CD4013鉴相,处理器通过判断高低电平得知电机旋转方向。为了抗干扰和实现电气隔离,在与步进电机驱动器的脉冲信号和方向信号的端口连接时采用了光电隔离器件。D触发器鉴相如图2。

2系统软件设计

传统数控系统的使用流程是先由用户编辑G代码或其它格式的加工文件,数控系统根据该文件中代码的意义,控制刀具做出相应的动作。所以在软件方面,系统需要提供文本编辑功能、对加工文件的编译功能、电机驱动功能等。为了使用户验证加工程序的正误,系统还要提供仿真功能,将走刀过程展现给用户。

为了实现网络功能,本系统还移植了嵌入式浏览器Konqueror/Embedded,这是一款自由软件。由于浏览器可以访问HTTP、FTP、SMTP、NNTP等多种不同协议的服务,故安装浏览器可谓一举多得,移植过程参考文献。软件结构如图3所示。

2.1操作系统平台的搭建

2.2伺服电机和步进电机驱动程序

伺服电机需要的信号是PWM波形控制信号,因此伺服电机驱动程序主要是实现脉宽调制。这个脉宽调制是利用一个定时器,并根据由SPWM算法得到的延迟时间,控制一个通用I/O端口高低电平持续时间得到的。系统产生的PWM波形如下图4所示。

而在三个步进电机的设备驱动程序中,向步进电机发送连续信号定义为写操作;从8253中读数据定义为读操作;由键盘控制各电机动作作为自定义操作。

2.3G代码编译

G代码是国际通用的机床加工代码,其编译的思想是:首先将G代码文件读入流中,逐行分析其意义,并且带有查错功能。当遇到子程序跳转时记录文件指示出其位置和循环次数时,子程序返回后从记录位置继续执行;遇到主轴旋转时,在编译文件中写入旋转标志和PWM的脉宽;遇到插补命令时写入脉冲标志和每步的三坐标脉冲信号诸如此类。生成记录整套加工步骤的二进制文件。编译流程如图5所示。

2.4插补算法与刀补算法

数控铣床控制系统使用逐点比较法实现直线和圆弧插补算法。以刀的当前位置为起点,以G代码给定位置为终点,在其间的直线或圆弧上插入拟合点,根据这些点产生一系列三坐标脉冲信号。逐点比较法的缺陷是圆弧插补只能走x或y方向的正交线,而缺失了应该在圆弧插补中出现的由x、y方向合成的±45/135°斜线,系统根据圆弧相对于x或y轴的倾向性,使插补过程中在圆弧的±45/135°附近尽量使用斜线,使得插补精度更高、步数更少。图6是由Matlab仿真得到的改进算法和传统算法的比较,如果定义理想曲线和拟和曲线的误差为两曲线相夹的面积(图中灰色部分),可看出改进算法的误差较小。

编写加工程序时,一般只考虑刀具中心沿零件轮廓切削,而忽略刀具半径对加工的影响,在实际加工时需要在刀具中心与刀具切削点之间进行位置偏置,补偿上述影响。这种变换过程即为刀具补偿。系统采用的是带有过度连接的C刀具补偿算法,该算法比较复杂,与许多因素有关,为此定义了一个结构作为刀补函数的参数,该函数更改插补始末位置、增加过渡曲线实现刀补功能。参数结构如下,

3结论

以ARM9微处理器为硬件平台,的Linux操作系统为软件平台,开发了嵌入式数控铣床,实现了对步进电机和伺服电机的控制。在对制作的电路板和编程的系统程序实验的基础上表明,与传统数控系统相比,嵌入式数控系统发挥了其耗能少、成本低、体积小等优势。

参考文献:[1].S3C2410Xdatasheet/datasheet/S3C241

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论