一种基于FPGA的多电机控制系统的制作方法

文档序号:12319349阅读:444来源:国知局
一种基于FPGA的多电机控制系统的制作方法与工艺

本实用新型属于电机控制领域,尤其涉及一种基于FPGA的多电机控制系统及电机控制方法。



背景技术:

电动机是电能转化为机械能的必要装置,广泛应用于各种工业民用设备中。近些年来,随着电力电子技术、控制技术和计算机技术的发展,电机的应用得到进一步发展,电机控制器经历了从模拟控制器到数字控制器的发展,数字控制器与模拟控制器相比,性能更可靠、参数调节更方便、控制精度更高、控制策略更灵活并且对环境因素不敏感。

数字控制器一般采用CPU控制电机,虽然比模拟控制器减小了系统体积、简化了电路,传统的以单片机为CPU的运动控制卡已经不能满足现代工业和社会发展的要求,其主要表现在:速度的运算需要CPU的频繁参与,导致了运算时间增加,影响系统的整体效率,在驱动多个电机的情况下,CPU的运行速度成了提高性能的瓶颈,而且控制的电机数量有限,基本上以一个控制系统控制一台电机,控制范围有限,而且成本高昂,灵活性查。

为克服上述CPU直接控制电机存在的不足,目前市场上出现了采用FPGA 作为控制器的电机控制系统,如中国专利“一种基于FPGA视觉测量技术的多轴电机控制系统”(专利申请号:201520425129.7)公开的电机控制系统,只需向FPGA控制器中写入控制参数,运算由FPGA控制器完成,提高了运算速度和控制精度。然而在一些工业和民用设备中,需要用到多台步进电机或伺服电机。在用FPGA作为控制器的设计中,一般每个电机使用一个控制模块,这种设计消耗的FPGA资源较多,限制了FPGA芯片的选择范围,提高了设计成本。



技术实现要素:

针对上述采用FPGA作为控制器的电机控制系统存在的缺陷,本实用新型提供一种基于FPGA的多电机控制系统,实现一个FPGA控制器控制多个电机的目的。

为了达到目的,本实用新型提供的技术方案为:

本实用新型涉及的一种基于FPGA的多电机控制系统,其特征在于:其包括CPU、FPGA控制器和至少一个电机驱动器,所述的FPGA控制器包括与电机驱动器一一对应的参数寄存器组、电机选择寄存器、第一选择器、选定参数寄存器组、运动控制模块和第二选择器,参数寄存器组及电机选择寄存器的输入端均与CPU通讯连接,输出端均与第一选择器通讯连接,第一选择器的输出端与选定参数寄存器组的输入端通讯连接,选定参数寄存器组的输出端与运动控制模块通讯连接,运动控制模块及电机选择寄存器的输出端与第二选择器的输入端通讯连接,第二选择器包括与电机驱动器等量的输出端,每个输出端分别连接一个电机驱动器,每个电机驱动器又对应电连接一个电机。

优选地,所述的每个参数寄存器组均包括启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器和停止位置寄存器,所述的启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器和停止位置寄存器均通过数据、地址及控制总线与CPU连接。

优选地,所述的选定参数寄存器组包括启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器和停止位置寄存器,所述的启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器和停止位置寄存器均通过数据、地址及控制总线与第一选择器连接。

优选地,所述的运动控制模块包括脉冲生成器,脉冲生成器与第二选择器连接。

采用本实用新型提供的技术方案,与现有技术相比,具有如下有益效果:

本实用新型涉及的基于FPGA的多电机控制系统采用一个FPGA控制器控制多个电机,简化了系统的设计,节约了FPGA资源,增加了FPGA芯片的选择范围,降低了设计成本。

附图说明

图1是本实用新型基于FPGA的多电机控制系统的结构示意图;

图2是本实用新型电机控制流程图。

具体实施方式

