CN105159205B - 应用于运动控制器的高速位置捕捉实现方法及装置 - Google Patents
应用于运动控制器的高速位置捕捉实现方法及装置 Download PDFInfo
- Publication number
- CN105159205B CN105159205B CN201510667464.2A CN201510667464A CN105159205B CN 105159205 B CN105159205 B CN 105159205B CN 201510667464 A CN201510667464 A CN 201510667464A CN 105159205 B CN105159205 B CN 105159205B
- Authority
- CN
- China
- Prior art keywords
- signal
- pulse
- coding
- module
- fpga
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41F—PRINTING MACHINES OR PRESSES
- B41F33/00—Indicating, counting, warning, control or safety devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34013—Servocontroller
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Control Of Position Or Direction (AREA)
Abstract
本发明涉及应用于运动控制器的高速位置捕捉实现方法及装置,方法中:运动控制器包括FPGA和ARM,目标在伺服电机的运转带动下改变位置;编码器将目标的移动信息以编码器差分信号的形式发送给GPIO模块,其中,编码器差分信号包括A、B、Z信号;GPIO模块将A、B信号发送给FPGA的编码信号解码模块,Z信号发送给编码触发寄存器,编码计数模块根据编码信号解码模块的解码信息进行计数,计数的数值信息存储于编码触发寄存器;编码触发寄存器根据Z信号对数值信息进行锁存;ARM根据数值信息对目标位置进行计算、捕捉。本发明通过实时接收和解析编码器的差分信号,对编码计数模块的计数信息进行锁存,实现高速运转的目标捕捉。
Description
技术领域
本发明涉及运动控制设备技术领域,尤其涉及应用于运动控制器的高速位置捕捉实现方法及装置。
背景技术
在自动控制系统中,经常需要用外部信号实时触发、捕捉及存储伺服位置,特别是印刷和包装设备的控制中,需要用色标信号实时跟踪印刷位置,来完成模切、冲孔及封口等操作。在目前运动控制器中,运动控制器在控制目标运动时,目标一般以预定的轨迹进行运动;ARM计算出目标运行的位置,再向伺服驱动器发送控制信号,伺服驱动器控制伺服电机以某种运转方式运行一定的转数,使得目标到达预定位置。然而这种开环控制不能准确得到高速运行中目标的实际位置。无法精确捕捉伺服电机的位置,捕捉误差大。
发明内容
本发明的目的在于解决现有市场的不足,提供应用于运动控制器的高速位置捕捉实现方法和装置,该方法和装置均可以准确获得高速运动中的物体位置。可以满足高速、高精度的应用,运动控制器可实时接收和解析伺服电机的编码器的差分信号,用硬件逻辑电路来完成位置的实时捕捉。
为达到上述目的,本发明采用的技术方案为:
应用于运动控制器的高速位置捕捉实现方法:
所述运动控制器包括FPGA和ARM,目标在伺服电机的运转带动下改变位置;
编码器将目标的移动信息以编码器差分信号的形式发送给GPIO模块,其中,编码器差分信号包括A、B、Z信号;GPIO模块将A、B信号发送给FPGA的编码信号解码模块,Z信号发送给编码触发寄存器,编码计数模块根据编码信号解码模块的解码信息进行计数,计数的数值信息存储于编码触发寄存器;编码触发寄存器根据Z信号对数值信息进行锁存;
FPGA将单时钟周期内存入编码触发寄存器的数值信息传输给ARM,ARM根据数值信息对目标位置进行计算。
为了进一步提高捕捉精度;还包括:
设置有用于感应目标位置的传感器;
FPGA接收来自ARM的控制信号,FPGA根据控制信号计算出伺服电机需要旋转到的位置点(即伺服电机需要旋转到哪个位置),并控制脉冲发送模块向伺服电机的伺服驱动器发送脉冲信号,脉冲发送模块设有脉冲计数模块和脉冲触发寄存器,脉冲计数模块根据脉冲信号进行计数,并将该计数的数值信息存储于脉冲触发寄存器;
当传感器感应到目标时,传感器向GPIO模块发送感应信号,GPIO发送触发信号给编码触发寄存器和脉冲触发寄存器;编码触发寄存器、脉冲触发寄存器根据触发信号分别对数值信息进行锁存;FPGA将两个锁存的数值信息发送给ARM,ARM根据两个数值信息计算出目标位置,实现目标的高速位置捕捉。
进一步地,计数过程中,伺服电机正转时,脉冲计数模块、编码计数模块均以加的方式计数,伺服电机反转时,脉冲计数模块、编码计数模块均以减的方式计数。
即脉冲信号中,控制伺服电机正转的信号在计数时,以加的方式增加计数,控制伺服电机反转的信号在计数时,以减的方式减少计数。编码计数模块根据编码器差分信号的解码信息进行计数,反馈伺服电机正转的信息在计数时,以加的方式增加计数,反馈伺服电机反转的信息在计数时,以减的方式减少计数。
在进行锁存时,以触发信号的上升沿或下降沿有效,即当触发信号从低电平变为高电平时,或者从高电平变为低电平时,编码触发寄存器、脉冲触发寄存器进行锁存。在没有外部触发信号时,编码触发寄存器根据Z信号进行锁存,如通过Z信号的上升沿或下降沿进行锁存。
锁存之后,当触发信号再次反转时,解除锁存,更新相应寄存器的值。即:如果锁存在上升沿进行,则在下降沿解除锁存。从而使得计数、锁存的连续。
应用于运动控制器的高速位置捕捉实现装置,其包括:
用于将伺服电机的运转信息以编码器差分信号的形式对外发送的编码器,其中,编码器差分信号包括A、B、Z信号;
FPGA,FPGA设有用于解码A、B信号的编码信号解码模块、用于根据编码信号解码模块的解码信息进行计数的编码计数模块以及用于存储编码计数模块计数的数值信息的编码触发寄存器;
用于将A、B信号发送给FPGA的编码信号解码模块、Z信号发送给编码触发寄存器接收编码器信号的GPIO模块;
用于将单时钟周期内存入编码触发寄存器的数值信息读取、并计算目标位置的ARM。
应用于运动控制器的高速位置捕捉实现装置,还包括:
用于感应目标位置、并向GPIO模块发送感应信号的传感器;
FPGA设有根据ARM的控制信号向伺服驱动器发送脉冲信号的脉冲发送模块,脉冲模块设有用于根据脉冲信号进行计数的脉冲计数模块以及用于存储该计数的数值信息的脉冲触发寄存器。
本发明取得的有益效果为:本发明通过实时接收和解析伺服电机的编码器的差分信号,对编码计数模块的计数信息进行锁存,用硬件逻辑电路来完成位置的实时捕捉,从而实现高速运转的目标捕捉。
附图说明
图1为本发明的工作原理示意图。
具体实施方式
下面结合具体实施方式对本发明做进一步地说明。
实施例:参见图1。
运动控制器中用FPGA作为控制模块、ARM作为运算处理模块,FPGA采用verilog编写IP核,用来完成伺服驱动的差分信号的解码和实时计数。目标通过伺服电机的运转改变其位置,伺服电机在运转过程中,通过编码器反馈其位置信号;当寄存器有触发信号输入时,利用其上升沿或者下降沿完成位置锁存,同时在单时钟周期内存入锁存寄存器,方便ARM通过总线读取和位置修正。FPGA为逻辑电路。伺服电机通过传动机构(如皮带传动机构)带动目标移动,传动机构同时与编码器连接,带动编码器,编码器感应传动机构的位移或转动角度,从而获得目标的位移或转动角度。
FPGA接收来自ARM的控制信号,根据控制信号计算出伺服电机需要旋转的位置点,并控制脉冲发送模块向伺服驱动器发送脉冲信号,脉冲发送模块设有脉冲计数模块和脉冲触发寄存器,脉冲计数模块根据脉冲信号进行计数,并存储于脉冲触发寄存器;
GPIO模块接收编码器反馈的编码器差分信号和触发信号,编码器差分信号包括A、B、Z信号;触发信号由传感器等产生,当传感器感应到目标后,传感器向GPIO模块发送感应信号,GPIO模块向脉冲触发寄存器、编码触发寄存器发送触发信号;其中编码器的差分信号(A、B信号)发送给编码信号解码模块;编码计数模块根据编码信号解码模块的解码信息进行计数,并存储于编码触发寄存器;
当有触发信号结束时,脉冲触发寄存器对计数数值进行锁存;编码触发寄存器也对相应的计数数值进行锁存;当有新的触发信号接收时,脉冲触发寄存器开始更新,接收新的计数;编码触发寄存器也开始更新,接收新的计数;
FPGA将脉冲触发寄存器、编码触发寄存器的数值发送给ARM,ARM根据数值计算出目标位置,实现目标的高速位置捕捉。
在进行计数时,由于伺服电机有两个旋转方向,将伺服电机正向旋转方式设为正数计数,反向旋转设为负数计数,即正向加,反向减。当没有触发信号时,编码信号解码模块对差分信号(A、B信号)进行解析,差分信号的Z信号对编码触发寄存器进行锁存,FPGA将单时钟周期内存入锁存寄存器的数值通过总线传输给ARM,ARM对目标位置进行计算和修正。当传感器感应到目标时,传感器向FPGA发送感应信号,FPGA形成触发信号发送给编码触发寄存器和脉冲触发寄存器,编码触发寄存器和脉冲触发寄存器同时对计数进行锁存。ARM根据两个锁存的数值进行计算,可以准确捕捉到其位置。两个锁存的数值可能因为信号传输上有差异,通过读取两个值,以最快锁存的数值为准。可以参考前一次(最近一次)根据Z信号锁存的数值,最为接近的数值为最快锁存的数值。
运动控制器在控制目标运动时,ARM发送控制信号,FPGA的脉冲发送模块根据控制信号通过GPIO模块向伺服驱动器发送脉冲信号,伺服驱动器根据脉冲信号控制伺服电机运转;伺服电机的运转信息传输给编码器,编码器以编码器差分信号的形式通过GPIO模块发送给FPGA,同时传感器将感应的信号发送给FPGA,FPGA通过运算获得伺服电机的参数,并将该参数传输给ARM,ARM经过运算获取目标的位置,实现高速捕捉。
实时位置高速捕捉锁存过程中,首先是基于实时位置解析,精确的位置解析才能保证捕捉的位置的实时性,在这里,位置解析的精度可以达到5MHz(5,000,000次/秒)。第二个是关键点是捕获的信号解析,此信号的抖动和延时将直接导致捕获位置的精度,在这里,采用高速接口,单次外部信号的解析时间可以达到100ns(1/10,000,000 秒)。第三个要点就是位置锁存的速度,当外部信号有效或者变化的时候,要尽快的锁存当前位置,因为是实时位置解析,极短的延时会导致非常大的误差,在这里通过外部触发信号的锁存,锁存的速度可以达到10ns(1/100,000,000 秒)。基于以上三点,在自动控制过程当中,可以实现精度极高的位置捕捉。
以上仅是本申请的较佳实施例,在此基础上的等同技术方案仍落入申请保护范围。
Claims (5)
1.应用于运动控制器的高速位置捕捉实现方法,其特征在于:
编码器将目标的移动信息以编码器差分信号的形式发送给GPIO模块,其中,编码器差分信号包括A、B、Z信号;
GPIO模块将A、B信号发送给FPGA的编码信号解码模块,Z信号发送给编码触发寄存器;
编码计数模块根据编码信号解码模块的解码信息进行计数,计数的数值信息存储于编码触发寄存器;编码触发寄存器根据Z信号对数值信息进行锁存;
FPGA将单时钟周期内存入编码触发寄存器的数值信息传输给ARM,ARM根据数值信息对目标位置进行计算、捕捉;
设置有用于感应目标位置的传感器;
FPGA接收来自ARM的控制信号,FPGA根据控制信号计算出伺服电机需要旋转到的位置点,并控制脉冲发送模块向伺服驱动器发送脉冲信号,脉冲发送模块设有脉冲计数模块和脉冲触发寄存器,脉冲计数模块根据脉冲信号进行计数,并将该计数的数值信息存储于脉冲触发寄存器;
当传感器感应到目标时,传感器向GPIO模块发送感应信号,GPIO发送触发信号给编码触发寄存器和脉冲触发寄存器;编码触发寄存器、脉冲触发寄存器根据触发信号分别对数值信息进行锁存;FPGA将两个锁存的数值信息发送给ARM,ARM根据两个数值信息计算出目标位置,实现目标的高速位置捕捉;
FPGA通过传感器的感应信号以及Z信号实现数值锁存,若感应信号与Z信号有差异,则FPGA以最快锁存的信号为准。
2.根据权利要求1所述的应用于运动控制器的高速位置捕捉实现方法,其特征在于:计数过程中,伺服电机正转时,脉冲计数模块、编码计数模块均以加的方式计数,伺服电机反转时,脉冲计数模块、编码计数模块均以减的方式计数。
3.根据权利要求1所述的应用于运动控制器的高速位置捕捉实现方法,其特征在于:在进行锁存时,以触发信号的上升沿或下降沿有效,即当触发信号从低电平变为高电平时,或者从高电平变为低电平时,编码触发寄存器、脉冲触发寄存器进行锁存。
4.用于权利要求1所述高速位置捕捉实现方法的高速位置捕捉实现装置,其特征在于,其包括:
用于将伺服电机的运转信息以编码器差分信号的形式对外发送的编码器,其中,编码器差分信号包括A、B、Z信号;
FPGA,FPGA设有用于解码A、B信号的编码信号解码模块、用于根据编码信号解码模块的解码信息进行计数的编码计数模块以及用于存储编码计数模块计数的数值信息的编码触发寄存器;
用于将A、B信号发送给FPGA的编码信号解码模块、Z信号发送给编码触发寄存器接收编码器信号的GPIO模块;
用于将单时钟周期内存入编码触发寄存器的数值信息读取、并计算目标位置的ARM。
5.根据权利要求4所述的高速位置捕捉实现装置,其特征在于,还包括:
用于感应目标位置、并向GPIO模块发送感应信号的传感器;
FPGA设有根据ARM的控制信号向伺服驱动器发送脉冲信号的脉冲发送模块,脉冲模块设有用于根据脉冲信号进行计数的脉冲计数模块以及用于存储该计数的数值信息的脉冲触发寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510667464.2A CN105159205B (zh) | 2015-10-16 | 2015-10-16 | 应用于运动控制器的高速位置捕捉实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510667464.2A CN105159205B (zh) | 2015-10-16 | 2015-10-16 | 应用于运动控制器的高速位置捕捉实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159205A CN105159205A (zh) | 2015-12-16 |
CN105159205B true CN105159205B (zh) | 2018-04-20 |
Family
ID=54800092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510667464.2A Active CN105159205B (zh) | 2015-10-16 | 2015-10-16 | 应用于运动控制器的高速位置捕捉实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159205B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105676685B (zh) * | 2016-01-05 | 2018-06-15 | 深圳市雷赛软件技术有限公司 | 一种反馈电机初始绝对位置的方法、装置以及编码器分频装置 |
CN105759763B (zh) * | 2016-04-01 | 2018-05-29 | 沈阳东软医疗系统有限公司 | 一种多叶光栅的控制方法及系统 |
CN106292472B (zh) * | 2016-10-20 | 2017-07-07 | 哈尔滨工业大学 | 一种运动控制方法及装置 |
CN110727216B (zh) * | 2019-09-23 | 2022-04-29 | 重庆智能机器人研究院 | 一种编码器的数据读取方法、装置和读取数据的装置 |
CN113377045B (zh) * | 2021-06-08 | 2024-08-16 | 广东三姆森科技股份有限公司 | 一种基于fpga的多路位置比较输出装置 |
CN114047439A (zh) * | 2021-10-21 | 2022-02-15 | 南京埃斯顿自动化股份有限公司 | 一种探针功能的测试系统及测试方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5200678A (en) * | 1989-11-24 | 1993-04-06 | Hitachi, Ltd. | Motor driving control apparatus |
WO2009011437A1 (ja) * | 2007-07-18 | 2009-01-22 | Hirata Corporation | ロボットシステム |
CN102419565A (zh) * | 2011-12-02 | 2012-04-18 | 上海电器科学研究院 | 一种具有脉冲同步输出功能的plc |
CN102789198A (zh) * | 2011-05-18 | 2012-11-21 | 大连光洋科技工程有限公司 | 程序化自动测量与手动测量混合的机床及其在线测量方法 |
CN102789205A (zh) * | 2011-05-17 | 2012-11-21 | 大连光洋科技工程有限公司 | 多接口可支持半闭环控制和全闭环控制的位置信息处理装置 |
CN103176429A (zh) * | 2012-01-16 | 2013-06-26 | 深圳市强华科技发展有限公司 | 一种高性能pcb钻床控制系统 |
CN204203725U (zh) * | 2014-10-27 | 2015-03-11 | 浙江理工大学 | 一种用于伺服电机高精度位置控制系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3814509B2 (ja) * | 2001-10-01 | 2006-08-30 | キヤノン株式会社 | モータの制御のための方法及び装置 |
-
2015
- 2015-10-16 CN CN201510667464.2A patent/CN105159205B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5200678A (en) * | 1989-11-24 | 1993-04-06 | Hitachi, Ltd. | Motor driving control apparatus |
WO2009011437A1 (ja) * | 2007-07-18 | 2009-01-22 | Hirata Corporation | ロボットシステム |
CN102789205A (zh) * | 2011-05-17 | 2012-11-21 | 大连光洋科技工程有限公司 | 多接口可支持半闭环控制和全闭环控制的位置信息处理装置 |
CN102789198A (zh) * | 2011-05-18 | 2012-11-21 | 大连光洋科技工程有限公司 | 程序化自动测量与手动测量混合的机床及其在线测量方法 |
CN102419565A (zh) * | 2011-12-02 | 2012-04-18 | 上海电器科学研究院 | 一种具有脉冲同步输出功能的plc |
CN103176429A (zh) * | 2012-01-16 | 2013-06-26 | 深圳市强华科技发展有限公司 | 一种高性能pcb钻床控制系统 |
CN204203725U (zh) * | 2014-10-27 | 2015-03-11 | 浙江理工大学 | 一种用于伺服电机高精度位置控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105159205A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159205B (zh) | 应用于运动控制器的高速位置捕捉实现方法及装置 | |
CN102200541B (zh) | 一种对电机转速进行测量的方法及装置 | |
CN104317253A (zh) | 一种用于伺服电机位置控制的系统方法 | |
CN204203725U (zh) | 一种用于伺服电机高精度位置控制系统 | |
CN106092148A (zh) | 用于测量物体运动的基于计数器的电路 | |
CN108181482A (zh) | 基于虚拟正弦波的实时低速检测装置 | |
CN103162725A (zh) | 一种光电编码器旋转脉冲显示装置 | |
CN102680726A (zh) | 一种用于电机转速测量的高精度自适应装置 | |
CN102394639A (zh) | 基于fpga实现伺服驱动器的任意数分频方法及任意数分频器 | |
CN106092156A (zh) | 交流伺服串行通信编码器位置反馈脉冲分频输出系统和方法 | |
CN101833690B (zh) | 一种简单可靠的增量式编码器计数方法 | |
CN103940398B (zh) | 回转角度测量方法、装置、系统及工程机械 | |
CN103297054A (zh) | 环形时间数字转换器及其方法 | |
CN107612431A (zh) | 一种电动舵机的控制方法和控制系统 | |
CN104133407A (zh) | 一种用于增量式编码器的计数装置及计数方法 | |
CN102957426B (zh) | 一种可程控旋转编码器的自适应电路 | |
CN103516288A (zh) | 一种自适应的编码器测速装置和方法 | |
CN103178832B (zh) | 一种利用增量型编码器的圈数记录方法 | |
CN100494907C (zh) | 基于正交编码信号的分频电路 | |
CN106376168B (zh) | 阻抗匹配器、阻抗匹配方法及半导体加工设备 | |
CN202694547U (zh) | 一种宽频编码信号检测电路及其无线遥控信号解码电路 | |
CN102708665B (zh) | 一种宽频编码信号检测电路及其无线遥控信号解码电路 | |
CN203825410U (zh) | 高速精密定位采集触发卡电路 | |
US6310458B1 (en) | Blended velocity estimation | |
CN104406545A (zh) | 基于增量式旋转光学编码器的旋转角度测量与计算 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |