CN106887982A - 一种基于fpga的步进电机速度控制方法 - Google Patents
一种基于fpga的步进电机速度控制方法 Download PDFInfo
- Publication number
- CN106887982A CN106887982A CN201510939836.2A CN201510939836A CN106887982A CN 106887982 A CN106887982 A CN 106887982A CN 201510939836 A CN201510939836 A CN 201510939836A CN 106887982 A CN106887982 A CN 106887982A
- Authority
- CN
- China
- Prior art keywords
- stepper motor
- speed
- steps
- fpga
- difference
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000001133 acceleration Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
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
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/14—Arrangements for controlling speed or speed and torque
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Stepping Motors (AREA)
Abstract
本发明实施例公开的一种基于FPGA的步进电机速度控制方法,涉及步进电机速度控制技术领域,能够实现在FPGA中使用单一控制结构对步进电机的速度进行控制。该方法计算目标角度值A1与当前角度值A0的步差绝对值X=|A1-A0|;当步差绝对值0<X≤M时,等待时间T后发出一次转动控制信号,然后X=X-1,若T<T1,则T=T+ΔT,若T≥T1,则T=T,当步差绝对值X>M时,等待时间T后发出一次转动控制信号,然后X=X-1,若T>T2,则T=T-ΔT,若T≤T2,则T=T,当X=0时,控制结束,转动停止,主要用于步进电机速度控制。
Description
技术领域
本发明涉及步进电机速度控制技术领域,尤其涉及一种基于FPGA的步进电机速度控制方法。
背景技术
为避免步进电机在转动过程中由于惯性作用发生失步现象,步进电机在开始转动时应当由低速逐渐加速至高速,在停止转动时应当逐渐减速停止。采用分支控制结构在FPGA中实现会占用较多的硬件资源,使用单一控制结构更加节省硬件资源,但是,目前现有技术没有实现在FPGA中使用单一控制结构对步进电机的速度进行控制。
发明内容
本发明的目的在于克服现有技术不足,提供了一种基于FPGA的步进电机速度控制方法,能够实现在FPGA中使用单一控制结构对步进电机的速度进行控制。
本发明的技术解决方案:
一方面,一种基于FPGA的步进电机速度控制方法,包括以下步骤:
步骤1、设定加减速阈值为M,最大步间隔为T1,最小步间隔为T2,实时步间隔T=T1,加速减速阶段的步间隔之差ΔT=(T1-T2)/M;
步骤2、接收目标角度值A1;
步骤3、计算目标角度值A1与当前角度值A0的步差绝对值X=|A1-A0|;
步骤4、当步差绝对值0<X≤M时,进入步骤5,当步差绝对值X>M时,进入步骤6,当X=0时,控制结束,转动停止;
步骤5、等待时间T后发出一次转动控制信号,然后X=X-1,若T<T1,则T=T+ΔT,若T≥T1,则T=T,进入步骤4;
步骤6、等待时间T后发出一次转动控制信号,然后X=X-1,若T>T2,则T=T-ΔT,若T≤T2,则T=T,进入步骤4。
进一步的,当转动总步数X大于2M时,步进电机会由最低速加速转动M步后达到最高速,然后以最高速匀速转动X-2M步后开始减速,减速转动M步后达到最低速,然后停止转动。
进一步的,当转动总步数X大于M,小于等于2M时,步进电机会由最低速加速转动X-M步后开始减速,减速转动X-M步后达到最低速,然后以最低速匀速转动2M-X步后停止转动。
进一步的,当转动总步数X小于等于M时,步进电机以最低速匀速转动X步后停止转动。
另一方面,一种用于步进电机速度控制的FPGA控制电路,该电路包含如下功能模块:
差值绝对值计算模块:用于计算目标角度与当前角度的步数差值绝对值;
阈值比较模块:用于比较当前步差与阈值,从而决定加速、减速、保持当前速度或停止;
步间计时模块:用于根据步间距计时控制电机转动信号输出。
本发明实施例提供的一种基于FPGA的步进电机速度控制方法,采用FPGA对步进电机进行速度控制,使用单一控制结构,资源占用量少,而且能够根据转动步数的不同改变速度控制策略。
附图说明
所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于FPGA的步进电机速度控制方法的流程图;
图2、图3、图4为本发明实施例中步进电机转动步数不同时的速度规划曲线;
图5为本发明实施例中FPGA硬件实现框图。
具体实施方式
下面将结合附图对本发明的具体实施例进行详细说明。在下面的描述中,出于解释而非限制性的目的,阐述了具体细节,以帮助全面地理解本发明。然而,对本领域技术人员来说显而易见的是,也可以在脱离了这些具体细节的其它实施例中实践本发明。
在此需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
本发明实施例提供一种基于FPGA的步进电机速度控制方法,如图1所示,包括以下步骤:
101、设定加减速阈值为M,最大步间隔为T1,最小步间隔为T2,实时步间隔T=T1,加速减速阶段的步间隔之差ΔT=(T1-T2)/M;
102、接收目标角度值A1;
103、计算目标角度值A1与当前角度值A0的步差绝对值X=|A1-A0|;
104、判断当步差绝对值与M关系,当步差绝对值0<X≤M时,进入步骤105,当步差绝对值X>M时,进入步骤106,当X=0时,控制结束,转动停止;
105、等待时间T后发出一次转动控制信号,然后X=X-1,若T<T1,则T=T+ΔT,若T≥T1,则T=T,进入步骤104;
106、等待时间T后发出一次转动控制信号,然后X=X-1,若T>T2,则T=T-ΔT,若T≤T2,则T=T,进入步骤104。
进一步的,如图2、所示,当转动总步数X大于2M时,步进电机会由最低速加速转动M步后达到最高速,然后以最高速匀速转动X-2M步后开始减速,减速转动M步后达到最低速,然后停止转动。
进一步的,如图3所示,当转动总步数X大于M,小于等于2M时,步进电机会由最低速加速转动X-M步后开始减速,减速转动X-M步后达到最低速,然后以最低速匀速转动2M-X步后停止转动。
进一步的,如图4所示、当转动总步数X小于等于M时,步进电机以最低速匀速转动X步后停止转动。
本发明实施例提供的一种基于FPGA的步进电机速度控制方法,采用FPGA对步进电机进行速度控制,使用单一控制结构,资源占用量少,而且能够根据转动步数的不同改变速度控制策略。
为了实现上述方法,本发明实施例提供一种用于步进电机速度控制的FPGA控制电路,如图5所示,该电路包含如下功能模块:
差值绝对值计算模块:用于计算目标角度与当前角度的步数差值绝对值;
阈值比较模块:用于比较当前步差与阈值,从而决定加速、减速、保持当前速度或停止;
步间计时模块:用于根据步间距计时控制电机转动信号输出。
例如,设置加减速阈值M=4步,最大步差为T1=32us,最小步差T2=16us,当转动10步时,电机加减速情况如下:
当转动8步时,电机加减速情况如下:
步计数 | 8 | 7 | 6 | 5 | 4 | 3 | |||||||
步间隔 | 32us | 28us | 24us | 20us | 16us | 20us | 24us |
步计数 | 2 | 1 | 0 | ||
步间隔 | 28us | 32us |
当转动7步时,电机加减速情况如下:
步计数 | 7 | 6 | 5 | 4 | 3 | 2 | |||||||
步间隔 | 32us | 28us | 24us | 20us | 24us | 28us | 32us |
步计数 | 1 | 0 | |
步间隔 | 32us |
当转动4步时,电机加减速情况如下:
步计数 | 4 | 3 | 2 | 1 | 0 | |||||
步间隔 | 32us | 32us | 32us | 32us | 32us |
如上针对一种实施例描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施例中使用,和/或与其它实施例中的特征相结合或替代其它实施例中的特征使用。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤、组件或其组合的存在或附加。
这些实施例的许多特征和优点根据该详细描述是清楚的,因此所附权利要求旨在覆盖这些实施例的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施例限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本发明未详细说明部分为本领域技术人员公知技术。
Claims (5)
1.一种基于FPGA的步进电机速度控制方法,其特征在于,包括以下步骤:
步骤1、设定加减速阈值为M,最大步间隔为T1,最小步间隔为T2,实时步间隔T=T1,加速减速阶段的步间隔之差ΔT=(T1-T2)/M;
步骤2、接收目标角度值A1;
步骤3、计算目标角度值A1与当前角度值A0的步差绝对值X=|A1-A0|;
步骤4、当步差绝对值0<X≤M时,进入步骤5,当步差绝对值X>M时,进入步骤6,当X=0时,控制结束,转动停止;
步骤5、等待时间T后发出一次转动控制信号,然后X=X-1,若T<T1,则T=T+ΔT,若T≥T1,则T=T,进入步骤4;
步骤6、等待时间T后发出一次转动控制信号,然后X=X-1,若T>T2,则T=T-ΔT,若T≤T2,则T=T,进入步骤4。
2.根据权利要求1所述的方法,其特征在于,当转动总步数X大于2M时,步进电机会由最低速加速转动M步后达到最高速,然后以最高速匀速转动X-2M步后开始减速,减速转动M步后达到最低速,然后停止转动。
3.根据权利要求2所述的方法,其特征在于,当转动总步数X大于M,小于等于2M时,步进电机会由最低速加速转动X-M步后开始减速,减速转动X-M步后达到最低速,然后以最低速匀速转动2M-X步后停止转动。
4.根据权利要求3所述的方法,其特征在于,当转动总步数X小于等于M时,步进电机以最低速匀速转动X步后停止转动。
5.一种用于步进电机速度控制的FPGA控制电路,其特征在于,该电路包含如下功能模块:
差值绝对值计算模块:用于计算目标角度与当前角度的步数差值绝对值;
阈值比较模块:用于比较当前步差与阈值,从而决定加速、减速、保持当前速度或停止;
步间计时模块:用于根据步间距计时控制电机转动信号输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510939836.2A CN106887982B (zh) | 2015-12-15 | 2015-12-15 | 一种基于fpga的步进电机速度控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510939836.2A CN106887982B (zh) | 2015-12-15 | 2015-12-15 | 一种基于fpga的步进电机速度控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106887982A true CN106887982A (zh) | 2017-06-23 |
CN106887982B CN106887982B (zh) | 2019-01-22 |
Family
ID=59173978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510939836.2A Active CN106887982B (zh) | 2015-12-15 | 2015-12-15 | 一种基于fpga的步进电机速度控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106887982B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544573A (zh) * | 2017-08-29 | 2018-01-05 | 深圳怡化电脑股份有限公司 | 步进电机驱动的控制方法及系统 |
CN109687782A (zh) * | 2019-01-08 | 2019-04-26 | 蓝怡科技集团股份有限公司 | 一种步进电机的控制装置和控制系统 |
CN110995083A (zh) * | 2019-12-20 | 2020-04-10 | 湖南航天机电设备与特种材料研究所 | 一种用于三自惯组产品的高可靠锁紧控制方法及控制系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373947A (zh) * | 2007-08-22 | 2009-02-25 | 比亚迪股份有限公司 | 一种步进电机速度的控制方法、装置及系统 |
CN102843084A (zh) * | 2012-09-11 | 2012-12-26 | 济南优耐特汽车电子有限公司 | 一种步进电机的加减速驱动方法 |
JP2014176171A (ja) * | 2013-03-07 | 2014-09-22 | Hitachi High-Technologies Corp | パルスモータ制御装置 |
CN104660127A (zh) * | 2014-12-04 | 2015-05-27 | 重庆谱思机器人控制系统有限公司 | 一种步进电机控制器及其控制方法 |
CN104753415A (zh) * | 2013-12-31 | 2015-07-01 | 深圳迈瑞生物医疗电子股份有限公司 | 步进电机的启停控制方法、系统和步进电机 |
-
2015
- 2015-12-15 CN CN201510939836.2A patent/CN106887982B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373947A (zh) * | 2007-08-22 | 2009-02-25 | 比亚迪股份有限公司 | 一种步进电机速度的控制方法、装置及系统 |
CN102843084A (zh) * | 2012-09-11 | 2012-12-26 | 济南优耐特汽车电子有限公司 | 一种步进电机的加减速驱动方法 |
JP2014176171A (ja) * | 2013-03-07 | 2014-09-22 | Hitachi High-Technologies Corp | パルスモータ制御装置 |
CN104753415A (zh) * | 2013-12-31 | 2015-07-01 | 深圳迈瑞生物医疗电子股份有限公司 | 步进电机的启停控制方法、系统和步进电机 |
CN104660127A (zh) * | 2014-12-04 | 2015-05-27 | 重庆谱思机器人控制系统有限公司 | 一种步进电机控制器及其控制方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544573A (zh) * | 2017-08-29 | 2018-01-05 | 深圳怡化电脑股份有限公司 | 步进电机驱动的控制方法及系统 |
CN107544573B (zh) * | 2017-08-29 | 2021-01-01 | 深圳怡化电脑股份有限公司 | 步进电机驱动的控制方法及系统 |
CN109687782A (zh) * | 2019-01-08 | 2019-04-26 | 蓝怡科技集团股份有限公司 | 一种步进电机的控制装置和控制系统 |
CN109687782B (zh) * | 2019-01-08 | 2021-06-04 | 蓝怡科技集团股份有限公司 | 一种步进电机的控制装置和控制系统 |
CN110995083A (zh) * | 2019-12-20 | 2020-04-10 | 湖南航天机电设备与特种材料研究所 | 一种用于三自惯组产品的高可靠锁紧控制方法及控制系统 |
CN110995083B (zh) * | 2019-12-20 | 2023-01-06 | 湖南航天机电设备与特种材料研究所 | 一种用于三自惯组产品的高可靠锁紧控制方法及控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106887982B (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106887982A (zh) | 一种基于fpga的步进电机速度控制方法 | |
US9889870B2 (en) | Driving curve creation device, driving assistance device, driving control device, and driving curve creation method | |
CN107844058B (zh) | 一种运动曲线离散动态规划方法 | |
CN106184819B (zh) | 一种姿态机动自适应轨迹规划方法 | |
WO2018126967A1 (zh) | 穿梭车速度规划控制方法、装置及穿梭车 | |
CN102945020B (zh) | 速度前瞻的方法及其数控装置、数控系统 | |
CN109667728B (zh) | 用于风力发电机组转速传感器的故障检测方法和装置 | |
CN103533246B (zh) | 一种自动跟踪球形摄像机的控制方法 | |
CN109586645B (zh) | 一种永磁同步电机惯量识别方法及设备 | |
CN102984914A (zh) | 一种控制电子装置温度的方法和电子装置 | |
CN107002636A (zh) | 用于估计风速,包括计算针对叶片扭转调节的桨距角的方法 | |
CN106444637A (zh) | 一种微小线段动态前瞻控制方法和装置 | |
CN108646674A (zh) | 位置s型平滑指令产生方法、系统和电子设备 | |
CN104679487A (zh) | 旋转台精度补偿系统及方法 | |
CN107133380B (zh) | 运载火箭发动机耗尽/关机段的一种制导程序角处理方法 | |
CN105446605B (zh) | 信息处理方法及电子设备 | |
CN109918812A (zh) | 一种方位俯仰型天线通用正倒镜程序过顶处理方法 | |
CN107825996B (zh) | 防溜坡控制方法、装置及电动汽车 | |
CN106302390A (zh) | 一种基于nginx访问频率限制的方法以及系统 | |
CN107767487B (zh) | 一种确定数据采集路线的方法与装置 | |
CN110726511B (zh) | 一种带旋转机构的惯导系统的质心计算方法 | |
CN106325222B (zh) | 进行基于表形式数据的运行的数值控制装置 | |
CN104925271B (zh) | 升力式飞行器的再入标准轨迹指令的确定方法 | |
CN109634273B (zh) | 可移动设备的跟随控制方法及装置 | |
CN110138285A (zh) | 一种永磁同步电机升速控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |