一种快速平滑驱动伺服电动机的闭环控制系统及方法
【专利摘要】本发明是一种快速平滑驱动伺服电动机的闭环控制系统,机框用来承载伺服电机驱动部件、位置编码器;位置编码器与负载单元相连;平滑驱动代码单元的输入端分别连接用户界面和计数卡的输出端连接;D/A驱动卡的输入端与平滑驱动代码单元的输出端连接;放大电路的输入端与D/A驱动卡的输出端连接;伺服电机驱动部件的输入端与放大电路的输出端连接;机框的输入端与伺服电机驱动部件的输出端连接;负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端;位置编码器的输入端与负载单元的输出端刚性连接;工控机中计数卡的输入端与位置编码器的输出端连接。本发明还提供一种快速平滑驱动伺服电动机的闭环控制方法。
【专利说明】一种快速平滑驱动伺服电动机的闭环控制系统及方法
【技术领域】
[0001]本发明属于电机控制【技术领域】,涉及一种一种快速平滑驱动伺服电动机的闭环控制系统及方法,控制电机快速平滑到位的方法,应用在快速扫描测量及运动过程中需要多次停顿进行图像获取或零部件抓取等场合。
【背景技术】
[0002]在伺服电机驱动部件和编码器构成的闭环控制系统中,总是存在要求电机由当前位置运动到某一目标位置(位置由编码器指示)的情况。比较简单的做法是启动电机,接下来不断比较编码器当前示值与目标位置的差异(为方便起见此差异本文定义为目标差d),以决定加速、减速或是停止,速度往往是一系列的常数,这种做法虽然简单,但不能充分利用控制系统的各种信息。再有就是PID控制算法,这种算法有其优点而应用比较广泛,不足是PID控制往往会在接近目标位置的情况出现振荡,积分和微分环节带来大的计算量,积分环节会降低响应速度。
【发明内容】
[0003]为了解决的技术问题,本发明的目的是提供一种快速平滑驱动电机的方法,在不断接近目标位置的过程中用合适的速度匹配不同阶段,也就是确定一个目标差与速度之间的函数,并通过调整函数的系数得出最适合特定系统的速度函数,能够解决快速且平滑驱动的问题。
[0004]本发明解决其技术问题所采用的技术方案是:
[0005]本发明的第一方面,提供一种快速平滑驱动伺服电动机的闭环控制系统,所述闭环控制系统包括:工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元,其中:平滑驱动代码单元运行于工控机中;工控机中所安装有述D/A驱动卡、计数卡、平滑驱动代码单元和用户界面;机框用来承载伺服电机驱动部件、位置编码器;位置编码器与负载单元相连,用来指示负载单元的运动位置;平滑驱动代码单元的输入端分别连接用户界面的输出端和计数卡的输出端连接;D/A驱动卡的输入端与平滑驱动代码单元的输出端连接;放大电路的输入端与D/A驱动卡的输出端连接;所述的放大电路将D/A驱动卡输出的电压信号进行功率放大,用于对伺服电机驱动部件中的伺服电机进行驱动;伺服电机驱动部件的输入端与放大电路的输出端连接;机框的输入端与伺服电机驱动部件的输出端连接;负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端;位置编码器的输入端与负载单元的输出端刚性连接;工控机中计数卡的输入端与位置编码器的输出端连接。
[0006]本发明的第二方面,提供一种快速平滑驱动伺服电动机的闭环控制方法,利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统平滑驱动伺服电动机的步骤包括:[0007]步骤A:通过组合调整运动系统的速度函数的系数的确定由伺服电机、位置编码器、机框和负载单元构成的运动系统的速度函数;
[0008]步骤B:运动系统的速度函数对应目标差在行程的前半段(r > d≤r/2)和后半段(0 < d < r/2)分别对应伺服电机的加速过程和减速过程;
[0009]步骤C:利用速度函数f (d)生成平滑驱动代码单元并运行于工控机中,所述速度函数f(d)的表现形式为:
[0010]
【权利要求】
1.一种快速平滑驱动伺服电动机的闭环控制系统,其特征在于,所述闭环控制系统包括:工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元,其中: 平滑驱动代码单元运行于工控机中; 工控机中所安装有述D/A驱动卡、计数卡、平滑驱动代码单元和用户界面; 机框用来承载伺服电机驱动部件、位置编码器; 位置编码器与负载单元相连,用来指示负载单元的运动位置; 平滑驱动代码单元的输入端分别连接用户界面的输出端和计数卡的输出端连接; D/A驱动卡的输入端与平滑驱动代码单元的输出端连接; 放大电路的输入端与D/A驱动卡的输出端连接;所述的放大电路将D/A驱动卡输出的电压信号进行功率放大,用于对伺服电机驱动部件中的伺服电机进行驱动; 伺服电机驱动部件的输入端与放大电路的输出端连接; 机框的输入端与伺服电机驱动部件的输出端连接; 负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端; 位置编码器的输入端与负载单元的输出端刚性连接; 工控机中计数卡的输入端与位置编码器的输出端连接。
2.根据权利要求1所述的闭环控制系统,其特征在于,所述伺服电机驱动部件由伺服电机和运动副构成,运动副与负载单元连接,运动副带动负载单元运动。
3.根据权利要求1所述的闭环控制系统,其特征在于,所述平滑驱动代码单元从用户界面获得目标值和到位误差,并使目标差小于到位误差时结束对伺服电机的驱动。
4.根据权利要求1所述的闭环控制系统,其特征在于,通过所述用户界面输入目标值和到位误差,平滑驱动代码单元从用户界面获得目标值和到位误差,进入驱动控制循环:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值,判断目标差是否小于到位误差,小于到位误差就退出循环结束驱动过程,否则执行以下操作:通过D/A驱动卡将数字格式的速度函数转换成实际的驱动电压;驱动电压经过放大电路对伺服电机驱动部件进行驱动,使伺服电机带动运动副,运动副带动机框上的负载单元运动,负载单元的位置直接反映给位置编码器,进入上述判断环节,直到目标差是否小于到位误差结束对伺服电机的驱动过程。
5.一种快速平滑驱动伺服电动机的闭环控制方法,其特征在于:利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统来平滑驱动伺服电动机的步骤包括: 步骤A:通过组合调整运动系统的速度函数的系数的确定由伺服电机、位置编码器、机框和负载单元构成的运动系统的速度函数; 步骤B:运动系统的速度函数对应目标差在行程的前半段(r > d ≥ r/2)和后半段(0< d < r/2)分别对应伺服电机的加速过程和减速过程; 步骤C:利用速度函数f (d)生成平滑驱动代码单元并运行于工控机中,所述速度函数f(d)的表现形式为:
6.根据权利要求5所述的闭环控制方法,其特征在于:利用速度函数f(d)生成平滑驱动代码运行于工控机,经历以下步骤: 步骤Cl:通过用户界面输入目标值T到位误差; 步骤C2:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值; 步骤C3:计算负载单元要运动的行程r = I T-Ec I,其中T为目标值,编码器值E。; 步骤C4:进入驱动控制循环步骤C4到C14,重新获取编码器值; 步骤C5:计算目标差; 步骤C6:判断目标差是否小于到位误差,当目标差大于期望值时,利用计算速度函数f(d)计算目标差,则执行步骤S7 ;当目标差小于到位误差时,结束驱动控制循环; 步骤C7:计算速度升程系数Dk = 2/r(da-db) (d-2/r)+db,其中r是伺服电机要运动的行程,da为目标差d等于r时的Dk的值、db为目标差d等于半行程r/2处的Dk的值; 步骤C8:计算速度降程系数Uk = 2/r (ub-ua) d+ua,其中Ua为目标差d为O处的Uk值、Ub为目标差d等于半行程r/2处的Uk的值; 步骤C9:判断目标差d在行程r的前半段r > d > r/2,则执行步骤SlO ;判断目标差d在行程r的后半段O < d < r/2,则执行步骤Sll ; 步骤ClO:计算目标差d在行程r的前半段的速度函数f(d)如下表示:
7.一种快速平滑驱动伺服电动机的闭环控制方法,其特征在于:利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统平滑驱动伺服电动机的步骤包括: 步骤S1:通过用户界面输入目标值T到位误差;步骤S2:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值; 步骤S3:计算负载单元要运动的行程r = |T-Ec|,其中T为目标值,编码器值E。; 步骤S4:进入驱动控制循环步骤S4到S14,重新获取编码器值; 步骤S5:计算目标差; 步骤S6:判断目标差是否小于到位误差,当目标差大于期望值时,则利用计算速度函数f(d)计算目标差,执行步骤S7 ;当目标差小于到位误差时,结束驱动控制循环; 步骤S7:计算速度升程系数Dk = 2/r(da-db) (d-2/r)+db,其中r是伺服电机要运动的行程,da为目标差d等于r时的Dk的值、db为目标差d等于半行程r/2处的Dk的值; 步骤S8:计算速度降程系数Uk = 2/r (ub-ua) d+ua,其中Ua为目标差d为O处的Uk值、Ub为目标差d等于半行程r/2处的Uk的值; 步骤S9:判断目标差在行程r的前半段r > d≥ r/2,则执行步骤SlO ;判断目标差d在行程r的后半段0 < d < r/2,则执行步骤Sll ; 步骤SlO:计算目标差d在行程r的前半段的速度函数f(d)如下表示: f(d) 二 Dk {x<iys + de + (2 — 2d/r)(f4(r/2)"> — Dk (r/2)'1' - dj ; 其中:d。为初速度系数吨为目标差d在行程r的前半段(r/2<d<r)的情况时的冪指数叫为目标差d在行程r的后半段(0 < d≤r/2)的情况时的冪指数; 步骤Sll:计算目标差在行程的后半段速度函数f(d)如下表示: f(d)=Ukdu; 步骤S12:通过D/A驱动卡将数字格式的速度函数转换成驱动电压V ; 步骤S13:通过D/A驱动卡的驱动电压V经放大电路驱动伺服电机驱动部件转动来带动机框和负载单元; 步骤S14:间隔等待时间t后,执行步骤S4再进入驱动控制循环,直到目标差d小于到位误差Iim时结束对伺服电动机的平滑驱动。
8.根据权利要求5或7所述的快速平滑驱动伺服电动机的闭环控制方法,其特征在于:所述运动系统的速度由初速度系数d。开始在r/2处获得最大速度,用速度升程系数Dk乘幂函数调节速度曲线的变化快慢。
9.根据权利要求5或7所述的快速平滑驱动伺服电动机的闭环控制方法,其特征在于:所述运动系统的速度由r/2处的最大速度到d = 0时降为0,用速度降程系数Uk乘幂函数调节速度曲线的变化快慢,当d = r/2时,Uk = Ub ;当d = 0时,Uk = ua。
【文档编号】G05D13/62GK103499985SQ201310467744
【公开日】2014年1月8日 申请日期:2013年10月9日 优先权日:2013年10月9日
【发明者】韩维强, 孙威, 陈为, 魏红艳, 张海波, 石秀梅 申请人:中国科学院光电技术研究所