步进电机的加减速曲线优化方法、控制方法及系统

文档序号:32376100发布日期:2022-11-30 00:25阅读:103来源:国知局
1.本发明涉及步进电机控制
技术领域
:,特别是涉及一种步进电机的线性加减速曲线优化方法、控制方法及系统。
背景技术
::2.步进电机是一种将数字脉冲序列转换为角位移增量的执行元件,具有成本低廉、启停迅速、定位精度高等特点,广泛应用于机器人、数控机床、自动化设备等领域。步进电机控制方法有开环和闭环两种。闭环控制具有控制精度高、效率高的特点,但系统成本和实现复杂度也较高。随着细分驱动技术的发展,角位移输出跟踪脉冲输入的同步能力不断提高,再通过合适的加减速曲线算法的优化,可以有效避免丢步、冲击振荡等现象。由于开环控制实现简单,控制精度能满足大多数应用需求,是步进电机的主要控制方式,目前研究主要集中在加减速曲线优化和具体实现上。3.国内外研究人员提出了很多步进电机加减速曲线算法的优化方案,主要有线形、s形、正矢形等。s形和正矢形能较好地抑制运动过程中的冲击及残余振荡,但并不适合对动态响应有快速要求的场合。同时,这两种加减速曲线算法实现过程复杂,精确地实时计算难度也较大。线形加减速曲线算法实现简单、响应快速,具有时间最优的特征。目前,线性加减速曲线多为零速启停,没有充分利用步进电机的自启停频率和矩频特性,其控制性能难以得到充分发挥。4.因此,亟需一种基于步进电机非零速启停状态下的线性加减速曲线优化方法,并基于该优化方法实现对步进电机转动的控制,以提高对步进电机的控制性能。技术实现要素:5.本发明的目的是提供一种步进电机的加减速曲线优化方法、控制方法及系统,实现步进电机的非零速启停,提高对步进电机的控制性能。6.为实现上述目的,本发明提供了如下方案:7.一种步进电机的加减速曲线优化方法,包括:8.输入至少一个控制周期和每一控制周期对应的步进电机的初始角速度和角位移,其中所述控制周期为任意设定的控制所述步进电机转动的时间;9.在所述步进电机处于运转状态的条件下,根据每一所述控制周期、所述初始角速度和所述角位移计算角加速度;10.根据所述初始角速度和所述角加速度判断所述步进电机对应的转动模式,其中所述转动模式包括匀速模式、匀加速模式、匀减速未过零点模式和匀减速过零点模式;11.基于所述转动模式,计算每一控制周期下每一个脉冲的发生时刻和相邻脉冲的发生时刻间隔;12.根据所有所述控制周期下的所有所述发生时刻和所述发生时刻间隔得到优化的加减速曲线。13.一种步进电机控制系统,所述控制系统为在fpga芯片上设计的步进电机控制器ip核,所述ip核包括:14.接口模块,与软核处理器连接,用于将所述软核处理器的控制指令发送至所述曲线算法模块;15.曲线算法模块,与所述接口模块连接,用于在收到所述控制指令后采用流水线技术执行加减速曲线优化方法,得到优化的加减速度曲线;16.脉冲生成模块,与所述曲线算法模块连接,用于根据所述优化的加减速曲线输出脉冲,根据所述脉冲控制所述步进电机转动。17.一种利用步进电机控制系统的步进电机控制方法,包括:18.接收软核处理器的控制指令;19.根据所述控制指令,采用流水线技术执行加减速曲线优化方法,得到优化的加减速度曲线;20.根据所述优化的加减速曲线输出脉冲;21.根据所述脉冲控制所述步进电机转动。22.根据本发明提供的具体实施例,本发明公开了以下技术效果:23.本发明提供了一种步进电机的加减速曲线优化方法、控制方法及系统,通过将步进电机运动过程划分为四种非零速启停转动模式,包括匀速模式、匀加速模式、匀减速未过零点模式和匀减速过零点模式,分别针对每一种模式计算脉冲的发生时刻和相邻脉冲的发生时刻间隔,并基于这四种模式下的所有发生时刻和所有发生时刻间隔得到优化的加减速曲线,利用优化的加减速曲线驱动步进电机从一定速度启动,与由静止启动的线性加减速曲线相比,步进电机在加速过程中所需的动态扭矩更小,加速至中高速情况下控制性能更好;同时通过将控制步进电机的任意线性加减速过程划分为四种非零速启停转动模式,可实现任意的线性速度剖面,如三角形速度剖面、梯形速度剖面等,具有较强的使用灵活性。附图说明24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。25.图1为本发明实施例1提供的加减速曲线优化方法的流程图;26.图2为本发明实施例1中匀速、匀加速、匀减速未过零点和匀减速过零点四种转动模式的示意图;27.图3为本实施例1中匀加速模式离散化后的示意图;28.图4为本实施例1中优化的加减速曲线的示意图;29.图5为本实施例2提供的步进电机控制器ip核的结构示意图;30.图6为本实施例3提供的控制方法中核心算法的流程图;31.图7为本实施例3提供的控制方法的时序流程图;32.图8为利用本实施例3提供的控制方法计算出脉冲的相邻脉冲发生的时间间隔及相邻脉冲发生的时间间隔误差的示意图;33.图9为本实施例3中提供的步进电机控制器ip核实验平台示意图;34.图10为本实施例3中四种转动模式的非零速起停控制下步进电机实际速度和角位移曲线分别与理论值的对比示意图;35.图11为本实施例3中某线性速度剖面的速度及角位移曲线的示意图;36.图12为本实施例3中零速启停转动的速度、角位移及误差曲线的示意图;37.图13为本实施例3中非零速启停转动的速度、角位移及误差曲线的示意图;38.图14为本实施例3中零速启停的步进电机控制器ip核和非零速启停的低功耗步进电机控制器ip核的温度对比示意图。具体实施方式39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。40.本发明的目的是提供一种步进电机的加减速曲线优化方法、控制方法及系统,实现步进电机的非零速启停,提高对步进电机的控制性能。41.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。42.实施例1:43.针对零速启停存在控制性能难以充分发挥的问题,参阅图1,本实施例提供了一种步进电机的加减速曲线优化方法,包括:44.s1:输入至少一个控制周期和每一控制周期对应的步进电机的初始角速度和角位移,其中所述控制周期为任意设定的控制所述步进电机转动的时间;45.s2:在所述步进电机处于运转状态的条件下,根据每一所述控制周期、所述初始角速度和所述角位移计算角加速度;46.s3:根据所述初始角速度和所述角加速度判断所述步进电机对应的转动模式,其中所述转动模式包括匀速模式、匀加速模式、匀减速未过零点模式和匀减速过零点模式,图2中的(a)-(d)分别给出了这四种转动模式的示意图,其中s3具体包括:47.判断所述角加速度的值是否为0,得到第一判断结果;48.若所述第一判断结果为是,则确定所述转动模式为匀速模式;49.若所述第一判断结果为否,则判断所述初始角速度和所述角加速度的符号值是否相同,得到第二判断结果;50.若所述第二判断结果为是,则确定所述转动模式为匀加速模式;51.若所述第二判断结果为否,则判断所述初始角速度和控制周期乘积后绝对值的一半是否小于或等于所述角位移的绝对值,得到第三判断结果;52.若所述第三判断结果为是,则确定所述转动模式为匀减速未过零点模式;53.否则确定所述转动模式为匀减速过零点模式。54.s4:基于所述转动模式,计算每一控制周期下向所述步进电机发送的每一个脉冲的发生时刻和向所述步进电机发送的相邻脉冲的发生时刻间隔,由于步进电机每接收到一个脉冲信号,就会转动一步,因此设置每一控制周期下向所述步进电机发送的脉冲个数等于该控制周期内的步进电机的步进阈值;55.步进电机将电脉冲信号转换为相应的角位移,每输入一个电脉冲信号,电动机就转动一步,所以可以通过一组离散的脉冲序列确定速度变化特性,脉冲周期的大小决定步进电机的转速。下面分析四种转动模式对应的脉冲发生时刻和相邻脉冲的发生时刻间隔。56.线性转动过程中,以控制周期t的起点为时间原点,角位移θ为[0057][0058]式(1)中,ω0为初始角速度,β为角加速度,n为步进数,η为电机步距角。[0059]可得角加速度β为[0060][0061]1)匀速模式转动过程中角加速度β为零,即θ1=ω0t,步进电机以恒定的步进速率转动,向所述步进电机发送的第i个和第i-1个脉冲的发生时刻间隔ci为[0062][0063]式中,f为处理器工作时钟频率,θ1为所述匀速模式下的角位移。[0064]2)匀加速模式中初始角速度ω0与角加速度β符号相同,同时|θ2|》|ω0t|,θ2为所述匀加速模式下的角位移,匀加速模式的转动过程离散化后如图3所示。[0065]以t=0的时刻为起点,ti时刻的角位移θi为[0066][0067]因此向所述步进电机发送的第i个脉冲的发生时刻ti为[0068][0069]结合角加速度β进一步推导可得[0070][0071]向所述步进电机发送的第i个和第i-1个脉冲的发生时刻间隔ci为[0072][0073][0074]3)匀减速未过零点模式中初始角速度ω0与角加速度β符号相反,同时0.5*|ω0t|≤|θ3|《|ω0t|,θ3为所述匀减速未过零点模式下的角位移。与匀加速模式中推导过程类似,符号相反,因此向所述步进电机发送的第i个和第i-1个脉冲的发生时刻间隔ci为[0075][0076]4)匀减速过零点模式中初始角速度ω0与角加速度β符号相反,同时|θ4|《0.5*|ω0t|,θ4为所述匀减速过零点模式下的角位移。减速过零点模式可以分为减速模式和加速模式两部分,减速模式的控制周期ta为[0077][0078]减速模式的角位移θ41为[0079][0080]加速模式的初始角速度为零,控制周期tb为[0081]tb=t-taꢀꢀꢀꢀ(12)[0082]加速模式的角位移θ42为[0083]θ42=θ4-θ41ꢀꢀꢀꢀ(13)[0084]减速模式和加速模式下向所述步进电机发送的第i个和第i-1个脉冲的发生时刻间隔的计算方式分别与匀减速未过零点模式和匀加速模式相同。[0085]s5:根据所有所述控制周期下的所有所述发生时刻和所述发生时刻间隔得到优化的加减速曲线,如图4所示。[0086]将任意非零速启停的线性加减速过程分为匀速、匀加速、匀减速未过零点和匀减速过零点这四种转动模式,并基于这四种模式下脉冲的发生时刻和相邻脉冲的发生时刻间隔优化加减速曲线,利用优化的加减速曲线以一定速度启动步进电机,与零速启动相比,非零速启动充分能够利用步进电机的自启动频率,在加速过程中所需动态扭矩更小,加速至中高速状况下抖振小,控制效果更好。由这四种转动模式拼接可以构建任意的线性速度剖面,如三角形速度剖面、梯形速度剖面等,具有较强的使用灵活性。[0087]为了进一步降低在优化加减速曲线的过程中的计算功耗,本实施例采用流水线技术执行s1-s5,同时根据乘法、除法和开方运算法则对s2-s4中具体的计算公式进行拆分,需要注意的是,拆分的公式在运算时也按照流水线技术进行处理。因此,本实施例能够得到非零速启停状态的加减速曲线,并减少了计算功耗。[0088]实施例2:[0089]fpga具有高速、并行处理和模块化等特点,可实现多轴电机的同步并行控制,提高了多轴系统的集成度,增强了系统的伺服控制性能。基于fpga的多轴电机控制系统研究的关键问题包括控制算法、控制算法的硬件逻辑模型、嵌入式微处理器以及系统级集成技术等。而在基于fpga的多轴电机控制系统中,存在着严重的热功耗问题,不仅消耗更多的供电功率,通常还会导致fpga芯片损坏或者器件寿命降低。[0090]针对上述问题,基于实施例1提出的一种步进电机的加减速曲线优化方法,并采用流水线技术和门控时钟等低功耗ic设计技术设计步进电机控制器ip核,能够驱动步进电机以非零速启停,在提升控制性能的同时降低fpga芯片功耗。[0091]参阅图5,本实施例提供的一种步进电机控制系统为在fpga芯片上设计的步进电机控制器ip核,所述ip核采用纯硬件逻辑方式设计实现,包括:[0092]接口模块,与软核处理器通过avalon总线连接,用于将所述软核处理器的控制指令发送至所述曲线算法模块,本实施例优选niosⅱ软核处理器;[0093]曲线算法模块,与所述接口模块连接,用于在收到所述控制指令后采用流水线技术执行实施例1所述的加减速曲线优化方法得到优化的加减速度曲线;曲线算法模块是步进电机控制器ip核的核心模块,分为两个子模块:状态机和计算模块。以有限状态机形式完成算法内部时序调度和状态转换,减少中间计算变量并约束变量位宽,状态机编码统一采用graycode,相邻状态间转换只有1位发生变化;计算模块用于乘法、除法和开方运算,采用不恢复余数除法和非冗余开方两种递推式结构算法进行除法和开方计算,其通过增加计算周期节约逻辑资源使用;[0094]脉冲生成模块,与所述曲线算法模块连接,用于根据所述优化后的加减速曲线输出脉冲,根据所述脉冲控制所述步进电机转动,同时设计一个计数器,使输出的脉冲占空比为50%,当计数器数值小于ci/2时,pwm输出电平为低,反之为高,其中ci为相邻脉冲的发生时间间隔;[0095]位置检测模块,与所述步进电机连接,与所述接口模块连接,用于实时检测所述步进电机的转子位置信息,解析所述转子位置信息,并将解析后的转子位置信息通过所述接口模块发送至所述软核处理器。[0096]作为一种可选的实施方式,所述接口模块和所述曲线算法模块均设有时钟门控;其中所述曲线算法模块根据执行实施例1所述的加减速曲线优化方法的时间控制时钟门控。[0097]本实施例提供的一种步进电机非零速启停的低功耗控制器,控制步进电机以一定的速度启动或停止,提升了对步进电机控制性能,同时降低了控制器的热功耗。[0098]实施例3:[0099]本实施例利用实施例2提供的ip核提供了一种控制系统的步进电机控制方法,包括:[0100]接收软核处理器的控制指令;[0101]根据所述控制指令,采用流水线技术执行实施例1所述的加减速曲线优化方法,得到优化的加减速曲线;[0102]根据所述优化后的加减速曲线输出脉冲;[0103]根据所述脉冲控制所述步进电机转动。[0104]为了使步进电机按照预期方向转动,还需判断步进电机当前的转动方向,具体包括:[0105]判断所述初始角速度是否为0;[0106]若是,则确定所述转动方向与所述初始角速度的方向相同;[0107]若否,则确定所述转动方向与所述角位移的方向相同。[0108]为了使本领域技术人员更清楚地了解上述控制过程,参阅图6,结合流水线设计思想将复杂的算法流程划分为多级流水处理,包括:[0109]为步进电机控制器ip核初始化;[0110]初值计算,初始化计步参数i与步进数n,根据初始角速度和角位移判断电机的转动方向,计算角加速度并将确定值部分计算完成存放在相应寄存器中,该部分参数作为初值使用;[0111]通过初始角速度与角加速度快速判断电机转动模式,模式1对应匀速模式;模式2、模式3分别对应匀加速模式和匀减速未过零点模式;模式4对应匀减速过零点模式;[0112]根据不同的模式计算当前的计步参数下向所述步进电机发送的当前脉冲的发生时刻和当前脉冲与其相邻脉冲的发生时刻间隔;[0113]判断当前的计步参数是否小于步进数;[0114]若是,则当前的步进参数+1,并向所述步进电机发送下一个脉冲,返回“根据不同的模式计算当前的计步参数下向所述步进电机发送的当前脉冲的发生时刻和当前脉冲与其相邻脉冲的发生时刻间隔”步骤,直至计步参数等于步进数;[0115]在每步进脉冲完成之前循环迭代计算下一相邻脉冲的发生时刻间隔,保证控制的实时性并发挥fpga并行处理能力。[0116]如图7所示的控制时序流程图,在加入门控时钟后,控制方法的具体流程包括:[0117]1)打开接口模块的时钟,读取参数指令,完成后关闭时钟门控,对相应寄存器参数进行赋值;[0118]2)进入第一次判断,若初始角速度ω0和角位移θ同时为0,则电机保持不动,回到空闲状态,否则进入下一步;[0119]3)初始化计步参数i和步进数n;[0120]4)判断电机转动方向,若初始角速度ω0不为0,则转动方向与ω0方向相同,否则转动方向与角位移θ方向相同;[0121]5)打开乘法模块时钟完成ω0*t的计算,计算完成后关闭该模块时钟;[0122]6)计算角加速度β的符号值(θ-ω0t),作为转动模式的判断依据,若加速度为0则进入模式1,其转动过程中相邻脉冲的发生时刻间隔计算如式(8),否则进入下一步;[0123]7)打开乘法模块时钟完成ω0t*t的计算,计算完成后关闭该模块时钟;[0124]8)打开除法模块时钟完成ω0t2/[2(θ-ω0t)]的计算,相应时间计算完成后关闭该模块时钟;[0125]9)打开乘法模块时钟完成平方计算,计算完成后得到初值并关闭该模块时钟;[0126]10)打开乘法模块时钟完成t*t的计算,计算完成后关闭该模块时钟;[0127]11)打开乘法模块时钟完成η*t2的计算,计算完成后关闭该模块时钟;[0128]12)打开除法模块时钟完成ηt2/(θ-ω0t)的计算,相应时间计算完成后关闭该模块时钟;[0129]13)判断电机转动模式,若初始角速度ω0与角加速度β的符号值相同,则进入模式2,否则进入下一步;[0130]14)若初始角速度ω0与角加速度β的符号值相反,且0.5*|ω0t|≤|θ|,则进入模式3,否则进入模式4;[0131]15)开启开方模块时钟并等待计算完成,得到脉冲发生时刻值,如式(6);[0132]16)模式3转动过程中相邻脉冲的发生时刻间隔计算如式(8);[0133]17)模式4转动过程中相邻脉冲的发生时刻间隔计算如式(9);[0134]18)匀减速过零点转动过程分别计算匀减速模式的控制周期、角位移,如式(10)、(11)和匀加速模式的控制周期、角位移,如式(12)、(13)并回到相应转动模式。[0135]为验证上述方案的可行性和有效性,利用verilog硬件描述语言在eda开发工具(quartusⅱ)中设计实现了步进电机控制器,将各个模块综合并封装为自定义ip软核,综合后ip核的逻辑资源使用量如表1所示。以下将非零速启停步进电机控制器ip核称为非零速ip核,现有技术中提出的由静止启停的步进电机控制器ip核称为零速ip核。[0136]表1逻辑资源使用量[0137]table1logicalresourceusage[0138][0139]根据表1中资源使用量,与零速ip核相比,总逻辑资源使用量减少1005,降低了29.71%,其中组合逻辑减少936,降低了30.17%;时序逻辑减少437,降低了24.72%;乘法器减少4,降低了25%。[0140]利用quartusⅱ提供的功耗分析器工具powerplaypoweranalyzer对控制器ip核进行功耗预评估,以门级仿真的输出作为输入分析估算功耗,相同条件下评估结果如表2所示。[0141]表2功耗评估结果[0142]table2powerdissipationevaluationresult[0143][0144]根据表2中功耗评估结果,与零速ip核相比,总热功耗减少145.47mw,降低了36.15%,其中动态热功耗减少144.92mw,降低了61.73%,静态热功耗和i/o热功耗基本相同。[0145]完成硬件模块的优化设计后,在modelsim中仿真验证相邻脉冲的发生时刻间隔的计算精度,如图8所示。可以看出,实时计算相邻脉冲发生的时间间隔值与理论值误差均不超过±0.1%,保证了加减速控制的精确性。[0146](1)验证某控制实例的四种转动模式[0147]前述的步进电机控制器ip核已在altera公司的de0fpga开发板上得以实现。驱动对象是额定转矩为0.032n·m、额定电流为0.5a、步距角为1.8°、转子惯量为1.5×10-7kg·m2、编码器线数为1024和边长为20mm的两相混合式步进电机。负载转动惯量约6.5×10-7kg·m2,驱动电路的电压为24v,微步细分数为16。实验平台如图9所示。[0148]为验证四种转动模式的运行效果,分别测试了匀速、匀加速、匀减速未过零点和匀减速过零点这四种转动模式下的控制性能,其速度和角位移曲线如图10所示。可以看出,设计的步进电机控制器ip核可以实现四种转动模式的非零速起停控制,其实际速度和角位移曲线与理论值吻合度较好,实现了高实时、高精度驱动控制。[0149]由这四种转动模式可以构建任意的线性速度剖面。构建的某线性速度剖面包括非零速启动的匀加速过程、匀速过程、匀减速过零点过程、零速停止的匀减速过程四个过程,其转动过程中的速度和角位移曲线如图11所示。可以看出,步进电机严格按照规划的某线性速度剖面精确运行,但在电机非零速启动和停止瞬间由于速度突变存在一定的机械振荡现象。[0150](2)验证某控制实例中的步进电机控制性能[0151]为验证非零速启停的加减速曲线性能优化效果,在相同条件下分别测试了零速启停、非零速启停发加减速曲线的控制性能。给定控制周期为100ms,其中加速、匀速和减速时间分别为40ms、20ms和40ms;非零速启动的角速度为7.5π(rad/s),给定的零速启停和非零速启停的速度曲线分别如图12、13中(a)速度所示。在此过程中,零速启停和非零速启停加减速过程的最大角位移及其误差分别如图12、13中(b)角位移、(c)误差所示。[0152]由图12和图13可以看出,零速启停的最大无失步角位移为540°,非零速启停的最大无失步角位移为648°,相较零速启停增加了108°,提升了20%的控制性能,运行稳定后位置误差均在±0.5°以内。[0153](3)验证某控制实例中的控制器ip核功耗[0154]为验证设计的低功耗步进电机控制器ip核的功耗优化效果,在fpga中分别例化6路零速启停控制器ip核和非零速启停控制器ip核,在自由开放环境下,各自fpga芯片表面温度变化情况如图14所示。可以看出,约30分钟后fpga芯片均达到热平衡,零速ip核温升约8.1℃,非零速ip核温升约3.8℃,相较零速ip核温升减少4.3℃,热功耗降低约53.09%。[0155]实验表明,非零速启停的低功耗步进电机控制器ip核可以实现四种转动模式的非零速起停控制,与零速启停的步进电机ip核相比,控制性能提升20%,电路面积优化30%,功耗降低53%。[0156]本实施例采用非零速启停的线性加减速曲线控制步进电机,驱动步进电机从一定速度启动,与由静止启动的线性加减速曲线相比,在加速过程中所需的动态扭矩更小,加速至中高速情况下控制性能更好;[0157]将控制步进电机的任意线性加减速过程划分为四种非零速启停转动模式,可实现任意的线性速度剖面,如三角形速度剖面、梯形速度剖面等,具有较强的使用灵活性;[0158]结合流水线设计思想优化加减速曲线算法的硬件逻辑模型,在fpga中设计了步进电机控制器ip核,并采用门控时钟等低功耗ic设计技术实现了ip核的低功耗。流水线设计分割了复杂算法的逻辑计算路径,门控时钟技术控制通向各模块的时钟是否有效来实现工作状态转换,降低了不必要的功耗。[0159]本实施例可以实现步进电机的高实时、高精度驱动。[0160]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。[0161]本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1