一种基于电机控制指令曲线的电机控制方法

文档序号:786438 发布日期:2021-04-09 浏览:6次 >En<

阅读说明:本技术 一种基于电机控制指令曲线的电机控制方法 (Motor control method based on motor control instruction curve ) 是由 周成森 于 2020-12-17 设计创作,主要内容包括:本发明涉及一种基于电机控制指令曲线的电机控制方法,包括以下步骤:确定控制过程中电压趋势以及电压峰值和电压谷值;建立直角坐标系,其中直角坐标系的x轴为时间,y轴为电压,并根据确定的电压趋势将确定的电压峰值和电压谷值放入所述直角坐标系中,得到各个电压峰值和电压谷值的坐标;在电压峰值和电压谷值处做三次样条插值,消除折点,得到最终曲线;根据最终曲线对电机进行控制。本发明可以通过少量顶点坐标构造整个指令曲线,且曲线不存在折点,减小了特定工况对电机的影响。(The invention relates to a motor control method based on a motor control instruction curve, which comprises the following steps: determining a voltage trend, a voltage peak value and a voltage valley value in the control process; establishing a rectangular coordinate system, wherein the x axis of the rectangular coordinate system is time, the y axis of the rectangular coordinate system is voltage, and the determined voltage peak value and voltage valley value are put into the rectangular coordinate system according to the determined voltage trend to obtain the coordinates of each voltage peak value and voltage valley value; performing cubic spline interpolation at the voltage peak value and the voltage valley value to eliminate break points and obtain a final curve; and controlling the motor according to the final curve. The invention can construct the whole command curve through a small amount of vertex coordinates, and the curve has no break point, thereby reducing the influence of specific working conditions on the motor.)

一种基于电机控制指令曲线的电机控制方法

技术领域

本发明涉及电机运动控制技术领域,特别是涉及一种基于电机控制指令曲线的电机控制方法。

背景技术

在汽车电子领域的自动化测试和控制过程中,经常需要控制电机按特定速度或扭矩转动,实际工程应用中,控制电机是通过向电机持续输出电压来实现的,输出电压的时间间隔为1ms或者更小,所以在整个测试或控制过程中,电压的数据量是非常巨大的,如果逐点指定电压值,工作量将会大大增加。此外当需要控制电机的速度匀速上升和下降时,指令曲线中会出现折点,折点处的加速度会发生急剧变化,这对于电机和系统都是非常不利的。

发明内容

本发明所要解决的技术问题是提供一种基于电机控制指令曲线的电机控制方法,可以通过少量顶点坐标构造整个指令曲线,且曲线不存在折点,减小了特定工况对电机的影响。

本发明解决其技术问题所采用的技术方案是:提供一种基于电机控制指令曲线的电机控制方法,包括以下步骤:

(1)确定控制过程中电压趋势以及电压峰值和电压谷值;

(2)建立直角坐标系,其中直角坐标系的x轴为时间,y轴为电压,并根据确定的电压趋势将确定的电压峰值和电压谷值放入所述直角坐标系中,得到各个电压峰值和电压谷值的坐标;

(3)在相邻点间区间内做一维线性插值,填充曲线坐标;

(4)在电压峰值和电压谷值处做三次样条插值,消除折点,得到最终曲线;

(5)根据最终曲线对电机进行控制。

所述步骤(3)具体为:连接相邻的两个点,设相邻两个点的坐标分别为(x1,y1)和(x2,y2),在[x1,x2]区间内以1ms为间隔把区间分为(x2-x1)×1000等份,取每等份的端点值xi,对应的yi计算公式为将得到的(xi,yi)补入所述直角坐标系中,使得相邻点的间隔为1ms。

所述步骤(4)具体包括以下子步骤:

(41)确定电压峰值或电压谷值的坐标(x′,y′),设置过渡时间T,计算电压峰值或电压谷值左右两段直线的斜率,分别为k1和k2

(42)计算过渡区间的端点坐标(x′1,y′1)和(x′2,y′2),计算方式为:

(43)在[x′1,x′2]区间内进行三次样条插值,得到样条函数表达式;

(44)在[x′1,x′2]区间内以1ms为间隔把区间分为(x′2-x′1)×1000等份,取每等份的端点值x′i,将ai代入样条函数表达式中,得到一组新的坐标值,用新的坐标值代替步骤(3)中填充的曲线坐标。

