运动操控卡运用便利,功用牢靠,一般来说是不会在运用过程中发生方位差错的。但也遇到过一些因运用不妥形成的方位差错,假如没
有丰厚的经历,往往会判别为运动操控卡的问题,而实践上真实的原因是在运用过程中有一些软硬件问题未加以留意形成的。不管运用运动
操控卡或其他类别的运动操控产品,假如对这些问题不加留意,它往往会在不经意间呈现,引起机械运动差错,形成丢掉。而当你在实验室
中针对它进行测验时,又因为参数和运用环境的变化,问题却不能重现,所以十分难以捕捉。本文将以研控MCC系列运动操控卡为例,首要
针对这几个最常见的疑难问题进行描绘、剖析、并提出必定的处理办法。
首要应该做什么
在客户提出运用操控卡呈现了方位差错的时分,首要应该做的就是定位差错来源,也就是定位“究竟是操控卡的问题,仍是电机和机械
的问题?”这是十分关键的定位思路。
如图1所示,原因在于,“软件和操控卡的问题”的寻觅定位和“电机和机械的问题”的寻觅定位是彻底不同的办法,假如首要不区分
好是哪一个模块的问题就直接深入到细节上,往往会找错方向。
最常见的定位东西是伺服驱动器的“显现指令方位”功用,假如问题轴所用电机正好是伺服电机,那就十分便利了。假如运用的是步进
电机,则可能需求外接一个伺服电机进行测验。其他如示波器、逻辑剖析仪也可以进行测验,可是不如伺服电机便利。
测验办法十分简略,首要核算出某一工位处,操控卡“按理应该发送多少个脉冲”,然后调查伺服驱动器的显现,是否“承遭到了相同
数量的脉冲”。假如两个数量共同,并且长时刻作业后(过程中没有凭借传感器的复位动作,假如有复位动作则是另一回事,后文有胪陈)
,仍是精确共同的话,就阐明软件和运动操控卡没有问题,需求在电机和机械上找问题。相反,假如运转一段时刻后,抵达指定工位时,操
控卡“理应发送的脉冲数”与“伺服电机承受的脉冲数”不相同了,并且有差错越来越大或许差错大小随机变化的状况,则可以判别是下文
中说到的“疑难问题”之一。
取整差错累计
取整差错累计是因为上位机操控软件在规划时,悉数选用“相对方位运动”功用,在核算相对方位脉冲数时,因为取整差错形成的小数
位脉冲数丢掉,而当正向丢掉数和反向丢掉数纷歧至时就会形成微小的方位差错,通过长时刻运转重复堆集后,此差错逐步会发展到肉眼可
见的程度。举例如下:
某客户在数控平面钻孔机上选用了运动操控卡,工位和运动办法如下:
钻头从原点动身,抵达工位A开端钻第一个孔,然后向右逐一钻孔,孔之间横向间隔10mm,钻到工位B后,X方向横向平移,一起Y方
向移动,抵达工位C。
程序员是这样规划程序的:
floatValueX=500.19;//脉冲当量,500.19个脉冲机械走1mm
floatMMTargetX=0;//运转方针相对方位
longPulseTargetX=0;//运转方针相对方位
MMTargetX=10;//横向运转间隔10mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到运转脉冲数5001
YK_start_s_move(XAxisNum,PulseTargetX);//发指令让X轴正向走5001个脉冲
//等候运转完毕
MMTargetX=10;//横向运转间隔10mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到运转脉冲数5001
YK_start_s_move(XAxisNum,PulseTargetX);//发指令让X
轴正向走5001个脉冲
//等候运转完毕
……运转10次
MMTargetX=-100;//横向运转间隔-100mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到运转脉冲数-50019
YK_start_s_move(XAxisNum,PulseTargetX);//发指令让X轴反向走50019个脉冲
//等候运转完毕
从上面的程序很容易看出来,正向运转时,一共走了5001x10=50010个脉冲,而反向运转时,走了50019个脉冲。尽管看起来每次正
向运转了10mm,运转10次后,反向运转了100mm,所以在工位C处X轴坐标应该跟工位A共同,可是实践上因为正向运转时取整差错舍去
了10次0.9个脉冲,而反向运转时则没有因为取整差错而舍去脉冲,所以一来一回就会有9个脉冲的累计。
关于一般的机械设备来说,9个脉冲可能还看不出来方位的差错,可是随着重复的加工,假如没有凭借传感器的复位动作的话,这个差
错会逐步随机堆集,方位会越来越偏,最终导致加工失败。
这个问题的呈现纯属软件工程师经历缺乏。假如想要在程序规划时防止此问题,有以下办法可以处理。
办法一:防止在整个加工过程中悉数运用“相对方位运动”,在一个加工流程中添加必定量的,至少一条肯定运动指令,就可以消除去
取整差错的带来的堆集差错。
如在上述工序中,在工位A处记载X轴坐标,然后将从工位B到工位C的移动改用“肯定方位移动”指令。在工位B时,运动操控卡会主动
读取当时的实践坐标,与工位A处的坐标进行比照,然后精确地走出50010个脉冲,这样一来,从工位A到工位B的一切取整差错就悉数纠正
过来了。
办法二:添加复位动作。
每个工件加工完结后利用传感器进行一次原点复位动作,不仅能消除取整差错的堆集,并且还能消除机械差错的堆集,也是不错的挑选。
除了上述的“往复”运动,有些单向送料体系,如制袋机类,在重复进行单方向运转时,因为取整差错的堆集也会引起加工问题。而此
类体系又无法进行复位或许插入“肯定方位运动”指令。这种状况下引荐在编程时选用一种简略完结的“四舍五入法”,具体办法如下。
在核算指令脉冲数时,在浮点数的成果后面+0.5,再取整。
以上文中的程序为例:
MMTargetX=10;//横向运转间隔10mm
PulseTargetX=(long)(MMTargetX*ValueX+0.5);//得到运转脉冲数
YK_start_s_move(XAxisNum,PulseTargetX);//发指令让X轴正向运转
在核算指令脉冲数时选用了此办法可以减小取整差错带来的搅扰,可是并不能消除,这是针对无法进行上述两种办法时的折衷办法。不
过因为简略易行,引荐给软件工程师在核算脉冲数时运用。
换向时第一个脉冲的运动方向差错
在试机的过程中呈现过这样的问题:当运用某一品牌的驱动器,运转就十分精确;而换用另一品牌的驱动器,走一些固定的动作时就会
越走越偏。而容易走偏的驱动器换了另一家的操控器,就又好了。
问题的原因呈现在方向信号提早缺乏。当时大部分驱动器是按周期扫描锁存方向信号,当捕捉到PULSE的有用信号沿时,再去根据锁存
的方向信号进行运动,在读取锁存方向信号到判别PULSE信号有跳变之间有一个差错τ。而关于PULSE的有用边缘,有些驱动器是上升沿有
用,而有些驱动器是下降沿有用。文中将上述类型的驱动器简称为先方向上升沿类型和先方向下降沿类型驱动器。
也有一些国内不太闻名公司供给的驱动器,采取这样的办法:当捕捉到PULSE的有用信号沿时,再去即时读取方向信号,判别运动方向
。在读取到有用信号沿后,间隔读取方向信号也有一个时刻差错τ。下文中将此类驱动器称之为上升沿后方向和下降沿后方向类型驱动器。
这种状况比较罕见,在此不做讨论。
不同公司的驱动器,乃至同一公司的不同型号驱动器,时刻τ都纷歧样。有些驱动器比如研控模拟驱动器,这个时刻十分小;可是关于
新型的数字型驱动器,因为采样周期的原因,此周期长达125μS,这就给操控信号提出了要求:
方向信号必需求早于脉冲信号到位,最少要早τ秒,不然会引起换向后,第一个起跳脉冲的运动方向过错。
当然,即便满意不了此要求,关于一般的运动来说,假如发生了这类过错无非就是起跳时少了2个脉冲,一般状况下不会影响设备精度。
可是当设备被要求重复折返的启停运动时,就有可能引起差错的堆集。可是一起,因为此差错类似于机械空隙,只呈现在换向后的第一次运
动时;而大部分状况下,正反运动会对此差错进行抵消。因而,此状况只会带来微小的差错,不会发生太大的影响,但在对精度要求十分高
的场合需求留意这个问题。
躲避办法:检查驱动器产品阐明书,大部分驱动器都会对此刻刻τ进行规则。而研控MCC1410C的方向提早时刻受起跳速度影响,最短
状况下105μS;但只要将起跳速度降到100KHz以下,方向信号的提早时刻就到了毫秒等级,不会发生上述过错的状况。
原点复位差错
有的客户反响,在进行复位动作的时分,就会发生方位差错。一般来说,我们引荐客户在规划工序时,每完结一整套加工过程后,进行
一次复位动作,这样可以消除堆集差错,包括机械打滑差错、齿轮空隙差错和驱动器少数丢步形成的差错。但复位动作的运动参数设置、复
位动作次序设置、传感器的挑选和装置方位、以及伺服参数设置的恰当与否都会影响复位精度。当客户发现复位会导致运转方位不按时,客
户一般会首要考虑扫除传感器灵敏度、动作是否过猛等,因而问题往往不大,本节首要描绘当伺服参数设置不妥这一较少能考虑到的状况会
引起的复位差错。当运用伺服电机时,假如参数调整不妥,刚性太弱,会形成该轴原点复位时的差错。
总的来说,伺服是一个必需求考虑其滞后特性的履行部件。当设置伺服参数时,刚性越小,运转时的实践滞后就越大。直观上看起来就
是“软软的,懒懒的”,指令脉冲开端发送了,它才会渐渐动起来;指令脉冲现已发完不发了,它还要往前走一阵才干停下来。这种特性跟
它的闭环操控特性有必定的关系。
当单轴运动进行时,这种滞后一般不会影响出产,乃至察觉不出来,因为尽管运动滞后,可是最终仍是会精确到位。可是当进行插补运
动或许原点复位时就会发生很大的影响。
比如当体系复位时,当传感器被触发,发出限位信号给操控卡,操控卡立刻中止了脉冲的发送。可是此刻伺服电机因为反响的滞后,仍
是会往前走一阵,这一段间隔就形成了差错。
处理的办法
1.在体系安稳没有太大冲击的状况下尽量调高伺服的刚性;
2.在不影响出产功率的状况下降低复位运动的速度,或许采取二次复位的办法,第一次高速复位,到位后,再低速向回找原点信号。
其他状况还可以按以下办法处理。
状况一:驱动电压/电流缺乏
当客户选用一路操控信号带多路驱动器时,可能会呈现驱动电流缺乏的状况,继而导致驱动器无法顺畅获取信号。
研控运动操控卡多选用AM26C31芯片来发生驱动电流,限流电阻20欧姆,最大电流150mA,因而不引荐选用一路运动操控信号带多路
驱动器。假如有必要选用这种接法,则最多带两台驱动器,假如超越此数值可能会形成芯片过热烧坏或许信号丢掉等状况;一起要留意,不
确保此种接法的运动安稳性。
状况二:限位信号搅扰/误碰
客户选用非研控出产的运动操控卡时,可能会随机地呈现设定的运动间隔还没走到,就停下来的问题。乃至会带来撞机等严重的状况。
这种
差错会十分大,随机无规律地呈现,一次呈现立刻就形成运转的混乱。
这种状况往往是某轴在运转时,该轴的“限位信号”遭到了搅扰,令板卡以为应该中止该轴的动作。
关于这种状况的断定要从软件上进行抓取,当调用函数判别一个轴是否中止的时分,假如返回值不是“脉冲发送完中止”,而是“不知
道反常中止”或许“遇到限位点中止”,就根本可以定位是限位点遭到了搅扰。然后可以将遭到搅扰的轴的限位信号从接线板上断开,看看
是否还有此状况发生。
针对此问题,需求从硬件上查找搅扰源、搅扰传递的通路。惯例的滤波,分隔供电,屏蔽,从头布线等办法都可以试一下。不过最有用
的,
是换用研控的运动操控卡产品,具备强大的抗搅扰特性(滤波参数可设置),可以根除此类问题。