S型运行曲线计算方法以及步进电机旋转控制方法与流程

文档序号:11523595阅读:2288来源:国知局
S型运行曲线计算方法以及步进电机旋转控制方法与流程

本发明涉及汽车仪表领域,尤其涉及一种改进s型曲线以及运用该曲线控制汽车仪表步进电机旋转的方法。



背景技术:

步进电机作为数控系统中数模转化的模块,能够将脉冲信号转化为相应的角位移或者其他线性位移。在以仪器仪表为代表的设备中被广泛的应用,其速度与脉冲频率成正比,且无需反馈就能够对位置和速度进行控制,但是步进电机在应用过程中速度控制不合理就会带来抖动、丢步等现象,因此步进电机的运动速度曲线的研究对于减小步进电机的抖动、丢步等问题具有很好的实际意义。

在实际应用中常见的步进电机加减速控制策略有指数曲线、梯形曲线、s型曲线和三角函数曲线,各种速度控制曲线各有特点。例如,在步进电机的控制上三角函数曲线虽然具有良好的系统柔性,但是控制过程相对来讲也更加复杂。s型算法(如图1所示),主要是由于其速度曲线呈s型而来,包含7段:加加速、匀加速、减加速度、匀速、加减速、匀减速和减减速,s型曲线速度不存在突变,从而使被控对象具有快速平稳的特性。s型曲线和三角函数曲线一样能够保证步进电机在运动过程中速度不会发生突变,提高系统的稳定性,但是如果以s型曲线的完整模式即七段式分析,控制过程也相对复杂。

因此,有必要提供一种更加简单、可靠的曲线来控制步进电机的旋转过程。



技术实现要素:

针对上述现有技术中存在的问题,本发明提供了一种改进的s型算法曲线,其将现有的用于控制步进电机旋转的s形曲线的七段式模型简化为四段式,由此减少了控制参数,极大地简化了控制过程;使得能够简单有效的控制步进电机的旋转,并且能够较好的减少仪表指针的抖动问题,具有良好的实际意义。

本发明就上述技术问题而提出的技术方案如下:

一方面,提供了一种控制步进电机旋转的s型运行曲线计算方法,其包括如下步骤:

s1、过程分段:将步进电机的旋转过程分为四段:加加速段、减加速度段、加减速段以及减减速段;

s2、给定参数:确定所述步进电机旋转过程中的初速度v0、总位移s以及整个旋转过程的运行总时间t;

s3、计算加速度以及最大速度:根据公式(1)-(3)计算所述步进电机旋转过程中的加速度a以及最大速度vm,所述公式(1)-(3)分别如下:

其中,sa和sd分别为所述加加速段和减减速段的位移;s为总位移;

s4、计算任意时间点速度:根据所述加速度a以及最大速度vm,按照公式(4)分别计算所述加加速段、减加速度段、加减速段以及减减速段内任意运行时间点的速度v(t),所述公式(4)如下:

其中,所述t1-t4为运行时间点;且t2=2t1,t3=3t1,t4=4t1;

s5、s型运动曲线确定:根据所述速度v(t)以及加速度a确定所述步进电机运动的s型运动曲线,且所述s型运动曲线包括速度曲线。

优选的,所述初速度v0为0;所述运行总时间t为一个命令周期。

另一方面,还提供了一种利用上述s型运动曲线进行步进电机旋转控制的方法,其包括以下步骤:

s100、发布指令:要求所述步进电机在预定时间内正转/反转相应的预设角度;

s200、转动控制:根据所述速度曲线控制所述步进电机完成所述指令。

优选的,步骤s100中,要求所述步进电机在第一预定时间内完成的第一预设角度,以及在所述第二预定时间内完成的第二预设角度;

且步骤s200中包括:

s200a、位移变化判定:对所述第一预设角度以及第二预设角度的差值进行计算,并判断所述差值是否在预设差值范围内;

s200b、速度曲线选定:若所述差值在预设差值范围内,则所述第一预设时间内以及第二预设时间内选用相同的速度曲线控制所述步进电机完成所述指令。

优选的,所述步骤s100与s200之间还包括以下步骤:

s1-1、根据公式(1)-(4)计算出当总位移量s分别为第一位移量s1、第二位移量s2以及第三位移量s3时的速度曲线sx、sy以及sz;

s2-1、设定第一速度差值a、第二速度差值b以及第三速度差值c,且a<b<c;