所述步骤(43)具体为:设三次样条函数为S(x′)=a+bx′+cx′2+dx′3,首先指定n+1个坐标,共n个区间,n+1个坐标均在样条函数S(x′)上,根据三次样条插值的定义可知,样条函数S(x′)在区间[x′1,x′2]内是分段三次多项式,且S(x′)、导数S′(x′)、二阶导数S″(x′)在区间[x′1,x′2]内连续,则根据其插值和连续性有根据其微分连续性有在n个区间中共有4n个未知数,由以上等式可知,在n个区间内有4n-2个等式,在曲线首尾两端限制其导数值,分别为k1和k2,即根据上述等式能够得到样条函数表达式。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明无需逐点指定曲线坐标,且曲线相邻点的时间间隔小,此外通过样条插值法消除了曲线折点,有效减小了试验工况对系统的影响。

附图说明

图1是本发明的流程图;

图2是本发明实施例中曲线顶点坐标示意图;

图3是本发明实施例中三次样条插值后的曲线图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种基于电机控制指令曲线的电机控制方法,如图1所示,包括以下步骤:

(1)确定控制过程中电压趋势以及电压峰值和电压谷值;

(2)建立直角坐标系,其中直角坐标系的x轴为时间,y轴为电压,并根据确定的电压趋势将确定的电压峰值和电压谷值放入所述直角坐标系中,得到各个电压峰值和电压谷值的坐标;

(3)在相邻点间区间内做一维线性插值,填充曲线坐标;具体为:连接相邻的两个点,设相邻两个点的坐标分别为(x1,y1)和(x2,y2),在[x1,x2]区间内以1ms为间隔把区间分为(x2-x1)×1000等份,取每等份的端点值xi,对应的yi计算公式为将得到的(xi,yi)补入所述直角坐标系中,使得相邻点的间隔为1ms

(4)在电压峰值和电压谷值处做三次样条插值,消除折点,得到最终曲线,具体包括以下子步骤:

(41)确定电压峰值或电压谷值的坐标(x′,y′),设置过渡时间T,计算电压峰值或电压谷值左右两段直线的斜率,分别为k1和k2

(42)计算过渡区间的端点坐标(x′1,y′1)和(x′2,y′2),计算方式为:

(43)在[x′1,x′2]区间内进行三次样条插值,得到样条函数表达式;具体为:设三次样条函数为S(x′)=a+bx′+cx′2+dx′3,首先指定n+1个坐标,共n个区间,n+1个坐标均在样条函数S(x′)上,根据三次样条插值的定义可知,样条函数S(x′)在区间[x′1,x′2]内是分段三次多项式,且S(x′)、导数S′(x′)、二阶导数S″(x′)在区间[x′1,x′2]内连续,则根据其插值和连续性有根据其微分连续性有在n个区间中共有4n个未知数,由以上等式可知,在n个区间内有4n-2个等式,在曲线首尾两端限制其导数值,分别为k1和k2,即根据上述等式能够得到样条函数表达式。

(44)在[x′1,x′2]区间内以1ms为间隔把区间分为(x′2-x′1)×1000等份,取每等份的端点值x′i,将ai代入样条函数表达式中,得到一组新的坐标值,用新的坐标值代替步骤(3)中填充的曲线坐标。

(5)根据最终曲线对电机进行控制。

下面通过一个具体的实例来进一步说明本发明。

(1)确定控制过程中电压趋势以及电压峰值和电压谷值,该控制过程中电压峰值包括两个,均为30;电压谷值也包括两个,一个为20,另一个为10。

(2)建立直角坐标系,该直角坐标系的x轴为时间,单位为秒,y轴为电压,根据控制过程中电压趋势确定各个电压峰值和电压谷值的坐标,得到五个顶点坐标。如图2所示,曲线五个顶点坐标分别为(0,0),(10,30),(20,20),(30,30)和(50,10)。

(2)在相邻两个顶点区间内做一维线性插值,填充曲线坐标,一维线性插值方法如下:

连接点(0,0),(10,30),在[0,10]区间内以1ms为间隔把区间分为10000等份,取每等份的端点值xi,对应的yi=3xi

