数控插补多轴运动控制系统解剖实验 实验学时:8 实验类型:独立授课实验 实验要求:必修 一、实验目的 1、通过本实验使学生掌握数控插补多轴控制装置的基本工作原理; 2、根据常用低压电器原理分析各运动控制电气元件的应用原理,分析数控插补运动实现的控制原理; 3、根据机电一体化产品的设计要求和设计流程进行运动控制系统的功能分析、机械结构分析、控制系统分析以及相关传感器选型等方面的设计内容。 本实验以数控插补多轴运动控制系统为具体对象,使学生掌握机电一体化产品设计和开发的技术流程和主要内容,通过运动控制系统的实现过程掌握常用电气元件识别和原理、数控插补原理、位置伺服控制系统等的设计和实现方式。 二、实验内容 1、通过数控插补多轴控制装置及其相关系统的测试和观察,分析数控插补的工作原理; 2、分析系统的功能、机械结构分析、运动关系以及相关传感器等,分析其相关的机械结构、电机及其驱动模块和传感反馈环节等; 3、根据常用低压电器原理,分析系统各运动控制电气元件的应用原理,分析数控插补运动过程实现的控制原理,并绘制相关的控制原理图和系统连接图。 三、实验设备 1、多轴运动控制系统一套(含电控箱) 2、PC机一台 3、GT-400-SG-PCI 卡一块(插在PC机内部)
四、实验原理 该数控插补多轴运动控制系统是依据开放式数控系统原理构建的,其以通用计算机(PC)的硬件和软件为基础,采用模块化、层次化的体系结构,能通过各种形式向外提供统一应用程序接口的系统。开放式数控系统可分为 3类:(1)CNC 在 PC中;(2)PC作为前端,CNC作为后端;(3)单 PC,双 CPU平台。 本实验采用第一类,把顾高公司的 GT-400-SG-PCI 多轴运动控制卡插入PC 机的插槽中,实现电机的运动控制,完成多轴运动控制系统的控制。其优点如下:(1)成本低,采用标准 PC机;(2)开放性好,用户可自定义软件;(3)界面比传统的 CNC 友好。 图1为该系统的硬件构成图,运动平台机械本体采用模块化拼装,主要由普通PC机、电控箱、运动控制卡、伺服(步进)电机及相关软件组成。其主体由两个直线运动单元(GX系列)组成。每个GX系列直线运动单元主要包括:工作台面、滚珠丝杆、导轨、轴承座、基座等部分,其结构见图2。伺服型电控箱内装有交流伺服驱动器,开关电源,断路器,接触器,运动控制器端子板,按钮开关等。步进型电控箱则装有步进电机驱动器,开关电源,运动控制器端子板,船形开关等。 图1 数控插补多轴控制系统硬件构成
目录 1设计任务及要求 (1) 2方案比较及认证 (2) 3设计原理 (4) 3.1硬件原理 (4) 3.2硬件原理 (5) 4软件系统 (9) 4.1软件思想 (9) 4.2流程图 (9) 4.3源程序 (9) 5调试记录及结果分析 (10) 5.1界面设置 (10) 5.2调试记录 (10) 5.3结果分析 (11) 6心得体会 (13) 7 参考资料 (14) 附录 (15)
1设计任务及要求 设计一个计算机控制步进电机系统,该系统利用PC 机的并口输出控制信号,其信号驱动后控制X 、Y 两个方向的三相步进电机转动,利用逐点比较法插补绘制出如下曲线。 课程设计的主要任务: 1.设计硬件系统,画出电路原理框图; 2.定义步进电机转动的控制字; 3.推导出用逐点比较法插补绘制出下面曲线的算法; 4.编写算法控制程序,参数由键盘输入,显示器同时显示曲线; 5. 撰写设计说明书。课程设计说明书应包括:设计任务及要求;方案比较及认证;系统滤波原理、硬件原理,电路图,采用器件的功能说明;软件思想,流程,源程序;调试记录及结果分析;参考资料;附录:芯片资料,程序清单;总结。 X Y O
2方案比较及认证 本次课程设计内容为设计一个计算机控制步进电机系统,该系统利用PC 机的并口输出控制信号,其信号驱动后控制X 、Y 两个方向的三相步进电机转动,利用逐点比较法插补绘制出第一象限逆圆弧。数字程序控制主要应用于机床的自动控制,如用于铣床、车床、加工中心、以及线切割等的自动控制中。 采用数字程序控制的机床叫数控机床,它能加工形状复杂的零件、加工精度高、生产效率高、便于改变加工零件品种等优点,是实现机床自动化的一个重要发展方向。本次课程设计采用逐点比较法插补原理以及作为数字程序控制系统输出装置的步进电机控制技术进行第一象限圆弧插补。第一象限圆弧如图2-1所示。 图2-1 第一象限逆圆弧 针对以上设计要求,采用步进电机插补原理进行逐步逼近插补。 硬件方面,步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 逐点比较法是以阶梯折线来逼近直线或圆弧等曲线,它与规定的加工直线或圆弧之间的最大误差为一个脉冲当量,因此只要把脉冲当量(每走一步的距离即步长)取得足够小,就可以达到精度的要求。以下为课程设计要求插补的第一象限逆圆弧。图3-3为第一象限逆圆弧。 X Y O
运动控制卡概述 ? ?主要特点 ?SMC6400B独立工作型高级4轴运动控制器 功能介绍: 高性能的独立工作型运动控制器以32位RISC为核心,控制4轴步进电机、伺服电机完成各种功能强大的单轴、多轴运动,可脱离PC机独立工作。 ●G代码编程 采用ISO国标标准G代码编程,易学易用。既可以在文本显示器、触摸屏上直接编写G代码,也可以在PC机上编程,然后通过USB通讯口或U盘下载至控制器。 ●示教编程 可以通过文本显示器、触摸屏进行轨迹示教,编写简单的轨迹控制程序,不需要学习任何编程语言。 ●USB通讯口和U盘接口 支持USB1.1全速通讯接口及U盘接口。可以通过USB接口从PC机下载用户程序、设置系统参数,也可用U盘拷贝程序。
●程序存储功能 程序存储器容量达32M,G代码程序最长可达5000行。 ●直线、圆弧插补及连续插补功能 具有任意2-4轴高速直线插补功能、任意2轴圆弧插补功能、连续插补功能。应用场合: 电子产品自动化加工、装配、测试 半导体、LCD自动加工、检测 激光切割、雕铣、打标设备 机器视觉及测量自动化 生物医学取样和处理设备 工业机器人 专用数控机床 特点: ■不需要PC机就可以独立工作 ■不需要学习VB、VC语言就可以编程 ■32位CPU, 60MHz, Rev1.0 ■脉冲输出速度最大达8MHz ■脉冲输出可选择: 脉冲/方向, 双脉冲 ■2-4轴直线插补 ■2轴圆弧插补 ■多轴连续插补 ■2种回零方式 ■梯型和S型速度曲线可编程
■多轴同步启动/停止 ■每轴提供限位、回零信号 ■每轴提供标准伺服电机控制信号 ■通用16位数字输入信号,有光电隔离 ■通用24位数字输出信号 ■提供文本显示器、触摸屏接口 技术规格: 运动控制参数 运动控制I/O 接口信号 通用数字 I/O 通用数字输入口 通用数字输出口 28路,光电隔离 28路,光电隔离,集电极开路输出 通讯接口协议
插补原理:在实际加工中,被加工工件的轮廓形状千差万别,严格说来,为了满足几何尺寸精度的要求,刀具中心轨迹应该准确地依照工件的轮廓形状来生成,对于简单的曲线数控系统可以比较容易实现,但对于较复杂的形状,若直接生成会使算法变得很复杂,计算机的工作量也相应地大大增加,因此,实际应用中,常采用一小段直线或圆弧去进行拟合就可满足精度要求(也有需要抛物线和高次曲线拟合的情况),这种拟合方法就是“插补”,实质上插补就是数据密化的过程。插补的任务是根据进给速度的要求,在轮廓起点和终点之间计算出若干个中间点的坐标值,每个中间点计算所需时间直接影响系统的控制速度,而插补中间点坐标值的计算精度又影响到数控系统的控制精度,因此,插补算法是整个数控系统控制的核心。插补算法经过几十年的发展,不断成熟,种类很多。一般说来,从产生的数学模型来分,主要有直线插补、二次曲线插补等;从插补计算输出的数值形式来分,主要有脉冲增量插补(也称为基准脉冲插补)和数据采样插补[26]。脉冲增量插补和数据采样插补都有个自的特点,本文根据应用场合的不同分别开发出了脉冲增量插补和数据采样插补。 1数字积分插补是脉冲增量插补的一种。下面将首先阐述一下脉冲增量插补的工作原理。2.脉冲增量插补是行程标量插补,每次插补结束产生一个行程增量,以脉冲的方式输出。这种插补算法主要应用在开环数控系统中,在插补计算过程中不断向各坐标轴发出互相协调的进给脉冲,驱动电机运动。一个脉冲所产生的坐标轴移动量叫做脉冲当量。脉冲当量是脉冲分配的基本单位,按机床设计的加工精度选定,普通精度的机床一般取脉冲当量为:0.01mm,较精密的机床取1或0.5 。采用脉冲增量插补算法的数控系统,其坐标轴进给速度主要受插补程序运行时间的限制,一般为1~3m/min。脉冲增量插补主要有逐点比较法、数据积分插补法等。逐点比较法最初称为区域判别法,或代数运算法,或醉步式近似法。这种方法的原理是:计算机在控制加工过程中,能逐点地计算和判别加工偏差,以控制坐标进给,按规定图形加工出所需要的工件,用步进电机或电液脉冲马达拖动机床,其进给方式是步进式的,插补器控制机床。逐点比较法既可以实现直线插补也可以实现圆弧等插补,它的特点是运算直观,插补误差小于一个脉冲当量,输出脉冲均匀,速度变化小,调节方便,因此在两个坐标开环的CNC系统中应用比较普遍。但这种方法不能实现多轴联动,其应用范围受到了很大限制。对于圆弧插补,各个象限的积分器结构基本上相同,但是控制各坐标轴的进给方向和被积函数值的修改方向却不同,由于各个象限的控制差异,所以圆弧插补一般需要按象限来分成若干个模块进行插补计算,程序里可以用圆弧半径作为基值,同时给各轴的余数赋比基值小的数(如R/2等),这样可以避免当一个轴被积函数较小而另一个轴被积函数较大进,由于被积函数较小的轴的位置变化较慢而引起的误差。4.2 时间分割插补是数据采样插补的一种。下面将首先阐述数据采样插补的工作原理。2.1 数据采样插补是根据用户程序的进给速度,将给定轮廓曲线分割为每一插补周期的进给段,即轮廓步长。每一个插补周期执行一次插补运算,计算出下一个插补点坐标,从而计算出下一个周期各个坐标的进给量,进而得出下一插补点的指令位置。与基准脉冲插补法不同的是,计算出来的不是进给脉冲而是用二进制表示的进给量,也就是在下一插补周期中,轮廓曲线上的进给段在各坐标轴上的分矢大小,计算机定时对坐标的实际位置进行采样,采样数据与指令位置进行比较,得出位置误差,再根据位置误差对伺服系统进行控制,达到消除误差使实际位置跟随指令位置的目的。数据采样法的插补周期可以等于采样周期也可以是采样周期的整数倍;对于直线插补,动点在一个周期内运动的
运动控制卡应用编程技巧 内容来源网络,由“深圳机械展(11万㎡,1100多家展商,超10万观众)”收集整理! 更多cnc加工中心、车铣磨钻床、线切割、数控刀具工具、工业机器人、非标自动化、数字化无人工厂、精密测量、3D打印、激光切割、钣金冲压折弯、精密零件加工等展示,就在深圳机械展. 关于源代码的阅读,需要读者有一定的C++编程基础,至少对以下表示形式不会产生误解:const char *pString; //指定pString邦定的数据不能被修改 char * const pString; //指定pString的地址不能被修改 const char * const pString; //含上面两种指定功能 当然,随便提醒一下,这些源代码若需要加入你的软件工程当中,还需要作一些调整和修改,因此,这些源代码实质上称为伪代码也可以,之所以展现它们,是让程序员们有个可视化的快感,特别是那些认为源代码就是一切的程序员。 同时,为了提高针对性,大部分控制卡调用的函数会明确指出是邦定哪些卡的,实际应用时,程序员可自行选择,以体现一下自己的智商是可以写写软件的。 一、控制卡类的单一实例实现 把控制卡类作一个类来处理,几乎所有C++程序员都为举双手表示赞同,故第一个什么都没有的伪代码就此产生,如下表现: class CCtrlCard { public:
…Function public: …attrib } 于是,用这个CctrlCard可以产生n多个控制卡实例,只要内存足够。然而,针对现实世界,情况并不那么美好。通常情况下,PC机内只插同种类型的控制卡1到2张,在通过调用d1000_board_init或d3000_board_init函数时,它们会负责返回有效卡数nCards,然后从0-nCards*4 - 1自行按排好轴数。初始化函数就是C++的new或malloc的操作,取得系统的资源,但是控制卡的资源与内存不一样,取得资源后必需要释放才可以再次获取,即控制卡资源是唯一的。 既然控制卡资源是唯一的,那么最好Cctrlcard产生的实例也是唯一的,这样,我们可以方便的需要定义一个全局变量即可: CctrlCard g_Dmcard; 在其它需要调用的地方,进行外部呼叫: extern CctrlCard g_DmcCard; 以上方法实在太简单了,很多人都会开心起来。实质上,方法还有很多,即然可以产生n 多对实例,我们的核心是只要保证调用board_init函数一次即可,故也可以单独定义一个InitBoard函数: class CctrlCard {
插补 开放分类:技术数控技术高新技术 数控装置根据输入的零件程序的信息,将程序段所描述的曲线的起点、终点之间的空间进行数据密化,从而形成要求的轮廓轨迹,这种“数据密化”机能就称为“插补”。 编辑摘要 插补- 概述 机构按预定的轨迹运动。一般情况 是一致运动轨迹的起点坐标、终点 坐标和轨迹的曲线方程,由数控系 统实施地算出各个中间点的坐标。 在数控机床中,刀具不能严格地按 照要求加工的曲线运动,只能用折 线轨迹逼近所要加工的曲线。机床 数控系统依照一定方法确定刀具运 动轨迹的过程。也可以说,已知曲 线上的某些数据,按照某种算法计 算已知点之间的中间点的方法,也 称为“数据点的密化”。 数控装置根据输入的零件程序的信 息,将程序段所描述的曲线的起点、 终点之间的空间进行数据密化,从 而形成要求的轮廓轨迹,这种“数 据密化”机能就称为“插 补”。插补计算就是数控装置 根据输入的基本数据,通过计算,把工件轮廓的形状描述出来,边计算边根据计算结果向各坐标发出进给脉冲,对应每个脉冲,机床在响应的坐标方向上移动一个脉冲当量的距离,从而将工件加工出所需要轮廓的形状。 插补- 分类 1、直线插补 直线插补(Llne Interpolation)这是车床上常用的一种插补方式,在此方式中,两点间的插补沿着直线的点群来逼近,沿此直线控制刀具的运动。一个零件的轮廓往往是多种多样的,有直线,有圆弧,也有可能是任意曲线,样条线等. 数控机床的刀具往往是不能以曲线的实际轮廓去走刀的,而是近似地以若干条很小的直线去走刀,走刀的方向一般是x和y方向. 插补方式有:直线插补,圆弧插补,抛物线插补,样条线插补等所谓直线插补就是只能用于实际轮廓是直线的插补方式(如果不是直线,也可以用逼近的方式把曲线用一段段线段去逼近,从而每一段线段就可以用直线插补了).首先假设在实际轮廓起始点处沿x方向走一小段(一个脉冲当量),发现终点在实际轮廓的下方,则下一条线段沿y方向走一小段,此时如果线段终点还在实际轮廓下方,则继续沿y方向走一小段,直到在实际轮廓上方以后,再向x方向走一小段,依次循环类推.直到到达轮廓终点为止.这样,实际轮廓就由一段段的折线拼接而成,虽然是折线,但是如果我们每一段走刀线段都非常小(在精度允许范围内),那么此段折线和实际轮廓还是可以近似地看成相同的曲线的--------这就是直线插补. 2、圆弧插补 圆弧插补(Circula : Interpolation)这是一种插补方式,在此方式中,根据两端点间的插
实验二 二维插补原理及实现实验 2.1 实验目的 掌握逐点比较法、数字积分法等常见直线插补、圆弧插补原理和实现方法;通过利用运动控制器的基本控制指令实现直线插补和圆弧插补,掌握基本数控插补算法的软件实现。 2.2 实验原理 直线插补和圆弧插补的计算原理。 数控系统加工的零件轮廓或运动轨迹一般由直线、圆弧组成,对于一些非圆曲线轮廓则用直线或圆弧去逼近。插补计算就是数控系统根据输入的基本数据,通过计算,将工件的轮廓或运动轨迹描述出来,边计算边根据计算结果向各坐标发出进给指令。 数控系统常用的插补计算方法有:逐点比较法,数字积分法,时间分割法,样条插补法等。 2.2.1 逐点比较法直线插补 逐点比较法是使用阶梯折线来逼近被插补直线 或圆弧轮廓的方法,一般是按偏差判别、进给控制、 偏差计算和终点判别四个节拍来实现一次插补过程。 以第一象限为例,取直线起点为坐标原点,如 右图所示,m为动点,有下面关系: 取F m = Y m X e ? X m Y e 作为偏差判别式: 若 F m=0,表明m 点在OA 直线上; 若 F m>0,表明m 点在OA 直线上方的m′处; 若 F m<0,表明m 点在OA 直线下方的m″处。 从坐标原点出发,当F m≧0 时,沿+X 方向走一步,当F m<0,沿+Y 方向走一步,当两方向所走的步数与终点坐标(X e,Y e)相等时,停止插补。 当F m≧0 时,沿+X 方向走一步,则X m+1=X m+1, Y m+1=Y m 新的偏差为:F m+1=Y m+1X e- X m+1Y e=Y m X e-(X m+1)Y e=F m-Y e 当F m<0 时,沿+Y 方向走一步,则X m+1=X m, Y m+1=Y m+1 新的偏差为:F m+1 =Y m+1X e- X m+1Y e=(Y m+1)X e-X m Y e=F m+X e 其它三个象限的计算方法,可以用相同的原理获得,下表为四个象限插补时,其偏差计算公式和进给脉冲方向,计算时,X e,Y e 均为绝对值。
运动控制插补原理及实现 数控系统加工的零件轮廓或运动轨迹一般由直线、圆弧组成,对于一些非圆曲线轮廓则用直线或圆弧去逼近。插补计算就是数控系统根据输入的基本数据,通过计算,将工件的轮廓或运动轨迹描述出来,边计算边根据计算结果向各坐标发出进给指令。 数控系统常用的插补计算方法有:逐点比较法、数字积分法、时间分割法、样条插补法等。逐点比较法,即每一步都要和给定轨迹上的坐标值进行比较,视该点在给定规矩的上方或下方,或在给定轨迹的里面或外面,从而决定下一步的进给方向,使之趋近给定轨迹。 直线插补原理 图3—1是逐点比较法直线插补程序框图。图中n是插补循环数,L是第n个插补循环中偏差函数的值,Xe,Y。是直线的终点坐标,m是完成直线插补加工刀具沿X,y轴应走的总步数。插补前,刀具位于直线的起点,即坐标原点,偏差为零,循环数也为零。 在每一个插补循环的开始,插补器先进入“等待”状态。插补时钟发出一个脉冲后,插补器结束等待状态,向下运动。这时每发一个脉冲,触发插补器进行一个插补循环。所以可用插补时钟控制插补速度,同时也可以控制刀具的进给速度。插补器结束“等待”状态后,先进行偏差判别。若偏差值大于等于零,刀具的进给方向应为+x,进给后偏差值成为Fm-ye;若偏差值小于零,刀具的进给方向应为+y,进给后的插补值为Fm+xe。。 进行了一个插补循环后,插补循环数n应增加l。 最终进行终点判别,若n 安装培训教程 声明: 本雕刻机作为网络交流的个人作品,成品及半成品及套件并非严格意义上的商品,使用者需具备相关知识,凡是涉及机械、电子、计算机的设备都有可能因使用不当或病毒、与其它软件兼容原因等造成故障,此故障可能造成一定的危险及经济损失,本人不对直接及间接损失承担相应责任。 有关软件版权: 本机器所涉及的相关软件均来自互联网,原作者享有版权,作为学习了解之用请及时删除并购买授权软件,使用没有授权的软件造成一切损失及法律问题由使用者自行承担。 有关培训范围: 本人只对CNC雕刻机承担相应的责任,货款只是设备本身的价格未包含任何软件及软件培训费用,货到后用户在手册指导或通过网络在作者指导下设备调试成功即确认作者的 工作完成,本设备使用过程中所涉及到的所有软件不在作者的培训责任之内,作者只能给予适当指导及在自己能力之内给予答疑解惑。 网络时代请广大玩家尽量利用网络工具求助交流. 设备及软件的安装及设置 警告: 数控雕刻机是依靠相关软件控制工作的,设备上的一些安全触发装置也是依靠正确的软件设置才能正常运行,在没有完全确认设置正确的情况下冒然装刀试机可能都设备造成永 久的损伤! 本设备采用计算机USB2.0接口和PC连接,控制软件MACH3通过端口控制雕刻机各轴按照指令运行。WINDOWS请用2000以上版本,其他版本可能出问题。 警告:控制用的PC应该是台专用的,使用时请断开网络,关闭杀毒软件,运行MACH3时请不要同时运行其他软件。本人并不建议用笔记本电脑控制本设备,如果一定要用请查看笔记本电脑的手册,关掉有关电源管理等相关功能! 一、控制软件MACH3的安装 警告:在软件的安装及设置过程中请不要开启雕刻机电源以免产生误动作发成意外! 1、在随机光盘“MACH3 2.63”目录中打开文件夹“MACH3” 2、运行“MACH3 R2.63.EXE”开始安装,全部默认点击“NEXT”直到安装完成 3、为了简化您的设置过程,安装完成后可以删除整个目录整个拷贝MACH3并将光盘内的目录,MACH3. 到C盘根目录下。 CNC装置的插补原理 一、插补的概念 为了加工零件的轮廓,在加工过程中,需要保证刀具相对工件时刻运动的位置是在零件轮廓的轨迹上,这就需要知道不同时刻刀具相对工件运动的位置坐标,以便实现位置控制。而在零件加工程序中仅提供了描述轮廓线形所必须的参数:直线—出发点和终点坐标;圆弧—出发点、终点坐标以及顺圆或逆圆。这就需要在加工(运动)过程中,实时地根据给定轮廓线形和给定进给速度要求计算出不同时刻刀具相对工件的位置,即出发点和终点之间的若干个中间点。这就是插补的概念。 插补定义:插补就是根据给定进给速度给定轮廓线形的要求,在轮廓已知点之间,确定一些中间点的方法,称为插补方法或插补原理。 每种线形的插补方法,有可以有不同的计算方法来实现,那么,具体实现插补原理的计算方法称为插补算法。 插补算法的优劣直接影响CNC系统的性能指标。 二、评价插补算法的指标 1、稳定性指标 插补运算是一种迭代运算,即由上一次计算结果求得本次的计算结果:Xi=Xi-1+Δi。作为数值计算,每次计算会存在计算误差和舍进误差。 计算误差:指由于采用近似计算而产生的误差; 舍进误差:指计算结果圆整时所产生的误差。 对于某一算法,误差可能不随迭代次数的增加而积累,而另一算法误差可能随迭代的次数增加而积累,那么,一种算法对计算误差和舍进误差有没有积累效应,就是算法的稳定性。 为了确保轮廓加工精度,插补算法必须是稳定的。插补算法稳定的充分必要条件是,在插补计算过程中,其舍进误差和计算误差不随迭代次数的增加而积累。 2、插补精度指标 插补精度指插补轮廓与给定轮廓的符合程度,可用插补误差来评价。 插补误差包括:逼近误差δa、计算误差δc、圆整误差δr。 逼近误差和计算误差与插补算法密切相关。 要求:插补误差(轨迹误差)不大于系统的最小运动指令或脉冲当量。 3、合成速度的均匀性指标 合成速度的均匀性是指插补运算输出的各轴进给量,经运动合成的实际速度与给定的进给速度的符合程度,由速度不均匀系数描述: 2. VC 编程示例 2.1 准备工作 (1) 新建一个项目,保存为“ VCExample.dsw ”; (2) 根据前面讲述的方法,将静态库“ 8840.lib ”加载到项目中; 2.2 运动控制模块 (1) 在项目中添加一个新类,头文件保存为“ CtrlCard.h ”,源文件保存为“ CtrlCard.cpp ”; (2) 在运动控制模块中首先自定义运动控制卡初始化函数,对需要封装到初始化函数中的库函数进行初始化; (3) 继续自定义相关的运动控制函数, 如:速度设定函数,单轴运动函数,差补运动函数等; (4) 头文件“ CtrlCard.h ”代码如下: # ifndef __ADT8840__CARD__ # define __ADT8840__CARD__ 运动控制模块 为了简单、方便、快捷地开发出通用性好、可扩展性强、维护方便的应用系统,我们在控制卡函数库的 基础上将所有库函数进行了分类封装。下面的示例使用一块运动控制卡 ****************************************************** #define MAXAXIS 4 //最大轴数 class CCtrlCard { public: int Setup_HardStop(int value, int logic); int Setup_Stop1Mode(int axis, int value, int logic); (设置stop1 信号方式) int Setup_Stop0Mode(int axis, int value, int logic); (设置stop0 信号方式) int Setup_LimitMode(int axis, int value1, int value2, int logic); (设置限位信号方式) int Setup_PulseMode(int axis, int value); (设置脉冲输出方式) int Setup_Pos(int axis, long pos, int mode); (设置位置计数器) int Write_Output(int number, int value); (输出单点函数) int Read_Input(int number, int &value); (读入点) int Get_CurrentInf(int axis, long &LogPos, long &ActPos, long &Speed); (获取运动信息) int Get_Status(int axis, int &value, int mode); (获取轴的驱动状态) int StopRun(int axis, int mode); (停止轴驱动) int Interp_Move4(long value1, long value2, long value3, long value4); (四轴差补函数) int Interp_Move3(int axis1, int axis2, int axis3, long value1, long value2, long value3); (三轴差补函数) int Interp_Move2(int axis1, int axis2, long value1, long value2); (双轴差补函数) int Axis_Pmove(int axis ,long value); (单轴驱动函数) int Axis_Cmove(int axis ,long value); (单轴连续驱动函数) int Setup_Speed(int axis ,long startv ,long speed ,long add ); (设置速度模块) int Init_Board(int dec_num); (函数初始化) (设置速度模块) CCtrlCard(); (定义了一个同名的无参数的构造函数) int Result; // 返回值 }; #endif 伺服-运动控制卡的工作原理及其应用 作者:深圳众为兴数控 运动控制卡通常是采用专业的运动控制芯片或高速DSP 来满足一系列运动控制需求的控制单元,其可通过PCI 、PC104等总线接口安装到PC 和工业PC 上,可与步进和伺服驱动器连接,驱动步进和伺服电机完成各种运动(单轴运动、多轴联动、多轴插补等),接收各种输入信号(限位原点信号,sensor),可输出控制继电器、电磁阀、气缸等元件。用户可使用VC 、VB 等开发工具,调用运动控制卡函数库,快速开发出软件。 以一个通用的XYZ 三轴通用控制平台开发为例,此平台加上胶枪、刀具等模块后可用于点胶、切割等用途,运动控制卡采用深圳众为兴数控开发的ADT8940A1,ADT8940A1运动控制卡是一款经济实用型运动控制卡,4轴伺服/步进电机控制,最大脉冲输出频率为2MHz ,每轴均有位置反馈输入;可实现2-4轴直线插补,可实现XYZ 三轴插补,进行整体配合动作;带有40路隔离数字输入,16路隔离数字输出,可控制胶枪、刀具等模块;具有外部信号驱动、硬件缓存等功能,能满足绝大部分的4轴以下工作平台的运动控制需求。 ADT8940A1能驱动绝大多数的伺服驱动器。ADT8940A1运动控制卡采用脉冲的方式驱动伺服,脉冲数量决定伺服电机的转动圈数,脉冲频率决定伺服电机的转动速度,同时ADT8940A1卡能够将伺服电机的位置实时反馈给控制系统软件。可将伺服报警、伺服到位等信号接入ADT8940A1卡,实时反馈伺服状态。用输出可实现伺服的伺服使能和伺服报警清除等功能。我们XYZ轴采用丝杠传动方式的话,XY假如选用5mm间距的丝杠,将伺服的每转脉冲设置为10000,ADT8940A1控制卡控制精度为1个脉冲,机械的精度将可以达到 5mm/10000=0.0005mm;ADT8940A1控制卡的速度可达2000000脉冲/秒,伺服电机的转速可以高达12000转/分钟,XY轴的速度可达1000mm/s。为了使机械运行更平稳,运用ADT8940A1的硬件加减速功能,能在很短时间内从低速加速到高速,同时也在运动中改变速度,实现速度灵活控制,设置也很简单,只需用运动控制函数库中的 set_startv设置低速,set_speed设置高速,set_acc设置加速度即可 插补 开放分类: 技术 数控技术 高新技术 数控装置根据输入的零件程序的信息,将程序段所描述的曲线的起点、终点之间的空间进行数据密化,从而形成要求的轮廓轨迹,这种“数据密化”机能就称为“插补”。 编辑摘要 插补 - 概述 系统的主要任务之一,是控制执行 机构按预定的轨迹运动。一般情况 是一致运动轨迹的起点坐标、终点坐标和轨迹的曲线方程,由数控系 统实施地算出各个中间点的坐标。 在数控机床中,刀具不能严格地按 照要求加工的曲线运动,只能用折 线轨迹逼近所要加工的曲线。 机床 数控系统依照一定方法确定刀具运 动轨迹的过程。也可以说,已知曲 线上的某些数据,按照某种算法计 算已知点之间的中间点的方法,也 称为“数据点的密化”。 数控装置根据输入的零件程序的信 息,将程序段所描述的曲线的起点、 终点之间的空间进行数据密化,从 而形成要求的轮廓轨迹,这种“数据密化”机能就称为“插补”。 插补 计算就是数控装置根据输入的基本 数据,通过计算,把工件轮廓的形状描述出来,边计算边根据计算结果向各坐标发出进给脉冲,对应每个脉冲,机 床在响应的坐标方向上移动一个脉冲当量的距离,从而将工件加工出所需要轮廓的形状。 插补 - 分类 1、直线插补 直线插补(Llne Interpolation )这是车床上常用的一种插补方式,在此方式中,两点间的插补沿着直线的点群来逼近,沿此直线控制刀具的运动。 一个零件的轮廓往往是多种多样的,有直线,有圆弧,也有可能是任意曲线,样条线等. 数控机床的刀具往往是不能以曲线的实际轮廓去走刀的,而是近似地以若干条很小的直线去走刀,走刀的方向一般是x 和y 方向. 插补方式有:直线插补,圆弧插补,抛物线插补,样条线插补等 所谓直线插补就是只能用于实际轮廓是直线的插补方式(如果不是直线,也可以用逼近的方式把曲线用一段段线段去逼近,从而每一段线段就可以用直线插补了).首先假设在实际轮廓起始点处沿x 方向走一小段(一个脉冲当量),发现终点在实际轮廓的下方,则下一条线段沿y 方向走一小段,此时如果线段终点还在实际轮廓下方,则继续沿y 方向走一小段,直到在实际轮廓上方以后,再向x 方向走一小段,依次循环类推.直到到达轮廓终点为止.这样,实际轮廓就由一段段的折线拼接而成,虽然是折线,但是如果我们每一段走刀线段都非常小(在精度允许范围内),那么此段折线和实际轮廓还是可以近似地看成相同的曲线的--------这就是直线插补. 2、圆弧插补 圆弧插补(Circula : Interpolation )这是一种插补方式,在此方式中,根据两端点间的插补数 教学课题控制运动轨迹的插补原理 教学课时 2 教学目的掌握逐点比较插补法原理(直线插补,圆弧插补)及插补运算 教学难点插补运算 教学重点插补原理 教学方法讲授图示公式分析 教具准备电脑黑板粉笔教材 教学过程 教学步骤(流程)教学内容设计意图 及依据 新课学习一、逐点比较插补法原理(一种边走边找的近似法) 原理:数控装置在加工轨迹的过程中,逐点计算和判别加工 偏差,以控制坐标进给方向,从而按规定的图形加工出合格 的工件。 1.偏差判别:判别加工点对规定几何轨迹的偏差位置,然后 决定机床滑板的走向。 2.进给:控制机床滑板进给一步,向规定的轨迹逼近,缩小 偏差。 3.偏差计算:计算加工点对规定轨迹的偏差,作为下一步判 别走向的依据。 4.终点判断:判断是否到达程序的加工终点。若到达,则停 止插补。否则,继续重复上述过程,直至加工出所要求的轮 廓形状。 5.逐点比较法插补的工作流程图11-15 二、直线插补,圆弧插补 1.平面直线插补 ①.加工偏差判别式图11-16 解析教材, 理清思路 抓重点 tanαi = Y i/X i,tanα = Y e/X e 比较αi与α的大小只需比较tanαi与tanα的大小即可。因为 Tanαi- tanα= Y i/X i- Y e/X e =(X e Y i-X i Y e)/X i X e 由于X i X e>0 所以只需比较X e Y i与X i Y e的大小。 设 F ij = X e Y i- X i Y e则有 F ij =0时,加工点M(X i,Y i)在直线上 F ij >0时,加工点M(X i,Y i)在直线上方 F ij <0时,加工点M(X i,Y i)在直线下方 ②.偏差计算 第一象限偏差与进给的关系 F≥0时X轴正方向进给,F i+1,j=F i,j-Y e F<0时Y正方向进给,F i,j+1=F i,j+X e ③.终点判断(两种判断方法) a.利用动点所走过的总步数是否等于坐标之和来判断。 b.取点坐标Xe和Ye的较大者作为终判计数器的初值,并称此值为长轴,另一个值为短轴。 2.平面圆弧插补 ①.加工偏差判别式图11-17 R M>R 加工点M在圆外,为缩小偏差,应控制机床滑板向圆图示、公式讲解逐点比较插补法原理及偏差计算 运动控制卡是一种基于PC机及工业PC机、用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元。 运动控制卡是基于PC总线,利用高性能微处理器(如DSP)及大规模可编程器件实现多个伺服电机的多轴协调控制的一种高性能的步进/伺服电机运动控制卡,包括脉冲输出、脉冲计数、数字输入、数字输出、D/A输出等功能,它可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置,它的脉冲输出模式包括脉冲/方向、脉冲/脉冲方式。脉冲计数可用于编码器的位置反馈,提供机器准确的位置,纠正传动过程中产生的误差。数字输入/输出点可用于限位、原点开关等。库函数包括S型、T型加速,直线插补和圆弧插补,多轴联动函数等。产品广泛应用于工业自动化控制领域中需要精确定位、定长的位置控制系统和基于PC的NC控制系统。具体就是将实现运动控制的底层软件和硬件集成在一起,使其具有伺服电机控制所需的各种速度、位置控制功能,这些功能能通过计算机方便地调用。现国内外运动控制卡公司有美国的GALIL、PAMAC,英国的翠欧,台湾的台达、凌华、研华,国内的雷赛、固高、乐创、众为兴等。 运动控制卡的出现主要是因为: (1)为了满足新型数控系统的标准化、柔性、开放性等要求; (2)在各种工业设备(如包装机械、印刷机械等)、国防装备(如跟踪定位系统等)、智能医疗装置等设备的自动化控制系统研制和改造中,急需一个运动控制模块的硬件平台; (3)PC机在各种工业现场的广泛应用,也促使配备相应的控制卡以充分发挥PC机的强大功能。 运动控制卡通常采用专业运动控制芯片或高速DSP作为运动控制核心,大多用于控制步进电机或伺服电机。一般地,运动控制卡与PC机构成主从式控制结 运动控制芯片 目录 运动控制芯片 (1) 1、两轴运动控制芯片MCX302 (2) 2、四轴运动控制芯片MCX304 (3) 3、两轴运动控制芯片MCX312 (3) 4、四轴运动控制芯片MCX314As (4) 5、四轴运动控制芯片3.3V低功耗MCX314AL (4) 2、四轴运动控制芯片MCX304 *同时4轴控制 *运转时不占用CPU时间 *包括编码器回授介面 *最高输出频率4MP PS *封装:QFP、100pin(14.0×20.0mm)、脚距:0.65mm 无铅 *最外形:23.8x17.8x3.05mm (内尺寸14.0mm×20.0mm×2.7mm) ●4轴独立控制 ●驱动速度:1PPS~4MPPS ●温度范围:0-83度工作电压:+5±5% ●速度曲线:定速、台形、抛物线、S形 ●自动原点输出(新功能)。原点输出动作在IC内部实现自动化,节省了原点输出动作的程序花费的时间。 ●内藏输入信号用积分型噪音过滤器。以前,超载限制、EMG、通用输入信号等,为了除去噪音,IC外必须有另外的CR过滤电路,但因为此机能不须外带部件,且减低消耗,另外也实现了搭载基板的小型化。 ●非对称加减速台形的自动减速机能。 ●即使是加速度与减速度的值不同的台形驱动也可自动减速,最适合垂直上下动作 3、两轴运动控制芯片MCX312 MCX312是一款能够同时控制2个伺服马达或步进马达的运动控制芯片。它以脉冲串形式输出,能对伺服马达或步进马达进行位置控制、插补驱动、速度控制等。在对第一个节点运动实行插补时, 可对第二节点运动连续写入数据。在这个过程中插补动作是连续运行, 而不需要中间作任何停顿 ◆控制轴独立2轴 ◆CPU数据总线长度可选8位/16位 ◆2轴直线插补 插补范围各个轴-8388607~+8388607 插补速度 1~4MPPS 插补位置精密度±0.5LSB以下(在全插补范围内) ◆圆弧插补 插补范围各个轴-8388607~+8388607 插补速度 1~4MPPS 插补位置精密度±1LSB以下(在全插补范围内) ◆2轴位模式插补 插补速度 1~4MPPS(但依靠CPU数据设定时间) ◆其他插补功能 ◆电气的特性 动作温度范围 0~85℃ 动作电源电压+5V±5% (标准28mA,50mA max) 3.2 运动控制卡 运动控制卡是根据运动控制的要求和传感器的信号,进行必要的逻辑、数字运算,为电动机或其他动力和执行装置提供正确的控制信号,以实现预定运动轨迹的装置。运动控制卡在运动控制系统中处于核心地位,它的性能好坏对整个控制系统有决定性作用。随着开放式数控系统的应用越来越广,各具特色的运动控制卡也越来越多。目前常用运动控制卡有美国Delta Tau公司的PMAC,英国翠欧运动技术公司的Trio运动控制卡,美国Gailio运动控制卡及中国固高公司的运动控制卡等。下面分别对这些控制卡进行介绍。 运动控制卡是一种基于PC机及工业PC机、用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元。 运动控制卡是基于PC总线,利用高性能微处理器(如DSP)及大规模可编程器件实现多个伺服电机的多轴协调控制的一种高性能的步进/伺服电机运动控制卡,包括脉冲输出、脉冲计数、数字输入、数字输出、D/A输出等功能,它可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置,它的脉冲输出模式包括脉冲/方向、脉冲/脉冲方式。脉冲计数可用于编码器的位置反馈,提供机器准确的位置,纠正传动过程中产生的误差。数字输入/输出点可用于限位、原点开关等。库函数包括S型、T型加速,直线插补和圆弧插补,多轴联动函数等。产品广泛应用于工业自动化控制领域中需要精确定位、定长的位置控制系统和基于PC的NC控制系统。具体就是将实现运动控制的底层软件和硬件集成在一起,使其具有伺服电机控制所需的各种速度、位置控制功能,这些功能能通过计算机方便地调用。现国内外运动控制卡公司有美国的GALIL、PAMAC,英国的翠欧,台湾的台达、凌华、研华,国内的雷赛、固高、乐创、众为兴等。 运动控制卡的出现主要是因为: (1)为了满足新型数控系统的标准化、柔性、开放性等要求; (2)在各种工业设备(如包装机械、印刷机械等)、国防装备(如跟踪定位系统等)、智能医疗装置等设备的自动化控制系统研制和改造中,急需一个运动控制模块的硬件平台; Trio运动控制卡特性及功能说明 一.Trio运动控制器的设计理念: Trio从1987年创立之初起,一直致力于运动控制器的设计研发及应用研究工作。Trio 运动控制器的设计理念:为客户提供满足各类现场应用要求的高品质的运动控制器。 二.Trio运动控制器的特性说明: 1.独立性:Trio运动控制器从设计之初,既按照独立运行的理念为依托来设计控制器。 每一款控制器均可以独立进行编程,无需外部计算机而独立脱机运行。 2.可靠性:目前在世界上,有超过100,000台各类电机由Trio运动控制器进行控制 运转,没有发生一例安全事故。由Trio运动控制器组成的各个系统安全 可靠的运行,涵盖了几乎工业自动化领域的各个行业。 3.安全性:Trio运动控制器是一种嵌入式系统,其有自身独立的操作系统和运行环境, 该环境与外界彻底隔离,从原理上讲就没有遭到外界计算机病毒攻击的可 能性。 4.开放性:提供几乎所有的各类通讯接口形式,可以与各类伺服驱动器、伺服电机连 接,与各类计算机系统连接以及触摸屏连接等。 5.实时性:Trio运动控制器特有的嵌入式开发系统,可以为客户提供最底层的开发编 程环境,可以为客户提供最为实时的响应特性,提高生产效率。 6.高精度:在脉冲(步进)方式控制时,可以提供最高2MHz的脉冲输出频率,作为 伺服(模拟量)方式控制时,可以最高接收6MHz的反馈输入脉冲。并 且所有轴的每个伺服运算周期可到达0.25ms。 三.Trio运动控制器体系结构 Trio运动控制器采用独立式的设计方式和理念,本身控制器就是一个可以执行多任务程序的嵌入式系统。用户可以根据自身需要用Trio Basic语言进行程序开发,整个系统可以脱离任何外界PC系统进行独立的运行。同时借助PCI总线或各类串口通讯方式与PC机或触摸屏可进行实时的通讯。此外控制器本身就具有IO接口,加扩展后可直使用mach3 usb插补控制卡
CNC装置的插补原理
运动控制卡C程序示例
伺服-运动控制卡的工作原理及其应用
插补原理
控制运动轨迹的插补原理
运动控制卡简介
运动控制专用芯片
运动控制作业
Trio运动控制卡特性