基于FPGA的步进电机升降速控制方法技术

技术编号:17471936 阅读:37 留言:0更新日期:2018-03-15 08:11
一种基于FPGA的步进电机升降速控制方法,包括:基于启动频率、运行时间和目标频率,根据预设的运行公式生成被控步进电机的速度表;根据升速或降速需求确定对所述速度表的读取顺序;基于确定出的所述读取顺序读取所述速度表,利用时钟产生脉冲信号驱动所述被控步进电机进行升降速运动。在步进电机速度的控制中,通过速度表改变脉冲频率以驱动步进电机进行加减速,如此,可以对步进电机的运动精确控制,保证电机的可靠性、不失步,实用性好;而且,步进电机升、降速采用同一张表,降速时,只需要倒序读取表中数据即可,简化了设计,减少RAM容量。

Speed control method of step motor based on FPGA

【技术实现步骤摘要】
基于FPGA的步进电机升降速控制方法
本专利技术属于步进电机控制
,尤其涉及一种基于FPGA(FieldProgrammableGateArray,现场可编程门阵列)的步进电机升降速控制方法和系统。
技术介绍
目前,由于步进电机的特性,在驱动负载时,电机在启动和停止阶段往往需要加、减速控制,而各种加减速曲线中,采用S形曲线进行升降速更适合于步进电机的矩频特性。步进电机是一种离散的运动装置,广泛应用于国民经济的各个领域,目前通用的控制方法是采用单片机结合步进电机控制器的方法进行控制,该种控制方法的缺点是:1、由于单片机的运行速度限制,在实现细分驱动时,步进电机速度不高;2、单片机通过定时器控制步进电机的步进脉冲的产生,由于定时器的时间分辨率有限,所以步进电机的运行速度调节是离散的,各级速度之间间隔较大,在一些对速度要求严格的场合不能满足要求;3、由于速度的间隔较大,造成各个速度之间的力矩也不连续,并且由于惯性的原因,容易发生失步;4、步进电机无法按预设步数进行转动。因此,传统的步进电机控制技术存在着因步进电机容易失步或者无法按预设步数转动导致其实用性差的问题。
技术实现思路
本专利技术的目的在于提供一种基于FPGA的步进电机升降速控制方法和系统,旨在解决传统的步进电机控制技术存在需要根据单片机的类型以定制不同的控制公式效率低,成本高;且因步进电机容易失步或者无法按预设步数转动导致其实用性差的问题。一种基于FPGA的步进电机升降速控制方法,包括:基于启动频率、运行时间和目标频率,根据预设的运行公式生成被控步进电机的速度表;根据升速或降速需求确定对所述速度表的读取顺序;基于确定出的所述读取顺序读取所述速度表,利用时钟产生脉冲信号驱动所述被控步进电机进行升降速运动。此外,还提供了一种计算机终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法的步骤。此外,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。与现有技术相比,本专利技术存在以下技术效果,上述控制方法是基于FPGA设定,可以不需要根据单片机的类型以定制不同的运行公式,而利用通用性高的FPGA设定电机的控制方法,可以兼容各种控制场景,提高了生产效率,节约了研发成本;另外,在步进电机速度的控制中,通过速度表改变脉冲频率以驱动步进电机进行加减速,如此,可以对步进电机的运动精确控制,保证电机的可靠性、不失步,实用性好;而且,步进电机升、降速采用同一张表,降速时,只需要倒序读取表中数据即可,简化了设计,减少RAM(RandomAccessMemory,内存)容量;另外,当运行目标步数小于升、降速步进之和时,更容易精确控制步进电机运动步数。附图说明图1为本专利技术较佳实施例提供基于FPGA的步进电机升降速控制方法的具体流程图;图2为本专利技术较佳实施例提供频率的曲线;图3为本专利技术较佳实施例提供的计算机终端的模块示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,本专利技术较佳实施例提供基于FPGA的步进电机升降速控制方法包括以下步骤:步骤S110,基于启动频率、运行时间和目标频率,根据预设的运行公式生成被控步进电机的速度表。具体地,用于可以根据需求自行设定启动频率、运行时间和目标频率,使用Matlab生成步进电机升降速曲线及相关数据,并将数据导入到FPGA内置或外置的RAM中,即得到速度表。优选地,用户可根据需要在RAM写入新的数据,比如输入新的启动频率、运行时间或目标频率,更新升降速曲线,以适应不的应用需求。需要指出的是,运行时间指的是升速时间或降速时间,或者两者之和。步骤S120,根据升速或降速需求确定对所述速度表的读取顺序。为了简化设计,减少RAM容量,步进电机升、降速采用同一张表,由此可见,本实施例中,上述的升速时间和降速时间相同。步进电机升速时,正序读取速度表中数据;降速时,只需要倒序读取速度表中数据即可。因此,根据预设的运行过程或接收外部指令提出的需求,步进电机进入升速或降速时,则确定速度表的读取顺序同时。使用同一张表还有一个好处,就是升降速的步数相等,当运行目标步数小于升、降速步进之和时,更容易精确控制步进电机运动步数。具体地,被控步进电机在升速过程中,读取地址递增;所述被控步进电机降速过程中,读取地址递减。步骤S130,基于确定出的所述读取顺序读取所述速度表,利用时钟产生脉冲信号驱动所述被控步进电机进行升降速运动。具体地,以FPGA实现的步进电机的升降速控制器在驱动电机工作时,实时读取速度表中数据,产生对应的频率的脉冲信号,驱动步进电机工作。本实施例中,被控步进电机进行升降速运动过程中,相邻的每步对应的所述脉冲信号的频率不同。提高控制精度,速度表中存储的数据为各步的频率,即步进电机每走一步,即改变一次电机的频率,这样也可简化FPGA的实现,即从表中读取一个数据电机即走一步,也简化电机步数控制。另外,根据预设的运行过程或接收外部指令提出的需求,接收控制命令,若所述控制命令控制所述被控步进电机运行的目标步数小于升降速步数之和,则在升速过程中直接跳转到降速过程,以保证按需求的步数运行。可以理解的是按时间运行同理,即控制命令控制所述被控步进电机运行的时间小于升降速步数时间之和,则在升速过程中直接跳转到降速过程。本实施例中,脉冲信号由FPGA片内高频时钟(频率为F_base)产生并由分频器分频得到,读取速度表不同地址上的所述分频器的装载系数(装载值)以改变所述脉冲信号的频率f,f=F_base/装载系数。驱动步进电机的脉冲信号的频率fn(Hz)与转速Vn(r/min)的关系为:Fn=Vn*a/60.(公式1)式中a为步进电机转动一圈的步数(一个脉冲电机走一步)。可见,频率Fn与转速Vn为线性关系,只要求得频率即可得到电机转速。一般情况下,步进电机升降速运动包括升速、匀速和降速过程:在升速过程中,以所述被控步进电机的启动频率开始,按照所述速度表切换所述装载系数(读取地址递增)来增大所述脉冲信号的频率以使被控步进电机进行升速运动;当脉冲信号的频率增大到所述目标频率时,所述被控步进电机进入匀速过程;在降速过程中,以所述目标频率开始,按照所述速度表切换所述装载系数(读取地址递减)来减小所述脉冲信号的频率以使被控步进电机进行降速运动。预设的S形曲线的运行公式为:fn1=F_MIN*exp(K*tn),(tn<=T_R/2);(公式2)fn2=(F_MAX+F_MIN)-F_MIN*exp(K*(T_R–tn),(tn>T_R/2);(公式3)tn=t(n-1)+1/f(n-1),(t0=1/F_MIN);(公式4)其中,fn1、fn2为所述被控步进电机运行各步对应的频率;F_MIN为所述启动频率;F_MAX为所述目标频率;T_R为升速或降速的运行时间;n为升速/降速过程总步数;tn为升降速运动过程中的时刻点;K为参量,由所述启动频率、所述本文档来自技高网...
基于FPGA的步进电机升降速控制方法

【技术保护点】
一种基于FPGA的步进电机升降速控制方法,其特征在于,包括:基于启动频率、运行时间和目标频率,根据预设的运行公式生成被控步进电机的速度表;根据升速或降速需求确定对所述速度表的读取顺序;基于确定出的所述读取顺序读取所述速度表,利用时钟产生脉冲信号驱动所述被控步进电机进行升降速运动。

【技术特征摘要】
1.一种基于FPGA的步进电机升降速控制方法,其特征在于,包括:基于启动频率、运行时间和目标频率,根据预设的运行公式生成被控步进电机的速度表;根据升速或降速需求确定对所述速度表的读取顺序;基于确定出的所述读取顺序读取所述速度表,利用时钟产生脉冲信号驱动所述被控步进电机进行升降速运动。2.如权利要求1所述的控制方法,其特征在于,所述被控步进电机进行升降速运动过程中,相邻的每步对应的所述脉冲信号的频率不同。3.如权利要求1所述的控制方法,其特征在于,还包括:接收控制命令,若所述控制命令控制所述被控步进电机运行的目标步数小于升降速步数之和,则在升速过程中直接跳转到降速过程。4.如权利要求1所述的控制方法,其特征在于,所述根据升速或降速需求确定对所述速度表的读取顺序为:所述被控步进电机在升速过程中,读取地址递增;所述被控步进电机降速过程中,读取地址递减。5.如权利要求1或4所述的控制方法,其特征在于,所述脉冲信号由FPGA片内时钟产生并由分频器分频得到,读取所述速度表不同地址上的所述分频器的装载系数以改变所述脉冲信号的频率。6.如权利要求5所述的控制方法,其特征在于,所述升降速运动包括升速、匀速和降速过程:在升速过程中,以所述被控步进电机的启动频率开始,按照所述速度表切换所述装载系数来增大所述脉冲信号的频率以使被控...

【专利技术属性】
技术研发人员:莫良雄
申请(专利权)人:深圳怡化电脑股份有限公司深圳市怡化时代科技有限公司深圳市怡化金融智能研究院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1