XY平面绘图仪.docx
《XY平面绘图仪.docx》由会员分享,可在线阅读,更多相关《XY平面绘图仪.docx(13页珍藏版)》请在冰豆网上搜索。
![XY平面绘图仪.docx](https://file1.bdocx.com/fileroot1/2023-1/23/bb9eeec4-c328-4a80-b65b-86ff354074ea/bb9eeec4-c328-4a80-b65b-86ff354074ea1.gif)
XY平面绘图仪
XY平面绘图仪
【摘要】:
本课程设计是设计XY平面绘图仪,由上位机和下位机两部分组成,单片机通过接收PC机软件的绘图信息,控制步进电机完成图形的绘制。
单片机采用逐点比较法插补算法完成直线和圆弧的绘制,通过直线和圆弧的组合完成图形的绘制,最终实现了移点、画线、画弧、画圆、画矩形和组合图形的绘制。
【关键词】:
XY平面绘图CNC逐点比较法直线圆弧插补下位机上位机
Abstract:
ThecoursedesignisdesigntheXYplaneplotter,theSystemconsistsofhostcomputerandthenextcrewcomposition.ByreceivinggraphicsinformationfromPCbysoftware,theSingleChipcontrolsteppermotortocompletethegraphdrawing.Pointbypointcomparisonwiththecompletionofastraightlineandarcinterpolationalgorithmfordrawing,throughacombinationoflinesandarcstocompletegraphicsrendering,andultimatelytheshiftpoints,drawlines,drawarc,drawacircle,drawarectangleandthecombinationofgraphicsrendering.
Keywords:
XY-dimensionaldrawingsCNCPointbypointcomparisonmethod
目录
一、引言3
二、设计任务3
2.1设计题目3
2.2设计要求3
三、设计原理3
3.1系统工作原理3
3.2直线插补原理4
3.3圆弧插补原理5
四、硬件设计8
4.1单片机最小系统板8
4.2串口通信电路设计8
五、软件设计9
5.1下位机程序设计9
5.2上位机软件设计10
六、系统调试及运行结果10
七、心得体会11
八、参考文献11
九、附录11
一、引言
近年来,数控技术发展迅速。
计算机数控就是利用一个专用的可存储程序的计算机执行一些或全部的基本数字控制功能的NC系统。
随着计算机硬件性能价格比的迅速降低和图形显示器的推广应用,现代数控系统已不需要穿孔纸带,而由计算机直接控制,简称CNC。
XY平面绘图仪就是一台数控系统,采用计算机数控技术进行平面图形的绘制。
本课程设计完成平面绘图仪的设计,包括硬件设计和软件设计,最终实现移点、画线、画弧、画圆、画矩形和组成图形的绘制。
二、设计任务
2.1设计题目
XY平面数控绘图
2.2设计要求
1、输入参数由键盘录入(数码管显示),绘制给定直线和圆弧;
2、由程序控制绘制组合图形;
3、根据系统的功能要求设计四象限直线插补和园弧插补软件;
4、根据系统的功能要求设计单片机及接口电路;
5、掌握计算机控制系统的软件设计与调试,实现要求功能。
三、设计原理
3.1系统工作原理
X-Y绘图仪的机械特性主要包括平台、X/Y坐标尺h和Ly、X/Y传动丝杠驱动坐标尺的步进电动机Mx/My、绘图笔、控制器和微型计算机接口等,如图3.1所示:
图3.1X—Y绘图仪机械原理图
平台是用于固定绘图纸的台面。
两个坐标尺可在绘图区域内双向运动,绘图笔位于两坐标尺的交点(PEN)处,X~Y坐标尺的位置确定了绘图笔的位置,可用(X,Y)坐标对来表示其位置。
绘图笔的抬起和落下用继电器控制。
传动丝杠实现步进电动机到坐标尺之间的传动,将步进电动机的旋转角度转换为坐标尺的直线运动。
步进电动机的特点是每当给定一个脉冲,电动机的转子将转动一个固定角度,或者说步进电动机转子的旋转角度与励磁电脉冲数成比例。
本系统采用了三相六拍双向步进电机。
微型计算机的作图命令通过通信接口发送给控制器(单片机最小系统),控制器将命令进行分析,并调用相应的绘图子程序。
该程序的功能是驱动x和Y方向上的步进电动机,使两个坐标尺按规律地移动,将画笔移至要求的位置。
同时控制器通过笔头继电器控制绘图笔的起落,从而完成各种绘图命令所给定的操作。
3.2直线插补原理
下面以第一象限为例,介绍直线插补的过程及计算。
(1)偏差函数构造
对于第一象限直线OA上任一点(X,Y):
X/Y=Xe/Ye
若绘制点为Pi(Xi,Yi),则该点的偏差函数Fi可表示为
若Fi=0,表示加工点位于直线上;
若Fi>0,表示加工点位于直线上方;
若Fi<0,表示加工点位于直线下方。
(2)偏差函数字的递推计算
采用偏差函数的递推式(迭代式)
既由前一点计算后一点
Fi=YiXe-XiYe
若Fi>=0,规定向+X方向走一步
Xi+1=Xi+1
Fi+1=XeYi–Ye(Xi+1)=Fi–Ye
若Fi<0,规定+Y方向走一步,则有
Yi+1=Yi+1
Fi+1=Xe(Yi+1)-YeXi=Fi+Xe
(3)终点判别
直线插补的终点判别可采用三种方法。
1)判断插补或进给的总步数;
2)分别判断各坐标轴的进给步数;
3)仅判断进给步数较多的坐标轴的进给步数。
(4)逐点比较法直线插补举例
对于第一象限直线OA,终点坐标Xe=6,Ye=4,插补从直线起点O开始,故F0=0。
终点判别是判断进给总步数N=6+4=10,将其存入终点判别计数器中,每进给一步减1,若N=0,则停止插补。
(5)偏差计算
直线四象限的偏差计算公式如表1所示:
象
限
Fi>=0
Fi<0
进给方向
偏差公式计算
进给方向
偏差公式计算
Ⅰ
+x
Fi’=Fi-ye
+y
Fi’=Fi+xe
Ⅱ
-x
Fi’=Fi+ye
+y
Fi’=Fi+xe
Ⅲ
-x
Fi’=Fi+ye
-y
Fi’=Fi-xe
Ⅳ
+x
Fi’=Fi-ye
-y
Fi’=Fi-xe
表1
3.3圆弧插补原理
下面以第一象限为例,介绍圆弧插补的过程及计算。
(1)偏差函数
若绘制点为点Pi(Xi,Yi),偏差函数Fi可表示为Fi=Xi2+Yi2-R
若Fi=0,表示绘制点位于圆上;
若Fi>0,表示绘制点位于圆外;
若Fi<0,表示绘制点位于圆内
(2)偏差函数的递推计算
1)逆圆插补
若F≥0,规定向-X方向走一步
若Fi<0,规定向+Y方向走一步
2)顺圆插补
若Fi≥0,规定向-Y方向走一步
若Fi<0,规定向+y方向走一步
(3)终点判
1) 判断插补或进给的总步数:
2) 分别判断各坐标轴的进给步数;
(4)逐点比较法圆弧插补举例
对于第一象限圆弧AB,起点A(4,0),终点B(0,4)
(5)偏差计算
圆弧四象限的偏差计算公式如表2所示:
园弧
类型
Fi>=0
Fi<0
进给方向
偏差公式计算
进给方向
偏差公式计算
逆弧1
-X
Fi’=Fi-2xi+1
xi=xi-1
+Y
Fi’=Fi+2yi+1
yi’=yi+1
逆弧2
-Y
Fi’=Fi-2yi+1
yi’=yi-1
-X
Fi’=Fi-2xi+1
xi=xi-1
逆弧3
+X
Fi’=Fi+2xi+1
xi=xi+1
-Y
Fi’=Fi-2yi+1
yi’=yi-1
逆弧4
+Y
Fi’=Fi+2yi+1
yi’=yi+1
+X
Fi’=Fi+2xi+1
xi=xi+1
顺弧1
-Y
Fi’=Fi-2yi+1
yi’=yi-1
+X
Fi’=Fi+2xi+1
xi=xi+1
顺弧2
+X
Fi’=Fi+2xi+1
xi=xi+1
+Y
Fi’=Fi+2yi+1
yi’=yi+1
顺弧3
+Y
Fi’=Fi+2yi+1
yi’=yi+1
-X
Fi’=Fi-2xi+1
xi=xi-1
顺弧4
-X
Fi’=Fi-2xi+1
xi=xi-1
-Y
Fi’=Fi-2yi+1
yi’=yi-1
表2
四、硬件设计
4.1单片机最小系统板
采用STC8051RC单片机做为控制核心,电路包含时钟电路、复位电路、电源及指示灯和I/O电路,如图4.1所示:
图4.1
4.2串口通信电路设计
由于单片机是TTL电平,而PC机是RS-232电平,故需要进行电平的转换,转换电路如图4.2所示:
图4.2
五、软件设计
5.1下位机程序设计
单片机通过跟PC机进行通信,接收命令,控制步进电机进行画线、画弧和组合的绘制。
根据所绘制图形的要求,采用逐点比较法插补算法进行图形的插补绘制。
逐点比较法就是笔尖每移动一步,就进行一次偏差计算和偏差判别,判断笔尖的实际位置与所要求的位置是否相符,从而决定出下一步的前进方向。
由于这种方法每走一步就需比较一次,所以称之为“逐点比较法”,亦即“走一步看一步”。
第一象限直线的插补程序流程图如图5.1.1所示:
包括偏差判别、坐标给进、新偏差计算和终点判断四个节拍,其它象限的插补流程可以参照表1进行方向的给进和偏差的计算。
第一象限逆弧插补流程图如图5.1.2所示:
也包括偏差判别、坐标给进、新偏差计算和终点判断四个过程,其它象限的插补流程和顺弧的插补流程可以参照表2进行方向的给进和偏差的计算。
(1)直线插补程序设计
图5.1.1 逐点比较法第一象限直线插补软件框图
(2)圆弧插补程序设计
图5.1.2 逐点比较法第一象限逆圆插补软件框图
5.2上位机软件设计
为了方便图形的绘制,采用VC++编写一个PC绘图软件绘制所需图形,操作方便同时简化了系统设计。
本软件可以实现移点、画线、画逆弧、画顺弧、画矩形、画圆等绘图操作,通过打开文件,可以完成组成图形的绘制,同时还能显示图形的坐标和距离的计算,如图5.2所示:
图5.2
六、系统调试及运行结果
1、移点
完成了笔头在绘图平面上任意坐标的移动。
2、画线
完成了四象限直线的任意绘制。
3、画圆弧
完成了四象限圆弧的任意绘制。
4、画圆
完成了任意圆的绘制。
5、画矩形
完成了矩形的绘制。
6、组合图形绘制
通过直线和圆弧的组成,最终完成组成图形的绘制,如图6所示:
图6
七、心得体会
通过课程设计,使我了解CNC控制的基本工作原理和仪器结构,学习了直线插补和园弧插补有关算法原理,掌握了计算机控制系统的软硬件设计与调试方法。
同时也提高了自己的编程水平,包括软件项目的管理、代码编写的规范,数据结构和算法的优化,比如文件的划分,目录的管理,代码的对齐,注释的准确性,变量的命名等。
八、参考文献
[1]李恩林数控系统插补原理通论北京:
国防工业出版社,2008
[2]王为青,程国钢单片机KeilCx51应用开发技术北京:
人民邮电出版社,2007。
[3]李凤霞C语言程序设计教程北京:
北京理工大学出版社,2004。
[4]林锐,韩永泉高质量程序设计指南:
C++/C语言北京:
电子工业出版社,2003。
九、附录
图形的绘制结果见附录,由于程序代码过多,请参见压缩包。