常规伺服驱动器之所以可以实现精准控制,是因为电机移动的距离和位置、速度信息可以通过电机上搭配的编码器反馈给伺服驱动器,使得伺服驱动与电机之间形成了一个小的闭环系统,从而达到精确控制的目的。但这种精确仅仅限于伺服与电机的独立小系统,而对于使用伺服系统的整套设备来说仍然存在机械误差、传动误差,所以说这里的精确只是相对的,而常规解决办法经常会采用各种传感器、接近开关等,通过PLC来克服整套系统的误差,但精度相对较差,且只能进行报警而无法实时进行补差。
因此,由伺服驱动器、伺服电机及电机本身编码器组成的系统,也被称为半闭环系统。为了使设备控制达到更高精度的控制,东元高阶伺服JSDG2S在半闭环系统的基础上再增加了一路编码器反馈装置(可利用光学旋转编码器或者光栅尺等外部编码器),直接检测控制物体的目标机械移动距离(如滑台实际运行距离),这样,伺服驱动器、被测物及第二路编码器反馈(再增加的一路编码器)构成了一套全闭环控制的系统。
工作原理
如电机编码器接口CN2一样,第二路编码器接口CN8也可与光学旋转编码器、光学尺等匹配(此光学旋转编码器、光学尺是将移动的距离转化成A/B/Z相脉冲信号,脉冲个数代表物体移动距离,脉冲频率代表物体移动速度),此第二路编码器接口CN8支持最高解析度为1000000pulse/rev(电机旋转一圈,全闭环系统对应的最大四倍频脉冲数为1000000)。1.硬件设计电路及原理电路由左向右说明:接口CN8为光栅尺或光学旋转编码器接口,输入信号为A+/A-,B+/B-,Z+/Z-差分信号,利用脉冲的个数和频率反映当前侦测的物体移动距离和速度,接口有钳卫二极管进行保护,防止杂讯、高压损坏芯片,保证硬件电路可靠度,再经过一个RC电路进行滤波后,通过一个差动电路接收器AM32LVIDR转换为FPGA可接收的电平信号,后续信号将由FPGA内部解析处理。
图 1 系统示意图
图 2 硬件电路图
图 3 软件系统流程图
2.软件控制原理
(1) 位置命令通过总线(EtherCAT/CANopen) 或脉冲控制器下发到驱动器,经过电子齿轮比及相应单位转化函数(表达式为:接收到的位置命令*电子齿轮比*第二路编码器解析度),生成对应位置1(CmdPos),同时利用安装在设备上的第二路外部编码器得到设备实际运行位置2(FbPos)。
(2) ) 上述两位置送入位置控制器( 位置控制器即比例系统)做计算(比例系统计算即 (Cmd Pos- FbPos)*KP(KP为可调整系数,默认值为40))得出电机实际需要移动位置(移动位置增量DeltaPos)及移动速度(单位时间内移动的位置增量即移动速度 CmdSpeed,此系统单位时间为400微秒),此时通过电机内部编码器得出(使用微分计算= 位置变化量/时间变化量)电机反馈速度(FbSpeed)。
(3)再将上述2个速度送入速度控制器计算(速度控制器即比例、积分系统),为了快速响应此算法采用抗积分饱和比例/积分计算,其具体算法为在计算当前误差量的时候,先判断上一时刻误差量是否已经超出了限制范围。若上一时刻误差量>限制最大值,则只累加负偏差;若上一时刻误差量<限制最小值,则只累加正偏差。从而避免控制量长时间停留在饱和区(超出速度限制最大/小值范围),得出(当前实际速度=上一次实际速度+当前速度控制器计算的速度误差量)电机实际运行速度(RealSpeed)及电机所需的转矩电流,通过电流控制器(将交流伺服电机控制模型转化成直流电机控制模型,直流电机模型只需控制电流的大小即可控制转矩的大小)保证电机精准的转矩输出。
上述全闭环位置算法直接将被测物的位置做运算, 减小机械传动间隙与机构间的传动误差。
为了更好地使物体运动更加顺畅,在移动轨迹控制时,将单段控制S(x)=0延伸为多段控制,包括加速度段、恒速段和减速段。各段分别为:
1.加速段 S1=ax22+(x1-x10)式中,x10为初始位置误差
2. 恒速段 S2=x2-x10
3. 减速段 S3=cx1+x2
通过以上方式可以解决设备使驱动器更顺畅地控制电机弥补机械部分产生的误差。
当然也存在某些情况因机械或者传动故障,此时驱动器可通过设定误差最大保护机制判定直接报警,避免损坏机械。
报警判断:
内部编码器 x 外部编码器分辨率(PPR4 2500 x 4) / 内部编码器分辨率(17bit) -外部编码器 > Pn347
Pn347:全闭回误差最大值(全闭回CN4与实际Encoder误差设定值,当位置误差量大于Pn347所设定的脉波数时,本装置产生AL022(马达端与负载端pulse误差过大)。
机能使用步骤
1.确认机构方向
确认外部编码器正方向对应马达方向,设定Pn314(位置命令方向定义),以手推方式(不要激磁)确认, 当外部机构向正方向推时,查看Un-14(马达回授-旋转一圈内的脉波数),确认数值是否为递增。2.确认内外部是否方向相同以手推方式(不要激磁),将外部机构向正方向推,查看Un-50(外部编码器脉波数),确认数值是否为递增。如果不是,请修正Pn349 (全闭回路方向)设定,改为0或1。
图 4 机构结构图
3.确认Pn348(外部边码器分辨率)
外接编码器或光学尺进行全死循环控制时,首先需进行Pn348(全死循环Encoder一圈对应分辨率) 设定,以螺杆机构搭配光学尺范例计算如下:
设定全死循环Encoder分辨率后,可搭配设定Pn349(全死循环运转方向设定)进行运转方向设定,抑或是搭配使用Pn347(全死循环误差最大值)进行实际与外部Encoder误差最大范围,并用Un-52(外部编码器与马达编码器之误差),监控两者之间的误差,当超出范围后,警报讯号产生AL.022(马达端与负载端pulse误差过大),伺服停止动作,最后依照需求设定Pn346(全闭回机能分周选择)。
以手推方式(不要激磁),依据Un-14(马达回授- 旋转一圈内的脉波数)和Un-16(马达回授-旋转圈数) 计算马达计数的总位移距离。将此马达总位置和Un50(外部编码器脉波数)比较,方向是否相同? 两者的比例是否为马达分辨率与Pn348相近?
若平台如图1中所示,忽略背隙(Backlash)的影响,从状态显示参数得知Un-50(外部编码器脉波数)为2500、Un14为32768,则可依此推算出Pn348(全死循环Encoder一圈对应分辨率)之值:
总结
此功能使得电气设备形成全闭环系统,相比较接近开关等静态反馈,采用编码器/光栅尺等传感器后,使得设备可形成动态的全闭环系统。在这套反馈控制系统中, 伺服驱动器可实时监控设备移动、速度变量,在工作运行中不管出于什么原因(外部扰动或系统内部变化),只要被控制量偏离规定值,就会产生相应的控制作用去消除偏差。因此,它具有抑制干扰的能力,对设备的误差特性变化不敏感,并能积极改善系统的响应特性和控制精度,使得设备达到一个完美的工作状态(注:详细使用参数可参考东元伺服JSDG2S使用手册)。