机械设计制造及其自动化专业毕业设计论文等离子切割机的数控系统设计.docx
《机械设计制造及其自动化专业毕业设计论文等离子切割机的数控系统设计.docx》由会员分享,可在线阅读,更多相关《机械设计制造及其自动化专业毕业设计论文等离子切割机的数控系统设计.docx(33页珍藏版)》请在冰豆网上搜索。
机械设计制造及其自动化专业毕业设计论文等离子切割机的数控系统设计
大学
毕业设计
题目等离子切割机的数控系统设计
专业
班级
学生
学号
指导教师
二〇一四年五月五日
1前言
1.1概述
等离子数控切割机数的核心就是其数控系统,控系统是一个非常典型、复杂的实时控制系统,它能快速处理和响应信息。
实时控制系统包括两大部分:
受控系统和控制系统。
受控系统是由硬件设备组成,如电机及其驱动;控制系统由软件及其支持硬件组成,它们共同完成数控系统的基本功能。
数控系统中的人机交互图形化用户界面(GraphicalUserInterface,GUI)是研究人、计算机和彼此之间相互影响的技术,最终目的在于使所设计的计算机系统能帮助人们安全、高效地完成任务。
人机交互通过图形用户界面显现出来。
目前,主要的GUI设计软件主要有:
Microwindows、MiniGUI、GTKFB、QT/E等。
(1)MicrowindowsOpenSourceProject成立的宗旨在于针对体积小的装置,建立一套先进的视窗环境,在linux桌面上通过交叉编译可以很容易的制作出micro-windows的程序[1]。
然而,Microwindows的免费版本进展的一直很慢,几乎处于停顿状态,而且至今为止,国内没有任何一家公司对Microwindows提供全面的技术支持、服务和担保。
(2)MiniGUI是我国做的比较好的自由软件之一,它是在linux控制台上运行的多窗口图形操作系统,可以在以linux为基础的应用平台上提供一个简单可行MiniGUI支持系统[1]。
(3)GTKFB其宗旨就是要为嵌入式系统推出一套基于GTK+的GUI解决方案[1]。
GTKFB的最大优点就是它可以使用强大的GTK+库,基于GTK+库的软件极大丰富,适用于PDA等嵌入式设备[1]。
但GTKFB的最大缺点是它只能运行在单处理器系统上,这意味着它无法使用其他处理器来分离、保护系统的不同部分,也难以使用GTKFB来设置大型的系统[1]。
(4)QT/EQt是Trolltech公司的标志性产品,是一个跨平台的C++图形用户界面(GUI)工具包[1]。
Qt/Embedded(简称QtE)是一个专门为嵌入式系统设计图形用户界面的工具包[1]。
嵌入式系统地要求是小而快速,而QtE就能帮助开发者为满足这些要求开发强壮地应用程序,QtE是模块化和可裁剪地,开发者可以选取他所需要的一些特性,而裁剪掉所不需要的[1]。
这样,通过选择所需要的特性,QtE的映像变得很小,最小只有600K左右。
QtE可以应用在所有主流平台和CPU上。
支持所有主流的嵌入式Linux,对于在Linux上的QtE的基本要求只不过是FrameBuffer设备和一个C++编译器。
Qt/Embedded延续了Qt在X上的强大功能,在底层摒弃了Xlib,仅采用framebuffer作为底层图形接口。
同时,将外部输入设备抽象为keyboard和mouse输入事件,底层接口支持键盘、GPM鼠标、触摸屏以及用户自定义的设备等[1]。
Qt/Embedded类库完全采用C++封装[1]。
丰富的控件资源和较好的可移植性是Qt/Embedded最为优秀的一方面。
1.2国内外现状
数控系统是数字控制系统简称,英文名称为NumericalControlSystem,早期是由硬件电路构成的称为硬件数控(HardNC),19世纪70年代以后,硬件电路元件逐步由专用的计算机代替称为计算机数控系统[2]。
计算机数控(Computerizednumericalcontrol,简称CNC)系统是用计算机控制加工功能,实现数值控制的系统[2]。
我国作为一个制造业大国,对于制造设备的需求量很大。
作为制造业的核心,国产数控虽然有了很大的发展,但仍然无法追赶上世界发展的脚步。
1.3论文的内容安排
等离子数控切割机是当今先进制造技术的一个重要组成部分,主要用于平面切割非规则图形,理论上只要用AUTOCAD能画出来的图形就能切割。
本文设计了一个针对等离子切割机数控系统的图形用户交互界面的软件。
并主要介绍了硬件环境的搭建、软件环境的搭建和基于QT/E的编程。
论文共分五章,其结构如下:
第一章:
前言。
简单介绍了几种开发GUI的工具及国内外现状
第二章:
硬件开发平台的搭建。
主要介绍了为了搭建ARM平台的linux嵌入系统,而作的硬件准备,如s3c2410开发面板、MCX312控制芯片等。
第三章:
软件开发平台的搭建。
主要介绍了为了开发用户图形交互界面而作的软件准备,介绍了linux内核的移植,QT编译环境的搭建及环境变量的设置
第四章:
基于QT/Embedded的GUI设计与移植。
详细介绍了基于QT/Embedded的GUI的开发步骤,并介绍了交叉编译及程序向目标板上的移植。
第五章:
结论。
总结本文工作,并提出来待解决的问题。
2硬件开发平台的搭建
本次设计采用ARM+MCX312的硬件框架,ARM系列的微处理器由于其高性能、廉价、耗能低和相关技术及软件的支持,使其在广多领域得到了应用,尤其在嵌入式行业、DSP和移动设备等。
本次采用S3C2410作为核心处理器,用于各种控制的处理,而是用MCX312作为运动控制芯片,它能同时控制独立两个私服电机的运动控制芯片。
以脉冲串的形式输出,能对伺服电机进行位置控制、插补驱动、速度控制等。
并以此为基础设计了USB模块、LCD模块、串口模块和其他模块。
USB模块主要作为鼠标和键盘设备的输入接口,还可以作为移动硬盘或U盘的接口用于数据的拷贝。
LCD模块主要为显示设备,它显示加工参数的设置、加工过程中各种信息的显示等。
串口模块主要用于主机和目标机数据的传送。
其他模块主要包括电源模块、复位模块等其他模块。
2.1处理器模块
本系统采用以三星公司的S3C2410为处理器,同时受环境所限决定采用博创公司UP-NetARM2410的核心板,主要资源有基于ARM920T结构的嵌入式芯片S3C2410的核心板,其主频为203MHZ,64M的SDRAM(由2片HY57V561620组成,每片32MB),64MB的NANDFLASH(三星公司的K9F1208)[4]。
图2.1UP-NetARM2410的核心板
外围模块主要有电源、复位、RTC时钟等基本系统,双100M自适应AX88796的以太网,4个USB接口,PS/2键盘和鼠标接口,640X480的16bit
的TFT的LCD液晶屏,RS485总线[4]。
其整体的硬件结构框图如图2.2
图2.2系统硬件框图
2.2USB模块
由于本设计要用到键盘、鼠标等输入设备,并且还需要USB接口作为数据的传送接口,为了设计过程简单化决定设计4个USB接口,其中一个用于键盘接口,一个用于鼠标接口,一个用于文件的拷贝,最后一个备用。
其接口控制用芯片为AT43301,接口电路如图2.3所示。
图2.3USB接口电路
2.3LCD模块
显示设备LCD显示器,具有稳定可靠、成本低、功耗小、驱动控制方便等众多优点,在嵌入系统中得到了广泛的应用。
S3C2410内部集成了LCD控制器逻辑单元,其控制器支持单色、四级灰度、256色的调色板显示模式的TFT屏,支持64K和16M色非调色板显示模式,支持分辨率为640*480、320*240及其他多规格的LCD,用来将LCD图像数据从系统内存的视频缓冲区传输到外部的LCD驱动器,同时产生各种时钟和控制信号[4]。
图2.4为LCD的内部框图。
图2.4LCD控制器内部框图
其中LCDCDMA则是LCD控制器的专用DMA通道,负责将视频资料从系统总线上取来,通过VIDPRCS从VD[23:
0]传递给LCD屏[4]。
图2.5LCD的接口电路图
2.4串口模块
UART是一种通用的数据总线,用于一步通信。
可以实现双工传输和接收,在本系统中用来与PC进行数据交换。
S3c2410内部具有三个独立的UART控制器,并均可工作于中断模式和DMA模式[4]。
每个UART均有16字节的FIFO(先入先出寄存器),波特率最高课支持到230.Kbps[4]。
图2.6串口电路图
2.5其他模块
主要包括:
电源模块、复位模块、JTAG模块和其它模块等。
2.5.1电源模块
主要为整个系统供电,主要输出三种电压:
①5V为电池电源;②3.3V为大部分器件进行供电;③1.8V为内核工作电压
其电路图如2.7所示
图2.7电源电路图
2.5.2复位模块
主要用于系统的复位,其电路图如2.8所示。
图2.8复位电路图
2.5.3JTAG模块
主要用于程序的烧写,在搭建嵌入式linux时用到,其接口电路图如2.9所示。
图2.9JTAG电路图
2.6控制器模块
本设计采用固高公司的MCX312,它能同时控制独立两个私服电机的运动控制芯片。
以脉冲串的形式输出,能对伺服电机进行位置控制、插补驱动、速度控制等。
所有MCX312的功能由特殊寄存器控制,有命令寄存器、数据寄存器、状态寄存器和模式寄存器。
2.6.1功能概述
(1)独立二轴驱动
一个芯片可以分别控制2个马达驱动轴的运动每个轴都可以进行定速驱动直线加/减速驱动S曲线加/减速驱动等,2轴的性能。
图2.10控制简图
(2)定量驱动和连续驱动
定量驱动的意思是以固定速度或加/减速度输出指定数量的脉冲。
需要移动到确定的位置或进行确定的动作时使用此功能。
定量驱动中可以变更输出脉冲数。
一般原点搜寻扫描操作控制马达旋转速度时使用此功能。
(3)位置管理
每轴都有2个32位位置计数器,一个是在芯片内部管理驱动脉冲输出的逻辑位置计算器,另一个是管理从外部编码器来的脉冲的实际位置计数器。
(4)插补
可以选择2轴直线插补驱动,插补坐标范围是从当前位置到-8,388,607~+8,388,607之间,在整个指定的直线插补范围内,插补精度是0.5LSB,插补速度范围是从1PPS至4MPPS。
可以选择2轴进行圆弧插补驱动,插补坐标范围是从当前位置到-8,388,608~+8,388,607之间,在整个指定的圆弧曲线插补范围内,插补精度是0.5LSB,插补速度范围是从1PPS至4MPPS。
收到在高位CPU上计算的位模式插补数据后,可以用指定的驱动速度连续输出插补脉冲,用这种方式可以产生任何插补曲线。
直线插补>圆弧插补>直线插补>……这样可以不停地运行每个插补节点的插补驱动,连续插补的最大驱动速度是2MHz。
(5)中断
可以由这些原因产生中断,如:
加/减速驱动的定速开始时、定速完毕时、驱动完毕时、位置计数器和比较器之间的大小关系有变化时、等等。
此外,连续插补、位模式插补发生下一个数据请求时的中断。
2.6.2MCX312电路图
其控制电路接线图和隔离电路图如2.11所示。
图2.11MCX312的控制电路图
3软件平台的搭建
3.1主机软件平台的搭建
主机软件平台的搭建主要是建立Linux系统和QT4编译环境的搭建,限于条件,决定在WindowsXP平台上建立虚拟机,在虚拟机中搭建Linux系统。
虚拟机的搭建采用VMWare6.5。
linux系统为RedHat9.0中文版,内核为Linux2.4.2。
QT为qt-embedded-linux-opensource-src-4.4.1.tar.gz,qt-x11-opensource-src-4.4.1.tar.gz交叉编译器为博创公司提供的RAM-LINUX-GCC3.4.1。
3.1.1虚拟机的安装
关于VMWare安装的教程网上很多,在此不再赘述。
先介绍Linux版虚拟机的安装,然后主要介绍一下VMWareTools的安装,因为我在安装VMWareTools时出错最多。
一Linux版虚拟机的安装
前提条件是VMWare已安装,并且已下载RedHat9.0中文版的安装镜像文件(可在网上下载,学校的202.194.75.150服务器上也有)或有RedHat9.0中文版的安装盘。
(1)打开VMWare,点击NewVirtualMachine图标。
图3.1新建选项
(2)点击图标后会出来一个安装向导,选择Typicl(典型)安装,然后点击Next。
再新出来对话框中选择Installerdisc_image(iso):
选项,并在下拉框中选择RedHat9.0中文版安装镜像文件的第一个文件,选择完,点Next。
图3.2镜像目录
(3)选择安装类型为Linux,然后Next。
选择安装路径,然后一直Next直到Finish。
(4)点完Finish后,会出现RedHat9.0的安装界面,选择图形安装方式就可以了。
在安装过程需要注意的是在安装类型时要选择指定,然后选择全部安装,因为典型安装缺少OPENSLL文件,在安装QT4时需要此文件。
二VMWareTools的安装
VMwareTools是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(SunVirtualBoxGuestAdditions),是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机时钟的驱动程序[5]。
只有在VMware虚拟机中安装好了VMwareTools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按ctrl+alt),且虚拟机屏幕也可实现全屏化[5]。
(1)CD-ROM虚拟光驱中选择使用ISO镜像,找到VMWARETOOLS安件。
(2)OOT身份进入LINUX,进入linux新建一个终端,输入/sbin/telinit3进入纯文本模式,然后在纯文本模式下再次用root身份登陆。
(3)到windows,在虚拟机菜单栏中点击虚拟机->安装VMWARETOOLS子菜单。
会弹出对话框,点击"确认"安装。
(4)载光驱mount/dev/cdrom/mnt/cdrom,并进入cd/mnt/cdrom,复制*.tar.gz格式的文件CPvmware-linux-tools/tmp//tmp/
(5)/tmp/进入tmp目录
(6)arzxfvmware-linux-tools.tar.gz解压vmware-linux-tools.tar.gz文件
(7)dvmware-linux-tools进入cdvmware-linux-tools文件
(8)./*.pl运行后缀为.pl的文件
(9)行安装过程中,它会一步一步的有问题提出要你回应,此过程中,你只要见到问题后面显示[yes]、[no]、[yes/no]的都输入yes,然后回车,其他的问题后面不管[]里面是什么直接回车就好,不要输入,选择默认。
(10)最后它会输出1—15个分辨率,你输入数字选择,根据你的显示器来选择分辨率,样就安装好了。
3.1.2QT4的安装
Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司于1995年底出品。
2008年被诺基亚收购。
QT支持MS/Windows-95、98、NT4.0、ME、2000、XP、Vista和Win7、Macintosh-MacOSX、Unix/X11-Linux、SunSolaris、HP-UX、CompaqTru64UNIX、IBMAIX、SGIIRIX和其它很多X11平台。
在PC机上的QT是基于X11图形系统的,在嵌入设备中往往不需要这么累赘,只需使用QTE(QT/Embedded)即可包括PC平台中X11和QT库的功能。
因此,我们要建立3个版本的QT,分别为PC版、X86版、ARM版,其中PC版主要用于设计,需要其中的Designer、QVFB等。
X86版主要用于程序的仿真调试,QVFB就是仿真调试用的。
而QVFB必须运行于X86结构。
ARM版用于程序的交叉编译用。
一PC版QT安装
(1)以ROOT身份进入LINUX系统,新建终端。
执行以下命令:
#gcc–v\\先查看gcc版本,如低于3.0要先安装不低于3.0的
图3.3GCC的版本查看
(2)#ln-s/usr/kerberos/include/com_err.h/usr/include/\\因为RedHat9.0安装时
ln-s/usr/kerberos/include/profile.h/usr/include/krb5.h不在include里面
ln-s/usr/kerberos/include/krb5.h/usr/include/
(3)#cd/usr/local/\\进入local目录
(4)#mkdirqtpc\\创建qtpc文件夹,用于安装PC版的QT
(5)#tarzxvfqt-x11-opensource-src-4.4.1.tar.gz\\解压QT
(6)#cdqt-x11-opensource-src-4.4.1\\进入x11-opensource-src-4.4.1文件夹
(7)#./configure-prefix/usr/local/pcqt/-qvfb\\-prefix用于指定QT的安装路径,-qvfb表示编译qvfb模块,为X86准备
(8)gmake
(9)gmakeinstall//到此,PC版的QT安装完成
运行环境变量,看是否安装成功
PATH=/usr/local/Trolltech/Qt-4.5.0/bin:
$PATH
QTDIR=/usr/local/Trolltech/Qt-4.5.0
QTDEDIR=$QTDIR
MANPATH=$QTDIR/man:
$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
exportPATHQTDIRMANPATHLD_LIBRARY_PATH
#./designer//出现designer画面
接着安装QVFB
(1)#cdTools
(2)#cdqvfb
(3)#make\\QVFB安装完成,用于仿真QT程序
二X86版QT的安装
(1)#cd/usr/local/\\进入local目录
(2)#mkdirqtx86\\创建qtx86文件夹,用于安装X86版的QT
(3)#tarzxvfqt-embedded-linux-opensource-src-4.4.1.tar.gz
(4)#cdqt-embedded-linux-opensource-src-4.4.1
(5)#./configure\
-prefix/usr/local/qtx86\\X86的安装目录
-embeddedx86\\指定嵌入式平台为X86
-qt-gfx-qvfb\\指定驱动设备显示为QVFB
-qt-kbd-qvfb\\支持键盘
-qt-mouse-qvfb\\支持鼠标
(6)#gmake
(7)#gmakeinstall\\X86版QT安装完成
测试一下是否安装成功,设置如下环境变量:
PATH=/usr/local/qtx86/bin:
$PATH
QTDIR=/usr/local/qtx86
QTDEDIR=$QTDIR
MANPATH=$QTDIR/man:
$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
exportPATHQTDIRMANPATHLD_LIBRARY_PATH
注:
PATH是指定X86运行的路径
#qvfb-width640-height480&
三ARM版QT的安装
在搭建ARM版的QT之前,应该首先安装交叉编译器,本文用的是博创公司提供的ARM-LINUX-GCC3.4.1,触摸屏库为tslib1.4。
1交叉编译器arm-linux-gcc的安装
(1)#tarxjvflinux-gcc-3.4.1.tar.bz2
把它放在:
/usr/local/arm/qtarm下
(2)#gedit/root/.bashrc\\对bashrc进行编辑,设置环境变量输入exportPATH=/opt/toolchains/arm920t-eabi/bin:
$PATH
图3.4ARM-LINUX-GCC版本号
正式安装ARM版QT
(1)#mkdirqtarm
(2)#tarzxvfqt-embedded-linux-opensource-src-4.4.1.tar.gz
(3)#cdqt-embedded-linux-opensource-src-4.4.1
(4)#./configure\
-prefix/usr/local/qtarm\\\指定安装目录
-opensource\\\以开源版本发布程序
-confirm-license\
-release\
-shared\\\创建使用共享库
-embeddedarm\
-xplatformqws/linux-arm-g++\\\交叉编译指定目标平台
-depths16,18,24\\\支持显示设备的位深度为161824
-fast\\\
-optimized-qmake\\\开启QMAKE优化
-pch\\\使用预处理器头文件
-qt-sql-sqlite\
-qt-libjpeg\
-qt-zlib\
-qt-libpng\
-qt-freetype\
-little-endian-host-little-endian\
-no-qt3support\
-no-libtiff-no-libmng\
-no-opengl\
-no-mmx-no-sse-no-sse2\
-no-3dnow\
-no-openssl\
-no-webkit\
-no-qvfb\
-no-phonon\
-no-nis\
-no-opensll\
-no-cups\
-no-glib\
-no-xcursor-no-xfixes-no-xrandr-no-xrender\
-no-separate-debug-info\
-nomakeexamples\
-nomaketools\
-nomakedocs\
-qt-mouse-tslib-I/usr/local/qtarm/tslib/include-L/usr/local/qtarm/tslib/lib
(5)#make
(6)#makeinstall
3.2目标机软件平台的搭建
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devicesusedtocontrol,monitor,orassisttheoperationofequ