运动控制轨迹设计论文说明书

上传人:红** 文档编号:196273100 上传时间:2023-03-28 格式:DOC 页数:36 大小:792.49KB
收藏 版权申诉 举报 下载
运动控制轨迹设计论文说明书_第1页
第1页 / 共36页
运动控制轨迹设计论文说明书_第2页
第2页 / 共36页
运动控制轨迹设计论文说明书_第3页
第3页 / 共36页
资源描述:

《运动控制轨迹设计论文说明书》由会员分享,可在线阅读,更多相关《运动控制轨迹设计论文说明书(36页珍藏版)》请在装配图网上搜索。

1、 说明书 设计题目: 运动控制轨迹设计 专业年级: 机械设计制造及其自动化 学 号: 姓名: 指导教师、职称: 目录摘要IAbstractII第一章、绪论- 1 -1.1运动控制卡的发展现状- 1 -1.2运动控制卡分类- 1 -1.3研究目的及意义- 2 -1.3.1目的- 2 -1.3.2意义- 3 -第二章、运动控制- 4 -2.1 DSP和FPGA- 4 -2.2库函数分类- 4 -2.2.1初始化函数- 4 -2.2.2轴初始化函数- 5 -2.2.3缓冲区函数- 7 -2.2.4轨迹运动函数- 9 -第三章、插补- 12 -3.1插补原理- 12 -3.2插补分类- 12 -3.3

2、插补方法- 12 -3.3.1逐点比较法- 12 -3.3.2数字积分法- 16 -3.3.3直接函数法- 20 -第四章、基于硬件的编程- 23 -4.1控制系统硬件介绍- 23 -4.1.1二维交流数控工作台- 23 -4.1.2GT-400-SV运动控制卡- 24 -4.1.3 IO口列表- 24 -4.2上位机软件- 25 -4.3轨迹程序- 25 -4.4仿真- 28 -4.4.1仿真软件- 28 -4.4.2仿真程序- 28 -4.4.3仿真结果- 28 -第五章、总结- 29 -参考文献- 30 -致谢- 32 - 摘要本设计在分析了当前国内外的运动控制卡的发展历史及趋势基础上,

3、选用了以“DSP+FPGA”为核心的深圳固高公司推出的GT400SV型运动控制卡。在PC机上进行编程,再由运动控制卡进行运动控制,最后以XY运动平台为控制对象,通过VC+6.0完成运动轨迹程序的编制,来实现二维运动轨迹控制。关键词:运动控制卡;插补;数字信号处理器- 0 -AbstractThis design on the analysis of the current domestic and foreign development history and trend of motion control card based on the selected DSP + FPGA as th

4、e core of shenzhen high solid launch of GT - 400 - SV motion control card. Programming in PC, the movement control CARDS for motion control, finally to the XY platform as control object, the trajectory program compiled by vc + + 6.0, to implement the two-dimensional trajectory control.Keywords:Motio

5、n Control Card;Interpolation;DSP- 0 -第一章、绪论1.1运动控制卡的发展现状 运动控制卡是基于PC机设计的,用来插在PCI插槽上,然后再利用总线,将其与CPU进行连接,实现两者的通讯,进而控制运动。这种模式充分利用了计算机快捷的运算功能、强大信息处理能力以及高度的开放性,同时结合了运动控制卡的强大的轨迹控制功能,使得该种模式具备很好的通用性,当用户设计一些比较复杂的运动轨迹时,这种方案能大大缩短运动时间1。现在的高性能运动控制卡都可实现多个伺服电机的控制,它的运动控制核心DSP,具备数字输入与输出点、脉冲信号的计数与输出以及D/A转换输出等功能。其中,前者主

6、要用于限位开关;后者主要是起反馈作用,将轴运行中的误差及时反馈,以便实时修改。PMAC、翠欧、固高等都是知名的品牌,这些公司都有配有各自的编程库函数,用户可以根据实际自行开发,库里主要包括各种插补及运动参数设置函数2。在国外,已有多种商品化产品,PMAC(美国),MEI(美国),ACS-Tech80(以色列),PCI208(英国),等是其中比较著名的。单以PMAC系列卡来说,全球销量遥遥领先并且持续增长;再以其生产PMAC一CP伺服卡为例,该卡广泛应用于各个高精度位置控制领域,例如数控机床、工业机器人、天文器械、医疗器械等领域3。国内在运动控制卡方面的研究远远落后于国外,虽然之后大力发展开发运

7、动控制卡,也取得了一些成果,但大多是小范围内使用,从整个中国市场上看,国产的运动控制卡所占比例还不高4。国内诸如清华大学等一些高校也作过这方面的研究,有了一些收获,不过通用性并不理想,而且可控轴数为14轴,4轴以上几乎没有。但是随着时间的积累以及国人的不断研究,一些国内公司也纷纷推出了自己的产品,并占据了一定的市场5。深圳固高公司从1998年成立到现在,就一直致力于运动控制技术的研究,先后发布了基于DSP和FPGA的较先进的控制卡,分为插卡式、一体式及嵌入式,应用较多的插卡式;深圳雷塞科技公司自成立以来,先后退出了DMC、AMC等五个系列的运动控制卡,被广泛应用于国内各个领域6。1.2运动控制

8、卡分类以下是运动控制卡的分类:第一种:单片机为主控芯片此种方案将单片机等微处理器作为控制核心,另外其组成还包括存储器、数字信号和模拟信号转换电路、编码器信号处理电路以及通信接口电路等,可以将其直接插入PCI插槽中。7优点是使用方便,成本较低,因此目前市场上仍占有一定比例,缺点是由于外围电路较多,导致整体看起来很复杂,体积也较大,所以其运行速度较慢,且可靠性以及控制精度也较低,加上其软硬件配置缺乏灵活性,只能进行一些简单的控制算法,同时导致控制参数更改不方便,不利于程序调试,给程序设计造成较大难题8。第二种:专用运动控制芯片为主控芯片主要的制造商的有美国PMD公司的Navigator和Pilot

9、系列、日本NOVA的MCX和X32系列。一般的专用运动控制芯片中都封装有一些常用的功能函数,同时通过专用芯片内部的电路去实现运动控制功能,集成度高,所以具备很强的可靠性和实时性,同时编程又比较简单,但是这种运动控制卡的功能和适应面比较窄,且柔性较差,难以满足广大客户的需求9。第三种:以数字信号处理器(DSP)为运动控制核心DSP,具有很强的高速运算能力,体积小,重量轻,这使得它越来越受重视,自20世纪90年代以来,DSP在相关控制领域得到越来越多的应用,尤其是运动控制卡方面。由于其强大的运算能力能轻易实现许多复杂的控制算法,运行速度得到很大的提高,同时可轻易控制多轴,且精度有很多的提高。10目

10、前,市场上常见的DSP制造商及品牌有INMOS公司的A110及其系列、AT&T公司的DSP32及其系列、Motorola公司的DSP56000及其系列、TI公司的TM320及其系列等。随着DSP的广泛普及以及运动控制卡拥有的强大市场竞争力,使得许多的开发商如雨后春笋般冒了出来,这些企业大多是开发基于诸如DOS、WINDOWS以及LINUX等各种操作系统的DSP步进或伺服运动控制卡,同时开发商也提供了各自专用的基于不同操作平台的函数库,使得编程越来越方便11。1.3研究目的及意义 1.3.1目的以往的运动控制卡大多采用单片机以及专用运动芯片,由于当时的技术局限性,使得其组成一个功能的各个电路繁多

