CN103499985B - 一种快速平滑驱动伺服电动机的闭环控制系统及方法 - Google Patents
一种快速平滑驱动伺服电动机的闭环控制系统及方法 Download PDFInfo
- Publication number
- CN103499985B CN103499985B CN201310467744.XA CN201310467744A CN103499985B CN 103499985 B CN103499985 B CN 103499985B CN 201310467744 A CN201310467744 A CN 201310467744A CN 103499985 B CN103499985 B CN 103499985B
- Authority
- CN
- China
- Prior art keywords
- servomotor
- goal discrepancy
- smooth
- card
- driven
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008569 process Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 8
- 230000003321 amplification Effects 0.000 claims description 4
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003534 oscillatory effect Effects 0.000 description 1
Landscapes
- Control Of Electric Motors In General (AREA)
- Control Of Position Or Direction (AREA)
Abstract
本发明是一种快速平滑驱动伺服电动机的闭环控制系统,机框用来承载伺服电机驱动部件、位置编码器;位置编码器与负载单元相连;平滑驱动代码单元的输入端分别连接用户界面和计数卡的输出端连接;D/A驱动卡的输入端与平滑驱动代码单元的输出端连接;放大电路的输入端与D/A驱动卡的输出端连接;伺服电机驱动部件的输入端与放大电路的输出端连接;机框的输入端与伺服电机驱动部件的输出端连接;负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端;位置编码器的输入端与负载单元的输出端刚性连接;工控机中计数卡的输入端与位置编码器的输出端连接。本发明还提供一种快速平滑驱动伺服电动机的闭环控制方法。
Description
技术领域
本发明属于电机控制技术领域,涉及一种快速平滑驱动伺服电动机的闭环控制系统及方法,控制电机快速平滑到位的方法,应用在快速扫描测量及运动过程中需要多次停顿进行图像获取或零部件抓取等场合。
背景技术
在伺服电机驱动部件和编码器构成的闭环控制系统中,总是存在要求电机由当前位置运动到某一目标位置(位置由编码器指示)的情况。比较简单的做法是启动电机,接下来不断比较编码器当前示值与目标位置的差异(为方便起见此差异本文定义为目标差d),以决定加速、减速或是停止,速度往往是一系列的常数,这种做法虽然简单,但不能充分利用控制系统的各种信息。再有就是PID控制算法,这种算法有其优点而应用比较广泛,不足是PID控制往往会在接近目标位置的情况出现振荡,积分和微分环节带来大的计算量,积分环节会降低响应速度。
发明内容
为了解决快速平滑驱动电机的技术问题,本发明的目的是提供一种快速平滑驱动电机的方法,在不断接近目标位置的过程中用合适的速度匹配不同阶段,也就是确定一个目标差与速度之间的函数,并通过调整函数的系数得出最适合特定系统的速度函数,能够解决快速且平滑驱动的问题。
本发明解决其技术问题所采用的技术方案是:
本发明的第一方面,提供一种快速平滑驱动伺服电动机的闭环控制系统,所述闭环控制系统包括:工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元,其中:平滑驱动代码单元运行于工控机中;工控机中所安装有述D/A驱动卡、计数卡、平滑驱动代码单元和用户界面;机框用来承载伺服电机驱动部件、位置编码器;位置编码器与负载单元相连,用来指示负载单元的运动位置;平滑驱动代码单元的输入端分别连接用户界面的输出端和计数卡的输出端连接;D/A驱动卡的输入端与平滑驱动代码单元的输出端连接;放大电路的输入端与D/A驱动卡的输出端连接;所述的放大电路将D/A驱动卡输出的电压信号进行功率放大,用于对伺服电机驱动部件中的伺服电机进行驱动;伺服电机驱动部件的输入端与放大电路的输出端连接;机框的输入端与伺服电机驱动部件的输出端连接;负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端;位置编码器的输入端与负载单元的输出端刚性连接;工控机中计数卡的输入端与位置编码器的输出端连接。
本发明的第二方面,提供一种快速平滑驱动伺服电动机的闭环控制方法,利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统平滑驱动伺服电动机的步骤包括:
步骤A:通过组合调整运动系统的速度函数的系数的确定由伺服电机、位置编码器、机框和负载单元构成的运动系统的速度函数;
步骤B:运动系统的速度函数对应目标差在行程的前半段(r>d≥r/2)和后半段(0<d<r/2)分别对应伺服电机的加速过程和减速过程;
步骤C:利用速度函数f(d)生成平滑驱动代码单元并运行于工控机中,所述速度函数f(d)的表现形式为:
其中:Dk为速度升程系数,Uk为速度降程系数,r为伺服电机要运动的行程,d为目标差,dc为初速度系数,ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数、di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数。
本发明的第三方面,提供一种快速平滑驱动伺服电动机的闭环控制方法,利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统平滑驱动伺服电动机的步骤包括:
步骤S1:通过用户界面输入目标值T到位误差;
步骤S2:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值;
步骤S3:计算负载单元要运动的行程r=|T-Ec|,其中T为目标值,编码器值Ec;
步骤S4:进入驱动控制循环步骤S4到S14,重新获取编码器值;
步骤S5:计算目标差;
步骤S6:判断目标差是否小于到位误差,当目标差大于期望值时,则利用计算速度函数f(d)计算目标差,执行步骤S7;当目标差小于到位误差时,结束驱动控制循环;
步骤S7:计算速度升程系数Dk=2/r(da-db)(d-2/r)+db,其中r是伺服电机10要运动的行程,da为目标差d等于r时的Dk的值、db为目标差d等于半行程r/2处的Dk的值;
步骤S8:计算速度降程系数Uk=2/r(ub-ua)d+ua,其中ua为目标差d为0处的Uk值、ub为目标差d等于半行程r/2处的Uk的值;
步骤S9:判断目标差在行程r的前半段r>d≥r/2,则执行步骤S10;判断目标差d在行程r的后半段0<d<r/2,则执行步骤S11;
步骤S10:计算目标差d在行程r的前半段的速度函数f(d)如下表示:
其中:dc为初速度系数;di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数;ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数;
步骤S11:计算目标差在行程的后半段速度函数f(d)如下表示:
步骤S12:通过D/A驱动卡将数字格式的速度函数转换成驱动电压V;
步骤S13:通过D/A驱动卡的驱动电压V经放大电路驱动伺服电机驱动部件转动来带动机框和负载单元;
步骤S14:间隔等待时间t后,执行步骤S4再进入驱动控制循环,直到目标差d小于到位误差lim时结束对伺服电动机的平滑驱动。
本发明的有益效果:本发明的快速平滑驱动伺服电动机的闭环控制系统及方法,用于控制电机快速平滑到位,本发明采用基于幂函数的速度函数来驱动电机,解决了通常的PID控制算法中的积分和微分环节带来大的计算量,以及积分环节对响应速度的影响,实现快速启动、运动过程中平滑驱动,速度在目标位置缓变到0,避免过冲引起振荡的技术效果。应用在快速扫描测量及运动过程中需要多次停顿进行图像获取或零部件抓取等场合。
附图说明
图1为本发明的伺服电机和编码器构成的闭环控制系统;
图2为本发明平滑驱动电机的驱动流程图;
图3为本发明的速度函数理想曲线;
图4为本发明的速度函数的速度升程系数曲线;
图5为本发明的速度函数的速度降程系数曲线;
图6为本发明选定的一组参数对应的实测速度函数曲线。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如图1是本发明伺服电机和编码器构成的闭环控制系统0,所述系统包括:工控机1、D/A驱动卡2、放大电路3、伺服电机驱动部件4、机框5、位置编码器6、计数卡7、平滑驱动代码单元8、用户界面9、伺服电机10、运动副11和负载单元12,由伺服电机10和位置编码器6所参与的闭环驱动控制系统0通常由以下部分组成:机框5用来承载伺服电机驱动部件4、位置编码器6等,伺服电机驱动部件4由伺服电机10和相应的传动系统比如涡轮蜗杆副或齿轮副等运动副11构成,运动副11与负载单元12连接,运动副11带动负载单元12运动,位置编码器6与负载单元12相连,用来指示负载单元12的运动位置Ec。D/A驱动卡2、计数卡7、平滑驱动代码单元8和用户界面9安装于工控机1中,平滑驱动代码单元8的输入端分别连接用户界面9的输出端和计数卡7的输出端连接,平滑驱动代码单元8的输出端与D/A驱动卡2的输入端连接。以本发明的方法为基础设计的软件生成的可执行程序称作平滑驱动代码单元8,平滑驱动代码单元8运行于工控机1中,平滑驱动代码单元8从用户界面9获得目标值T和到位误差lim,平滑驱动代码单元8按照图2所示的流程图进行操作直到目标差d小于到位误差lim时结束驱动。放大电路3的输入端与D/A驱动卡2的输出端连接;伺服电机驱动部件4的输入端与放大电路3的输出端连接;机框5的输入端与伺服电机驱动部件4的输出端连接;负载单元12的输入端连接机框5的输出端和伺服电机驱动部件4中运动副11的输出端;负载单元12的输出端与位置编码器6的输入端刚性连接;位置编码器6的输出端与伺服电机驱动部件4中计数卡7的输入端连接;所述的放大电路3的作用是将D/A驱动卡2输出的电压信号进行功率放大,用于对伺服电机驱动部件4进行驱动。闭环控制系统0的工作过程如下:用户由用户界面9输入目标值T和到位误差lim,平滑驱动代码单元8从用户界面9获得目标值T和到位误差lim,进入驱动控制循环CL:由位置编码器6获取负载单元12的位置,并传递给工控机1的计数卡7,平滑驱动代码单元8从工控机1的操作系统读取编码器值Ec,判断目标差d是否小于到位误差lim,小于到位误差lim就退出循环结束驱动过程,否则执行以下操作:通过D/A驱动卡2将数字格式的速度函数f(d)转换成实际的驱动电压V=pf(d),其中p为由数字量转化为驱动电压的转换因子;驱动电压V经过放大电路3对伺服电机驱动部件4进行驱动,使伺服电机10带动运动副11,运动副11带动机框5上的负载单元12运动,负载单元12与位置编码器6刚性连接,使得负载单元12的位置直接反映给位置编码器6,进入上述判断环节,直到目标差d是否小于到位误差lim结束对伺服电机10的平滑驱动过程。
利用图1示出的伺服电机和编码器构成的闭环控制系统实现的图2本发明的平滑驱动电机方法步骤包括:利用由工控机1、D/A驱动卡2、放大电路3、伺服电机驱动部件4、机框5、位置编码器6、计数卡7、平滑驱动代码单元8、用户界面9、伺服电机10、运动副11和负载单元12组成的平滑驱动伺服电动机的闭环控制系统平滑驱动伺服电动机的步骤包括:
步骤A:通过组合调整运动系统的速度函数的系数的确定由伺服电机10、位置编码器6、机框5和负载单元12构成的运动系统的速度函数;
步骤B:运动系统的速度函数对应目标差在行程的前半段(r>d≥r/2)和后半段(0<d<r/2)分别对应伺服电机10的加速过程和减速过程;
步骤C:利用速度函数f(d)生成平滑驱动代码并运行于工控机1中,所述速度函数f(d)的表现形式为:
其中:Dk为速度升程系数,Uk为速度降程系数,r为伺服电机要运动的行程,d为目标差,dc为初速度系数,ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数、di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数。
上述利用速度函数f(d)生成平滑驱动代码运行于工控机1,经历以下步骤与图2示出的一种快速平滑驱动伺服电动机的闭环控制方法相同不再赘述。
图2示出的一种快速平滑驱动伺服电动机的闭环控制方法,利用图1示出的快速平滑驱动伺服电动机闭环控制系统实现平滑驱动伺服电动机的步骤包括:
步骤S1:从用户界面9获得目标值T和到位误差lim;
步骤S2:由位置编码器6获取负载单元12的位置,并传递给工控机1的计数卡7,平滑驱动代码单元8从工控机1的操作系统读取编码器值Ec;
步骤S3:计算负载单元12要运动的行程r=|T-Ec|,其中T为目标值,编码器值Ec;
步骤S4:接下来进入驱动控制循环CL包括步骤S4到S14,重新获取编码器值Ec;
步骤S5:计算目标差d=|T-Ec|,此处计算与步骤S3不同之处,步骤S3只计算一次用来获得负载单元12要运动的行程r,本步骤在驱动控制循环CL内部,每循环一次就要更新一次;
步骤S6:判断目标差d是否满足到位误差lim的要求,如果目标差d大于期望值lim,利用计算速度函数f(d)计算目标差d,则执行步骤S7,如果目标差d<到位误差lim,退出驱动控制循环CL,结束此次驱动;
步骤S7:计算速度升程系数Dk的方法为:速度升程系数Dk针对目标差d在行程r的前半段(r/2<d≤r)的情况,此过程为加速过程,速度由初速度dc开始在r/2处获得最大速度,用速度升程系数Dk乘幂函数调节速度曲线的变化快慢,速度升程系数Dk的值按公式1:Dk=2/r(da-db)(d-2/r)+db确定,Dk的函数图形如图4所示,da>db则使速度变化随目标差的减小而减慢,反之有相反的趋势;其中da为目标差d等于r时的Dk值、db为目标差d等于半行程r/2处的Dk值。
步骤S8:计算速度降程系数Uk的方法为:速度降程系数Uk针对目标差d在行程r的后半段(0<d≤r/2)的情况,此过程为减速过程,由d=r/2处到在d=0处,速度从最大速度降为0,用速度降程系数Uk乘幂函数调节速度曲线的变化快慢,Uk的值按公式3:Uk=2/r(ub-ua)d+ua确定,其函数图形如图5所示,ua>ub则使速度变化随目标差的减小而减慢,反之有相反的趋势;其中ua为目标差d为0处的Uk值、ub为目标差d等于半行程r/2处的Uk值。
步骤S9:判断当前处于形成目标差d在行程r的前半段还是后半段,如果判断目标差d在行程r是前半段r>d≥r/2,则进入步骤S10,判断目标差d在行程r的后半段0<d<r/2,则进入步骤S11
步骤S10:计算目标差d在行程r的前半段的速度函数f(d)由公式4表示: 其中:dc为初速度系数,di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数,ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数。
步骤S11:计算目标差d在行程r的后半段速度函数f(d)如下表示:
步骤S12:通过D/A驱动卡2将数字格式的f(d)转换成实际的驱动电压V=pf(d),其中p为由数字量转化为驱动电压的转换因子;
步骤S13:对伺服电机驱动部件4进行驱动的过程为:通过D/A驱动卡2的驱动电压V经过放大电路3对伺服电机驱动部件4进行驱动,伺服电机10带动运动副11,运动副11带动机框5上的负载单元12运动,负载单元12与位置编码器6刚性连接,负载单元12的位置直接反映给位置编码器6,
步骤S14:间隔等待时间t,执行步骤S4再进入驱动控制循环CL,直到目标差d小于到位误差lim时结束对伺服电机的平滑驱动。
图3是速度函数f(d)的图形表示,表明了速度函数的建立原则,该原则是:
1)为了保证运动过程的平滑,函数要连续;
2)为了快速启动,需具有一个初速度dc;
3)避免过冲引起振荡,速度在目标位置缓变到0。
初速度dc,对应第二个原则,为了确保能够快速启动;为了快速驱动,在行程r的中间速度达到最大值,避免过冲引起的振荡,在行程的后半段速度逐渐减小直到目标位置缓变到0,整个函数是连续函数。
图4速度升程系数Dk计算的图形表示,以幂函数为基础建立数学模型,负载单元12要运动的行程为r,目标差d在行程r的前半段(r>d≥r/2)的情况即:目标差d在行程的前半段(r>d≥r/2)时为加速过程,速度由初速度dc开始在r/2处获得最大速度,用速度升程系数Dk乘幂函数调节速度曲线的变化快慢,Dk的值由公式(1)确定:
Dk=2/r(da-db)(d-2/r)+db(1)
当d=r时,Dk=da当d=r/2时,Dk=db;
速度函数f(d)由公式(2)表示:
其中r/2<d≤r。
图5速度降程系数Uk计算的图形表示,目标差d在行程的前半段(r/2>d≥0)时为减速过程,速度由r/2处的最大速度到d=0时降为0,用速度降程系数Uk乘幂函数调节速度曲线的变化快慢,Uk的值由公式(3)确定:
Uk=2/r(ub-ua)d+ua(3)
当d=r/2时,Uk=ub当d=0时,Uk=ua,速度函数f(d)由公式(4)表示:
其中0<d≤r/2。
为了使整个行程内速度曲线连续,将公式2变形为公式5表示:
综合起来速度函数由公式6表示为:
应用本发明的速度函数f(d)生成平滑驱动代码运行于工控机1中,通过用户界面9输入目标值T,目标值T传递给平滑驱动代码单元8,平滑驱动代码从位置编码器6经过计数卡7获取编码器值C,计算行程r,进入驱动控制循环CL,当目标差d小于到位误差lim时结束驱动,当目标差d大于期望值lim时不断利用公式6计算速度函数f(d),并将速度函数转换成驱动电压V,通过D/A驱动卡2和放大电路3伺服电机驱动部件4转动来带动机框5和负载单元12,间隔等待时间t后,平滑驱动代码单元8又重新获取编码器值C,然后进入新一轮驱动循环直到目标差d小于到位误差lim时结束驱动。
附表1给出的4组参数ui、ua、ub、di、da、db、dc的组合,其中ui表示为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数、ua表示为目标差d为0处的Uk值、ub表示为目标差d等于半行程r/2处的Uk值、di表示为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数、da表示为目标差d等于r时的Dk值、db表示为目标差d等于半行程r/2处的Dk值、dc表示为初速度。Dk为速度升程系数,Uk速度降程系数。
图6是第4组参数组合确定的速度函数实测的驱动效果,可以看出速度很快达到最大值,超过行程的前半段后速度逐渐下降并最终趋于0,没有出现过冲振荡现象,实现了快速平滑驱动电机。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内。
Claims (15)
1.一种快速平滑驱动伺服电动机的闭环控制方法,其特征在于:利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统来平滑驱动伺服电动机的步骤包括:
步骤A:通过组合调整运动系统的速度函数的系数的确定由伺服电机、位置编码器、机框和负载单元构成的运动系统的速度函数;
步骤B:运动系统的速度函数对应目标差在行程的前半段(r>d≥r/2)和后半段(0<d<r/2)分别对应伺服电机的加速过程和减速过程;
步骤C:利用速度函数f(d)生成平滑驱动代码单元并运行于工控机中,所述速度函数f(d)的表现形式为:
其中:Dk为速度升程系数,Uk为速度降程系数,r为伺服电机要运动的行程,d为目标差,de为初速度系数,ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数、di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数。
2.根据权利要求1所述的闭环控制方法,其特征在于:利用速度函数f(d)生成平滑驱动代码运行于工控机,经历以下步骤:
步骤C1:通过用户界面输入目标值T到位误差;
步骤C2:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值;
步骤C3:计算负载单元要运动的行程r=|T-Ec|,其中T为目标值,编码器值Ec;
步骤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,其中u a为目标差d为0处的Uk值、ub为目标差d等于半行程r/2处的Uk的值;
步骤C9:判断目标差d在行程r的前半段r>d≥r/2,则执行步骤S10;判断目标差d在行程r的后半段0<d<r/2,则执行步骤S11;
步骤C10:计算目标差d在行程r的前半段的速度函数f(d)如下表示:
其中:de为初速度系数;di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数;ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数;
步骤C11:计算目标差d在行程r的后半段速度函数f(d)如下表示:
步骤C12:通过D/A驱动卡将数字格式的速度函数转换成驱动电压V;
步骤C13:通过D/A驱动卡的驱动电压V经放大电路驱动伺服电机驱动部件转动来带动机框和负载单元;
步骤C14:间隔等待时间t后,执行步骤C4再进入驱动控制循环,直到目标差d小于到位误差lim时结束对伺服电机的平滑驱动。
3.根据权利要求1所述的快速平滑驱动伺服电动机的闭环控制方法,其特征在于:所述运动系统的速度由初速度系数dc开始在r/2处获得最大速度,用速度升程系数Dk乘幂函数调节速度曲线的变化快慢。
4.根据权利要求1所述的快速平滑驱动伺服电动机的闭环控制方法,其特征在于:所述运动系统的速度由r/2处的最大速度到d=0时降为0,用速度降程系数Uk乘幂函数调节速度曲线的变化快慢,当d=r/2时,Uk=ub;当d=0时,Uk=ua。
5.一种使用权利要求1所述方法的快速平滑驱动伺服电动机的闭环控制系统,其特征在于,所述闭环控制系统包括:工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元,其中:
平滑驱动代码单元运行于工控机中;
工控机中所安装有述D/A驱动卡、计数卡、平滑驱动代码单元和用户界面;
机框用来承载伺服电机驱动部件、位置编码器;
位置编码器与负载单元相连,用来指示负载单元的运动位置;
平滑驱动代码单元的输入端分别连接用户界面的输出端和计数卡的输出端连接;
D/A驱动卡的输入端与平滑驱动代码单元的输出端连接;
放大电路的输入端与D/A驱动卡的输出端连接;所述的放大电路将D/A驱动卡输出的电压信号进行功率放大,用于对伺服电机驱动部件中的伺服电机进行驱动;
伺服电机驱动部件的输入端与放大电路的输出端连接;
机框的输入端与伺服电机驱动部件的输出端连接;
负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端;
位置编码器的输入端与负载单元的输出端刚性连接;
工控机中计数卡的输入端与位置编码器的输出端连接。
6.根据权利要求5所述的闭环控制系统,其特征在于,所述伺服电机驱动部件由伺服电机和运动副构成,运动副与负载单元连接,运动副带动负载单元运动。
7.根据权利要求5所述的闭环控制系统,其特征在于,所述平滑驱动代码单元从用户界面获得目标值和到位误差,并使目标差小于到位误差时结束对伺服电机的驱动。
8.根据权利要求5所述的闭环控制系统,其特征在于,通过所述用户界面输入目标值和到位误差,平滑驱动代码单元从用户界面获得目标值和到位误差,进入驱动控制循环:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值,判断目标差是否小于到位误差,小于到位误差就退出循环结束驱动过程,否则执行以下操作:通过D/A驱动卡将数字格式的速度函数转换成实际的驱动电压;驱动电压经过放大电路对伺服电机驱动部件进行驱动,使伺服电机带动运动副,运动副带动机框上的负载单元运动,负载单元的位置直接反映给位置编码器,进入上述判断环节,直到目标差是否小于到位误差结束对伺服电机的驱动过程。
9.一种快速平滑驱动伺服电动机的闭环控制方法,其特征在于:利用由工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元组成的平滑驱动伺服电动机的闭环控制系统平滑驱动伺服电动机的步骤包括:
步骤S1:通过用户界面输入目标值T到位误差;
步骤S2:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值;
步骤S3:计算负载单元要运动的行程r=|T-Ec|,其中T为目标值,编码器值Ec;
步骤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为0处的Uk值、ub为目标差d等于半行程r/2处的Uk的值;
步骤S9:判断目标差在行程r的前半段r>d≥r/2,则执行步骤S10;判断目标差d在行程r的后半段0<d<r/2,则执行步骤S11;
步骤S10:计算目标差d在行程r的前半段的速度函数f(d)如下表示:
其中:de为初速度系数;di为目标差d在行程r的前半段(r/2<d≤r)的情况时的冪指数;ui为目标差d在行程r的后半段(0<d≤r/2)的情况时的冪指数;
步骤S11:计算目标差在行程的后半段速度函数f(d)如下表示:
步骤S12:通过D/A驱动卡将数字格式的速度函数转换成驱动电压V;
步骤S13:通过D/A驱动卡的驱动电压V经放大电路驱动伺服电机驱动部件转动来带动机框和负载单元;
步骤S14:间隔等待时间t后,执行步骤S4再进入驱动控制循环,直到目标差d小于到位误差lim时结束对伺服电动机的平滑驱动。
10.根据权利要求9所述的快速平滑驱动伺服电动机的闭环控制方法,其特征在于:所述运动系统的速度由初速度系数dc开始在r/2处获得最大速度,用速度升程系数Dk乘幂函数调节速度曲线的变化快慢。
11.根据权利要求9所述的快速平滑驱动伺服电动机的闭环控制方法,其特征在于:所述运动系统的速度由r/2处的最大速度到d=0时降为0,用速度降程系数Uk乘幂函数调节速度曲线的变化快慢,当d=r/2时,Uk=ub;当d=0时,Uk=ua。
12.一种使用权利要求9所述方法的快速平滑驱动伺服电动机的闭环控制系统,其特征在于,所述闭环控制系统包括:工控机、D/A驱动卡、放大电路、伺服电机驱动部件、机框、位置编码器、计数卡、平滑驱动代码单元、用户界面、伺服电机、运动副和负载单元,其中:
平滑驱动代码单元运行于工控机中;
工控机中所安装有述D/A驱动卡、计数卡、平滑驱动代码单元和用户界面;
机框用来承载伺服电机驱动部件、位置编码器;
位置编码器与负载单元相连,用来指示负载单元的运动位置;
平滑驱动代码单元的输入端分别连接用户界面的输出端和计数卡的输出端连接;
D/A驱动卡的输入端与平滑驱动代码单元的输出端连接;
放大电路的输入端与D/A驱动卡的输出端连接;所述的放大电路将D/A驱动卡输出的电压信号进行功率放大,用于对伺服电机驱动部件中的伺服电机进行驱动;
伺服电机驱动部件的输入端与放大电路的输出端连接;
机框的输入端与伺服电机驱动部件的输出端连接;
负载单元的输入端连接机框的输出端和伺服电机驱动部件中运动副的输出端;
位置编码器的输入端与负载单元的输出端刚性连接;
工控机中计数卡的输入端与位置编码器的输出端连接。
13.根据权利要求12所述的闭环控制系统,其特征在于,所述伺服电机驱动部件由伺服电机和运动副构成,运动副与负载单元连接,运动副带动负载单元运动。
14.根据权利要求12所述的闭环控制系统,其特征在于,所述平滑驱动代码单元从用户界面获得目标值和到位误差,并使目标差小于到位误差时结束对伺服电机的驱动。
15.根据权利要求12所述的闭环控制系统,其特征在于,通过所述用户界面输入目标值和到位误差,平滑驱动代码单元从用户界面获得目标值和到位误差,进入驱动控制循环:由位置编码器获取负载单元的位置,并传递给工控机的计数卡,平滑驱动代码单元从工控机的操作系统读取编码器值,判断目标差是否小于到位误差,小于到位误差就退出循环结束驱动过程,否则执行以下操作:通过D/A驱动卡将数字格式的速度函数转换成实际的驱动电压;驱动电压经过放大电路对伺服电机驱动部件进行驱动,使伺服电机带动运动副,运动副带动机框上的负载单元运动,负载单元的位置直接反映给位置编码器,进入上述判断环节,直到目标差是否小于到位误差结束对伺服电机的驱动过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310467744.XA CN103499985B (zh) | 2013-10-09 | 2013-10-09 | 一种快速平滑驱动伺服电动机的闭环控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310467744.XA CN103499985B (zh) | 2013-10-09 | 2013-10-09 | 一种快速平滑驱动伺服电动机的闭环控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103499985A CN103499985A (zh) | 2014-01-08 |
CN103499985B true CN103499985B (zh) | 2016-07-06 |
Family
ID=49865205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310467744.XA Active CN103499985B (zh) | 2013-10-09 | 2013-10-09 | 一种快速平滑驱动伺服电动机的闭环控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103499985B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106444366A (zh) * | 2015-08-04 | 2017-02-22 | 深圳市雷赛智能控制股份有限公司 | 一种电机的运动控制方法及装置 |
CN110865663B (zh) * | 2019-12-05 | 2022-11-15 | 成都圭目机器人有限公司 | 一种新型的应用于四转四驱轮式机器人的速度补偿转矩平衡控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001296912A (ja) * | 2000-04-14 | 2001-10-26 | Seiko Epson Corp | モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置 |
CN2635477Y (zh) * | 2003-06-21 | 2004-08-25 | 彭传水 | 微机控制铁路车辆车轮组装机 |
CN1952819A (zh) * | 2005-10-17 | 2007-04-25 | 中国科学院沈阳计算技术研究所有限公司 | 数控机床模糊pid控制方法及实现装置 |
CN101782760A (zh) * | 2009-01-21 | 2010-07-21 | 苏州御能动力科技有限公司 | 由自动伺服控制器控制的电脑横机的防抖动控制方法 |
CN101944873A (zh) * | 2010-09-17 | 2011-01-12 | 中国科学院上海技术物理研究所 | 一种步进电机加减速的控制方法 |
CN102522944A (zh) * | 2011-12-29 | 2012-06-27 | 一重集团大连设计研究院有限公司 | 一种用于伺服压力机的伺服电机加减速控制方法 |
CN102632637A (zh) * | 2012-04-11 | 2012-08-15 | 济南二机床集团有限公司 | 一种伺服电机驱动的压力机 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09313000A (ja) * | 1996-05-22 | 1997-12-02 | Alps Electric Co Ltd | ステッピングモータの駆動方法 |
JPH10320028A (ja) * | 1997-05-15 | 1998-12-04 | Yaskawa Electric Corp | 垂直軸の加減速時間設定機能を有する数値制御装置 |
-
2013
- 2013-10-09 CN CN201310467744.XA patent/CN103499985B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001296912A (ja) * | 2000-04-14 | 2001-10-26 | Seiko Epson Corp | モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置 |
CN2635477Y (zh) * | 2003-06-21 | 2004-08-25 | 彭传水 | 微机控制铁路车辆车轮组装机 |
CN1952819A (zh) * | 2005-10-17 | 2007-04-25 | 中国科学院沈阳计算技术研究所有限公司 | 数控机床模糊pid控制方法及实现装置 |
CN101782760A (zh) * | 2009-01-21 | 2010-07-21 | 苏州御能动力科技有限公司 | 由自动伺服控制器控制的电脑横机的防抖动控制方法 |
CN101944873A (zh) * | 2010-09-17 | 2011-01-12 | 中国科学院上海技术物理研究所 | 一种步进电机加减速的控制方法 |
CN102522944A (zh) * | 2011-12-29 | 2012-06-27 | 一重集团大连设计研究院有限公司 | 一种用于伺服压力机的伺服电机加减速控制方法 |
CN102632637A (zh) * | 2012-04-11 | 2012-08-15 | 济南二机床集团有限公司 | 一种伺服电机驱动的压力机 |
Also Published As
Publication number | Publication date |
---|---|
CN103499985A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104238361B (zh) | 电机伺服系统自适应鲁棒位置控制方法与系统 | |
CN110077028B (zh) | 伺服压力机全闭环非线性预测控制方法与系统 | |
CN103684193A (zh) | 一种交流伺服系统控制器参数整定方法 | |
CN103701368A (zh) | 双电机节能消隙控制方法 | |
CN108227756A (zh) | 一种高精度阀门控制方法 | |
CN106707753A (zh) | 一种泵用直线电机自适应控制方法 | |
CN103499985B (zh) | 一种快速平滑驱动伺服电动机的闭环控制系统及方法 | |
CN105191116A (zh) | 电动机驱动装置 | |
KR101250809B1 (ko) | 원자로 냉각재평균온도 및 출력분포 제어를 위한 자동원자로제어계통 | |
CN105182744A (zh) | 纳米定位系统的抗干扰控制方法 | |
CN103296940A (zh) | 一种自适应pi控制方法与系统 | |
CN104199299A (zh) | 燃气轮机负荷调节性能的多变量受限广义预测控制方法 | |
CN102672926A (zh) | 电控注塑机的熔胶背压控制系统及方法 | |
CN102873106B (zh) | 一种平整机延伸率快速精确控制方法 | |
CN104022701A (zh) | 一种永磁同步直线电机牛顿法内模速度控制方法 | |
US10216891B2 (en) | Method and apparatus for supporting design improvement work of mechanical apparatus | |
CN111610752B (zh) | 一种基于伺服进给系统衰放倍率的插补指令评价方法 | |
CN110561823B (zh) | 一种伺服压力机滑块位置偏差在线自动修正方法 | |
CN111451480B (zh) | 压铸机的电调阀控制方法、装置、设备及压铸机 | |
CN103684170A (zh) | 一种永磁同步直线电机弦截法内模位置控制方法 | |
CN210190730U (zh) | 伺服压力机全闭环非线性预测控制系统 | |
CN112697426A (zh) | 基于线性回归拟合提高液粘调速离合器调速准确度的方法 | |
CN105569895A (zh) | 一种电控喷射系统及其控制方法 | |
CN102647130A (zh) | 永磁同步直线电机的控制方法 | |
CN110815928B (zh) | 一种伺服压力机的非线性压力位置控制装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |