CN108535507B - 用于增量式编码器测速的计算机存储介质 - Google Patents
用于增量式编码器测速的计算机存储介质 Download PDFInfo
- Publication number
- CN108535507B CN108535507B CN201810130296.7A CN201810130296A CN108535507B CN 108535507 B CN108535507 B CN 108535507B CN 201810130296 A CN201810130296 A CN 201810130296A CN 108535507 B CN108535507 B CN 108535507B
- Authority
- CN
- China
- Prior art keywords
- pulse
- speed
- incremental encoder
- pulses
- time
- 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
- 238000005259 measurement Methods 0.000 title claims abstract description 17
- 230000000630 rising effect Effects 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000000827 velocimetry Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 3
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
- G01P3/42—Devices characterised by the use of electric or magnetic means
- G01P3/44—Devices characterised by the use of electric or magnetic means for measuring angular speed
- G01P3/48—Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
- G01P3/481—Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
Abstract
本发明涉及伺服驱动器领域,尤其涉及一种计算机存储介质,该介质中存有程序,程序被芯片执行时实现对增量式编码器进行测速,脉冲个数和脉冲所用的时长都设成变量,并用脉冲上升沿来灵活计算出这两个变量的值,从而据这两个变量来精确计算出增量式编码器的转动速度,避免传统M法因固定单位时间而导致的测速误差问题,避免传统T法因固定脉冲个数而导致的时钟周期误差。
Description
技术领域
本发明涉及伺服驱动器领域,尤其涉及一种计算机存储介质,该介质中存有程序,程序被芯片执行时实现对伺服驱动器中的增量式编码器进行测速。
背景技术
在伺服驱动器的设计中,核心部分为位置环、速度环和电流环三个环的设计。其中速度环的来源就是增量式编码器(又称码盘)的速度反馈,所以对增量式编码器的测速的精确与否直接决定了伺服驱动器的性能。
目前,对增量式编码器的测速方法一般为频率法(M法)、周期法(T法)、M/T结合法。
其中M法为测量固定单位时间内的脉冲个数,由于单位时间固定,因而在计数脉冲个数时,可能存在不完整的脉冲个数,导致最大2个脉冲的测速误差,由此可见:当增量式编码器转动越快时,产生不完整脉冲个数的可能性越低,误差就越小。
T法为测量固定脉冲个数所用的时长,此方法受芯片的时钟周期(时钟周期即芯片执行一个指令所需的最短时长)所限,可能存在脉冲结束时时钟周期并未结束的情况,导致最大有1个时钟周期的误差,适用于对低速转动的增量式编码器进行测速。
M/T结合法即在增量式编码器高速转动时用M法测速,增量式编码器低速转动时用T法测速,以减小测速的误差,虽然M/T结合法在很大程度上减小了测速的误差,但也有其本身固有的问题,如M/T结合法切换的速度点不容易确定。
发明内容
本发明的目的是精确地测量增量式编码器的转动速度。
为此,提供一种用于增量式编码器测速的计算机存储介质,其存储有计算机程序,该程序被芯片执行时实现以下步骤:
脉冲获取步骤:捕获增量式编码器的起始信号以确定一个完整的脉冲;
测速步骤:执行k次脉冲获取步骤以获得k个脉冲,并计这k个脉冲所用的时长tk,根据tk和k的比值来确定增量式编码器的转动速度,其中k是正整数。
在测速步骤中,用脉冲时间计数器来计脉冲所用的时长tk。
在测速步骤中,用脉冲个数计数器来计脉冲个数k。
进一步地,若在速度环的运算周期内能够捕获到至少一个完整的脉冲,则所述测速步骤在该次运算周期内执行,所述测速步骤包括如下步骤:
高速锁存步骤:在首次捕获到增量式编码器的起始信号后,每当增量式编码器的起始信号再次到来时,分别对脉冲个数计数器和脉冲时间计数器进行锁存;
高速输出步骤:选取时刻Clk为参照,以高速锁存步骤最近一次锁存的脉冲个数计数器值作为脉冲个数k,以高速锁存步骤最近一次锁存的脉冲时间计数器值作为脉冲所用的时长tk。
优选地,所述测速步骤还包括在高速锁存步骤之前执行的高速清零步骤:当首次捕获到增量式编码器的起始信号时,分别对脉冲个数计数器和脉冲时间计数器进行清零。
优选地,所述时刻Clk是该次运算周期结束时。
进一步地,若在速度环的运算周期内未能够捕获到一个完整的脉冲,则所述测速步骤包括如下步骤:
低速清零步骤:当捕获到增量式编码器的起始信号S0之后,在随后的第y个时钟周期的上升沿到来之际,清零脉冲时间计数器;
低速锁存步骤:当捕获到增量式编码器的起始信号S0之后,在随后的增量式编码器的起始信号S1到来之际,锁存脉冲时间计数器;
低速输出步骤:以起始信号S0和起始信号S1作为边界来确定一个脉冲,以低速锁存步骤锁存的脉冲时间计数器值加n个时钟周期所计得的值作为该脉冲所用的时长;
其中,y为正整数且其值不大于一个脉冲内的时钟周期的个数。
进一步地,其存储的计算机程序是适合被FPGA芯片执行的程序。
有益效果:
本发明将脉冲个数和脉冲所用的时长都设成变量,并用脉冲上升沿来灵活计算出这两个变量的值,从而据这两个变量来精确计算出增量式编码器的转动速度,避免传统M法因固定单位时间而导致的测速误差问题,避免传统T法因固定脉冲个数而导致的时钟周期误差。
附图说明
利用附图对本发明创造作进一步说明,但附图中的实施例不构成对本发明创造的任何限制,对于本领域的普通技术用户员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1是增量式编码器高速转动时所对应的波形图。
图2是增量式编码器低速转动时所对应的波形图。
图3是采用两个脉冲时间计数器A、B来对增量式编码器的脉冲进行计时所对应的波形图。
具体实施方式
结合以下实施例对本发明创造作进一步描述。
假设增量式编码器转动的长度为L时,增量式编码器恰好产生一个完整的脉冲。以增量式编码器的脉冲上升沿作为起始信号,用芯片对增量式编码器进行脉冲采样。
设芯片的脉冲个数计数器中的值为m,设芯片的脉冲时间计数器中的值为n,假设对芯片的周期计数器写入T,从而设定速度环的运算周期为t,其中T=t。
见图1,若芯片在一个运算周期t内能捕获到至少一个完整的脉冲,说明增量式编码器处于高速转动状态,则芯片在该次运算周期t中,执行如下步骤A:
——A1:在首次捕获到增量式编码器的脉冲上升沿S0时,清零m和n;
——A2:在首次之后的每一次脉冲上升沿(S1、S2、S3···)到来之际,锁存m和n;
——A3:当该次运算周期t结束时,把最近一次锁存的m作为增量式编码器在t内的脉冲个数,把最近一次锁存的n作为这m个脉冲所用的时长;
——A4:将A3中所取得的脉冲个数乘L以获得增量式编码器转动的总长度,用总长度除以A3中所取得的时长,就获得了增量式编码器转动的速度。
若芯片在一个运算周期t内连一个完整的脉冲都捕获不到,说明增量式编码器处于低速转动状态,则见图2,芯片执行如下步骤B:
——B1:当增量式编码器的脉冲上升沿S0之后的第1个芯片的时钟周期的上升沿C1到来时,清零n,以使n重新累加计数;
——B2:当增量式编码器的脉冲上升沿S1到来时,锁存n,则脉冲上升沿S1的上一完整脉冲的所用时长x即为图2中的时长t1加一个时钟周期的持续时长t0,其中时长t1的值等于脉冲时间计数器所计时的值——即n,因而x=n+t0;
——B3:用L除以x以获得增量式编码器转动的速度。
需要说明的是,见图2,在操作B计算S0和S1之间的脉冲的所用时长时,该脉冲中一共就只有4个时钟周期。此情况下,在B1中,选取第1个时钟周期的上升沿来执行清零动作,这是保障措施。若选取第2、3或4个时钟周期的上升沿来执行清零动作,也是可行的。但若由于事先不知情而在B1中选取了第5个时钟周期,则会导致出错,只能抛弃此次选择。
优选地,为了节约硬件资源,图2中只使用一个脉冲时间计数器来对增量式编码器的脉冲进行计时,由于脉冲时间计数器需要耗时一个时钟周期才能完成图2中的一个锁存动作或清零动作,因而在图2中将清零和锁存这两个动作错开时间执行。
若不节约硬件资源,如图3所示,采用两个脉冲时间计数器A、B来对增量式编码器的脉冲进行计时,其中设脉冲时间计数器A中的值为a,设脉冲时间计数器B中的值为b,则:
——在脉冲上升沿S0来临之际,清零a、锁存b;
——在脉冲上升沿S1来临之际,锁存a、清零b,则S0和S1之间的脉冲的所用时长a1的值等于脉冲时间计数器A所计时的值a;
——在脉冲上升沿S2来临之际,再次清零a、锁存b,则S1和S2之间的脉冲的所用时长b1的值等于脉冲时间计数器B所计时的值b;
——在图3中未示出的脉冲上升沿S3来临之际,再次锁存a、清零b,则S2和S3之间的脉冲的所用时长的值等于脉冲时间计数器A所计时的值a;
···
如此,通过交替获取a和b,即可实现对增量式编码器的每个脉冲进行计时。
同理,在图1中,也是只使用一个脉冲时间计数器来计时,只使用一个脉冲时间计数器来计数,因而在步骤A中,脉冲个数计数器和脉冲时间计数器仅在首次脉冲上升沿处执行清零动作,而在随后的脉冲上升沿处只执行锁存动作,避免计数器在同一时刻既执行锁存动作又执行清零动作,以免如图3一样占用更多的硬件资源。还需注意到的是,由于在非首次脉冲上升沿处,脉冲个数计数器和脉冲时间计数器只执行锁存动作,其计数值是不断累加的,但由于在运算周期t内的脉冲个数有限且脉冲所用的时长较短,脉冲个数计数器和脉冲时间计数器不会发生溢出,故不会产生问题。
进一步地,芯片优选为FPGA,利用FPGA并行运算的特点,来提高芯片计算速度,从而更加精确计算出增量式编码器的脉冲个数和脉冲所用的时长。
最后应当说明的是,以上实施例仅用以说明本发明创造的技术方案,而非对本发明创造保护范围的限制,尽管参照较佳实施例对本发明创造作了详细地说明,本领域的普通技术人员应当理解,可以对本发明创造的技术方案进行修改或者等同替换,而不脱离本发明创造技术方案的实质和范围。
Claims (5)
1.用于增量式编码器测速的计算机存储介质,其存储有计算机程序,其特征是,该程序被芯片执行时实现以下步骤:
脉冲获取步骤:捕获增量式编码器的起始信号以确定一个完整的脉冲;
测速步骤:执行k次脉冲获取步骤用脉冲个数计数器以获得k个脉冲,并用脉冲时间计数器计这k个脉冲所用的时长tk,根据tk和k的比值来确定增量式编码器的转动速度,其中k是正整数,若在速度环的运算周期内未能够捕获到一个完整的脉冲,则当捕获到增量式编码器的起始信号S0之后,在随后的第y个时钟周期的上升沿到来之际,清零脉冲时间计数器;
低速锁存步骤:当捕获到增量式编码器的起始信号S0之后,在随后的增量式编码器的起始信号S1到来之际,锁存脉冲时间计数器;
低速输出步骤:以起始信号S0和起始信号S1作为边界来确定一个脉冲,以低速锁存步骤锁存的脉冲时间计数器值加y个时钟周期所计得的值作为该脉冲所用的时长;
其中,y为正整数且其值不大于一个脉冲内的时钟周期的个数。
2.根据权利要求1所述的用于增量式编码器测速的计算机存储介质,其特征是:
若在速度环的运算周期内能够捕获到至少一个完整的脉冲,则所述测速步骤在该次运算周期内执行,所述测速步骤包括如下步骤:
高速锁存步骤:在首次捕获到增量式编码器的起始信号后,每当增量式编码器的起始信号再次到来时,分别对脉冲个数计数器和脉冲时间计数器进行锁存;
高速输出步骤:选取时刻Clk为参照,以高速锁存步骤最近一次锁存的脉冲个数计数器值作为脉冲个数k,以高速锁存步骤最近一次锁存的脉冲时间计数器值作为脉冲所用的时长tk。
3.根据权利要求2所述的用于增量式编码器测速的计算机存储介质,其特征是:所述测速步骤还包括在高速锁存步骤之前执行的高速清零步骤:当首次捕获到增量式编码器的起始信号时,分别对脉冲个数计数器和脉冲时间计数器进行清零。
4.根据权利要求2或3所述的用于增量式编码器测速的计算机存储介质,其特征是:所述时刻Clk是该次运算周期结束时。
5.根据权利要求1-2所述的任一项用于增量式编码器测速的计算机存储介质,其特征是:其存储的计算机程序是适合被FPGA芯片执行的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810130296.7A CN108535507B (zh) | 2018-02-08 | 2018-02-08 | 用于增量式编码器测速的计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810130296.7A CN108535507B (zh) | 2018-02-08 | 2018-02-08 | 用于增量式编码器测速的计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108535507A CN108535507A (zh) | 2018-09-14 |
CN108535507B true CN108535507B (zh) | 2021-05-04 |
Family
ID=63485933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810130296.7A Active CN108535507B (zh) | 2018-02-08 | 2018-02-08 | 用于增量式编码器测速的计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108535507B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109682987A (zh) * | 2018-12-29 | 2019-04-26 | 深圳市越疆科技有限公司 | 一种电机低速测量方法及电机测速*** |
CN110081910B (zh) * | 2019-04-23 | 2021-06-22 | 福建睿能科技股份有限公司 | 信号调制方法、调制***、解调方法、解调***及刺绣机 |
CN111240374B (zh) * | 2019-12-27 | 2023-10-31 | 深圳市合信自动化技术有限公司 | 一种微小速度检测的方法 |
CN111879342B (zh) * | 2020-08-03 | 2021-08-03 | 中国科学院长春光学精密机械与物理研究所 | 一种基于非线性跟踪微分器的编码器测速方法及装置 |
CN112305256B (zh) * | 2020-10-12 | 2022-07-26 | 江苏吉泰科电气股份有限公司 | 一种自适应mt过渡测速方法 |
CN114518782B (zh) * | 2022-01-02 | 2024-07-02 | 深圳市禾望电气股份有限公司 | 微控制单元、电机转速测量方法及***、存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19517437C2 (de) * | 1995-05-12 | 1997-08-07 | Lenze Gmbh & Co Kg Aerzen | Verfahren und Vorrichtung zum Übertragen inkrementaler Winkel- oder Weginformationen |
CN101936751B (zh) * | 2010-07-20 | 2012-07-04 | 兰州大学 | 采用二级细分提高编码器分辨力的方法和电路 |
CN102035455B (zh) * | 2010-11-30 | 2012-11-21 | 中冶南方(武汉)自动化有限公司 | 一种变频器m/t测速方法 |
CN104297515B (zh) * | 2014-11-06 | 2017-11-17 | 贾兆旻 | 一种基于编码器实现高分辨率测速的方法 |
CN105628956A (zh) * | 2015-12-30 | 2016-06-01 | 上海自动化仪表有限公司 | 利用正交编码器检测旋转运动***的方法 |
JP6647757B2 (ja) * | 2016-02-01 | 2020-02-14 | 株式会社小野測器 | クランクパルスプレート歯数計測方法、エンジン回転速度計測方法、クランクパルスプレート歯数計測装置、エンジン回転速度計測装置、クランクパルスプレート歯数計測プログラム、およびエンジン回転速度計測プログラム |
CN105738642A (zh) * | 2016-02-03 | 2016-07-06 | 上海新源工业控制技术有限公司 | 一种四路并行采样的t法电机测速方法 |
CN106771326B (zh) * | 2016-11-18 | 2019-04-23 | 威科达(东莞)智能控制有限公司 | 一种基于增量式光电编码器测量速度的方法 |
-
2018
- 2018-02-08 CN CN201810130296.7A patent/CN108535507B/zh active Active
Non-Patent Citations (2)
Title |
---|
An easy speed measurement for incremental rotary encoder using multi stage moving average method;Arinata Fatchun Ilmiawan, et al;《2014 International Conference on Electrical Engineering and Computer Science》;20150219;第363-368页 * |
基于STM32F103的旋转角度测量装置设计;丛培田 等;《工具技术》;20170131;第51卷(第1期);第108-110页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108535507A (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108535507B (zh) | 用于增量式编码器测速的计算机存储介质 | |
JPS631115A (ja) | パルス発生回路 | |
JP6792602B2 (ja) | 高分解能の時間−ディジタル変換器 | |
US9568889B1 (en) | Time to digital converter with high resolution | |
CN106645780B (zh) | 一种基于dsp的转速检测方法及*** | |
TWI683193B (zh) | 輸入輸出控制單元、可程式邏輯控制器及檢查系統 | |
JP2000044135A (ja) | エレベータにおける速度制御装置およびエレベータの速度検出プログラムを記録した記録媒体 | |
JP3123931B2 (ja) | 時間測定システム及びその時間測定方法 | |
CN111769822B (zh) | 频率测量装置 | |
CN103869156B (zh) | 一种双混频时差测量方法及测量*** | |
JP6825260B2 (ja) | 速度検出装置および速度制御システム | |
CN106253763B (zh) | 编码器的滤波方法及装置 | |
RU2742710C2 (ru) | Устройство для измерения частоты | |
JPH061279B2 (ja) | デイジタル式速度検出装置 | |
RU134375U1 (ru) | Частотно-фазовый дискриминатор | |
CN103227639B (zh) | 一种用于时间数字转换器的相位检测电路 | |
RU163222U1 (ru) | Делитель частоты с переменным коэффициентом деления | |
CN110609463A (zh) | 一种基于fpga的激光雷达多脉冲时间间隔测量*** | |
TWI424163B (zh) | 轉速估算方法及應用其之電腦可讀取媒體 | |
RU2246133C2 (ru) | Корреляционный дискриминатор времени задержки | |
JP5234095B2 (ja) | パルス位相差符号化回路 | |
JP2010074637A (ja) | アップダウンカウンタ装置 | |
KR101135253B1 (ko) | 전동기 속도 검출 방법 | |
CN210690617U (zh) | 一种发动机转速监控电路 | |
CN102684648B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231108 Address after: 518000 No. 502, building 13, Chuangke Town, University Town, Taoyuan Street, Nanshan District, Shenzhen, Guangdong Patentee after: SHENZHEN VECTOR SCIENCE CO.,LTD. Address before: 523808 household a, building 12, Zhongji Zhigu, No. 1, Nanshan Road, Songshanhu high tech Industrial Development Zone, Dongguan City, Guangdong Province Patentee before: VECTOR (DONGGUAN) INTELLIGENT CONTROL CO.,LTD. |