三维伺服数控平台设计Word格式.doc
- 文档编号:6975748
- 上传时间:2023-05-07
- 格式:DOC
- 页数:32
- 大小:611.18KB
三维伺服数控平台设计Word格式.doc
《三维伺服数控平台设计Word格式.doc》由会员分享,可在线阅读,更多相关《三维伺服数控平台设计Word格式.doc(32页珍藏版)》请在冰点文库上搜索。
单片机;
SolidWorks;
Proteus
Designof3Dservonumericalcontrolplatform
Abstract
Thetechnologyofcontrollingthemechanicalmovementandworkingprocessbythedigitalinformation-orientedcontrolprogramistheso-callednumericalcontroltechnology.Thetechnologyofthistechnologyissummarizedintheapplicationofcomputertechnology,microelectronicstechnology,servodrive,activecontrolandprecisionmappingandothersubjects.
ThecoreoftheCNCmillingmachineliesinthecontrolsystem,controlsystemtorealizethedigitalpartsoftheinputprogram,completetheinputinformationstorage,datatransformandinterpolationoperation,inordertoachieveavarietyofcontrolfunctions.
Thedesignofthecontrolsystemformillingmachinemustconsiderthematchingofthehardwareandsoftware,anditmustbeconsideredfromtheaspectsofeconomy,practicalityandfeasibility..ThecompletesetofAT89C51asthemaincontrolsystem.Inthehardwaredesigneasytoachieveeffectivecontrolfunction,structureisrelativelysimple;
inthesoftwaredesign,interpolationproceduresthroughthepreparationof,relativelyeasytoachieverunningdirectionandspeedofthemillingmachinecontrol.Atfirst,usingSolidWorkssoftwaretodrawamillingmachine,andthenusethemicrocontrollertocontrol.SimulationwithProteus.Circuitsimulationtechnologyistoachieveandtestthefunctionofthecircuitbysoftware..Proteusisnotonlythedesignplatformofanalogcircuit,digitalcircuitandanalogcircuit,butalsothemostadvancedMCUandembeddedsystemintheworld..
Keywords:
SinglechipmicrocomputerSolidWorksProteus
目录
摘要 I
Designof3Dservonumericalcontrolplatform II
1、绪论 1
1.1引言 1
1.2数控技术的发展方向及本次毕设的主旨 1
1.3数控技术的国内现状及发展趋势 2
2、三维建模及二维工程图 4
2.1SolidWorks软件介绍 4
2.2三维实际建模过程 4
2.3二维工程图 6
3、单片机的介绍及程序说明 7
3.1单片机的概述 7
3.2单片机控制系统设计 8
3.3程序说明 8
4、Proteus中电子电路建立及仿真模拟 10
4.1proteus仿真软件的介绍 10
4.2仿真电路实现过程 10
4.3程序实现简述及其源程序 15
参考文献 1
II
1、绪论
1.1引言
近些年来,计算机技术不断发展,计算机图形处理能力不断增强,以计算机为依托的仿真技术也快速发展起来,并在短时间内应用于各工程领域。
在计算机平台上进行机械零件的设计、校核,电子电路的设计,软件的编程,最终进行系统运动仿真,己经逐渐成为机电一体化设计的发展趋势。
设计与制造的传统步骤,第一步是方案设计及论证,第二步进行产品设计。
在第二步完成后,为了验证第二步的设计有无问题,通常要制造一台母机进行试验,这些试验中常常出现破坏性的结果。
当试验显现发现缺点不足时,又要回头修改第二步设计并再用样机验证。
这是一个周而复始、不断循环的设计一试验一设计过程,只有通过这种严苛而复杂的过程,产品才能达到所要求的性能。
不过这一程序是冗长的,尤其对于结构繁复的系统,设计周期更是无法缩短,哪还用谈对市场的灵活反应了。
时下大多数的情况是,企业工程师们为了确保产品按时投向市场而不得已中断简化这一过程,使产品在上市后便出现这样那样的问题,这也是许多人认为国内企业先天不足的由来。
时下的大背景是激烈市场竞争,在实际样机平台上的设计验证程序严重地限制了其产品质量、其成本及其对市场的占有。
随着全球化经贸态势的日渐显现,要想夺竞争取趋激烈的市场,并扩大市场占有率。
便应运出现了开发周期短暂,产品质量足够保障,成本低廉以及对市场反应灵活运营方式。
哪个公司早推出产品,哪个公司就占有市场。
显然传统的设计与制造步骤根本无法满足以上要求。
1.2数控技术的发展方向及本次毕设的主旨
已经问世40多年的数控技术是基于诸多基础学科而发展起来的,这是一门不算新兴,但却举足轻重的跨越性科学,是自动化,机电一体化,简单化,居家化,小型化制造业的基石。
在未来,数控技术,仿真模拟技术的不断升级改良,普及大众,基础零件更容易获得,企业源代码的逐步放送,会使得有兴趣,有志于此的人可以在家中,用简单的机床加工出自己设计的手机,遥控器等数码产品。
也可以对各种买来的家用电子元件进行个性化的魔改。
就好像美国电影中,一个乡下农场中,个人的爱好小作坊居然也能发展,制造出改变世界的发明一样。
这些都是数字化技术,数控技术,仿真模拟技术大统一的必然结果。
本次毕设就是对于数控铣床进行一次简单的二次开发,通过毕设中设计出的4乘4矩阵键盘,实现铣刀X轴,Y轴的控制走向。
这个二次开发可以连接已有的数控铣床,使工人们不必在使用铣床之前,背诵大量G17,G18,G90,G40等预存语言,可以通过简单的X轴,Y轴正传反转来控制。
也可以连接普通的非数字化铣床,将其升级为半自动化铣床,解放手工操作。
当然,本次毕设立意的确不凡,但笔者能力实在有限,所设计出的电子电路及操控软件并不符合实际生产生活需要,但通过本次毕设,让笔者对于电子电路及单片机开发应用大感兴趣,并亲手调试程序,理解铣床控制的基本原理。
1.3数控技术的国内现状及发展趋势
我国的数控技术起步较晚,虽然在学校精工实习时接触了一些数字化机床,但大多是一代,二代,三代的老式机床,命令语句复杂,且不知能。
精工实习过程中,在铣床实习时,笔者曾编译了一段程序,将蜡块铣成摩托诺拉的某款经典机型,当然,现在的手机大多为平板触屏手机,简单的程序就可以铣出超薄的平面机型,似乎根本不用迫切发展数控技术,当然,此为笑言。
笔者在假期实习时,曾进入一些工厂实习工作,这些工厂中还保留着大量非数控的铣床,车床等机床。
一些老工人手艺精湛,根本不需要背诵繁复的数控指令,看几眼零件,摸几下就能加工出精美利落的成品。
但未来的工业是大工业时代,大批量机加制成品依然占据着绝大部分市场。
我国也不再是当年那个发射东方红一号时,有几块钢板还是老师傅一锤子一锤子才敲打出弧形的国情了。
在笔者看来数字技术必然如上文所说一样,逐渐简单化,平民化,全民有兴趣之人都可以参与进来,都可以按照自己的个性加工出自己的零件,编写调试出带有个人特点的程序,组装自己心仪的产品,实现每个人不同的要求。
2、三维建模及二维工程图
2.1SolidWorks软件介绍
目前流行的主流高、中端三维CAD软件很多,如UG、II、CATIA、Pro—E、SolidEdge、SolidWorks等,选择空间很大。
所有方才所述的软件中,都供应了过程装置以及运动干涉检验、仿真模拟等功能,以及最重要的系统二次开发接口。
这使得熟用上述软件之人可以自行开发出自己用着顺手的应用程序。
SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是美国SolidWorks公司于1995年11月研制的。
该软件将二维制图和三维构型技术巧妙的杂糅为一体,操作便宜,上手极快,可以完成复杂的构型设计、大型装配、高级曲面设计造型和设计修改等。
集构型设计、应力分析、仿真加工和数据管理于一款软件,可以模拟动态装配过程,计算质量特征,可将三维实体构件转化为二维平面工程图。
2.2三维实际建模过程
实际建模复杂艰辛,笔者以前学过CAD、CATIA等建模软件,这次经同学介绍学习使用SolidWorks这款软件,单前期学习准备便花了两周时间,画出了七八个小零件,总算初步学会使用这款软件。
根据实际测量所得铣床尺寸,将此次三维构件分解为三个零构件,分别为铣床底座,可移动固件平台,刀具装置件。
如下图2.1,2.2便是其中刀具装置件与可移动固件平台两个零件。
其中可移动平台的固定卡具很不好建模,孔多件难,还不好测量,特意接了一个卡尺反复测量,有照了很多照片对比建模,但最后还是反复跑了机械馆数次,才测得准确数字,勉强画出了几个零件。
图2.1刀具装置件图2.2可移动固件平台
下边分别罗列了构建的整体视觉图以及正视图,侧视图等。
图2.3整体视觉图
从上图的整体视觉图中不难看出,可移动固定平台有X轴移动行程,与Y轴移动行程。
其工作范围分别是X=120mm,Y=160mm;
采用滚珠丝杠杆作为传动装置,丝杠导程4mm。
设计中伺服电机最大进给速度2m/min。
在软件装配时,X轴Y轴的导轨安装十分麻烦,因为无法将固定平台拆卸下来,自然不知道其中连接方式,上网查询了很多铣床装配图,也无法完整的复制出移动平台的安装方式,更无从在软件中制作约束。
图2.4正视图图2.5侧视图
2.3二维工程图
3、单片机的介绍及程序说明
3.1单片机的概述
自1946年美国军方定制的第一台计算机现世以来,计算机的微型化便从未停止过其脚步,最开始的计算机机箱需要几间屋子盛放,后来变成火车头大小,再到八九十年代的台式机,笔记本,平板电脑。
如今,计算机已经变成了指甲大小,这便是单片机。
单片机全称单片微型计算机,又被称为微控制器、单片机,是微型计算机家族中的一个重要成员。
单片机是将微处理器(计算机的中央处理单元CPU)CentralproeessingUnit)、一定容量的RAM和ROM以及I/O接口、定时等电路集成在一片芯片上。
而不单单是完成某一个逻辑功能的芯片。
概括的讲:
一块芯片就是一台计算机,它的体积小、质量轻、价格低、为学习应用和开发提供了便利条件。
图3.1AT89C51单片机
单片机是一块集成芯片,除了具有集成芯片的特点外还有许多其他不同特点,本次毕设选用的是AT89C51这块单片机。
这是一种带闪存可编程只读存储器的单片机。
AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活价廉的方案。
上图3.1便是本次毕设选用的AT89C51单片机,在proteus中的模型。
3.2单片机控制系统设计
单片机编程之前需要规划出整个系统的控制流程图,通过流程图指导程序编译,电子电路连接等。
下图是本次毕设大体流程控制,分别从指令输入,到单片机与电路互动,指导伺服系统,电机转动带动铣床。
下图3.2为大体控制流程图。
图3.2控制系统流程图
3.3程序说明
此次毕设的程序编译部分,图3.3的流程图进行编译,首先进行头文件调用#include<
reg52.h>
,定义需要使用的各种编码table[]={0x3f,0x06..0x79,0x71},随后各定义全局变量u11,u12,key1等,定义变量输入sbitPWM1=P3^4。
定义延迟函数voiddelay(uintx),定义初始化函数voidinit(),定义共阴极数码管显示函数voiddisplay(ucharsegNo,ucharnum),定义键盘扫描函数voidkeyScan(),定义主函数voidmain(void)。
在主函数中分别调用初始化函数,键盘扫描函数,在显示函数中显示。
最后编写中断函数,控制输出波形。
下图图3.3为指导本次编程的流程图:
图3.3编程流程图
在编程中,最为重要的便是键盘扫描函数,在键盘扫描函数中使用switch函数,分别对矩阵键盘的每一行进行询问,待相应之后分别对每一个回应,对应的每一个键位进行定义,以实现矩阵键盘的各种功能。
4、Proteus中电子电路建立及仿真模拟
4.1proteus仿真软件的介绍
PROTEUS软件是由英国LabcenterElectronics公司开发的EDA工具软件。
它从1989年问世至今,经过了近20的使用、发展和完善,功能越来越强大,性能越来越好。
PROTEUS安装以后,主要由两个程序组成:
ARES和ISIS。
前者主要用于PCB自动或人工布线及其电路仿真,后者主要采用原理布图的方法绘制电路并进行相应的仿真。
除了上述基本应用之外,PROTEUS革命性的功能在于它的电路仿真是互动的,针对微处理器的应用,可以直接在基于原理图的虚拟原型上编程,并实现软件源代码级的调试,还可以直接实时动态地模拟按键、键盘的输入,LED、液晶显示的输出,同时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测
4.2仿真电路实现过程
以前学习proteus只是做了一些简单的如跑马灯,定时器,静态数字显示等模拟,虽然知道这款软件功能十分强大,但很少编写大程序。
这次毕设一开始虽然在心底构思了一些方案,有简单的流程设计,但一动手开始写程序,就给了笔者迎头一棒——将电路图设计出来之后(如图4.1),根本不知道从哪下手写程序,老师说这个毕设并不困难,只需要一两百行的程序就可以了。
可是笔者闭关三天,才苦苦写出了二三十行程序,更让笔者心凉的是,笔者的数码管根本不显示任何数字,连乱码都没有!
更别说控制伺服电机了,不好的时候电机根本不动,就算问了同学,调试了一下程序,电机居然很不给面子的直接转到了头。
这要是实际工程应用,笔者的程序恐怕会谋杀很大一批数控铣床。
痛定思痛之下,笔者不得不认清现实,从头开始。
先图书馆借了许多proteus相关的书籍,又从网上下载了一些编程视频观看学习。
图4.1,原电路图
从最简单的程序入手,将本次毕设的程序分三段调试,这里边需要提一句,北京航空航天大学出版的《proteus辅助的单片机原理实践》这本书对笔者帮助很大。
笔者按照书上的教程,简单练习了几个小程序热手,之后将这次的毕设题目分解成三个小题目。
分别是:
8位共阴极数码管显示,矩阵键盘输入,伺服电机控制。
首先是8位共阴极数码管显示,笔者更改之前图1中使用的PG12864F显示器,改用编码为7SEG-MPX8-CC-BLUE的8位共阴极数码管。
八位共阴极数码管的显示并不困难,从0至F的十六位数字都有各自的代码显示,只要在主程序中调用显示程序,并在对应的位上输入数值编码,便可以完成显示,程序简简单单的十数行,笔者便完成了生日的输出,如图4.2所示。
图4.2,生日截图
这里边还有一个小插曲,为了连线方便,笔者将数码管的数字接口接到了AT89C51单片机的P0口,将位选接口接到了单片机的P2口,可是屏幕根本不亮。
当时简直要疯了,砸电脑的心思都有,心说连一个显示程序都写不出来,还能不能毕业了。
后来按照书上的电路图,将位选接口接到了单片机的P1口。
模拟开始之后,屏幕居然显示了笔者的生日,当时成就感立刻就来了。
位选接口必须接到P1口,就好像外部中断控制最好接到P3^2到P3^5口一样。
然后是矩阵键盘输入,最开始笔者学习书上使用for循环,调用16位矩阵键盘编码实现矩阵键盘输入,可是悲剧的发现,笔者对for循环并没有天赋,尤其是矩阵键盘要实现数字,正反转,复位,启停等不同功能。
很快笔者就改用if循环,在if循环中嵌套switch语句,虽然不如for循环简单明了,需要对矩阵键盘的四个横行询问,并对每一个纵行代码进行编译,但恰好满足笔者对每个键值的定义。
如图3所示,笔者定义了一个矩阵键盘,并将矩阵键盘每一个对应值都显示在数码管中。
图4.3,矩阵键盘
伺服电机的控制算是三个分题目中最困难的,如图4.4所示笔者选用了编号为MOTOR-PWMSERVO的伺服电机,要控制伺服电机的速度与偏转角度(铣刀的位置),需要对PWM端口输入不同频率的方形波,这就涉及到中断控制的定时器与计数器了。
Proteus的编程书籍中介绍了很多中断方面的知识,但说实话,笔者到现在也并没有完全学明白,很多中断都是凭着感觉,一点一点将程序调试出来的。
定时器/计数器控制寄存器TCON的中断请求标志格式为:
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
其中关于中断的就有6位,中断方式又有数种,对于书上的初始化函数中,ET0=1,TR0=1,
与EX0=1,IT0=1,有什么具体区别根本搞不懂。
按照书上将伺服电机的控制电路连接出来,程序也抄写在KEIL软件中,编译运行后伺服电机也如愿控制,但只要进行微调,比如说书上的程序电机每一次转动15度,但要控制铣床,就算对自己的要求再低,怎么也要把精度保持在1mm一下,如果电机每一步都转动15度,那需要使用的电传和齿轮系统笔者根本无法想象。
足足花了数天时间,笔者在调试伺服电机的程序,逐行理解程序的含义,对每一行的程序都进行标注,逐行改变程序赋值,希望能有奇迹出现。
最后经由老师点拨,笔者更改了定时器初值,每1um便进行一次中断,又调节了频率与占空比,终于输出了比较满意的方形波,让伺服电机每一次转动的范围下降到了3度,比原来足足放大了5倍,节省了许多齿轮。
但这又导致后来合成程序中出现了一个问题,笔者的延迟函数也只能延迟更少的时间,如果延迟时间过长,数码管的屏幕会不断闪烁,甚至出现乱码。
图4.4,伺服电机
前后用了数周的时间,终于做出了零零碎碎将近10个仿真电路及其对应的程序,眼看着其他同学已经开始调试大程序,但笔者心中却颇有成就,因为笔者的大程序中,大部分语句都是亲手编译调试,笔者知道每一行语句的意义,编译出现错误笔者能够很快的更改,数码管显示出现不合心意的时候,笔者也能定位到相应的语句。
终于,笔者带着将近一个月的积累,开始合成大程序,笔者将更改之后的三个子程序嵌入到大程序中,并用主函数分别调用初始化函数,键盘扫描函数,显示函数,笔者以为准备工作做得充足,主函数只要区区数行就可以完成这次毕设,结果仿真出来的结果让笔者哭笑不得。
第一次仿真,8位数码管只亮了6个,调试之后,正转(E)反转(F)的显示代码随时改变,位移显示部分更是奇葩,输入数字之后,只显示11,22,33,44等数字,根本无法输入正常的数值,更别说舵机了,舵机也跟着乱转,就连现在,笔者调出来的程序,复位键还无法让舵机复位。
图4.5最终电路实现
4.3程序实现简述及其源程序
全部源程序及其说明
#include<
//调用头文件
#defineucharunsignedchar//简化定义语句
#defineuintunsignedint
//共阴极数码管,数字编码
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//共阴极数码管,位选编码
ucharcodeseg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
ucharu11,u12,u21,u22,u31,u32,a,b,c,d,u41,u42,key21,key22,key1;
//x轴,u11=9,Y轴u12=10,正转反转,正转E,u21=14,反转F,u22=15,位置,u31=,u32
sbitPWM1=P3^4;
//X轴电机控制
sbitPWM2=P3^5;
//Y轴电机控制
sbitXZHOU=P3^2;
//X轴键值输入
sbitYZHOU=P3^3;
//Y轴键值输入
ucharDutyCycle1=43;
//[28,56],占空比变量
ucharDutyCycle2=43;
uchardida1=0;
//软件计数变量
uchardida2=0;
//延时函数
voiddelay(uintx)
{
uchari;
while(x--)
for(i=0;
i<
110;
i++);
}
//初始化函数
voidinit()
{
TMOD=0x02;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维 伺服 数控 平台 设计