伺服电机的回零(进阶篇)

以上为广告

简  介

回零是伺服控制的一个大课题。系统对回零的要求各种各样,各厂家的运动控制器或驱动器支持的回零方式各不相同,且伺服电机也有多种反馈类型,由此衍生出多种回零方式。另,各厂家对与回零相关的关键术语的描述也不尽相同,因此,有很多与伺服回零相关的话题和讨论。
4月15日,本公众号曾发了一篇“伺服电机的回零”的学习笔记。那篇文章介绍了回零的原理和功能,未讲解回零的实现。本篇以ABB Microflex e190伺服驱动器配17位单圈绝对值伺服电机为例,讲解基于伺服驱动器的回零,以及如何通过Beckhoff PLC,在伺服驱动器上实现伺服回零。
基于伺服的回零

基于伺服自身回零,即DriveBased Homing。ABB 的Microflex e190是新一代智能伺服驱动器,自身可编程。通过对伺服驱动器编程,其命令发出和回零的执行都在驱动器内部实现,响应快,回零精确。
Microflex e190支持的是Mint编程语言,需使用ABB MintWorkbench软件对伺服进行编程。
图1:伺服装置
伺服回零需要定义一个零点开关,使用HOMEINPUT关键字定义,如语句HOMEINPUT(0)=1设定伺服的DI1输入点为零点开关。
需要设置找零点开关的速度,以及找到零点开关后的回退速度,分别用HOMESPEED和HOMEBACKOFF关键字设置。
当回零需要找索引脉冲时,还需要设置零点开关OFF后,找索引脉冲的爬行速度,用关键字HOMECREEPSPEED设置!所谓的索引脉冲,对于增量式编码器对应的是Z相脉冲,对于绝对值编码器对应的是绝对读数为零的角度位置。旋转变压器没有索引标记,但驱动器会根据旋变的反馈信号,通过算法,计算出一个索引标记。
依据以上描述,实验中对于Homing配置的编程代码如下:
图2:回零配置Mint代码
HOMEBACKOFF=2指找到零点开关后,回退速度为HOMESPEED的二分之一,即15/2=7.5!(用户单位已定义为r/s)。
以上代码仅对回零功能进行配置,并未触发回零动作。回零动作,需要执行HOME(0)=value指令,比如可用如下代码启动回零:
图3:回零执行代码
把HOME启动指令放到与DI2对应的EVENT事件中。用DI2启动HOME指令。
给HOME(0)赋不同的值,对应不同的回零功能。本例中,Value为3,定义回零方法。本回零方法共分三步:
第一步:以HOMESPEED=15正向运动寻找零点开关(DI1 ON)
第二步:找到DI1后以(HOMESPEED/HOMEBACKOFF=7.5)的速度回退(DI1 OFF)
第三步:待DI1OFF后,以HOMECREEPSPEED=0.2的速度寻找索引脉冲
抓取的回零过程实时曲线如下图,图中蓝色为伺服的速度,红色为原点信号,粉色为伺服的位置。三个步骤分别对应下图的1,2,3。
图4:回零执行曲线
回零完成后,当前值改成0。
Microflex e190中定义了多种回零方式,可实现各种回零功能。
图5:多种回零方式
GDI控制的DS-402 Homing

GDI是ABB伺服专有的控制方式。在伺服驱动器中下载ABB GDI程序。GDI程序中定义了伺服驱动器的接口变量NETDATA(输入和输出)。PLC通过读写NETDATA寄存器,即可实现对伺服驱动器的控制。GDI方式可支持多种通讯方式和多PLC品牌。本实验以西门子PLC为例讲解。
图6:西门子PLC配置
在GDI程序中,可设置HOMETYPE所支持的DS-402 Homing回零方式。如以下代码设置第21种回零方式,DI1设置为回零开关。
在TIA中,PLC程序调用ABB提供的GDI控制库中的GDI_Home功能块。
图7:GDI_HOME程序块
DS-402 Homing 定义了37种HomeType,可参考相关参考资料,或Mint Workbench软件的帮助文档。
另,通过GDI控制方式,也可实现挡块回零,在库中需调用另一个功能块:
图8:GDI挡块回零
其中TorqueLimit为扭矩限值,其设置单位为伺服电机额定扭矩的百分比
有的厂家也称为撞块回零,在PLCopen运动控制规范Part 5中(英文的),有功能块MC_StepBlock与本功能块相对应。
图9:MC_StepBlock示意图
这两种方式,回零方式HomeType由DS-402 Homing中回零方式界定。但回零的本质都是通过伺服驱动器内的GDI程序实现,因此,这种方式也是基于驱动器的回零。
基于Beckhoff PLC的回零