s3-1、取任意两时间点tn以及tn+1,在所述速度曲线sx上获得对应的速度vx、vx+1;在所述速度曲线sy上获得对应的速度vy、vy+1;以及在所述速度曲线sz上获得对应的速度vz、vz+1;

s4-1、分别计算速度vx与vx+1的变化值|vx-vx+1|、vy与vy+1的变化值|vy-vy+1|以及vz和vz+1的变化值|vz-vz+1|;将三个变化值与所述第一速度差值a、第二速度差值b以及第三速度差值c进行比较;

若变化值中的一个或几个>c,则该变化值对应的曲线上任意两时间点tn以及tn+1之间的速度曲线则认定为高速曲线;

若b<变化值中的一个或几个≤c,则该变化值对应的曲线上任意两时间点tn以及tn+1之间的速度曲线则认定为中速曲线;

若a≤变化值中的一个或几个≤b,则该变化值对应的曲线上任意两时间点tn以及tn+1之间的速度曲线则认定为低速曲线;

且s200中,根据所述s型曲线中的速度曲线根据所述高速曲线和/或中速曲线/低速曲线控制所述步进电机完成所述指令。

优选的,所述第一速度差值a、第二速度差值b以及第三速度差值c分别为0,10和30。

本发明的技术方案具有如下技术效果:

将现有的s形曲线的七段式模型简化为四段式模型,减少了控制参数,极大地简化了控制过程;控制过程中在一定范围内选用相同的速度曲线,大大的简化了主芯片的计算量;将此方法应用在实际汽车液晶仪表项目中,对于仪表指针的抖动现象有了良好的改进,且控制过程简单明了,具有良好的实际意义。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是现有技术中的s型曲线;

图2是本发明实施例一中s型运行曲线计算方法的步骤流程图;

图3是本发明实施例一中的s型运行曲线;

图4是本发明实施例二中的利用上述s型运动曲线进行步进电机旋转控制的步骤流程图;

图5是本发明实施例二中的三命令周期内仿真曲线;

图6是本发明实施例二中的相同速度曲线下不同角度差值速度曲线;

图7是本发明实施例二中生成模拟速度曲线的步骤流程图。

具体实施方式

本发明针对现有技术中存在的缺陷,提供了一种s型运行曲线计算方法以及步进电机旋转控制方法。

实施例一:

图2示出了该控制步进电机旋转的s型运行曲线计算方法的计算步骤:

s1、过程分段:在现有的s型运动曲线的七段式模型的基础上,将步进电机的旋转过程进行简化,将其分为四段:加加速段、减加速度段、加减速段以及减减速段;

s2、给定参数:确定所述步进电机旋转过程中的初速度v0、总位移s以及整个旋转过程的运行总时间t;

s3、计算加速度以及最大速度:根据公式(1)-(3)计算所述步进电机旋转过程中的加速度a以及最大速度vm,所述公式(1)-(3)分别如下:

其中,sa和sd分别为所述加加速段和减减速段的位移;s为总位移;

s4、计算任意时间点速度:根据所述加速度a以及最大速度vm,按照公式(4)分别计算所述加加速段、减加速度段、加减速段以及减减速段内任意运行时间点的速度v(t),所述公式(4)如下:

其中,所述t1-t4为运行时间点;且t2=2t1,t3=3t1,t4=4t1;

s5、s型运动曲线确定:根据所述速度v(t)以及加速度a确定所述步进电机运动的s型运动曲线,且所述s型运动曲线包括速度曲线(如图3所示)。

因此,由上述公式可知,只需给定v0、s和t就可以确定整个s型曲线的运动,其中v0为步进电机的初始速度,由于研究的是步进电机一个命令周期的转动,因此所述初速度v0可为0;所述运行总时间t可为一个命令周期。

实施例二:

由上述内容可知,在步进电机的运行过程中给定总位移s和运行时间t就可以计算出整个s型曲线的加减速模型。给定s和t之后,计算出vm和a等参数即可确定步进电机整个过程的运动图像。根据此图像确定步进电机控制的速度曲线(如图3所示),同时配合定时器的使用共同来控制步进电机的旋转过程。具体的,如图4所示,该利用上述s型运动曲线进行步进电机旋转控制的方法包括以下步骤:

s100、发布指令:要求所述步进电机在预定时间内正转/反转相应的预设角度;

s200、转动控制:根据所述速度曲线控制所述步进电机完成所述指令;优选的,其可以控制汽车仪表系统中的步进电机。

