基于单片机控制的数控XY工作台系统设计插补部分精.docx
《基于单片机控制的数控XY工作台系统设计插补部分精.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的数控XY工作台系统设计插补部分精.docx(107页珍藏版)》请在冰豆网上搜索。
基于单片机控制的数控XY工作台系统设计插补部分精
基于单片机控制的数控X-Y工作台系统设计
——插补部分
摘要
本设计研究的课题主要是基于单片机控制的数控X-Y工作台系统设计—插补部分设计。
在系统程序设计上运用逐点比较法使步进电机实现单坐标定位、两坐标直线插补和圆弧插补的基本功能;在此功能基础上通过建立象限判别程序,使X-Y工作台达到四象限的工作要求;并编写了代码处理指令,使CPU能够根据读入的指令信息(G代码与X轴和Y轴坐标),分别向X轴和Y轴步进电机输出执行指令所需的控制信号,从而完成指定的工序。
该设计选用KeilμVision2软件进行程序的编译和调试,在Proteus环境下实现进一步的调试并仿真得出程序的运行结果。
此次设计的程序均能在Proteus中的控制系统仿真电路图中仿真通过,仿真时,只需从键盘输入G代码后,步进电机就能通过直线插补和圆弧插补,完成平面轮廓加工。
关键字:
插补数控X-Y工作台步进电机单片机
DesignofX-YNCWorktableBasedonMicrocontroller
——Interpolationpart
ABSTRACT
ThesubjectofthisdesignstudyismainlybasedonMCUcontrolsystemdesignforCNCXYtable-interpolationpartofthedesign.
Proceduresusedinthesystemdesignbypointbypointcomparisonthensingle-coordinatepositioning,linearinterpolationofthetwocoordinates,circularInterpolationofthetwocoordinatesbyusethesteppermotor;onthebasisofthis,establishquadrantidentificationproceduressothatXYtablecanworkinfourquadrants;andwritethecodehandler,soCPUaccordingtotheinformationwhichhavebeenread(GcodeandtheX-axisandY-axiscoordinates),outputsignalstotwosteppermotorseparatelyforcontrolthetablehowtomoveonX-axisandY-axistofinishthespecifiedprocess.
ThedesignofthesoftwareprogramsusedKeilμVision2compileanddebug,debuggingattheProteusandgettheresultsofsimulation.theresultsofthedesignoftheprograminthesimulationbyProteusiswonderful,whensimulationtheprogram,justneedinputGcodebythekeyboard,steppermotorcancontrolthetablethroughlinearinterpolationandcircularinterpolationtofinishplanecontourmachining.
Keywords:
InterpolationX-YNCWorktableSteppingMotorMicrocontroller
摘要..........................................................................................................IABSTRACT..............................................................................................II
前言.............................................................................................................11X-Y数控工作台设计简介..................................................................2
1.1X-Y数控工作台总体方案分析...............................................................2
1.2仿真开发环境Proteus简介.....................................................................2
1.3程序开发环境KeilμVision2简介............................................................22X-Y数控工作台机械部件功能分析..................................................4
2.1步进电动机的工作原理...........................................................................4
2.2步进电动机的工作方式...........................................................................43X-Y数控工作台硬件电路分析..........................................................6
3.1控制系统微控制器AT89C52...................................................................6
3.1.1AT89C52单片机的主要工作特性........................................................6
3.1.2AT89C52单片机的内部结构................................................................6
3.1.3AT89C52单片机的各引脚功能..........................................................15
3.2可编程并行接口芯片8255A.................................................................16
3.2.18255A的内部结构...............................................................................16
3.2.28255A的引脚功能...............................................................................17
3.2.38255A的工作方式...............................................................................18
3.2.48255A控制字.......................................................................................194基于PROTEUS仿真电路分析........................................................21
4.1X-Y数控工作台控制系统仿真电路图.................................................21
4.2X-Y数控工作台控制系统硬件资源及其分配.....................................21
4.3电路模块图分析.....................................................................................22
4.3.1X-Y向步进电机控制电路分析...........................................................22
4.3.2四行四列矩阵式键盘控制电路分析...................................................23
4.3.3X-Y数控工作台显示电路分析...........................................................24
4.4程序在仿真电路图中实现的功能.........................................................255X-Y数控工作台总程序软件设计....................................................26
5.1程序总流程分析.....................................................................................26
5.2Main函数功能解释...............................................................................26
5.3逐点比较法的插补原理.........................................................................27
5.4逐点比较法插补的优点.........................................................................27
5.5插补总流程分析.....................................................................................276X-Y数控工作台快速进给软件设计................................................28
6.1快速进给程序分析.................................................................................287X-Y数控工作台直线插补软件设计................................................30
7.1逐点比较法的直线插补的数学原理.....................................................30
7.1.1逐点比较法的直线查补的偏差判别机制...........................................30
7.1.2直线插补中的终点判别机制...............................................................31
7.1.3直线插补计算过程...............................................................................31
7.1.4直线插补中的进给判别机制...............................................................31
7.2直线插补程序分析.................................................................................32
8X-Y数控工作台圆弧插补软件设计................................................34
8.1逐点比较法的圆弧插补的数学原理.....................................................34
8.1.1逐点比较法的圆弧查补的偏差判别机制...........................................34
8.1.2圆弧插补中的终点判别机制...............................................................35
8.1.3圆弧插补计算过程...............................................................................35
8.1.44个象限的圆弧插补............................................................................35
8.2顺圆插补程序分析.................................................................................37
8.3逆圆插补程序分析.................................................................................399X-Y数控工作台代码处理软件设计................................................41
9.1代码处理程序分析.................................................................................4110X-Y数控工作台象限判别软件设计................................................4310.1象限判断总程序分析.............................................................................4310.2G0与G1情况象限判断程序分析........................................................4310.3G2情况象限判断程序分析...................................................................4510.4G3情况象限判断程序分析...................................................................4511中断程序设计方法............................................................................4711.1定时器中断程序解释.............................................................................4711.2外部中断程序解释.................................................................................47
结论与展望...............................................................................................48
参考文献...................................................................................................49
附录A总程序:
............................................................................................50
附录B文献翻译原文.................................................................................75
附录C文献翻译译文.................................................................................83
谢辞.......................................................................................................90
前言
本次毕业设计的选题为基于单片机控制的数控X-Y工作台系统设计——插补部分。
X-Y数控工作台是许多机电一体化设备的基本部件,通常由导轨座、滑动模块、工作平台、滚珠丝杠螺母副,以及步进电机的部件构成。
控制系统可选用标准的工业控制计算机,也可设计专用的微机控制系统。
本设计用AT89C52组成专用单片机控制系统,从键盘输入G代码后,能通过直线插补和圆弧插补,完成平面轮廓加工。
通过正确的运用大学四年学到的知识完成本次毕业设计,可以更好的掌握有关机电一体化系统的设计过程和单片机的编程思想。
通过该设计使自身具有一定的系统化编程思想和能力,能够独立完成项目的设计。
研究技术路线:
1.单片机输入/输出端口;2.单片机的中断系统;3.单片机的定时/计数器;4.C语言顺序与选择结构程序设计;5.C语言循环结构程序设计;6.C语言数据类型运算符、数组、函数、指针的运用与设计;7.C语言程序设计编译预处理;8.在PROTEUS中进行系统的调试与仿真。
1
1X-Y数控工作台设计简介
1.1X-Y数控工作台总体方案分析
总体方案图如图1-1所示:
图1-1X-Y数控工作台总体方案图
X-Y数控工作台是实现平面X、Y坐标运动的典型关键部件,能够分别沿X向和Y向移动。
本次设计的X-Y数控工作台选用的是微机控制系统(AT89C52单片机),在基于AT89C52单片机的原理上设计了一个小型的微机控制系统,运用C51编程将控制信号送到执行器件(X和Y向步进电动机),通过机械传动机构(齿轮减速和丝杆传动),带动机械执行机构(工作台)做X向和Y向的运动;实现四象限单坐标快速定位,双坐标直线、圆弧插补等功能;最终选择通过Proteus与Keil联机对设计的电路以及程序进行仿真、
1.2仿真开发环境Proteus简介
ProteusISIS是美国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilμVision2等软件。
④具有强大的原理图绘制功能[1]。
1.3程序开发环境KeilμVision2简介
μVision2是一个标准的Windows应用程序,支持长文件名操作,其界面类似于MSVisualC++,可以再Windows95/98/2000/XP平台上运行,功能十分强大。
它支持所有的
[1]
李泉溪.单片机原理与应用实例仿真.北京:
北京航空航天大学出版社[M],2009,第90页.
2
KEIL8051工具,包括C编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。
采用KeilC51开发8051单片机应用程序一般需要以下步骤:
①在μVision2集成开发环境中创建一个新项目文件(Project),并为该项目选定合适的单片机CPU器件。
②利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。
一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。
③通过μVision2的各种选项,配置51编译器、A51宏编译器、BL51连接定位器以及Debug调试器的功能。
④利用μVision2的构造(Build)工功能对项目中的源程序文件进行编译连接,生成绝对目标代码和可选的HEX文件。
如果出现编译连接错误则返回第2步,修改源程序中的错误后重新构造整个项目。
⑤将没有错误的绝对目标代码装入μVision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中[2]。
[2]周润景,张丽娜,刘映群.PROTEUS入门使用教程[M].北京:
机械工业出版社,2007,第82页.
3
2X-Y数控工作台机械部件功能分析
2.1步进电动机的工作原理
步进电动机又叫脉冲电动机,它是一种将电脉冲信号转换为角位移的机电式数模(D/A)转换器。
在开环数字程序控制系统中,输出控制部分常采用步进电动机作为驱动元件。
步进电动机控制线路接受微机发来的指令脉冲,控制步进电动机作相应地转动,从而是步进电动机驱动数控系统的工作台。
很明显,指令脉冲的总数就决定了数控系统的工作台的总移动量,指令脉冲的频率就决定了移动的速度[3]。
步进电动机的工作就是步进转动。
在一般的步进电动机工作中,其电源都是采用单极性的直流电源。
要使步进电动机转动,就必须对步进电动机定子的各项绕组以适当的时序进行