基于ARM9的数控铣床系统设计方案

发布者:boyhxz最新更新时间:2012-04-10 来源: 21ic 关键字:ARM9  数控铣床系统 手机看文章 扫描二维码
随时随地手机看文章

引言

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

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

1 系统硬件组成

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

硬件结构如图1。

基于ARM9的数控铣床系统设计方案

1.1 ARM系统主板

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

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

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

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。

基于ARM9的数控铣床系统设计方案

2 系统软件设计

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

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

基于ARM9的数控铣床系统设计方案

2.1 操作系统平台的搭建

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

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

基于ARM9的数控铣床系统设计方案

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

2.3 G代码编译

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

基于ARM9的数控铣床系统设计方案

2.4 插补算法与刀补算法

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

基于ARM9的数控铣床系统设计方案

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

基于ARM9的数控铣床系统设计方案

3 结论

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

关键字:ARM9  数控铣床系统 引用地址:基于ARM9的数控铣床系统设计方案

上一篇:基于ARM Cortex-M3的MODBUS协议实现及其应用
下一篇:基于ARM和Linux通用工控平台设计与实现

推荐阅读最新更新时间:2024-03-16 12:57

关于ARM9中的协处理器CP15及MCR/MRC指令
在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。 访问CP15寄存器的指令 MCR ARM寄存器到协处理器寄存器的数据传送 MRC 协处理器寄存器到ARM寄存器的数据传送 MCR指令和MRC指令只能在处理器模式为系统模式时执行,在用户模式下执行MCR指令和MRC指令将会触发未定义指令的异常中断。 MCR指令 MCR指令将ARM处理器的寄存器中的数据传送到协处理器寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。 指令语法格式 MCR{ cond } p , opcode_1 , Rd , CRn , CRm
[单片机]
基于ARM9嵌入式处理器的指纹识别系统设计
为了适应指纹采集传感器件和指纹识别系统向着小型化和嵌入式方向发展的需要,文中提出了一种基于ARM9处理器架构的CPU芯片S3C2440A的嵌入式指纹识别系统(指纹识别系统是一个典型的模式识别系统,包括指纹图像获取、处理、特征提取和比对等模块。)设计方案,同时对该指纹识别系统的硬件架构进行了说明。该方案具有结构简单、可扩展性和移植性强等诸多优点。 指纹鉴定是人身识别最重要的手段之一, 指纹自动识别系统给指纹鉴定工作提供了一个新的平台, 并使指纹自动识别系统在身份认证方面具有更广阔的前景。目前, 自动指纹识别系统一般都是联机的, 大多数系统都选用指纹传感器来采集, 并以计算机(PC) 作为主机来处理, 从而对指纹进行匹配。 而
[单片机]
基于<font color='red'>ARM9</font>嵌入式处理器的指纹识别<font color='red'>系统</font>设计
基于ARM9处理器芯片S3C2440的服装舒适性检测系统
  一般来说,当人体皮肤温湿度处于热湿舒适性状态时,人们的智力、体力(手工)或感觉方面的表现均处于高水平状态,另外热湿舒适性是人们处于最佳健康状态的必要条件。通过对人体不同状态下不同部位的服装压力、温度湿度的测量,可以得到人体着装后的不同部位的压力、温湿度的分布状况。对测量结果进行分析可以为服装压力、热湿舒适性的客观评价提供量化指标,为服装的款式与结构设计提供科学依据。近年来越来越多的研究人员开展了有关服装功能测试的研究,并且取得了较多进展,但是相关的服装功能测试仪器的研发远远滞后于时代的需要。本文设计了基于ARM技术的便携式的服装压力、温湿度测量系统。   1 服装舒适性检测系统的构成   服装舒适性检测系统由数据采集模块、
[单片机]
基于<font color='red'>ARM9</font>处理器芯片S3C2440的服装舒适性检测<font color='red'>系统</font>
基于ARM9的CMOS图像采集系统的设计与实现
 机器视觉在国民经济、科学研究以及国防建设等领域都有着广泛的应用。在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉可以提高生产效率和自动化程度。图像采集系统是机器视觉系统的重要组成部分,目前图像采集常用的两种图像传感器为CCD与CMOS图像传感器。CCD一般输出带制式的模拟信号,需要经过视频解码器得到数字信号才能传入微处理器中,而CMOS图像传感器直接输出数字信号,可以直接与微处理器进行连接。不同的CMOS图像传感器有不同的性能,主要表现在图像分辨率大小不同、帧速率不同、曝光方式不同等,CMOS图像传感器可直接通过I2C来设置图像分辨率大小及曝光、增益等参数,而CCD图像传感器则需要对视频解码器进行设置来
[单片机]
基于<font color='red'>ARM9</font>的CMOS图像采集<font color='red'>系统</font>的设计与实现
linux 2.6.32 在arm9(s3c2440)平台的移植2 -- Kconfig和Makefile(2)
make menuconfig后,首先读入linux-2.6.32.2/arch/arm/Kconfig ??? sudu vi linux-2.6.32.2/arch/arm/Kconfig (1)找到开头的mainmenu Linux Kernel Configuration source 这一行, 这是整个Configure树的根, 这一行匹配最后一个 带endmenu字样的行 .再找到init/Kconfig 这一行, 可以看到该行之前的都是固定选项,不会出现在Configure可选选项的, 某个config的例子如下 config CONFIG_SYMBOL tristate string 或者 bool
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved