插补实验报告_第1页
插补实验报告_第2页
插补实验报告_第3页
插补实验报告_第4页
插补实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1 / 14 插补实验报告 二维插补原理及实现实验 题目: 二位插补原理及实现 学院: 自动化工程学院 组员: 于金波,尹冰 指导教师: 吴贺荣 2016/9/20 一实验目的 掌握逐点比较法、数字积分法、数据采样法等常见直线插补原理和实现方法;通过利用运动控制器的基本控制指令实现直线插补,掌握基本数控插补算法的软件实现原理。 二实验设备 1、 XY 平台设备一套 2、 PCI-1220 板卡 一块 3、PC机一台 4、配套笔架 5、绘图纸张若干 6、 VB软件开发平台 三实验原理 直线插补的计算原理。 数控系统加工的零件轮廓或运动轨迹一般由直线、圆弧组成,对于一些非圆曲线轮廓则用直线或圆弧去逼近。插补计算就是数控系统根据输入的基本数据,通过计算,将工件的轮廓或运动轨迹描述出来,边计算边根据计算结果向2 / 14 各坐标发出进给指令。 数控系统常用的插补计算方法有:逐点比较法,数字积分法,时间分割法,样条插补法等。 1、 逐点比较法直线插补 逐点比较法是使用阶梯折线来逼近被插补直线或圆弧轮廓的方法,一般是按偏差判别、进给控制、偏差计算和终点判别四个节拍来实现一次插补过程。 以第一象限为例,取直线起点为坐标原点,如右图所示, m为动点,有下面关系: 取 作为偏差判别式: 若 Fm=0,表明 m 点在 OA直线上; 若 Fm0,表明 m点在 OA直线上方的 m处; 若 Fm 从坐标原点出发,当 Fm 0 时,沿 X 方向走一步,当 Fm 当 Fm 0 时,沿 X 方向走一步,则 Xm+1=Xm 1, Ym+1=Ym 新的偏差为: Fm+1=Ym+1Xe- Xm+1Ye=YmXe-Ye Fm+1=Fm-Ye 当 Fm Fm+1=Fm Xe 其它三个象限的计算方法,可以用相同的原理获得,下表为四个象限插补时,其偏差计算公式和进给脉冲方向,计算时, Xe,Ye均为绝对值。 第一象限内直线的逐点比较法插补的流程图如下图所示: 3 / 14 实验流程图 由工控机实现界面和直线插补的编程,工控机把接收到的数据传给 pci1220, pci1220 将控制信号通过驱动 器传给 xy 平台的两个步进电机,由两个电机输出进给方向和进给量,完成直线的插补。控制对 象为步进电机。 硬件介绍: 1、 工业控制机: 工控机是一种加固的增强型个人计算机,它可以作为一个工业控制器在工业环境中可靠运行。包括计算机和过程输入、输出通道两部分。它具有重要的计算机属性和特征,如:具有计算机 CPU、硬盘、内存、外设及接口、并有实时的操作系统、控制网络和协议、计算能力,友好的人机界面等。 IPC有以下特点: 可靠性:工业 PC具有在粉尘、烟雾、高 /低温、潮湿、震动、腐蚀和快速诊断和可维护性,其 MTTR一般为 5min, MTTF10万小时以上,而普通 PC 的 MTTF仅为 10000 15000 小时。 实时性,工业 PC 对工业生产过程进行实时在线检测与控制,对工作状况的变化给予快速响应,及时进行采集和输出调节,遇险自复位,保证系统的正常运行。 扩充性,工业 PC由于采用底板 +CPU卡结构,因而具有很强的输入输出功能,最多可扩充 20 个板卡,能与工4 / 14 业现场的各种外设、板卡如与道控制器、视频监控系统、车辆检测仪等相连,以完成各种任务。 兼容性,能同时利用ISA 与 PCI 及 PICMG 资源,并支持各种操作系统,多种语言汇编,多任务操作系统。 2、 Pci-1220u: Advantechs PCI-1220U is a 2-axis Universal PCI stepping/pulse-type servo motor control card. This card adopts NOVA MCX312 IC which supports 2-axis motion control with interpolations. Besides, functions like continuous interpolation, programmable T/S-curve acceleration/deceleration, constant speed control are also accomplished. For users that only need to drive two motors at most, PCI-1220U is a cost-effective solution than 4-axis motion control cards. The DLL driver for PCI-1220U together with the utility make it easy for users to test the functionalities of the card and to develop their own application. 3、 步进驱动器: 是一种能使步进电机运转的功率放大器,能把控制器发来的脉冲信号转化为步进电机的角位移,电机的转速与脉冲频率成正比,所以控制脉冲频率可以精确调速,控制脉冲数就可以精确定位。 4、 XY平台: X-Y绘图仪的机械特性主要包括平台、 X/Y 坐标尺和5 / 14 X/Y 传动丝杠驱动坐标尺的步进电机、绘图笔、控制器和微型计算机接口等。平台是用于 固定绘图纸的台面。两个坐标尺可在绘图区域内双向运动,绘图笔位于两坐标尺的交点处, XY 坐标尺的位置确定了绘图笔的位置,可用坐标来表示起位置。绘图笔的抬起 和落下用继电器控制。传动丝杠实现步进电机到坐标尺之间的传动,将步进电机的旋转角度转换为坐标尺的只限运动。步进电机的特点是每当给定一个脉冲,电动机的转子将转动一个固定角度,或者说步进电机转子的旋转角度与励磁电脉冲数成比例。 数字控制技术实验程序 附带五个插补程序及效果图 void CDLGLTMEC_VCB:OnBnLtmecVcbLn /直线插补 / TODO: Add your control notification handler code here int Fline1=0; int xoLine1=0; int yoLine1=0; int xeLine1=5; /初始值设定 int yeLine1=3; /终点值坐标 SetOrgPoint; /设置初始坐标 int NLine1=abs+abs; /总步数 for if /在直线上 方 或 直 线 上 AddXRun; Fline1=Fline1-yeLine1; checkall; else/在直线下方 6 / 14 AddYRun; Fline1=Fline1+xeLine1; checkall; StartVCB; void CDLGLTMEC_VCB:OnBnLtmecVcbRn /圆弧插补 /请在下面添加差补算法程序 int FRound1=0; int xoRound1=4;/ 初始值设定 int yoRound1=0; int xeRound1=0; int yeRound1=4;/终点值坐标 SetOrgPoint; /设置初始坐标 int NRound1=abs+abs; /总步数 if / 在 圆 外 侧 或 圆 上MinusXRun;FRound1=FRound1-2*xoRound1+1;checkall;xoRound1=xoRound1-1; else /在圆内 AddYRun; FRound1=FRound1+2*yoRound1+1; checkall; yoRound1=yoRound1+1; /有待发送消息 ,以下代码请 勿改动 StartVCB; void CDLGLTMEC_VCB:OnBnLtmecVcbLd /DDA 直线插补 7 / 14 /请在下面添加差补算法程序 int xoLine2=0; int yoLine2=0; int xeLine2=5; /初始值设定 int yeLine2=4; /终点值坐标 SetOrgPoint; /设置初始坐标 int JvxLine=xeLine2; int JvyLine=yeLine2;/被积函数寄存器 int JrxLine=0; int JryLine=0; /累加器 int LineEnd=8; / 终 点 判 别 while JrxLine=JrxLine+JvxLine; if /是否需要同时进给 AddXRun;AddYRun;checkall; if /X 方 向 累 加 器 是 否 溢 出AddXRun;checkall; JryLine=JryLine+JvyLine;if /Y方 向 累 加 器 是 否 溢 出 AddYRun;checkall; LineEnd=LineEnd-1; /有待发送消息 ,以下代码请勿改动 StartVCB; void CDLGLTMEC_VCB:OnBnLtmecVcbRd /DDA 圆弧插补 /请在下面添加差补算法程序 int xoRound2=5; int yoRound2=0; /初始值设定 int xeRound2=0; int yeRound2=5; /终点值坐标 SetOrgPoint; /设置初始坐标 8 / 14 int JvxRound=xeRound2; int JvyRound=yeRound2;/被积函数寄存器 int JrxRound=0; int JryRound=0; /累加器 int JexRound=abs; int JeyRound=abs; / int RoundEnd=8; /终点判别 int Flagx; int Flagy; /标志位判别是否有该方向进给脉冲 while Flagx=Flagy=0; if JrxRound=JrxRound+JvxRound; if /X 方 向 累 加 器 是 否 溢 出 JexRound=JexRound-1; Flagx=1; JryRound=JryRound+JvyRound;if /Y 方向累加器是否溢出 JeyRound=JeyRound-1; Flagy=1; if /X9 / 14 方向进给 JvyRound=JvyRound-1;MinusXRun; if /Y方 向 进 给 JvxRound=JvxRound+1;AddYRun; ifcheckall; /有待发送消息 ,以下代码请勿改动 StartVCB; void CDLGLTMEC_VCB:OnBnLtmecVcbEx /过象限 /请在下面添加差补算法程序 int xoRound2=5; int yoRound2=0; /初始值设定 int xeRound2=-3; int yeRound2=4; /终 点值坐标 SetOrgPoint; /设置初始坐标 int JvxRound=xeRound2; int JvyRound=yeRound2;/被积函数寄存器 int JrxRound=0; int JryRound=0; /累加器 int JexRound=abs; int JeyRound=abs; / int RoundEnd=8; /终点判别 int Flagx; int Flagy; /标志位判别是否有该方向进给脉冲 while Flagx=Flagy=0; ifJrxRound=JrxRound+JvxRound; if=RoundEnd)JexRound=JexRound-1;Flagx=1; if JryRound=JryRound+JvyRound; if=RoundEnd)JeyRound=JeyRound-1;Flagy=1; ifJvyRound=JvyRound-1; MinusXRun; /X 方向累加器是否溢出 /Y 方向累加器是否溢出 /X 方向进给 if /Y 方向进给 JvxRound=JvxRound+1;AddYRun; ifcheckall; / 有待 发送消息 ,以 下代码请 勿改动 10 / 14 StartVCB; 实 验 报 告 实验内容:逐点比较法直线和圆弧插补 2016 年 9 月25日 院系 :物科院 班级: 085 学号: 07080518 姓名:陈实 实验目的: 利用逐点比较法的插补原理,编写直角坐标系下的直线、圆弧插补程序,观察屏幕上仿真的运动轨迹,掌握逐点比较法的插补原理。 实验原理: 逐点比较发是基于动点 与理想曲线院函数的比较来实现插补的。逐点比较法的插补过程,每走一步要进行一下四个步骤: 偏差判别:根据偏差值确定刀具相对加工曲线的位置 坐标进给:根据偏差判别的结果,决定控制线沿哪个坐标进给一步以接近曲线 偏差计算:计算新加工店相对曲线的偏差,作为下一步偏差判别的依据 终点判别:判别是否到达终点,未到达终点则返回第一步继续插补,到终点则停止 1、逐点比较法直线插补原理: 逐点比较法在第一象限的直线插补原理如下图所示,其他象限情况可依次类推。 11 / 14 现加工 OE 直线,如果刀具动点在 OE 直线上方或在线上,则令刀具沿 X 正方向进给一步;若刀具动点在 OE 直线下方,则令刀具沿 Y轴正方向进给一步,如此循环直到加工到 E点。判别刀具动点的位置根据偏差函数判别公式: 根据这个公式可以推到出两种不同情况下的地推公式: 对于插补终点的判别,可以采用单向的计数长度法,即:取计数长度 M 等于 Xe、 Ye 中的大者,并设该坐标方向为计数方向。插补时,仅在该方向上产生进给时,计数长度减一。图 1的逐点比较法中,工作循环的结束条件就是 M 减为 0. 2、逐点比较法圆弧插补原理: 逐点比较法在第一象限的圆弧插补原理如图所示,其他象限可一次类推: 对于第一象限的逆圆弧,如果动点在圆弧的外侧则令刀具动点沿 X轴负方向进给一步。如果动点在圆弧的内侧则令刀具沿 Y轴正方向进给一步。 圆弧的偏差计算公式为: 根据这个公式同样可推导出圆弧插补的两种不同情况下的递推公式: 对于插补终点的判别,同样可以采用单向的计数长度法,不过对于圆弧,计数的方向并不取决于终点坐标中的12 / 14 大者,而是取决于圆弧终点处。 逐 点比较法插补中需要编写插入部分流程图: 插入程序: int M,Fi=0,Fi0,Fi1,xi,yi,i=0,num=-1; bool Gx; setcolor; while getch; if linerel; xi=xi+delta; Fi0=Fi-Ye; Fi=Fi0; M=Xe+Ye; moveto; setcolor; num+; dis_msg; else linerel; Fi1=Fi+Xe; yi=yi-delta; lin

温馨提示

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

评论

0/150

提交评论