连接点(10,30),(20,20),在[10,20]区间内以1ms为间隔把区间分为10000等份,取每等份的端点值xi,对应的yi=-xi+40。

连接点(20,20),(30,30),在[20,30]区间内以1ms为间隔把区间分为10000等份,取每等份的端点值xi,对应的yi=xi

连接点(30,30),(50,10),在[30,50]区间内以1ms为间隔把区间分为20000等份,取每等份的端点值xi,对应的yi=-xi+60。

按照上述方法将整段曲线补充完整,完成后相邻两点时间间隔均为1ms。

(3)在顶点(10,30)处做三次样条插值,步骤如下:

①设置过渡时间为2s,计算顶点(10,30)左右两端直线的斜率,分别为3和-1。

②计算过渡区间端点坐标,分别为(9,27)和(11,29)。

③在区间[9,11]内进行三次样条插值,计算样条函数表达式,设三次样条函数为S(x′)=a+bx′+cx′2+dx′3;三次样条插值方法如下:

首先指定(9,27),(10,29.5),(11,29)3个坐标,共有两个区间,则样条函数为两段,设第一段为S1(x′),第二段为S2(x′),根据样条函数特性可解出S1(x′)=27+3(x′-9)+0.5(x′-9)2-(x′-9)3,S2(x′)=29.5+(x′-10)-2.5(x′-10)2+(x′-10)3

④在区间[9,11]内以1ms为间隔把区间分为2000等份,取每等份的端点值x′i,将x′i代入样条函数S(x′)中,得到一组新的坐标值,用新的坐标值代替区间[9,11]内原有的坐标值,即可消除折点。

(4)在折点(20,20)处做三次样条插值,步骤如下:

①设置过渡时间2s,计算折点(20,20)左右两段直线的斜率,分别为-1,1。

②计算过渡区间端点坐标,分别为(19,21),(21,21)。

③在区间[19,21]内进行三次样条插值,计算样条函数表达式,设三次样条函数为S(x′)=a+bx′+cx′2+dx′3;三次样条插值方法如下:

首先指定(19,21),(20,20.5),(21,21)3个坐标,共有两个区间,则样条函数为两段,设第一段为S1(x′),第二段为S2(x′),根据样条函数特性可解出S1(x′)=21-(x′-19)+0.5(x′-19)2-3.3307E-16(x′-19)3,S2(x′)=20.5+4.5899E-17(x′-20)-2.5(x′-20)2-2.2204E-16(x′-20)3

④在区间[19,21]内以1ms为间隔把区间分为2000等份,取每等份的端点值x′i,将x′i代入样条函数S(x′)中,得到一组新的坐标值,用新的坐标值代替区间[19,21]内原有的坐标值,即可消除折点。

(5)在折点(30,30)处做三次样条插值,步骤如下:

①设置过渡时间2s,计算折点(30,30)左右两段直线的斜率,分别为1,-1。

②计算过渡区间端点坐标,分别为(29,29),(31,29)。

③在区间[29,31]内进行三次样条插值,计算样条函数表达式,设三次样条函数为S(x′)=a+bx′+cx′2+dx′3;三次样条插值方法如下:

首先指定(29,29),(30,29.5),(31,29)3个坐标,共有两个区间,则样条函数为两段,设第一段为S1(x′),第二段为S2(x′),根据样条函数特性可解出S1(x′)=29-(x′-29)-0.5(x′-29)2-3.3307E-16(x′-29)3,S2(x′)=29.5-4.5899E-17(x′-30)-0.5(x′-30)2+2.2204E-16(x′-30)3

④在区间[29,31]内以1ms为间隔把区间分为2000等份,取每等份的端点值x′i,将x′i代入样条函数S(x′)中,得到一组新的坐标值,用新的坐标值代替区间[29,31]内原有的坐标值,即可消除折点。

图3为最终曲线,可以看出相比样条插值之前的曲线,最终曲线消除了折点,且误差较小。控制器可以依据该曲线对电机进行控制来完成测试。

不难发现,本发明无需逐点指定曲线坐标,且曲线相邻点的时间间隔小,此外通过样条插值法消除了曲线折点,有效减小了试验工况对系统的影响。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:伺服驱动控制系统及绝对位置信号处理方法、装置、设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!