CN106712653A - 基于fpga的电机控制系统及方法 - Google Patents
基于fpga的电机控制系统及方法 Download PDFInfo
- Publication number
- CN106712653A CN106712653A CN201710145125.7A CN201710145125A CN106712653A CN 106712653 A CN106712653 A CN 106712653A CN 201710145125 A CN201710145125 A CN 201710145125A CN 106712653 A CN106712653 A CN 106712653A
- Authority
- CN
- China
- Prior art keywords
- register
- motor
- cpu
- fpga
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P29/00—Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Multiple Motors (AREA)
Abstract
本发明涉及一种基于FPGA的电机控制系统,属于电机控制领域,其包括上位机、CPU和用于驱动外部电机的电机驱动器,上位机和CPU通过串行通信总线连接,其特征在于:所述的电机控制系统还包括FPGA控制器,FPGA控制器包括参数寄存器组、与参数寄存器组连接的运动控制模块,参数寄存器组通过通信总线与CPU连接,运动控制模块通过通信总线与电机控制器连接,所述的基于FPGA的电机控制系统具有更高的响应速度和更高的控制精度。
Description
技术领域
本发明属于电机控制领域,尤其涉及基于FPGA的电机控制系统及控制方法。
背景技术
电动机是电能转化为机械能的必要装置,广泛应用于各种工业民用设备中。近些年来,随着电力电子技术、控制技术和计算机技术的发展,电机的应用得到进一步发展,电机控制器经历了从模拟控制器到数字控制器的发展,数字控制器与模拟控制器相比,性能更可靠、参数调节更方便、控制精度更高、控制策略更灵活并且对环境因素不敏感。
数字控制器一般采用CPU控制电机,虽然比模拟控制器减小了系统体积、简化了电路,传统的以单片机为CPU的运动控制卡已经不能满足现代工业和社会发展的要求。归纳起来,主要表现在:其并行能力差,单片机指令执行以精简指令系统来完成,即指令与指令间为顺序执行方式,遇到突发状况只能采取中断系统进行处理,意味着必须一定时间的等待,完全无法进行并行处理,从而在应对高速度,复杂系统时无法胜任。另外,现今市场上已有用于工业中的直流电机控制系统,驱动电路采用人工搭建H桥,而且控制的电机数量有限,基本上以一个控制系统控制一台电机,控制范围有限,而且成本高昂,灵活性查。综上所述,速度的运算需要CPU的频繁参与,导致了运算时间增加,影响系统的整体效率,在驱动多个电机的情况下,CPU的运行速度成了提高性能的瓶颈。
发明内容
针对现有技术的缺陷,本发明提供一种基于FPGA的电机控制系统,实现电机控制系统具有更高的响应速度和更高的控制精度。
为了达到目的,本发明提供的技术方案为:
本发明涉及的一种基于FPGA的电机控制系统,其包括上位机、CPU、至少一个电机、以及与电机对应的电机驱动器,上位机和CPU通过串行通信总线连接,其特征在于:其还包括FPGA控制器,所述的FPGA控制器包括参数寄存器组和运动控制模块,参数寄存器组包括启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器、当前位置状态寄存器和当前速度状态寄存器,启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器、当前位置状态寄存器和当前速度状态寄存器的输入端均与CPU通信连接,输出端均与运动控制模块的输入端通信连接,运动控制模块的输出端与电机驱动器通信连接,一个电机驱动器对应驱动一个电机。
优选地,所述的运动控制模块包括FPGA可编程逻辑器件和脉冲生成器,所述的FPGA可编程逻辑器件的输入端和输出端分别与参数寄存器组和脉冲生成器通讯连接,脉冲生成器的输出端与电机驱动器通信连接。
优选地,所述的电机数量至少为两个,所述的参数寄存器组的个数与电机数量相同,所述的运动控制模块为一个,所述的FPGA控制器还包括电机选择寄存器、第一选择器、选定参数寄存器组和第二选择器,所述的第一选择器和第二选择器依次设在参数寄存器组和运动控制模块之间,分别与参数寄存器组和运动控制模块通信连接,第二选择器设在运动控制模块和电机驱动机之间,输入端和输出端分别与运动控制模块和电机驱动器通信连接,所述的电机选择寄存器的输入端与CPU通信连接,两个输出端分别与第一选择器和第二选择器通信连接。
本发明还涉及上诉基于FPGA的电机控制系统的控制方法,其特征在于:其包括速度模式和位置模式两种运行模式,在速度模式下,上位机向CPU发起电机运动命令,CPU向方向寄存器、转速寄存器、加速度寄存器和模式寄存器中写入参数,向启动寄存器写入信号1,电机以设定的加速度值每隔一定时间增加速度值,当速度达到设定速度时保持匀速,上位机向CPU发起电机停止命令,CPU启动寄存器写入0,FPGA电机控制模块以加速度值减速,速度减到零时电机停止;在位置模式下,上位机向CPU发起电机运动命令,CPU向方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器写入参数,向启动寄存器写入信号1,FPGA电机控制模块以设定的加速度值每隔一定时间增加速度值,当速度达到设定速度时保持匀速,当电机位置到达减速位置时开始以加速度值减速,当电机位置到达停止位置时电机停止。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
本发明涉及的电机控制系统降低了CPU的运算负担,CPU只需向FPGA控制器写入方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器和启动寄存器,加减速区间的速度由FPGA控制器运算,提高了运算速度和控制精度。
附图说明
图1是本发明基于FPGA的电机控制系统的结构示意图;
图2是本发明控制单个电机的控制系统的结构示意图;
图3是本发明控制多个电机的控制系统的结构示意图。
具体实施方式
为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例一:
结合附图1所示,本实施例涉及电机控制系统包括上位机1、CPU 2、用于驱动外部电机的电机驱动器6和FPGA控制器3,上位机1和CPU 2通过串行通信总线连接,所述的FPGA控制器包括参数寄存器组4、运动控制模块5。结合附图2所示,参数寄存器组又包括用于启动电机运转的启动寄存器41、用于设置电机运行方向的方向寄存器42、用于设置电机运行速度的转速寄存器43、用于设置电机运行加速度的加速度寄存器44、用于设置电机按照速度模式或位置模式运行的模式寄存器45、用于设置电机开始减速位置的减速位置寄存器46、用于设置电机到达目标位置的停止位置寄存器47、用于反馈电机当前位置的当前位置状态寄存器48、用于反馈电机当前速度的当前速度状态寄存器49,所述CPU与FPGA控制器通过数据、地址及控制总线实现数据交互,CPU只需向FPGA控制器写入方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器和启动寄存器的值。所述的运动控制模块通过通信总线与电机控制器连接,其包括FPGA可编程逻辑器件51和用于产生脉冲的脉冲生成器52,脉冲生成器由FPGA可编程逻辑器件51根据所述启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器和停止位置寄存器的值来产生并输出脉冲信号、方向信号、使能信号,并返回电机的当前位置和当前速度信号,电机控制器驱动外部电机。
上述控制系统控制单个电机时,可使电机按照两种模式运行。
在速度模式下,电机8发起运转并的步骤包括:上位机1向CPU 2发起电机运动命令,CPU2向FPGA控制器4写入方向寄存器、转速寄存器、加速度寄存器、模式寄存器的参数,CPU 2向FPGA控制器的启动寄存器写入1,脉冲生成器52根据输入FPGA可编程逻辑器件51的参数,发出相应的脉冲信号驱动电机驱动器6,电机8以设定的加速度值每隔一定时间增加速度值,当速度达到设定速度时保持匀速;在速度模式下,电机8停止运转的步骤包括:上位机向CPU发起电机停止命令;CPU向FPGA控制器的启动寄存器写入0;FPGA电机控制模块以加速度值减速,速度减到零时电机停止。
在位置模式下,电机8发起运转并停止的步骤包括:上位机向CPU发起电机运动命令,CPU向FPGA控制器写入方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器,CPU向FPGA控制器的启动寄存器写入1,FPGA电机控制模块以设定的加速度值每隔一定时间增加速度值,当速度达到设定速度时保持匀速,当电机位置到达减速位置时开始以加速度值减速,当电机位置到达停止位置时电机停止。
实施例二:
结合附图3所示,实施例二以FPGA控制器控制多个电机为例,其包括CPU2、FPGA控制器3和N个电机驱动器6,所述的CPU2与FPGA控制器6通过数据、地址及控制总线连接。所述的FPGA控制器包括N个参数寄存器组4、一个电机选择寄存器31、第一选择器32、选定参数寄存器组33、运动控制模块5和第二选择器34,其中每个参数寄存器组4对应相同编号的电机驱动器6,每个电机驱动器6又分别对应一个外部电机8。其中,所述的参数寄存器组4及电机选择寄存器31分别用于从CPU2中写入控制参数和选定编号参数;所述的第一选择器根据输入电机选择寄存器31的选定编号参数从对应编号的参数寄存器组中提取控制参数,并向选定参数寄存器组33输出控制参数;所述的运动控制模块5与实施例一种的运动模块相同,用于根据输入选定参数寄存器组的控制参数,产生并输出电机控制信号;所述的第二选择器根据输入电机选择寄存器的编号参数,选择向与编号对应的电机驱动器发出控制信号,接收到信号的电机驱动器驱动电机运行,其余电机不动。
上述参数寄存器组2和选定参数寄存器5组均包括用于启动电机运转的启动寄存器、用于设置电机运行方向的方向寄存器、用于设置电机运行速度的转速寄存器、用于设置电机运行加速度的加速度寄存器、用于设置电机按照速度模式或位置模式运行的模式寄存器、用于设置电机开始减速位置的减速位置寄存器和用于设置电机到达目标位置的停止位置寄存器,运动控制模块包括脉冲生成器,用于产生脉冲信号。
上述基于FPGA的多电机控制系统的电机控制方法为:假设系统一共控制5个电机,现要从中选择控制第2个电机,则CPU需先向所述电机选择寄存器中写入编号值2,再向第二个参数寄存器中写入控制参数,于是第一选择器把第二个参数寄存器组的控制参数值赋给选定参数寄存器组。运动控制模块根据选定参数寄存器组中包含的启动寄存器,方向寄存器,转速寄存器,加速度寄存器,模式寄存器,减速位置寄存器和停止位置寄存器的值来输出电机控制信号。第二选择器根据电机选择寄存器中写入编号值2,把电机控制信号送到第二个电机驱动器,从而驱动第二个电机运动,其它电机则不运动。
当需要控制第三个电机时,则CPU先让第二个电机停止,再向所述电机选择寄存器中写入值3,然后向第三组参数寄存器中写入控制参数,于是第一选择器把第三个参数寄存器组的控制参数值赋给选定参数寄存器组。运动控制模块根据选定参数寄存器组中包含的启动寄存器,方向寄存器,转速寄存器,加速度寄存器,模式寄存器,减速位置寄存器和停止位置寄存器的值来输出电机控制信号。第二根据电机选择寄存器中写入编号值3,选择器把电机控制信号送到第三个电机驱动器,从而驱动第三个电机运动。其它电机则不运动。
以上结合实施例对本发明进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍属于本发明的专利涵盖范围之内。
Claims (4)
1.一种基于FPGA的电机控制系统,其包括上位机、CPU、至少一个电机、以及与电机对应的电机驱动器,上位机和CPU通过串行通信总线连接,其特征在于:其还包括FPGA控制器,所述的FPGA控制器包括参数寄存器组和运动控制模块,参数寄存器组包括启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器、当前位置状态寄存器和当前速度状态寄存器,启动寄存器、方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器、当前位置状态寄存器和当前速度状态寄存器的输入端均与CPU通信连接,输出端均与运动控制模块的输入端通信连接,运动控制模块的输出端与电机驱动器通信连接,一个电机驱动器对应驱动一个电机。
2.根据权利要求1所述的基于FPGA的电机控制系统,其特征在于:所述的运动控制模块包括FPGA可编程逻辑器件和脉冲生成器,所述的FPGA可编程逻辑器件的输入端和输出端分别与参数寄存器组和脉冲生成器通讯连接,脉冲生成器的输出端与电机驱动器通信连接。
3.根据权利要求1所述的基于FPGA的电机控制系统,其特征在于:所述的电机数量至少为两个,所述的参数寄存器组的个数与电机数量相同,所述的运动控制模块为一个,所述的FPGA控制器还包括电机选择寄存器、第一选择器、选定参数寄存器组和第二选择器,所述的第一选择器和第二选择器依次设在参数寄存器组和运动控制模块之间,分别与参数寄存器组和运动控制模块通信连接,第二选择器设在运动控制模块和电机驱动机之间,输入端和输出端分别与运动控制模块和电机驱动器通信连接,所述的电机选择寄存器的输入端与CPU通信连接,两个输出端分别与第一选择器和第二选择器通信连接。
4.一种基于权利要求1所述的电机控制系统的控制方法,其特征在于:其包括速度模式和位置模式两种运行模式,
在速度模式下,上位机向CPU发起电机运动命令,CPU向方向寄存器、转速寄存器、加速度寄存器和模式寄存器中写入参数,向启动寄存器写入信号1,电机以设定的加速度值每隔一定时间增加速度值,当速度达到设定速度时保持匀速,上位机向CPU发起电机停止命令,CPU启动寄存器写入0,FPGA电机控制模块以加速度值减速,速度减到零时电机停止;
在位置模式下,上位机向CPU发起电机运动命令,CPU向方向寄存器、转速寄存器、加速度寄存器、模式寄存器、减速位置寄存器、停止位置寄存器写入参数,向启动寄存器写入信号1,FPGA电机控制模块以设定的加速度值每隔一定时间增加速度值,当速度达到设定速度时保持匀速,当电机位置到达减速位置时开始以加速度值减速,当电机位置到达停止位置时电机停止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710145125.7A CN106712653B (zh) | 2017-03-13 | 2017-03-13 | 基于fpga的电机控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710145125.7A CN106712653B (zh) | 2017-03-13 | 2017-03-13 | 基于fpga的电机控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106712653A true CN106712653A (zh) | 2017-05-24 |
CN106712653B CN106712653B (zh) | 2019-05-14 |
Family
ID=58916901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710145125.7A Active CN106712653B (zh) | 2017-03-13 | 2017-03-13 | 基于fpga的电机控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106712653B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309669A (zh) * | 2020-02-10 | 2020-06-19 | 宁波中控微电子有限公司 | 一种可编程电机运动控制片上系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366210A (ja) * | 2001-06-08 | 2002-12-20 | Prime Motion:Kk | 多軸モーション制御システム |
CN1728531A (zh) * | 2004-07-28 | 2006-02-01 | 兄弟工业株式会社 | 马达控制装置、马达控制方法和程序 |
CN101299589A (zh) * | 2008-03-05 | 2008-11-05 | 芯硕半导体(中国)有限公司 | 基于dds技术的步进电机运动控制器 |
CN102403938A (zh) * | 2011-12-14 | 2012-04-04 | 兰州交通大学 | 基于单fpga的旋转变压器解码处理装置和方法 |
CN104601062A (zh) * | 2015-01-15 | 2015-05-06 | 北京奥普维尔科技有限公司 | 基于fpga的控制步进电机的系统及方法 |
CN105577052A (zh) * | 2015-12-31 | 2016-05-11 | 哈尔滨工业大学 | 一种基于fpga的步进电机无抖动驱动控制系统及基于该系统的控制方法 |
-
2017
- 2017-03-13 CN CN201710145125.7A patent/CN106712653B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366210A (ja) * | 2001-06-08 | 2002-12-20 | Prime Motion:Kk | 多軸モーション制御システム |
CN1728531A (zh) * | 2004-07-28 | 2006-02-01 | 兄弟工业株式会社 | 马达控制装置、马达控制方法和程序 |
CN101299589A (zh) * | 2008-03-05 | 2008-11-05 | 芯硕半导体(中国)有限公司 | 基于dds技术的步进电机运动控制器 |
CN102403938A (zh) * | 2011-12-14 | 2012-04-04 | 兰州交通大学 | 基于单fpga的旋转变压器解码处理装置和方法 |
CN104601062A (zh) * | 2015-01-15 | 2015-05-06 | 北京奥普维尔科技有限公司 | 基于fpga的控制步进电机的系统及方法 |
CN105577052A (zh) * | 2015-12-31 | 2016-05-11 | 哈尔滨工业大学 | 一种基于fpga的步进电机无抖动驱动控制系统及基于该系统的控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309669A (zh) * | 2020-02-10 | 2020-06-19 | 宁波中控微电子有限公司 | 一种可编程电机运动控制片上系统 |
CN111309669B (zh) * | 2020-02-10 | 2022-07-22 | 宁波中控微电子有限公司 | 一种可编程电机运动控制片上系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106712653B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN206218608U (zh) | 堆垛机防摇摆装置及堆垛机 | |
CN101655708B (zh) | 车辆智能搬运器及其控制系统和控制方法 | |
CN104748981A (zh) | 一种基于人-车-路闭环控制的新能源汽车试验系统 | |
CN105007012A (zh) | 一种车载转台控制系统及方法 | |
WO2010034266A1 (zh) | 混合动力电机和控制器测试平台及其测试方法 | |
CN101819427B (zh) | 基于fpga的数字化关节片上控制系统 | |
CN101913149B (zh) | 嵌入式轻型机械臂控制器及其控制方法 | |
CN110579980A (zh) | 一种通用型伺服控制算法有效性验证装置 | |
CN105892412A (zh) | 基于自定义总线的多轴运动控制系统硬件架构 | |
CN102004478B (zh) | 一种车辆多总线协调通信与控制系统 | |
CN106019944B (zh) | 一种基于自适应摩擦力矩模型的动量轮模拟器 | |
CN103744353A (zh) | 运动控制系统及运动控制方法 | |
CN104135214A (zh) | 飞行仿真转台的嵌入式电机模块化伺服控制器 | |
CN102097973B (zh) | 一种基于嵌入式芯片的超声电机驱动控制器 | |
CN106712653A (zh) | 基于fpga的电机控制系统及方法 | |
CN201804248U (zh) | 运动控制卡 | |
CN101364783A (zh) | 步进马达驱动装置 | |
CN205068055U (zh) | 一种全自动焊接机器人运动控制系统 | |
CN110515358B (zh) | 基于一体化控制器的自动化产线并行控制系统的控制方法 | |
CN104615095B (zh) | 一种基于网络控制的多振动锤激振与加载系统 | |
CN105373109B (zh) | 一种Delta机器人驱控系统 | |
CN103817695A (zh) | 一种机器人柔性关节的控制方法及驱动装置 | |
CN206595924U (zh) | 一种基于fpga的多电机控制系统 | |
CN206585490U (zh) | 一种单fpga实现的多台电机的控制系统 | |
CN106253758A (zh) | 多电机同轴驱动控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510000 Guangzhou, Guangdong nine new Guangzhou knowledge city, nine new building 18 new self built 112 rooms Applicant after: Eli Kay Polytron Technologies Inc Address before: 510000 Guangzhou, Guangdong nine new Guangzhou knowledge city, nine new building 18 new self built 112 rooms Applicant before: Guangzhou Amsky Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |