(最新整理)逐点比较插补原理的实现_第1页
(最新整理)逐点比较插补原理的实现_第2页
(最新整理)逐点比较插补原理的实现_第3页
(最新整理)逐点比较插补原理的实现_第4页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(完整)逐点比较插补原理的实现(完整)逐点比较插补原理的实现 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)逐点比较插补原理的实现)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)逐点比较插补原理的实现的全部内容。25计算机控制课程设计课题: 逐点比较插补原理的实现 系 别: 电气与控制工程学院 专 业:

2、电气工程及其自动化 姓 名: 王永杰 学 号: 091413138 指导教师: 邢广成 宋伟 河南城建学院2016年 6月 27日摘要根据逐点比较法插补原理,按方向完成从第一象限内任意起点),(yxa到坐标原点 )0,0(o直线插补的matlab仿真。程序的具体编写要求包括:要求用input()函数读取起点),(yxa,脉冲当量(步长)。坐标当量可设为1,则步长取坐标当量的0。01-1倍;并用print() 函数画出具体走步轨迹图。然后推导出用逐点比较法插补绘制出下面曲线的算法,利用 matlab语言编写.m文件,实现第一象限直线插补的仿真。插补计算时,每走一步,都要进行以下四个步骤的计算过程

3、,即偏差判别、坐标进给、偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算出坐标进给后的偏差,若未到达终点,则返回偏差判别,如此循环。可以根据起点和终点的坐标位置,计算出总的进给步数nxy,x或y的坐标每进给一步,这个值就减一,若nxy=0,就到达了终点,这就是终点判别的方法。关键词:直线插补法、圆弧插补法、偏差判别、终点判断目录1 设计目的32 设计要求33 系统方案总体设计34 硬件及及软件设计3 4.1 硬件件设计3 4.1.1 接口示意图3 4.1。2 方案论证44。1。3 单片机

4、与8255的接口54。1。4 硬件接线原理图64。1。5 元件清单74。2 软件设计74.2。1 软件设计原理74.2.2 8255的初始化编程114。2.3 步进电机走步控制程序114.2.4 主程序135 仿真及结果分析14 5。1 系统安装调试14 5。2 结果验证146 设计总结157 参考文献16附录一 芯片资料17附录二 源程序181 设计目的设计一个微型计算机控制步进电机系统,该系统利用微型机的并口输出控制信号,其信号驱动后控制x、y两个方向的三相步进电机转动,利用逐点比较法插补原理绘制出如下图所示的目标曲线。 图1 目标曲线2 设计要求可以实现直线插补和圆弧插补;每次插补运算后

5、,只有一个坐标轴方向有进给;插补误差不超过一个脉冲当量;运算简单直观,输出脉冲均匀。但是不容易实现两坐标以上的联动插补。3、系统方案总体设计 本设计大致包含三部分:硬件设计、软件设计和系统的运行调试。硬件设计采用8255,以及51单片机。软件设计包括初始化程序步进电机控制程序。调试采用matlab软件进行仿真得出轨迹图.4、软硬件设计4。1 硬件设计4。1。1 接口示意图 两台三相步进电机控制接口如下图所示。图2 系统接口示意图 步进电机是一种将脉冲信号转换成角位移或直线位移的执行机构,其转动距离和角度取决于输入脉冲的个数,转动方向取决于输入脉冲的相序.4.1。2 方案论证单片机的接口电路可以

6、是锁存器,也可以是专门的接口芯片,本设计采用可编程接口芯片8255。由于步进电机需要的驱动电流比较大,所以单片机和步进电机的连接还要有驱动电路,如何设计驱动电路成了问题的关键。设计方案一如图3所示,当某相上驱动信号变为高电平时,达林顿管导通,从而使得该相通电。图3 驱动电路方案一设计方案二如图4所示,在单片机与驱动器之间增加一级光电隔离,当驱动信号为高电平时,发光二极管发光,光敏三极管导通,从而使达林顿管截止,该相不通电;当驱动信号为低电平时,则步进电机的该相通电。图4 驱动电路方案二 综合比较两种设计方案可知,方案二有抗干扰能力,且可避免一旦驱动电路发生故障,造成高电平信号进入单片机而烧毁器

7、件。所以,本设计选择方案二。4.1.3 单片机与8255的接口 mcs-51单片机可以和8255直接连接而不需要任何外加逻辑器件,接口示意图如图5所示.因为8255的b口和c口具有驱动达林顿管的能力,所以将采用b口和c口输出驱动信号.图5 单片机与8255的接口4.1.4 硬件接线原理图图6 系统硬件接线原理图单片机控制步进电机的硬件接线如图6所示。因为8255的片选信号接单片机的地址线p2。7,a1、a0通过地址锁存器接到了8051单片机的地址线p0.1和p0.0,由硬件接线图可以清楚地知道,8255的各口地址为:a口地址:7ffchb口地址:7ffdhc口地址:7ffeh控制口地址:7ff

8、fh同时,b口和c口都作为输出口,8255工作在方式0。下面以8255的b口输出端pb0为例说明控制的工作原理。若pb0输出0,经反相器74ls04后变为高电平,发光二极管正向导通发光。在光线的驱动下,光敏三极管导通,+5v 的电压经三极管引入地线而不驱动达林顿管。因而,达林顿管截止,x轴上步进电机的c相不通电。若pb0输出1,反相后变为低电平,发光二极管不导通。从而光敏三极管截止,+5v 电压直接驱动达林顿管导通,x轴上步进电机的c相有从电源流向地线的电流回路,即c相得电。4。1.5 元件清单表1 元件清单表名称位号型号数量单片机80511地址锁存器74ls3731并行接口芯片-8255a1

9、反相器74ls046电阻r1r241k24光电三极管u1u34n253达林顿管q1-q6npn dar6二极管d1d6in400164.2 软件设计4.2。1 软件设计原理 直线插补原理逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差的方向进给。图7第一象限直线如图所示,设直线的起点为坐标原点,终点坐标为a(,),点m (,)为加工点(动点).定义偏差公式为 。若=0,表明点m在oa直线段上;若0,表明点m在oa直线段上方,即点m 处;若0, 表明点m在oa直线段下1

10、方,即点m处。由此可得第一象限直线逐点比较法插补的原理是:从直线的起点出发,当0时,沿+x轴方向走一步;当0时,沿+y轴方向走一步;当两方向所走的步数与终点坐标(,)相等时,发出终点到信号,停止插补。可以将上面所定义的偏差公式进一步简化,推导出偏差的递推公式。 当0时,沿+x轴方向进给一步, (1)当0时,沿+y轴方向进给一步, (2)式(1)和式(2)是简化后偏差的计算公式,在公式中只有一次加法或减法运算,新加工点的偏差都可由前一点偏差和终点坐标相加或相减得到。圆弧插补原理逐点比较法是以阶梯折线来逼近直线或圆弧等曲线,它与规定的加工直线或圆弧之间的最大误差为一个脉冲当量,因此只要把脉冲当量(

11、每走一步的距离即步长)取得足够小,就可以达到精度的要求.以下为课程设计要求插补的第一象限逆圆弧。图33为第一象限逆圆弧.m(xm,ym)a(xo,yo)b(xe,ye)图8 第一象限逆圆弧以下就以第一象限为例进行分析.(1) 偏差计算公式设要加工逆圆弧ab,圆心在原点,起点坐标a(x0,y0),终点坐标(xe,ye),半径r。瞬时加工点m(xm,ym),它距圆心rm,则可用r与rm来反映偏差。由此定义偏差公式为:若fm0,m点在圆弧上;若fm0,m点在圆弧外;若fm0,m点在圆弧内。第一象限逆圆弧的插补原理是:从圆弧起点出发,若fm0,沿x方向走一步,并计算新偏差;当fm0时,沿+y方向走一步

12、,并计算新偏差。如此一步一步计算与进给,并在到达终点时停止计算。但以上fm计算式比较复杂,可以考虑用递推公式:当fm0时,xm+1xm-1 ym+1ym fm+1fm-2xm+1当fm0时,xm+1xm ym+1ym+1 fm+1fm+2ym+1(2)终点判断方法 设置nx,ny两个计数器,初值设为xexo,|yeyo|在不同的坐标轴进给时对应的计数器减一,两个计数器均减到零时,到达终点。 用一个计数器nxy ,初值设为nx+ny,无论在哪个坐标轴进给,nxy 计数器减一,计数器减到零时,到达终点。(3) 插补计算过程圆弧插补计算比直线插补计算过程要多一个环节,即要计算加工瞬时坐标。故圆弧插补

13、计算为五个步骤即偏差判断、坐标进给、偏差计算、坐标计算、终点判断.图9 四个象限逆圆弧插补的对称关系4。2。1。2 步进电机工作原理步进电机有三相、四相、五相、六相等多种,本设计采用三相步进电机的三相六拍工作方式,其通电顺序为各相通电的电压波形如图8所示.图10 三相六拍工作的电压波形当步进电机的相数和控制方式确定之后,pb0pb2和pc0pc2输出数据变化的规律就确定了,这种输出数据变化规律可用输出字来描述。为了便于寻找,输出字以表的形式存放在计算机指定的存储区域。表2给出了三相六拍控制方式的输出字表.表2 三相六拍控制方式输出字表步序控制位工作状态控制字表c相b相a相1001a01h201

14、1ab03h3010b02h4110bc06h5100c04h6101ca05h4。2。2 8255的初始化编程由前面的分析知道,8255工作在方式0,控制口地址为 7fffh,控制字为90h。所以,8255的初始化编程如下。mov dptr, 7fffh ;控制口地址送dptrmov a, 90h ;控制字送寄存器amovx dptr, a ;将控制字写入控制口4。2.3 步进电机走步控制程序4。2.3.1 程序流程图图11 步进电机走步控制程序流程图 汇编程序代码以下为x轴上电机的步进控制算法,y轴上步进电机算法类似。xcotrol: mov dptr, #adx ;将控制字

15、表地址赋给dpth mov a, r2 ;表首偏移量送a movc a, a+dptr ;读取当前步进电机的控制字 mov dptr, 7ffdh ;pb口地址送dptr movx dptr, a ;将步进电机的控制字传送到pb口 cjne a, #05h, loop3 ;若到表尾,转loop3 inc r2 ;未到表尾,表首偏移量加1 sjmp delay1 loop3: mov r2, 00h ;表首偏移量清零 sjmp delay1delay1: mov r0, #ffh ;延时 djnz delay1ret ;返回4。2.4 主程序4。2。4。1 主程序流程图图12 主程序流程图2.2

16、.4。2 源程序代码 首先分配各变量的地址为,nxy: 4fh, 50h; xe: 4dh, 4eh; ye: 4bh, 4ch; fm: 49h,4ah,高位存高地址,地位存进低地址。源程序代码见附录二.5、仿真及结果分析5.1 系统安装调试 按照硬件接线图将系统安装好后,装入程序,执行后查看步进电机的走步轨迹。5.2 结果验证若终点坐标(,)为(4,3),插补计算过程如表所示。表3 直线插补计算过程步数偏差判别坐标进给偏差计算终点判别起点=0=71+x=0-3=-3=62+y=3+4=1=53+x=13=-2=44+y=2+4=2=35+x=23=1=26+y=1+4=3=17+x=33=

17、0=0 根据上表,可作出步进电机的走步轨迹如图所示。若输入的参数为xe=4,ye=3,系统走步轨迹与下图比较,可判断出设计的正确性.图13 步进电机走步轨迹6 、设计总结课程设计中,主要是我更加了解直线插补和圆弧插补的相关知识,计算机控制设计的相关知识更加专业化,能在考试周期间,火急火燎的完成这次课程设计离不开小组成员的努力和团结,不懂得网上和图书馆积极查阅资料,虽然我部分内容不是很明白,但是还是组员帮助下,慢慢的深入,自己也慢慢的掌握的相关知识,让我在直线插补,圆弧插补应用到步进电机的设计中,收获不少,更加熟练的应用课本知识。在老师的耐心指导下,有意识的培养和建立了我的思维能力,使我真正建立

18、数据及信息流的概念,以便在控制应用中,能够使软件和硬件有机地结合。通过单片机对步进电机的控制系统设计,让我真正的掌握了微型计算机软件和硬件相结合的设计方法.通过一个星期的课程设计,我对这门课有了进一步的了解。工业控制是计算机的一个重要应用领域,计算机控制正是为了适应这一领域的需要而发展起来的一门专门技术,它主要研究如何将计算机技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。参考文献1贺亚茹。汇编语言程序设计。北京:科学出版社,20052卜艳萍、周伟。汇编语言程序设计教程.北京:清华大学出版社,20043温玉杰.intel汇编语言程序设计(第四版)。北京:电子工业出版社,2

19、0044郑学坚、周斌。微型计算机原理与应用.北京:清华大学出版社,20005于海生。微型计算机控制技术.北京:清华大学出版社,19986沈美明、温冬婵。ibm-pc汇编语言程序设计。北京:清华大学出版社,2002 7何立民。单片机应用系统设计.北京:北京航空航天大学出版社,2003附录一 芯片资料图 8051单片机引脚图 图 可编程芯片8255a引脚图附录二 源程序 (一) org 0100hmov dptr, #7fffh ;控制口地址送dptrmov a, 90h ;控制字送寄存器amovx dptr, a ;将控制字写入控制口,初始化8255mov 4eh, ? ;xe的低8位存入4eh

20、mov 4dh, ? ;xe的高8位存入4dhmov 4ch, ? ;ye的低8位存入4chmov 4bh, ? ;ye的高8位存入4bhmov a, 4ehadd a, 4ch ;xe与ye低8位相加mov 50h, a ;低位之和存入nxy低8位mov a, 4dhaddc a, 4bh ;xe与ye的高8位带进位相加mov 4fh, a ;和存入nxy高8位mov 4ah, #00h ;将fm置零mov 49h, 00h clr r2 ;表adx偏移量清零clr r3 ;表ady偏移量清零loop1: mov a, 49h ;取偏差的高8位 jb acc。7, ycontrol ;若fm b thenmax = aelsemax = bend ifend functionprivate sub command1_click()picture1。refreshq = val(text1.text)xa = val(text2。tex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论