11、,一级级的传递,导致运算速度非常慢。随着时代的发展,以往的运动控制卡模式已经无法适合新时代的要求,当然,在原来的基础上结合当代一些新技术是可以改善其控制效果,但其成本投入大,效果也不显著。于是以DSP为核心,再加入FPGA的运动控制卡应运而生,本课题采用这种模式的运动控制卡,利用VC+6.0设计一个二维轨迹插补,意在证明“PC机+运动控制卡”的高度开放性,通过基于PC机的VC+编程软件,加上一些硬件接线即可实现位置控制,大大减轻了对专用软件的依赖性,节省了用户高价购买专用软件的成本,也方便用户根据各种不同的实际情况自行设计12。 1.3.2意义 中国已经成为世界制造业大国,很多制造业领域都要用

12、到运动控制产品,但是,与国外相比,国内相关方面的研究起步较晚,加上发达国家对我国实行技术封锁,导致我国相关技术还不是很成熟,13所以在企业中的应用还不是很广泛,更多的市场是被国外的公司所抢占,导致我国每年从国外进口的运动控制产品的费用居高不下,这限制了我国从事运动控制相关研究的企业的积极性及热情,同时也不利于国内制造业发展。因此,大力发展我国运动控制技术方面的研究是一件非常有意义的事14。第二章、运动控制 本设计选用的是GT400运动控制卡,所以有必要了解一些该卡的相关知识。2.1 DSP和FPGADSP,进行模拟与数字信号的相互转换,转换完成后再进行各种操作。它不仅具有可编程性,而且具有高速

13、实时处理能力,这源于它的高速数据传输能力,现在新型的DSP都设置有单独的DMA总线控制器,这使得它的并行数据传输速率最高可达每秒数百兆字节,速度和效率远超于一般微处理器,这使其得到越来越广泛的应用15。FPGA是在PLA、PAL等基础上发展起来的。最早的FPGA产品诞生于1985年,门数量不超过1000个;Altera公司于2007年推出门数量在千万个以上的FPGA产品。它可以看成是一种ASIC(专用集成电路)领域中的半定制电路,一般来说,FPGA比ASIC的运行速度要慢,但是,它也具备很多的优点,比如功耗低、可以快速成品16。表2.1初始化函数表2.2库函数分类2.2.1初始化函数 1)GT

14、_Open 函数原型:short GT_Open();函数说明:置于程序开头。系 统:DOS,WINDOWS适用板卡:PCI总线卡相关函数:GT_Close 2)GT_SwitchtoCardNo 函数原型:short GT_SwitchtoCardNo(); 函数说明:用于切换当前卡17。系 统:DOS、WINDOWS 适用板卡:PCI总线卡相关函数:GT_GetCurrentCardNo 函数调用:GT_SwitchtoCardNo(1) 3)GT_Reset 函数原型:short GT_Reset (void) 函数说明:程序中起复位作用18。系 统:DOS,WINDOWS 适用板卡:所

15、有GT系列卡相关函数:GT_HardRst 4)GT_SetSmplTm 函数原型:short GT_SetSmplTm(); 函数说明:设置周期, 默认周期是 200 微秒,可设置为:481966.08 微秒。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡相关函数:GT_GetSmplTm 2.2.2轴初始化函数 - 30 -1)GT_Axis 函数原型:shor t GT_Axis();函数说明: 该函数设置指定轴为当前轴19。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡函数调用:举例令轴三为当前轴。void main() short rtn; rtn=GT_Axis

16、(3);rtn=GT_Setpos(1000); rtn=GT_SetVel(10); rtn=GT_SetAcc(1); 2)GT_ClrSts 函数原型:short GT_ClrSts();函数说明:清除状态位。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡函数调用:清除轴二状态。void main() short rtn; rtn=GT_Axis(2); rtn=GT_ClrSts(); 3) GT_CtrlMode 函数原型:short GT_CtrlMode(); 函数说明:该函数用于设置当前轴的输出模式,有两种模式,分别为0和1,分别代表模拟电压输出和脉冲输出,默认状态为

17、0。系 统:DOS,WINDOWS 适用板卡:SV 函数调用:举例设置第二轴为0,即模拟电压输出。void main() short rtn; rtn=GT_Axis(2); rtn=GT_CtrlMode(0); 2.2.3缓冲区函数1) GT_StrtList函数原型:short GT_StrtList (); 函数说明:打开命令缓冲区。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡相关函数:GT_AddList,GT_EndList 2)GT_MvXY函数原型:short GT_MvXY( X, Y,Vel, Accel); 函数说明:定义二维坐标系缓冲区命令的起点位置。(X,

18、Y)是起点;合成速度Ve l,合成加速度Accel。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡相关函数:GT_MvXYZ,GT_MvXYZA 函数调用:举例在缓冲区打开状态下,将缓冲区运动的起点定位在X轴1000(坐标系长度单位单位),Y轴2000(坐标系长度单位单位)的位置,并以速度为0.25(坐标系长度单位单位/控制周期),加速度为0.01(坐标系长度单位单位/控制周期2)移动到定位点21。void main() short rtn; rtn=GT_StrtList(); rtn=GT_MvXY (1000,2000,0.25,0.01); 3)GT_EndList函数原型:

19、short GT_EndList(); 函数说明:置于缓冲区末尾,起结束缓冲区作用。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡相关函数:GT_StrtList,GT_AddList 函数调用:举例先开启后关闭缓冲区。void main() short rtn; rtn=GT_StrtList(); rtn=GT_MvXYZ(0,0,0,20,5); rtn=GT_LnXYZ(1000,2000,3000); rtn=GT_ArcXY(3000,3000,180); rtn=GT_EndList(); 2.2.4轨迹运动函数1) GT_LnXY 函数原型:short GT_LnXY

20、( X, Y); 函数说明:二维直线插补, (X,Y)为终点。系 统:DOS,WINDOWS 适用板卡:所有GT系列卡相关函数:GT_LnXYZ,GT_LnXYZA 函数调用:举例二维直线(10000,20000)。void main() short rtn; rtn=GT_SetSynVel(50); rtn=GT_SetSynAcc(3); rtn=GT_LnXY(10000,20000); 2) GT_ArcXY函数原型:short GT_ArcXY( X, Yr, Angle); 函数说明:二维圆弧插补。(X,Y)是圆心;angle 是旋转角度(-360360),正负代表旋转方向22。

21、系 统:DOS,WINDOWS 适用板卡:所有GT系列卡相关函数:GT_ArcYZ,GT_ArcZX 函数调用:举例圆心(20000,20000),正向90度。void main() short rtn; rtn=GT_SetSynVel(7); rtn=GT_SetSynAcc(2); rtn=GT_ArcXY(20000,20000,90); 3) GT_ArcXYP函数原型:short GT_ArcXYP( X, Y, R, Dir); 函数说明:二维圆弧插补。(X,Y)是圆弧终点坐标;R为半径;Dir可取1或-1,分别代表逆圆、顺圆。系 统:DOS,WINDOWS 适用板卡:所有GT系

22、列卡相关函数:GT_ArcYZP,GT_ArcZXP 函数调用:举例在缓冲区,执行二维圆弧插补。void main() short rtn; rtn=GT_StrtList(); rtn=GT_MvXY(0,0, 3,0.3);rtn=GT_ArcXYP(8000,0,5000,1); rtn=GT_EndList(); 第三章、插补运动轨迹可以看成是由大量的直线以及圆弧组成。对于那些不是直线、不是圆弧部分,将采用若干个微小直线或圆弧去逼近,因此有必要了解插补原理和插补方法。3.1插补原理插补控制系统根据输入的一些运动轨迹数据(函数、坐标等等),之后通过计算,形成运动轨迹,一边运算一边即时向外

23、传递运动指令,让导轨或正向或反向移动一个单位位移量,实现实际运动轨迹与理论运动轨迹相吻合,所以说插补的任务就是在给定轨迹起点、终点及轴进给速度后,往轨迹起点、终点之间插入无数个点,即“数据点密化”23。3.2插补分类插补分为两类:一是脉冲增量插补。二是数据采样插补。前者包括逐点比较法、数字积分法。特点是进给慢、精度低,常和步进电机相结合。后者有直接函数法。过程分两步,一为粗插补,用许许多多的微小直线段去靠近理想轨迹;最后为精插补,粗插补中可以得到许许多多的微小直线,精插补即在这些微小直线上插入若干个点。此方法一般结合交直流伺服电机24。3.3插补方法3.3.1逐点比较法 逐点比较法,顾名思义就

24、是利用阶梯折线一点点去拟合轨迹曲线,分为4个节拍,分别为偏差判别,其次为坐标进给,接着是新偏差计算,最后为终点判别。1)直线插补直线OA,如图2.1,取为动点,则: (31)令:当,点在直线上;当, 点在直线上方处;当, 点在直线下方”处。当,沿方向走一步,则: 新偏差判别函数为:当,沿方向走一步,则: 新偏差判别函数为: 同理可得,其它三个象限的计算方法,总结如下表3.1所示,计算时,均为绝对值。 表3.1四个象限计算公式 象限Fm0时,进给方向Fm0时,进给方向偏差计算公式 L1+ L2-+ L3- L4+- 逐点比较需要一步一判断,过程比较繁琐。第一象限流程图如下图3.2:图3.2第一象

25、限逐点比较法直线插补流程图2)圆弧插补 第一象限,以原点O为圆心,为起点,为终点,为动点,则: (32)令 若,则点在圆弧上;若,则点在圆弧外;若,则点在圆弧内。设点的F值为,则:当,沿方向进给一步,则: , 当,沿方向进给一步,则: , , 同理可知,另外三个象限的计算公式,总结如下表3.2。 表3.2圆弧四个象限插补总结线型Fm时,进给方向FmEllipse(100,100,500,500);CRect r;r.left = 275;r.right=325;r.top = 275;r.bottom = 325;pDC-Ellipse(r);POINT p7;p0.x=100;p0.y=30

26、0;p1.x=200;p1.y=126.79;p2.x=400;p2.y=126.79;p3.x=500;p3.y=300;p4.x=400;p4.y=473.21;p5.x=200;p5.y=473.21;p6.x=100;p6.y=300;pDC-Polyline(p,7);pDC-MoveTo(275,300);pDC-AngleArc(37.5,300,237.5,0,47);pDC-MoveTo(325,300);pDC-AngleArc(142.5,300,182.5,0,72);pDC-MoveTo(275,300);pDC-AngleArc(457.5,300,182.5,18

27、0,72);pDC-MoveTo(325,300);pDC-AngleArc(562.5,300,237.5,180,47);pDC-MoveTo(288.24,277.94);pDC-AngleArc(185.39,85,218.64,298.06,50.92);pDC-MoveTo(310.99,322.45);pDC-AngleArc(236.62,170.54,169.14,296.09,78.9);pDC-MoveTo(288.24,277.94);pDC-AngleArc(370.8,432.82,175.51,118.08,75);pDC-MoveTo(310.99,322.45

28、);pDC-AngleArc(399.98,504.21,202.37,116.09,55);pDC-MoveTo(312.04,278.09);pDC-AngleArc(432.94,58.08,251.04,241.21,44.28);pDC-MoveTo(286.78,321.22);pDC-AngleArc(379.62,172.21,175.56,238.08,75.22);pDC-MoveTo(312.04,278.09);pDC-AngleArc(221.85,442.22,187.28,61.21,69.38);pDC-MoveTo(286.78,321.22);pDC-Ang

29、leArc(171.09,506.91,218.78,58.08,50.89);/ CDrawTestView printingBOOL CDrawTestView:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinting(pInfo);void CDrawTestView:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CDrawTestView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!