继上篇“Beckhoff PLC在ABB伺服上实现探针功能”之后,Beckhoff PLC又不甘寂寞,拍拍衣襟,迫不及待得闯入大家的眼帘。B&R PLC你先忍忍,对你另有安排!
在Beckhoff TwinCAT中提前配置好伺服轴,让伺服轴能转起来,详情可参考往期视频。关于Beckhoff中三类轴的定义,在此有必要再强调一下。TwinCAT中,共有物理轴,NC轴和PLC轴三种轴概念。物理轴对应伺服驱动器,NC轴不需要编程,它的运算分为轨迹规划、PID运算和IO接口处理。PLC轴即在PLC程序中定义的轴变量。NC轴处于中间位置,提供与PLC轴和物理轴的接口。
图10:TwinCAT轴概念图
本实验软硬件配置与TouchProbe篇相同:
图11:Beckhoff PLC实验配置图
在TwinCAT中需添加TC2_MC2运动控制库。MC_Home功能块包含在这个库里。
具体编程过程不详述,Beckhoff常规的回零通过MC_Home功能块实现的。
图12:MC_Home程序块
Homing Mode: 共有四个取值。标准Homing取值为MC_DefauleHoming,执行标准的回零程序。其它几个取值不会触发回零动作。
bCalibrationCam: 对应零点开关。如果对BeckhoffPLC的话语体系不熟,仅从字面理解,又是校准又是凸轮的,是不是一脸懵?这个信号可对应PLC的一个DI输入, 也可以用程序中定义的一个BOOL变量替代!
BufferMode & Option: 开路即可。
回零需要的很多参数怎么没在这个功能块里出镜?别急,它们在TwinCATSystem Manager NC轴的Parameter标签页下。
图13:回零速度设置
又看到了cam,不过我们已经不用把它理解成凸轮了,理解成啥呢,看上文的bCalibrationCam!Beckhoff的术语是否挺卡人的?别急,后边还有更卡人的。
至此为止,如果编程正常,就可以执行回零了。当然,提前要编程MC_Power,  MC_Reset, MC_STOP等基本功能块。
启动MC_Home后,轴会以3的速度寻找bCalibrationCam,bCalibrationCam ON之后,轴以0.3的速度反转,当bCalibrationCam OFF时,轴停止,回零完成。此时的回零功能,与基于Drive的回零“HOME(0)=2”,完成的功能相同。
功能太弱了吧,这种回零精度不够高,连索引脉冲回零和Latch回零都不能实现吗?
幼稚!在TwinCATSystem Manager的Enc参数的Parameter标签页,有Homing栏。在Homing栏里有个ReferenceMode。刚才实现的功能,只是ReferenceMode取值“Default”时的功能。而Reference Mode 还有很多其他取值,可对应不同的回零功能。
图14:不同回零方式选择

请注意现在深色的”HardwareSync”选项,选中这个值后,伺服回零会在撩bCalibrationCam一个回合以后,继续向前寻找索引脉冲。并在找到索引脉冲后停止,修改当前值,结束回零。“Hardware Sync” 是不是更卡人,Beckhoff老这么定义,是不是有点小傲娇?
再注意一下HardwareLatch1(pos. edge),选项,这个选项在撩bCalibrationCam一个回合以后,不寻找索引脉冲,而是寻找伺服驱动器上Latch 1的上升沿。(Latch 1对应Microflex e190的DI1)。如选这种方式回零,在物理轴的PDO中,需配置PDO 输入0x60B9和输出0x60B8。是不是很面熟?对,TouchProbe功能也必须要配置这两个PDO。只有这样,Beckhoff PLC 才能捕获驱动器侧的Latch1信号。
以上几种,可满足常规回零需求。
其他几个选项有的支持,有的不支持。毕竟,Beckhoff的软件不是专为ABB伺服驱动器开发,就不进一步详述。
伺服回零高级功能