具体的,例如,第一次要求步进电机在一个命令周期内(t=0.8s)转动30°,第二次要求步进电机在一个命令周期内转动40°,第三次要求步进电机在一个命令周期内反向转动10°,根据上述结论得到仿真结果如图5所示,由图5的三命令周期内仿真曲线可知,步进电机在运行过程中速度不存在突变现象,说明系统平滑无冲击,能够较好的实现步进电机的旋转,且反应灵敏。

进一步的,在上述过程中汽车仪表系统主芯片需要对每一个位移重新计算规划运动过程,这对于系统的效率有着很大的影响。因此,可通过对步进电机的近似处理来解决这一问题。近似处理就是在步进电机前后两次位置变化在一定范围内沿用已经规定好的速度曲线进行运动。

因此,优选的,步骤s100中,要求所述步进电机在第一预定时间内完成的第一预设角度,以及在所述第二预定时间内完成的第二预设角度;

且步骤s200中包括:

s200a、位移变化判定:对所述第一预设角度以及第二预设角度的差值进行计算,并判断所述差值是否在预设差值范围内;

s200b、速度曲线选定:若所述差值在预设差值范围内,则所述第一预设时间内以及第二预设时间内选用相同的速度曲线控制所述步进电机完成所述指令。

具体的,例如步进电机在第一个命令周期(t=0.8s)要求走过的角度为30°,第二个命令周期内走过的角度为25°,假定前后两次要求转过的角度差值在10°内,则选用同一条速度曲线,即此情况下两次均选择同一种速度变化曲线进行步进电机的控制。

第二个命令周期若选用第一个命令周期的速度曲线,步进电机将不会运动到上一周期的最大速度就开始减速,具体结果如图6所示,由图6的相同速度曲线下不同角度差值速度曲线可知当前后角度差值在一定范围内发生变化时步进电机的速度在某一时刻存在一个突变,由于角度差值相差很小步进电机的速度突变仍然足以满足实际需求,即在一定范围误差内满足需求。步进电机不会产生累计差值,在一定的范围内使用相同的速度曲线不会对步进电机的控制产生大的影响,同时可以满足实际需求,简化对步进电机的控制。

目前汽车仪表中步进电机常用的驱动分为分布模式和微步模式,在细分技术下对两种驱动模式进行比较,选择能使电机更加连续、平稳转动的微步模式。

考虑汽车仪表中主芯片的计算能力分配,因此害了采用一种模拟速度曲线来控制步进电机的旋转,以减少主芯片的计算量。

具体的,所述步骤s100与s200之间还包括所述模拟速度曲线的生成步骤(如图7所示):

s1-1、根据公式(1)-(4)计算出当总位移量s分别为第一位移量s1、第二位移量s2以及第三位移量s3时的速度曲线sx、sy以及sz;

s2-1、设定第一速度差值a、第二速度差值b以及第三速度差值c,且a<b<c;

s3-1、取任意两时间点tn以及tn+1,在所述速度曲线sx上获得对应的速度vx、vx+1;在所述速度曲线sy上获得对应的速度vy、vy+1;以及在所述速度曲线sz上获得对应的速度vz、vz+1;

s4-1、分别计算速度vx与vx+1的变化值|vx-vx+1|、vy与vy+1的变化值|vy-vy+1|以及vz和vz+1的变化值|vz-vz+1|;将三个变化值与所述第一速度差值a、第二速度差值b以及第三速度差值c进行比较;

若变化值中的一个或几个>c,则该变化值对应的曲线上任意两时间点tn以及tn+1之间的速度曲线则认定为高速曲线;

若b<变化值中的一个或几个≤c,则该变化值对应的曲线上任意两时间点tn以及tn+1之间的速度曲线则认定为中速曲线;

若a≤变化值中的一个或几个≤b,则该变化值对应的曲线上任意两时间点tn以及tn+1之间的速度曲线则认定为低速曲线;

且s200中,根据所述s型曲线中的速度曲线根据所述高速曲线和/或中速曲线/低速曲线控制所述步进电机完成所述指令。

优选的,所述第一速度差值a、第二速度差值b以及第三速度差值c分别为0,10和30。

综上所述,本发明将现有的s形曲线的七段式模型简化为四段式模型,减少了控制参数,极大地简化了控制过程;控制过程中在一定范围内选用相同的速度曲线,大大的简化了主芯片的计算量;将此方法应用在实际汽车液晶仪表项目中,对于仪表指针的抖动现象有了良好的改进,且控制过程简单明了,具有良好的实际意义。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,且所述实施例中的技术特征均可进行任意组合,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1