XY伺服电机数字控制实验报告.doc
《XY伺服电机数字控制实验报告.doc》由会员分享,可在线阅读,更多相关《XY伺服电机数字控制实验报告.doc(28页珍藏版)》请在沃文网上搜索。
1、中国石油大学(北京)机电系统课程设计报告目 录摘 要3第1章 设计目的及需要完成的指标41.1 设计目的41.2 需要完成的指标4第2章 整体思路5第3章设计依据63.1 电机驱动使能及驱动63.1.1 运动控制卡的初始化63.1.2 对专用输入信号参数进行设置63.1.3 运动控制轴的初始化63.2 单轴运动63.3 多轴运动8第4章 各部分功能的实现94.1 初始化及轴的回零94.1.1 卡和轴的初始化94.1.2 XY轴的回零94.2 点动控制114.2.1 点动控制操作界面114.2.2 点动控制功能的实现114.3 直线插补124.3.1 直线插补基本算法124.3.2 直线插补程序
2、框图134.3.3 直线插补功能实现134.3.3 运行效果144.4 圆弧插补144.4.1 圆弧插补的基本算法144.4.2 圆弧插补流程图164.4.3 圆弧插补功能的实现174.4.4 运行效果174.5 椭圆插补174.5.1 椭圆插补的基本算法174.5.2椭圆插补流程图1814.5.3 椭圆插补功能的实现194.5.4 运行效果194.6 图形绘制204.6.1 图像二值化204.6.2 轮廓提取214.6.3 数据处理及图形加工214.6.4 运行效果21第5章 遇到的问题及解决办法235.1 程序语言的选择235.2 圆弧插补失真235.3 低灰度图片二值化失败问题235.4
3、 图形绘制问题23第6章 附加功能256.1 超界判断256.2 二值化图片信息显示256.3 阈值和比例25第7章 个人总结26附录1 课程设计日志27附录2 绘图效果281中国石油大学(北京)机电系统课程设计报告 摘 要 本次机电系统综合设计要求通过计算机高级编程语言实现对伺服电机的运动控制来进行控制,以达到对机电一体化知识的巩固提高及综合运用。本报告详细讲述了阐述了 GT 系统运动控制器的控制原理,数控技术中逐点比较法的直线插补、圆弧插补、椭圆插补等原理,图像二值化原理,图形轮廓提取四邻域法原理,以及这些原理在本次机电系统综合设计中的具体应用。本小组借助VB语言进行编程,通过设计工作界面
4、,编写程序,借助GT系统运动控制器对电动机进行控制,实现其相应的功能。详细介绍了本小组制作伺服电机控制系统的界面和原理,让读者能够在一定程度上了解数控技术,使实验操作者能够更直观的了解图像处理技术以及其它方面的相关内容。关键字:GT系统运动控制器;插补;二值化;轮廓提取 25第1章 设计目的及需要完成的指标1.1 设计目的本次机电系统综合设计要求以 GT 系列运动控制器为核心,以计算机语言(VB、VC等)为控制手段,通过计算机与运动控制器相互通信,对其进行运动的初始化,运动过程的控制来实现运动控制器两轴和笔架的运动,根据数控技术的差不算法绘制简单的几何图形如:直线,圆,椭圆等,以及绘制通过计算
5、机程序图形识别、轮廓识别处理后的图形。1.2 需要完成的指标利用 GT 系列运动控制器和 GXY 系列运动平台,在windows 下用 VB 语言实现平面 XY 的数字加工控制。基本要求如下:1、 编写 GT 系列运动控制器和 GXY 系列运动平台的初始化程序,通过初始化程序可实现系统的复位;2、 编写回零程序,实现轴的回零操作。、编写平面 X、Y 的驱动程序以控制 X、Y 方向的运动;、编写插补算法以实现平面四象限的直线,顺、逆圆,顺、逆椭圆,以及圆弧和椭圆弧简单的几何图形绘制;、编写控制程序以实现任意图象的轮廓提取,并对提取的轮廓数据进行处理,将轮廓数据转化为对两维伺服数据控制机床的驱动代
6、码,利用伺服驱动函数库实现在该设备上的轮廓加工。、实现以上加工图形的绘制时必须在图形绘制中实现抬笔落笔的控制和超界判断。第2章 整体思路本次机电系统综合设计,通过计算机高级语言VB实现对运动控制器运动参数,运动方式的控制。GT运动控制器提供了DOS 下的运动函数库和Windows 下的运动函数动态连接库,本小组使用的是Windows下的运动函数动态连接库,只要调用运动函数库中的函数,就可以实现运动控制器的各种功能。在Windows 系统下使用VB中函数库,只需将设备提供的GTDeclarPCI.bas以模块的形式添加方到用户工程中,GT运动控制器提供的Windows下的运动函数动态连接库就可以
7、直接调用。各主要功能的实现:通过编程,依据程序语言对运动器进行控制,运动器对电机进行控制,实现轴的联动,最终实现图形的绘制。其中最主要的是对插补程序的构思和编写。第3章设计依据按照本次机电系统综合设计的要求,本小组利用 VB6.0 的可视化编程,实现对运动控制器的控制,使运动控制按照 VB 程序进行单轴运动、多轴协调运动、简单几何图形插补运算绘制、复杂图形绘制等等。3.1 电机驱动使能及驱动在实现 GT 运动控制器的运动之前,需对其运动控制卡、运动控制轴、运动控制器、专用输入信号参数设置进行初始化,初始化之后才可以实现运动控制器简单的单轴运动,多轴协动。3.1.1 运动控制卡的初始化在运动控制
8、器初始化中需先打开运动控制器设备,复位运动控制器,设置控制周期并对每一轴进行中断屏蔽。GT 运动控制器库函数中提供的运动控制器初始化函数中 GT_Open()用于打开运动控制器设备,GT_Reset() 用于复位运动控制器 ,GT_SetSmplTm()用于设置控制周期,rtn=GT_SetIntrMsk()屏蔽轴中断。其中,运动控制器以特定的控制周期刷新控制输出,单位是微秒。运动控制器再控制周期内要完成必要的计算,控制周期不能太小,因此设定的范围为481966.08 微秒。运动控制器默认的控制周期为 200 微秒,一般不应小于这个值。在本次设计中,始终采用 200 毫秒的控制周期。3.1.2
9、 对专用输入信号参数进行设置对专用输入信号参数进行设置即设置限位开关有效电平。运动控制器通过两个(正向、负向)限位开关自动地设定控制轴的运动范围。一旦限位开关被触发,运动控制器自动地禁止控制轴朝越限的方向运动。运动控制器默认的限位开关为常闭开关。即正常工作时,限位开关信号为低电平;限位开关触发时,限位开为高电平。在此用到了函数库中的 GT_LmtSns(LmtSense)来对限位开关有效电平进行设置。3.1.3 运动控制轴的初始化对运动控制轴的初始化则需要用 GT_ClrSts()函数清除当前轴不正确状态,用 GT_StepPulse()函数设置输出正负脉冲信号,用 GT_AxisOn()函数
10、开启当前轴的驱动使能3.2 单轴运动在运动的初始化完成以后,便可以通过调用库函数的单轴运动命令来实现运控器的单轴运动。运控器针对单轴运动提供了四种运控模式:S-曲线模式、梯形曲线模式、速度控制模式、电子齿轮模式。在本次课程设计中会使用 S-曲线模式和梯形曲线模式。梯形曲线模式的速度曲线如图所示:图3.1、S-曲线模式的速度、加速度,加加速度曲线用 GT_PrflS()函数设置当前轴的运动模式为 S-曲线模式,其它必需函数以及函数功能如下:GT_SetJerk() 设置当前轴的加加速度GT_SetMAcc() 设置当前轴的最大加速度GT_SetVel() 设置当前轴的目标速度GT_SetPos(
11、) 设置当前轴的目标位置编程中,调用库函数中 GT_PrflT()函数可以实现梯形曲线运动模式,另外需进行相应的参数设置:GT_SetAcc() 设置当前轴的加速度GT_SetVel()设置当前轴的最大速度GT_SetPos() 设置当前轴的目标位置这里,加速度的单位是 Pulse/ST ,速度单位是 Pulse/ST,目标位置单位是Pulse,Pulse 是脉冲数。其换算关系为:平台向前运动 10000Pulse 相当于运动 4mm。在对单轴的这些运动模式设置好后,使用 GT-Update()对参数进行刷新后便可使单轴按照所定参数进行运动了。3.3 多轴运动运动控制器可以实现两种轨迹的双轴协
12、调运动:直线插补、圆弧插补。在双轴协动之前,需对坐标进行映射,以实现坐标系与轴的对应,实现轴的坐标化。通过调用 GT_MapAxis() 命令可以将在坐标系内描述的运动通过映射关系映射到相应的轴上。从而建立各轴的运动和要求的运动轨迹之间的运动学传递关系。运动控制器根据坐标映射关系,控制各轴运动,实现要求的运动轨迹。调用GT_MapAxis() 命令时,所映射的各轴必须处于静止状态。这种映射关系能够简单地描述成下面的计算公式:Axis _ N = Cx x + Cy y + Cz z + Ca a + C (3.1)合成速度: (3.2)合成加速度: (3.3)在 GT 运动控制函数库中可以通过
13、调用 GT_SetSynVel(double Vel)来设置轨迹段的合成运动速度,调用 GT_SetSynAcc(double Accel)来设置坐标系运动中轨迹段的合成加速度。双轴映射和运动参数的设置是双轴联动的基础。GT 运动控制器提供了两种多轴联动的方式即多维直线插补运动和多平面圆弧插补运动。本次课程设计的共同运动控制器限于两轴,因而直线插补仅为两维直线插补,圆弧插补仅为 XY 平面圆弧插补。调用函数库中 GT_LnXY()可以实现两维直线插补(以终点为输入参数),调用 GT_ArcXY()可以实现 XY 平面圆弧插补(以圆心位置和角度为输入参数),调用 GT_ArcXYP()可以实现
14、XY 平面圆弧插补(以终点位置和半径为输入参数),这样便可实现双轴联动下直线和圆弧的绘制。第4章 各部分功能的实现4.1 初始化及轴的回零4.1.1 卡和轴的初始化卡的初始化:在VB中需编入运动控制器初始化函数,首先通过GT_open()打开运动控制器设备,然后对运动控制器进行复位,其功能通过GT_Reset()实现。在初始化中需屏蔽每一轴的中断,这里我们组用的是for循环。循环语句中我们用的是GT_Axis(i),i的取值分别是1和2,即分别用来控制XY两轴。用GT_SetIntrMsk(0)来实现屏蔽中断。这里对GT_SetIntrMsk()进行简要的说明,当中断屏蔽字中的某一位设置为“1
15、”时,允许该位表示的中断事件向主机申请中断,如果设置为“0”时,不允许该位表示的中断事件向主机申请中断。轴的初始化:运动控制器可以同时控制四个控制轴,这里我们只需要控制机器中的两个轴和一个起落笔的动作。为了提高主机与运动控制器的通讯效率,运动控制器采用控制器寻址的策略。设置当前轴:用户程序调用的单轴命令,都是作用于当前轴的。运动控制器默认的当前轴为第一轴。要想对其他轴发送命令,首先要调用设置当前轴命令:short GT_Axis(unsigned short num) 。GT_Axis(),将参数指定轴设置为当前轴。此后调用的单轴命令都是针对当前轴,直到再次调用该函数将当前轴设置为另一个轴。设
16、置输出“脉冲+方向”:默认情况下,控制器输出“脉冲+方向”信号。用户可以调用函数GT_StepPulse设置控制器输出“正负脉冲”信号;调用函数GT_StepDir设置控制器输出的“脉冲+方向”信号。 设置开环和闭环控制:调用GT_CloseLp()命令当前轴工作在闭环方式,这种方式能够实现准确的位置控制。SV运动控制器的默认控制方式为闭环控制。调用GT_OpenLp()命令,当前轴工作方式为开环。这种方式主要用于只需转矩控制的运动或标定驱动器,运动控制器无法实现准确的位置控制。由于本课程设计要求绘制圆弧、图形轮廓等较为精准的加工,所以此处我们组在设置开环闭环的方式上均为闭环控制。设置其他参数
17、:调用GT_SetKp()设置比例增益,调用GT_SetKi()设置积分增益等(详见源程序)。调用GT_ClsSts()用来清除当前轴的不正确信息。4.1.2 XY轴的回零XY的回零的主要思路:通过寻址的方法,检测正负限位的地址,在是当前轴运动到其中点位置,以实现其回零操作。其设计流程图如下所示:图4.1、XY轴回零流程图程序的控制:定义变量rtn,对rtn进行赋值,设置当前为轴并开启轴。其功能实现分别通过调用GT_Axis()和GT_AxisOn()实现。调用函数GT_GetAtlPos(XPosLimPos)将检测到的正限位所返回的值返回到GT_GetAltPos()中,这样便获得了正限位
18、的实际位置。对负限位位置的获取类似,调用函数GT_GetAtlPos(XNegLimPos),将检测到的负限位所返回的值返回到GT_GetAltPos()中,这样便获得了负限位的实际位置。获得两限位位置后,定义一个变量,将正负限位的中点位置复制给该变量,此处我们定义的变量是XZeroPos,对其赋值XZeroPos = (XNegLimPos + XPosLimPos) / 2。最后轴通过调用函数GT_SetPos(),将函数变量定义为XZeroPos,这样便可实现回零操作。4.2 点动控制4.2.1 点动控制操作界面图4.2、点动控制操作界面4.2.2 点动控制功能的实现这里,我们主要通过调
19、用函数GT_SetVel(Val(Combo2.Text)和GT_SetPos(2000 * Val(Combo1.Text),其中GT_SetVel()是用来设置当前轴的速度,即当我们需要X轴正向点动时,先将当前轴设置为1轴(当前轴的设置前面已经阐述,这里不再说明),则在该程序下设置该轴的速度。GT_SetPos()是用来设置该轴运动的位置,该函数的变量为脉冲,通过实验测试,我们大概计算出的结果为20002500个脉冲为1mm的距离,这里我们直接在程序中将选择的变量乘以2000,这样我们在运行时选择的点动增量直接换算为mm。当X轴需要负向运动时,基本程序与正向运动基本一致,只需在设置运动位置
20、时将变量设置为负值,即GT_SetPos(-2000 * Val(Combo1.Text)。Y轴的设置与X轴一致,这里便不再重复赘述。VB程序说明:程序里,函数Val()是直接取出空间中的值,这样在程序中就不需再定义多余变量。窗体中本小组组使用了两个list控件,其属性值设置为2,即为list只能选择已设置的点动增量(这里本小组设置了5 、10、15等几个梯度)和点动速度(1、2、5)。4.3 直线插补4.3.1 直线插补基本算法进行插补的方法有很多种,包括逐点比较法,数值积分法,时间分割法,样条插值法。设计中用到的方法是逐点比较法。逐点比较法,即每一步都要和给定轨迹上的坐标值进行比较,视该点
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XY 伺服 电机 数字控制 实验 报告