为进一步了解本实用新型的内容,结合实施例对本实用新型作详细描述,以下实施例用于说明本实用新型,但不用来限制本实用新型的范围。

本实施例以一个FPGA控制器控制五个电机为例。

结合附图1所示,本实施例涉及的基于FPGA的多电机控制系统其包括 CPU1、FPGA控制器10和N个电机驱动器8,所述的CPU 1与FPGA控制器 10通过数据、地址及控制总线连接。N个电机驱动器8分别命名为电机驱动器1、电机驱动器2……电机驱动器N,所述的FPGA控制器包括N个参数寄存器组2、一个电机选择寄存器3、第一选择器4、选定参数寄存器组5、运动控制模块6 和第二选择器7,N个参数寄存器组分别命名为参数寄存器组1、参数寄存器组 2……参数寄存器组N,其中每个参数寄存器组2对应相同编号的电机驱动器8,每个电机驱动器8又分别对应一个外部电机9,分别命名为电机1、电机2……电机N。其中,所述的参数寄存器组及电机选择寄存器分别用于从CPU1和选定参数寄存器组5中写入控制参数;所述的第一选择器用于从所有参数寄存器组中选择与电机选择寄存器输入的控制参数值相同的部分参数寄存器组,并向选定参数寄存器组输出控制参数;所述的运动控制模块用于根据输入选定参数寄存器组的控制参数,产生并输出电机控制信号;所述的第二选择器用于向所选电机驱动器输出电机控制信号。本实施例中,电机驱动器采用IGBT驱动。

优选地,所述的参数寄存器组2和选定参数寄存器5组均包括用于启动电机运转的启动寄存器、用于设置电机运行方向的方向寄存器、用于设置电机运行速度的转速寄存器、用于设置电机运行加速度的加速度寄存器、用于设置电机按照速度模式或位置模式运行的模式寄存器、用于设置电机开始减速位置的减速位置寄存器和用于设置电机到达目标位置的停止位置寄存器,运动控制模块包括脉冲生成器,用于产生脉冲信号。

结合附图2所示,上述基于FPGA的多电机控制系统的电机控制方法为:假设系统一共控制5个电机,现要从中选择控制第2个电机,则CPU需先向所述电机选择寄存器中写入编号值2,再向第二个参数寄存器中写入控制参数,于是第一选择器把第二个参数寄存器组的控制参数值赋给选定参数寄存器组。运动控制模块根据选定参数寄存器组中包含的启动寄存器,方向寄存器,转速寄存器,加速度寄存器,模式寄存器,减速位置寄存器和停止位置寄存器的值来输出电机控制信号。第二选择器根据电机选择寄存器中写入编号值2,把电机控制信号送到第二个电机驱动器,从而驱动第二个电机运动,其它电机则不运动。

当需要控制第三个电机时,则CPU先让第二个电机停止,再向所述电机选择寄存器中写入值3,然后向第三组参数寄存器中写入控制参数,于是第一选择器把第三个参数寄存器组的控制参数值赋给选定参数寄存器组。运动控制模块根据选定参数寄存器组中包含的启动寄存器,方向寄存器,转速寄存器,加速度寄存器,模式寄存器,减速位置寄存器和停止位置寄存器的值来输出电机控制信号。第二根据电机选择寄存器中写入编号值3,选择器把电机控制信号送到第三个电机驱动器,从而驱动第三个电机运动。其它电机则不运动。

上述的电机控制信号包括脉冲信号、方向信号和使能信号,其中,脉冲信号的频率值与速度寄存器的值成正比。当需要改变电机的转速时,往速度寄存器中写值V,则输出脉冲的频率为f=k*V,其中k是与系统时钟频率相关的系数。

以上结合实施例对本实用新型进行了详细说明,但所述内容仅为本实用新型的较佳实施例,不能被认为用于限定本实用新型的实施范围。凡依本实用新型申请范围所作的均等变化与改进等,均应仍属于本实用新型的专利涵盖范围之内。

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