基于FPGA的可控转速IP核设计

时间:2022-07-05 07:52:22

基于FPGA的可控转速IP核设计

摘要:根据步进电机的运动特性,设计出一种基于FPGA的通用、可控、高精度转速发生器IP内核。

关键词:步进电机;FPGA;转速发生控制器

引言

步进电机广泛应用于经济型数控机床,包装、雕刻、环保等机电一体化产品中。步进电机结构简单、控制方便但如何实现高速、高精度的定转数和定转速控制一直是一个未完全解决的课题。步进电机的转速范围一般在200-1500转/分,过低或过高会由于磁共振而出现失步现象,这就降低了步进电机运行的准确性和可靠性。传统的电机控制也往往由于在低速时间过长出现失步现象,或者无法提高电机的转速而不得不增加变速装置。

步进电机速度控制是靠输入的脉冲信号的变化来改变的,每给驱动器一个脉冲(cP),步进电机就旋转一个步距角,但是实际上,如果脉冲CP信号变化太快,步进电机由于惯性将跟随不上电信号的变化,这时会产生堵转和丢步现象,所以步进电机在启动时,必须有升速过程,在停止时必须有降速过程。

解决的方法就是在电机的磁共振频率附近改变触发脉冲的频率,从而避免发生磁共振现象。通过多级脉冲频率和脉冲计数的方法来实现高精度、可靠的电机控制,并通过内部状态地址锁存的方式来实现电机控制的可观性、可控性。

IP内核设计

本设计以Atmel公司的10K系列FPGA为底层,搭建一个高精度、可控、可观测的转速发生器内核,设计成一个RAM的形式,可自主设定最高转速、转数、升降快慢,可实时回读当前转速、转数,可控制电机启动、停止。

通过这种方式来实现一种智能的、高精度脉冲输出、可适用于所有的电机控制系统,将所有电机操作交由芯片来实现,通过内部的模糊算法来实现输出脉冲的智能控制。

数学建模

以74190(BCD COUNTER)为底层搭建一个24位的脉冲计数器,通过启动使能、停止使能、清除使能来控制计数器时钟,通过升降速使能选择脉冲的累加或递减。

如图1所示,启动、停止等控制使能端与时钟以或门的形式联系在一起,来实现脉冲的输出,ten6count表示6个BCD码计数器的组合。通过信号的组合来实现基频脉冲的产生。

Ten6count输出接内核的累加计数和频率比较电路。

根据当前转速来选定不同的脉冲频率,以不同加速度的形式实现步进电机转速的提升。

如图2所示,利用FPGA内部的LPM_CONSTANT发生器与当前的脉冲频率比较来进行加速度选择,将多个LPM_CONSTANT组合根据模糊算法就可以确定出在不同的脉冲频率下实现不同的加速度。

如图3所示,通过地址译码将所有的参数设定以RAM的形式将数据锁存在控制寄存器中,并根据模糊算法参照步进电机的电气和机械特性根据输出脉冲频率的不同实时自动调整各项控制参数。其内部由锁存、计数、分频、模糊模式选择、状态反馈等单元项组成。

在内核设计中采用流水线技术提高同步电路的处理速度。

同步电路的速度是指同步系统时钟的速度,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大。

由于一般同步电路都大于一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求。故只有缩短最长延时路径,才能提高电路的工作频率。可以将较大的组合逻辑分解为较小的N块,通过适当的方法平均分配组合逻辑,然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。这就是所谓”流水线”技术的基本设计思想,即原设计速度受限部分用一个时钟周期实现,采用流水线技术插入触发器后,可用N个时钟周期实现,因此系统的工作速度可以加快,吞吐量加大。

在组合逻辑电路中,信号要经过一系列的门电路和信号变换。由于延迟的作用使得当输入信号发生变化时,其输出信号不能同步地跟随输入信号变化,而是经过一段过渡时间后才能达到原先所期望的状态。这时会产生小的寄生毛刺信号,使电路产生瞬间的错误输出,造成逻辑功能的瞬时紊乱。在FPGA内部没有分布电感和电容,无法预见的毛刺信号可通过设计电路传播,从而使电路出现错误的逻辑输出。

任何组合电路、反馈电路和计数器都可能是潜在的毛刺信号发生器。毛刺并不是对所有输入都有危害,如触发器的D输入端,只要毛刺不出现在时钟的上升沿并满足数据的建立保持时间,就不会对系统造成危害。而当毛刺信号成为系统的启动信号、控制信号、握手信号,触发器的清零信号(cLEAR)、预置信号(PRESET)、时钟输入信号(CLK)或锁存器的输入信号就会产生逻辑错误。任何一点毛刺都可能使系统出错,因此消除毛刺信号是FPGA设计中的一个重要问题。毛刺问题在电路连线上是找不出原因的,只能从逻辑设计上采取措施加以解决。

如图4所示,以高频脉冲作为时钟,源信号作为LATCH的输入,经过以上电路的处理后可以完全消除毛刺的干扰,去除了计数中的误差和误脉冲扰动。

实验效果

经过这种智能转速IP内核的处理后,驱动脉冲信号安全达到了改造后的目的,传统的2相4拍步进电机可以5000转/分高速运行,在使用10MHz恒温补偿晶振的情况下其脉冲精度可以达到10。使用这种IP内核设计的转速标准源在江苏省计量局转速检测科测试时,其精度和稳定性都高于现有的国标检测设备。

结语

本IP内核以FPGA设计为基础,依据步进电机的电气和机械特性,完全解决了步进电机在实际运行中出现的问题,并以智能化IP内核的形式将整个设计方案实现SoC化。

本设计不但实现了高精度的电机运行,而且实现了所有运行转态的实时反馈,满足了工业控制中的可观测性和可控性操作,实现了控制系统中的闭环控制。

搜索FPGA,电子产品世界网站有535篇相关文章。

上一篇:基于Coldfire和μClinux的硬盘MP3 下一篇:系统LED管理LSl