感觉这几种回零方式也没啥特别的呀?
你还想要啥!
想问一下子,有没有那种感觉特高级,功能很复杂,不明觉厉的!也不一定用,就是想问问…
淘气!针对高级或专家级用户,PLCopen技术委员会的任务小组,专门定义了“Function Blocks formotion control: Part 5 – Homing Procedures”,其中对Homing进行了非常详细的定义和说明。规范中定义了很多Homing的专用功能块,列举如下:
回零分步执行功能块
MC_StepAbsoluteSwitch
MC_StepLimitSwitch
MC_StepBlock
MC_StepReferencePulse
MC_StepDistanceCoded
可运行中执行的功能块
MC_StepReferenceFlyingSwitch
MC_StepReferenceFlyingRefPulse
MC_AbortPassiveHoming
回零流程结束功能块
MC_HomeDirect
MC_HomeAbsolute
MC_FinishHoming
这些功能块可以理解成Homing流程的分解动作,有时一个回零流程需要先后调用几个功能块实现。
针对一些高级应用,BeckhoffPLC也提供了高级的回零功能库TC3_MC2_AdvancedHoming与PLCopen MC Part 5中的功能块相对应。有兴趣的小伙伴可自行研究测试,不再深入讲解!BTW,PLCopen规范都是英语的,其话语体系跟Beckhoff又有很大的不同!
懵了吧,高级不?
草率了!!!
总  结

本文以ABB Microflex e190为实验对象,讲解了完全基于驱动器的回零,通过PLC通讯实现基于GDI程序的DS-402 回零以及BeckhoffPLC通过EtherCAT在伺服上实现回零.
各厂家控制器和伺服,由于软件不同,固件各异,软件的操作方法差别很大。但万变不离其宗,其基本实现原理和常见实现方法是一致的。
本文为前篇“伺服电机的回零”的续篇,以期从原理到操作上对回零有个更全面的认识。
(0)

相关推荐

  • PLC高速脉冲输出步进电机应用实践和实现人机界面监测数据

    PLC高速脉冲输出步进电机应用实践和实现人机界面监测数据

  • 外汇交易进阶篇——如何执行交易系统达到稳定盈利

    继之前的初级篇后,有很多人向我询问何为靠谱平台. 虽然有起到一定效果,但整体来说并不是我想要的. 竟然没有人问起结尾的彩蛋: 那就是有关进阶篇的内容! 痛心疾首. 于是忍痛发布该篇,该篇主要探讨执行力 ...

  • Excel 70个高频函数应用-进阶篇(后30个)

    Excel 70个高频函数应用-进阶篇(后30个)

  • 微距摄影(进阶篇),如何拍摄好户外小昆虫?

    微距摄影,如何拍好小昆虫?下面就结合本人多年来的(户外)昆虫的微距拍摄经历,结合基本的器材设备(单反+百微+近摄接圈)使用,说说拍摄感受. 1,微距拍摄昆虫的对焦.现在微距镜头大多的都有自动对焦功能. ...

  • 【新提醒】【图】个人选连板票和打板新思路进阶篇

    龙头股战法,谁都知道.但是真正赚钱的没几个.有个比较有名的段子:本来研究技术指标能实现稳定亏损.自从研究了龙头股战法以后,割起肉来腰不酸腿不疼手也不再好的战法也只是水中月,雾中花,发挥不出它的价值!而 ...

  • 思维进阶篇:八大体质详解!(干货)

    军按:八大体质学说是黄煌教授通过长期的临床实践观察总结出来的用于病的人的诊治思维,我们可以通过学习该学说而较为便捷的运用于实际临床,并获得较为满意的疗效,本人不揣浅陋,将黄煌教授整理的八大体质结合具体 ...

  • XLOOKUP入门到精通(10大案例)-进阶篇

    我们继续XLOOKUP的学习,昨天讲解的入门篇(入门篇),算是XLOOKUP的基础用法,今天主要是通过10个案例来进一步学习!这应该是目前XLOOKUP这个新函数最全面的教程了! 案例01 | 近似查 ...

  • 【专题提升】反比例函数k的几何意义-进阶篇

    双曲线与矩形 双曲线与矩形 双曲线与矩形 双曲线与矩形 双曲线与矩形 双曲线与矩形 双曲线与面积 双曲线与面积 双曲线与面积 双曲线与面积 更多反比例函数好题, 详见<领跑数学中考二轮复习202 ...

  • A股量化逃顶指标(进阶篇)

    在上一篇中,我已经介绍了量化逃顶工具的基本原理.一句话总结一下:当大盘头部资金撤出的时候,我们也应该撤出了. 而头部资金的量化指标就是创新高股票的成交额.当创新高成交额缩量的时候,说明头部资金已经撤退 ...

  • 进阶篇-Dism 备份篇

    进阶篇-Dism++ 这次为大家带来了关于Win10系统的进阶篇-备份,通过系统备份我们就可以对系统进行百般虐待而高枕无忧了,系统崩溃了.中毒了.变慢了,无需担心我们有系统备份,直接还原到最佳状态. ...