CN113739828B - 测量光电编码器的码盘的角度的方法、电路、设备和介质 - Google Patents

测量光电编码器的码盘的角度的方法、电路、设备和介质 Download PDF

Info

Publication number
CN113739828B
CN113739828B CN202010476656.6A CN202010476656A CN113739828B CN 113739828 B CN113739828 B CN 113739828B CN 202010476656 A CN202010476656 A CN 202010476656A CN 113739828 B CN113739828 B CN 113739828B
Authority
CN
China
Prior art keywords
motor
angle
determining
code
code wheel
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
Application number
CN202010476656.6A
Other languages
English (en)
Other versions
CN113739828A (zh
Inventor
陈杰
向少卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hesai Technology Co Ltd
Original Assignee
Hesai Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hesai Technology Co Ltd filed Critical Hesai Technology Co Ltd
Priority to CN202010476656.6A priority Critical patent/CN113739828B/zh
Publication of CN113739828A publication Critical patent/CN113739828A/zh
Application granted granted Critical
Publication of CN113739828B publication Critical patent/CN113739828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • G01D5/34707Scales; Discs, e.g. fixation, fabrication, compensation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes

Abstract

本发明提供了一种用于测量光电编码器的码盘的角度的方法、设备、芯片电路和计算机可读存储介质。该方法包括:在该光电编码器的电机开始启动后,检测该码盘的刻度以确定该电机的电角度零位置与该电机在停机状态的电角度之间的角度差来确定该电机的电角度零位置;当该电机转速达到预定转速时,基于该码盘转动时的读码信号确定该码盘的零位置;基于该光电编码器的光电传感器检测到的脉冲的参考时间戳和与该参考时间戳对应的参考角度值确定用于对该码盘的角度进行调节的PID调节值;以及基于该参考时间戳、该参考角度值、该PID调节值以及当前时间戳,确定该码盘的当前角度。

Description

测量光电编码器的码盘的角度的方法、电路、设备和介质
技术领域
本发明涉及光电技术领域,更具体地,涉及一种用于测量光电编码器的码盘的角度的方法、芯片电路、设备和计算机可读存储介质。
背景技术
光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的电子器件。当前,光电编码器已经被广泛用于各种角度测量和控制方案中。一个典型的光电编码器通常包括光源、码盘和光电传感器。码盘上通常具有均匀排布的小孔,光源发出的光束经过码盘上的小孔照射到光电传感器上,产生脉冲信号。该脉冲信号可以发送给数据处理装置以确定码盘的转速和当前的角度定向。码盘上通常具有零度位置,作为码盘角度定向的参考使用。但如果零度位置或其他刻度处出现了油污、异物或者磨损等损坏,则不能起到标识作用,从而会导致测角不准。
机械旋转式激光雷达可以通过360℃旋转,对周边的物体进行探测。为了实时地定位激光雷达的旋转角度,需要采用码盘来进行角度的测量,以确定激光的发射方向和接收方向。机械雷达的水平角分辨率可达到0.2°。然而,如果采用0.2°作为码盘的刻度间隔,则码盘的精度过高,制作难度过大。因此,需要寻找一种采用低精度的码盘也能达到激光雷达测角精度要求的测角算法。
发明内容
针对以上问题,本发明提出了一种用于测量光电编码器的码盘的角度的方案。
根据本发明的一个方面,提供了一种用于测量光电编码器的码盘的角度的方法。该方法包括:在该光电编码器的电机开始启动后,检测该码盘的刻度以确定该电机的电角度零位置与该电机在停机状态的电角度之间的角度差来确定该电机的电角度零位置;当该电机转速达到预定转速时,基于该码盘转动时的读码信号确定该码盘的零位置;基于该光电编码器的光电传感器检测到的脉冲的参考时间戳和与该参考时间戳对应的参考角度值确定用于对该码盘的角度进行调节的PID调节值;以及基于该参考时间戳、该参考角度值、该PID调节值以及当前时间戳,确定该码盘的当前角度。
根据本发明的另一个方面,提供了一种用于测量光电编码器的码盘的角度的芯片电路。该芯片电路包括被配置为加电时执行如上所述的方法的电路单元。
根据本发明的又一个方面,提供了一种用于测量光电编码器的码盘的角度的设备。该设备包括:处理器;以及存储器,其中存储有计算机程序代码,该计算机程序代码在被该处理器运行时执行如上所述的方法。
根据本发明的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。
利用本发明的方案,可以利用低精度码盘(例如1.5°间隔的码盘)的信号来跟踪高精度机械旋转的雷达(如水平角分辨率为0.2°)的转速变化和更新当前的机械角度,从而克服了高精度码盘制作难度大的问题,采用低精度码盘也能够满足机械雷达的旋转测角精度要求,大大降低了码盘的制作和维护成本。
附图说明
图1示出了一种现有技术的码盘的示意图;
图2示出了利用现有技术的码盘进行角度测量的波形信号的示意图;
图3示出了根据本发明的实施例的用于测量光电编码器的码盘的角度的方法的流程图;
图4示出了图3所示的方法中用于确定电机的电角度零位置的步骤的示例性流程图;
图5示出了图3所示的方法中用于确定码盘的零位置的步骤的示例性流程图;以及
图6示出了可以用来实施本发明的实施例的示例设备的示意性框图。
具体实施方式
以下将结合附图对本发明的各实施例进行详细说明,以便更清楚理解本发明的目的、特点和优点。应理解的是,附图所示的实施例并不是对本发明范围的限制,而只是为了说明本发明技术方案的实质精神。
在下文的描述中,出于说明各种公开的实施例的目的阐述了某些具体细节以提供对各种公开实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一些实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一些实施例”中的出现无需全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
如该说明书和所附权利要求中所用的单数形式“一”和“所述”包括复数指代物,除非文中清楚地另外规定。应当指出的是术语“或”通常以其包括“和/或”的含义使用,除非文中清楚地另外规定。
图1示出了一种现有技术的码盘10的示意图。如图1中所示,一种常规的码盘10包括基本上为圆环形的盘体1。在盘体1的边缘基本上均匀地分布着多个编码孔2,其中,在某个位置3处缺失一个编码孔2,作为码盘10旋转时的零刻度,这个位置称为码盘10的零位置3。编码孔2可允许光束通过,而相邻的编码孔2之间的部分不允许光束透过。在盘体1的两侧分别设置对向的光源和光电传感器,当有光束入射到光电传感器上时,光电传感器将产生脉冲。因此,当码盘10绕着通过其圆心的轴线旋转时,光源发出的光束会被码盘10连续地阻隔、投射、阻隔、投射,从而在光电传感器上产生一个脉冲序列。
图2示出了利用现有技术的码盘10进行角度测量的波形信号20的示意图。读码电路将类似于一个三角波或正弦波的信号,通过比较器转成数字信号,采用两个相隔一定角度的读码器能够分别得到如图2中所示的波形信号22和24(统称为波形信号20)。由于码盘10的零位置3处缺少一个编码孔2,所以在零位置附近,角度信号的周期性会被打破。由图2可见,波形信号22和24在与零位置3相对应的位置222和242处分别缺失一个脉冲,从而在波形信号22和24中分别产生一个较宽的黑区(或者白区,取决于码盘设计)。由于零度的黑区(或者白区)是正常值的3倍,前面一个下降沿会略微提前,后面一个上升沿会被滞后,因而可用于标识零位置。使用上升沿和下降沿的中心值来计算码盘10在任意时刻转过的机械角度,在编程的时候需要修正零位置的误差。此外,图2所示的波形信号20是一个理想的情况,实际上,因为电路的比较器未必正好在一半区域,或者由于温飘,信号占空比(脉冲宽度与一个信号周期的比例)不一定是50%,编程时也需要注意跟踪这个变化。码盘在旋转时,其读码器周围的环境光变化以及码盘的脏污都会带来相位误差,因此需要采用一些额外的方法来检测并跟踪码盘的角度。
图3示出了根据本发明的实施例的用于测量光电编码器的码盘10的角度的方法100的流程图。如图3中所示,方法100分别在步骤110和120确定电机的电角度零位置和码盘10的零位置。接下来,在步骤130,方法100基于光电编码器的光电传感器检测到的脉冲的参考时间戳和与该参考时间戳对应的参考角度值确定用于对码盘10的角度进行调节的PID调节值。最后,在步骤140,基于该参考时间戳、该参考角度值、该PID调节值以及当前时间戳,确定码盘10的当前角度。
在一些实施例中,在步骤110,在光电编码器的电机开始启动后,检测码盘10的刻度以确定电机的电角度零位置。
通常,电机启动时,需要启动程序来启动电机。然而,对于240线码盘来说,启动程序只能以相邻刻度间隔1.5°(360°/240=1.5°)为单位的相对转动角度来换相。在根据本发明的一些实施例中,当电机启动起来以后,可以由利用软件或硬件程序(如FPGA)来接管换相操作,从而减少对软件的实时性要求。
图4示出了图3所示的方法100中用于确定电机的电角度零位置的步骤110的一种示例性流程图。
如图4中所示,在一些实施例中,步骤110可以包括子步骤111,其中将光电编码器的电机刹车并停留第一预定时间。以三相电机为例,电机刹车(停机)时的三个相A、B、C都处于刹车状态。在一种实例中,第一预定时间可以是4-6秒。
接下来,在子步骤112,在电机的初始相位(例如电机的相位0)时,设定最大功率(例如在脉宽调制(PWM)的情况下,最大功率为PWM=1),停留第二预定时间。在一种实例中,第二预定时间可以是2-4秒。
这里,子步骤111和112先对电机进行刹车,再以最大功率启动电机是为了使得电机总是以相同的初始操作状态开始工作,也可以称为对齐操作。这时,可以认为电机的停留位置是预设的,无论电机之前什么状况,被刹车后都能停留在一个预设的停留位置(相位)中,可以取当前停留位置为假定的电角度零位置。这个假定的电角度零位置可以是任何一个相位停留值,例如对于极对数为6的三相电机来说,可以是电机的36个停留位置中的任何一个。在本申请中,统一用机械角度来代替电角度。也就是说每六次换相,电机应该转过60°,平均换相提前角应该是15°。
在一些情况下,例如之前已经通过其他方式确定了电机的初始操作状态,则子步骤111和112可以省略。
在子步骤113,以大功率启动电机。在实施了子步骤111和112的实施例中,可以将电机切换到不同于初始相位的另一相位(例如电机的相位2)并以一个大功率启动。在本发明的一个实例中,可以以最大功率启动电机以将电机拖出上一个陷阱(相位)。然而,本领域技术人员可以理解,这里并不局限于电机的最大功率,而是可以是一个足够大的、能够使得电机离开上一陷阱的功率。
接下来,在子步骤114,检测码盘10的指针变化,确定电机换相过程中检测到的脉冲数。这里,需要实际测量电机的这次换相能检测到多少个码盘刻度。因为读码器电路是交流耦合的,在非常低转速的时候是检测不到信号变化的,甚至会有误码,因此需要分析截获的时间戳和转过的刻度数。如果不考虑读码器的低频性能,对于三相电机和240线码盘来说,采用单个读码器理论上可以检测到的最大13.33脉冲数S=电机一次换相的角度变化*换相次数/码盘刻度间隔。其中如上所述,对于极对数为6的三相电机来说,电机一次换相的角度变化为10°,对于240线码盘来说,码盘刻度间隔为1.5°。
但是要注意,在这次换相过程中,转子很可能会在停留位置来回振动,所以实际检测到的脉冲会存在假的,即理论脉冲数和检测到的脉冲数可能不一致。可以通过脉宽的变化来分析是否有振动。
接下来,在子步骤115,基于电机在一次换相时经过的理论脉冲数(如相位为2时,S=13.33)和检测到的脉冲数确定电机的电角度零位置的滞后值。这个滞后值是电机的电角度零位置相对于第一个码盘指针的滞后值。例如,对于三相电机和240线码盘来说,滞后值可以用如下的公式(1)表示:
(13.33-N)*360°/240,(1)
其中N是子步骤114中检测到的脉冲数。
因此,在获得了该滞后值之和,可以基于该滞后值和第一个码盘指针确定码盘的电角度零位置。
此外,可以多次执行子步骤114以获得平均的N值作为上述公式(1)中的N的值。
接下来,在子步骤116,确定电机从该电角度零位置的转动角度,并且在子步骤117,确定该转动角度是否大于或等于预定角度。
在电机是极对数为6的三相电机时,该预定角度可以表示为如下的公式(2):
10°+DRIVE_PHASE_LAG,(2)
其中DRIVE_PHASE_LAG是光电编码器的固有参数,其指示平均换相时电机相位角对于三相电机的最佳理论值15°的偏差,其可以是正数也可以是负数,也可以是零。
如果在子步骤117确定该转动角度大于或等于该预定角度,则在在子步骤118,增加电机的相位(例如将相位+1)并且降低电机的功率直至电机转速达到预定转速。这里,可以逐渐减小电机的功率,这是因为此时电机已经启动起来了,就不需要再以最大或较大功率启动来保持启动的平稳性。例如,可以将电机的功率从最大功率降低到最大功率*k,其中k∈[0.5,1)。在一个实例中,k=0.8。
这里,可以逐步降低电机的功率以重复上述子步骤118,直到电机到达稳定旋转的转速(即预定转速)。例如,假设电机的正常工作转速是10HZ,则预定转速可以设置为1-4HZ之间的值,如2HZ。
返回图1,方法100进入到步骤120,其中当电机转速达到该预定转速时,基于码盘转动时的读码信号确定码盘的零位置。
图5示出了图3所示的方法100中用于确定码盘的零位置的步骤120的示例性流程图。
如图5中所示,在一些实施例中,步骤120包括子步骤121,电机稳定旋转时,获得图2所示的脉冲序列,其中分别检测读码信号的当前脉冲的上升沿的时间戳和下降沿的时间戳。
当码盘10转动时,子步骤121中可以用大约1M的时钟检测读码信号对应的计数值,从而确定当前脉冲的上升沿和下降沿的时间戳。例如,假设对于240线码盘来说,上升沿时间戳可以分别表示为Ri(i=1,2…,239),下降沿时间戳可以分别表示为Fi(i=1,2…,239)。
接下来,在子步骤122,基于当前脉冲的上升沿的时间戳Ri和下降沿的时间戳Fi确定当前脉冲的脉宽PWi。PWi可以表示为PWi=Fi-Ri
在子步骤123,根据子步骤122的方法确定多个连续脉冲的脉宽平均值PWAVGi
在一种实施例中,可以利用滑动平均法来计算脉宽平均值。例如PWAVGi可以表示为如下的公式(3):
PWAVGi=PWAVGi-1*(M-1)/M+PWi, (3)
其中PWAVGi指示当前脉冲的脉宽平均值,PWAVGi-1指示前一脉冲的脉宽平均值,PWi指示当前脉冲的脉宽,M指示滑动窗的大小。例如,M=32。
在另一些实施例中,可以利用算数平均法来计算脉宽平均值。
接下来,在子步骤124,确定当前脉冲的脉宽是否远远大于脉宽平均值PWAVGi
具体地,在一种实施例中,在子步骤124可以确定当前脉冲的脉宽是否大于脉宽平均值PWAVGi的2倍。
如果在子步骤124确定当前脉冲的脉宽远远大于脉宽平均值PWAVGi,则在子步骤125将当前脉冲的位置确定为码盘的零位置。
另一方面,如果在子步骤124确定当前脉冲的脉宽未远远大于脉宽平均值PWAVGi,则在子步骤126可以更新脉冲位置,并重复步骤124,直至检测到码盘的零位置。
此外,在实际操作中,由于码盘信号是交流耦合的(通过隔直电容耦合,去掉直流分量),因此雷达在稳定状态下码盘信号没有直流偏置,信号周期可重复且占空比稳定在50%左右。理想的交流耦合信号如图2所示,脉冲宽度在一个脉冲周期中占比50%,且脉冲周期恒定。
但是,在振动情况下,读码距离的变化会产生一个低频的干扰,相当于在交流信号中加入了一个直流偏置,再经过比较器后的占空比会变化。即,脉宽不再稳定为一个脉冲周期的50%,相邻脉冲之间的距离也发生变化,不同周期的脉宽差距过大时可能会造成码盘的零位置检测的误触发,从而造成检测到的码盘10的零位置不准确。
为此,在一些实施例中,可以利用机械旋转的周期重复性做多次检测,并屏蔽偶然检测到的异常零位置。具体地,步骤120还可以包括子步骤127,其中判断将当前脉冲的位置确定为码盘的零位置的次数是否大于或等于预定次数(例如8次),如果子步骤127的判断结果为是,则在子步骤128将当前脉冲的位置锁定为码盘的零位置。另一方面,如果子步骤127的判断结果为否,则将前一次确定的码盘的零位置视作干扰信号,并重新执行步骤120以重新检测码盘的零位置。
返回图3,方法100进行到步骤130,其中基于光电编码器的光电传感器检测到的脉冲的参考时间戳和与参考时间戳对应的参考角度值确定用于对码盘的角度进行调节的PID(比例积分微分)调节值。
脉冲的参考时间戳可以是电机转速均匀时的脉冲的中心值时间戳Tn(n=0~239),与参考时间戳Tn相对应的参考角度值可以表示为Фn。Фn并不需要提前知道,而是可以根据Tn自动更新,并且收敛到一个角度,这样即便码盘存在脏污或者划痕、指纹等影响角度探测的缺陷,也能获得准确的角度值。
在一些实施例中,步骤130可以包括第一子步骤,其中基于脉冲的参考时间戳Tn和与参考时间戳Tn相对应的参考角度值Фn确定电机的实时转速。
例如,可以通过如下公式(4)计算电机的实时转速:
Figure BDA0002516073150000091
其中指示,
Figure BDA0002516073150000092
指示参考时间戳Tn时的角度值,/>
Figure BDA0002516073150000093
指示参考时间戳Tn-1时的角度值,对于240线码盘,n=0、1、2、……、239。
步骤130还包括第二子步骤,其中对多个脉冲时的实时转速ωn进行平均以获得PID调节值。
在一种实施例中,可以通过大小为P的滑动窗来计算PID调节值,如下面的公式(5)所示:
Figure BDA0002516073150000094
其中ωn指示参考时间戳Tn时的实时转速。
这里,滑动窗的大小P是可调的,通常,P值越大,精度越高,噪声越小,但是计算量越大,速度越慢。在一个实例中,P可以取值16。
对于电机的正常转速为10HZ的情况,PID调节值ωn′的目标为20π/s。
在确定了电机的实时转速和PID调节值之后,就可以根据所经过的时间来确定码盘的当前角度。
在步骤140,可以基于参考时间戳、参考角度值、PID调节值以及当前时间戳t,确定码盘的当前角度。
在一种实施例中,可以通过如下公式(6)计算码盘的当前角度:
Figure BDA0002516073150000095
其中Tn指示参考时间戳,
Figure BDA0002516073150000096
指示参考角度值,ωn′指示PID调节值,t指示当前时间戳,其中t>Tn。
也就是说,当到达时间戳Tn时,雷达稳定旋转的情况下,当前的机械角度
Figure BDA0002516073150000097
之后的任意时间内/>
Figure BDA0002516073150000098
所以只需要按照角度分辨率均匀地输出角同步触发信号就可以了。
在一些情况下,当剧烈震动、电磁干扰等异常情况发生时,仍然希望雷达能够稳定地采集点云并且精密地跟踪机械角度的变化。这时机械旋转速度并没有发生突变,但是时间戳Tn可能有误差,这个误差会直接影响An
Figure BDA0002516073150000109
的计算。
为了解决这个问题,在一些实施例中,可以通过如下公式(7)大小为Q的滑动窗来校正码盘的当前角度:
Figure BDA00025160731500001010
其中
Figure BDA00025160731500001011
指示校正后的码盘的当前角度,
Figure BDA0002516073150000101
这里,滑动窗Q的大小是个可调值,在一种实例中,Q可以设置为8。
通过这种方式,弱化了Tn误差带来的影响,加强了惯性预测的权重。
此外,在一些实施例中,还可以对码盘进行校准。具体地,当雷达启动并且转速稳定在1%以内后,可以连续测量过零点之后的时间戳Tn,并且根据平均转速W推断出
Figure BDA0002516073150000102
Figure BDA0002516073150000103
进一步地,还可以对连续多周(例如16周)的
Figure BDA0002516073150000104
进行平均来收敛/>
Figure BDA0002516073150000105
此时的/>
Figure BDA0002516073150000106
已经隐含修正了由于码盘安装偏心造成的系统误差。
此外,在一些实施例中,本发明的方案还提供额外地告警功能。
例如,如果码盘刻度数量不对,连续若干个(如三个)旋转周期出现上升沿数目,并且下降沿数目不等于239,则告警。又例如,如果预测值ωn′(Tn-Tn-1)和Tn-Tn-1相差太大,例如超过
Figure BDA0002516073150000107
则告警,这意味出现异常的码盘信号。
又例如,还可以码盘修正相位异常,例如当
Figure BDA0002516073150000108
过0.02°时,意味着角度同步触发信号相对时间误差超过5.55us,可能会导致时序混乱,此时可以告警。
此外,在一些实施例中,还可以通过采用两个读码器,间隔3n±0.75°设置,两个读码器同时读码来提升测量精度。
图6示出了可以用来实施本发明的实施例的示例设备600的示意性框图。设备600例如可以是台式电脑或便携式电脑等。如图所示,设备600可以包括一个或多个中央处理单元(CPU)610(图中仅示意性地示出了一个),其可以根据存储在只读存储器(ROM)620中的计算机程序指令或者从存储单元680加载到随机访问存储器(RAM)630中的计算机程序指令,来执行各种适当的动作和处理。在RAM 630中,还可存储设备600操作所需的各种程序和数据。CPU 610、ROM 620以及RAM 630通过总线640彼此相连。输入/输出(I/O)接口650也连接至总线640。
设备600中的多个部件连接至I/O接口650,包括:输入单元660,例如键盘、鼠标等;输出单元670,例如各种类型的显示器、扬声器等;存储单元680,例如磁盘、光盘等;以及通信单元690,例如网卡、调制解调器、无线通信收发机等。通信单元690允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的方法100例如可由设备600的处理单元610执行。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元680。在一些实施例中,计算机程序的部分或者全部可以经由ROM 620和/或通信单元690而被载入和/或安装到设备600上。当计算机程序被加载到RAM 630并由CPU 610执行时,可以执行上文描述的方法100的一个或多个操作。此外,通信单元690可以支持有线或无线通信功能。
以上结合附图对根据本发明的用于测量光电编码器的码盘的角度的方法100和设备600进行了描述。然而本领域技术人员可以理解,设备600并不必须包含图6中所示的所有组件,其可以仅仅包含执行本发明中所述的功能所必须的其中一些组件,并且这些组件的连接方式也不局限于图中所示的形式。例如,在设备600是诸如手机之类的便携式设备的情况下,设备600可以具有与图6中相比不同的结构。
此外,本发明可以实现为方法、如上所述的设备、芯片电路和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。芯片电路可以包括用于执行本发明的各个方面的电路单元。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如"C"语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于测量光电编码器的码盘的角度的方法,用于实时地定位激光雷达的旋转角度,该方法包括:
在所述光电编码器的电机开始启动后,检测所述码盘的刻度以确定所述电机的电角度零位置与所述电机在停机状态的电角度之间的角度差来确定所述电机的电角度零位置;
当所述电机转速达到预定转速时,基于所述码盘转动时的读码信号确定所述码盘的零位置;
基于所述光电编码器的光电传感器检测到的脉冲的参考时间戳和与所述参考时间戳对应的参考角度值确定用于对所述码盘的角度进行调节的PID调节值;以及
基于所述参考时间戳、所述参考角度值、所述PID调节值以及当前时间戳,确定所述码盘的当前角度。
2.如权利要求1所述的方法,其中确定所述电机的电角度零位置包括:
以大功率启动所述电机;
检测所述码盘的指针变化,确定所述电机换相过程中检测到的脉冲数;
基于所述电机在一次换相时经过的理论脉冲数和检测到的脉冲数确定所述电机的电角度零位置的滞后值,并且基于第一个码盘指针和所述滞后值确定所述电机的电角度零位置;
确定所述电机从所述电角度零位置的转动角度;
确定所述转动角度是否大于或等于预定角度;以及
如果所述转动角度大于或等于所述预定角度,增加所述电机的相位并且降低所述电机的功率。
3.如权利要求2所述的方法,其中确定所述电机的电角度零位置还包括:
将所述光电编码器的电机刹车并停留第一预定时间;以及
所述电机在初始相位时,设定最大功率,停留第二预定时间,其中以大功率启动所述电机包括:
将所述电机切换到另一相位并以所述最大功率启动所述电机。
4.如权利要求2所述的方法,其中在所述电机是三相电机并且所述码盘是240线码盘时,所述理论脉冲数为13.33,并且115包括基于如下公式计算所述滞后值:
(13.33-N)*360°/240,
其中N是检测到的脉冲数。
5.如权利要求2所述的方法,其中在所述电机是极对数为6的三相电机时,所述预定角度是:
10°+DRIVE_PHASE_LAG,
其中DRIVE_PHASE_LAG是所述光电编码器的固有参数,其指示平均换相时电机相位角对于所述三相电机的最佳理论值15°的偏差。
6.如权利要求1所述的方法,其中确定所述码盘的零位置包括:
分别检测所述读码信号的当前脉冲的上升沿的时间戳和下降沿的时间戳;
基于所述当前脉冲的上升沿的时间戳和下降沿的时间戳确定所述当前脉冲的脉宽;
确定多个连续脉冲的脉宽平均值;
确定所述当前脉冲的脉宽是否远远大于所述脉宽平均值;以及
如果所述脉宽远远大于所述脉宽平均值,将所述当前脉冲的位置确定为所述码盘的零位置。
7.如权利要求6所述的方法,其中确定所述码盘的零位置还包括:
如果所述脉宽未远远大于所述脉宽平均值,更新脉冲位置,重复确定当前脉冲的脉宽是否远远大于所述脉宽平均值。
8.如权利要求6所述的方法,其中确定所述码盘的零位置还包括:
判断将所述当前脉冲的位置确定为所述码盘的零位置的次数是否大于或等于预定次数;并且
如果判断结果为是,将所述当前脉冲的位置锁定为所述码盘的零位置。
9.如权利要求6所述的方法,其中确定多个连续脉冲的脉宽平均值包括:
用滑动平均法计算所述脉宽平均值。
10.如权利要求6所述的方法,其中确定所述当前脉冲的脉宽是否远远大于所述脉宽平均值包括:
确定所述脉宽是否大于所述脉宽平均值的2倍。
11.如权利要求1所述的方法,其中确定用于对所述码盘的角度进行调节的PID调节值包括:
基于所述脉冲的参考时间戳和与所述参考时间戳相对应的参考角度值确定所述电机的实时转速;以及
对多个脉冲时的实时转速进行平均以获得所述PID调节值。
12.如权利要求11所述的方法,其中确定所述电机的实时转速包括:通过如下公式计算所述电机的实时转速
Figure FDA0004092030930000031
其中指示,
Figure FDA0004092030930000032
指示参考时间戳Tn时的角度值,/>
Figure FDA0004092030930000033
指示参考时间戳Tn-1时的角度值,对于240线码盘,n=0、1、2、……、239。
13.如权利要求11所述的方法,其中对多个脉冲时的实时转速进行平均以获得所述PID调节值包括:通过大小为P的滑动窗来计算所述PID调节值
Figure FDA0004092030930000034
其中ωn指示参考时间戳Tn时的实时转速。
14.如权利要求1所述的方法,其中确定所述码盘的当前角度包括:通过如下公式计算所述码盘的当前角度:
Figure FDA0004092030930000041
其中Tn指示所述参考时间戳,
Figure FDA0004092030930000042
指示所述参考角度值,ωn′指示所述PID调节值,t指示当前时间戳,其中t>Tn。
15.如权利要求14所述的方法,其中通过大小为N的滑动窗来校正所述码盘的当前角度:
Figure FDA0004092030930000044
其中
Figure FDA0004092030930000045
指示校正后的码盘的当前角度,
Figure FDA0004092030930000043
16.一种用于测量光电编码器的码盘的角度的芯片电路,包括:
被配置为加电时执行如权利要求1至15中任一项所述的方法的电路单元。
17.如权利要求16所述的芯片电路,其中所述电路单元包括FPGA芯片。
18.一种用于测量光电编码器的码盘的角度的设备,包括:
处理器;以及
存储器,其中存储有计算机程序代码,所述计算机程序代码在被所述处理器运行时执行如权利要求1至15中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行如权利要求1至15中任一项所述的方法。
CN202010476656.6A 2020-05-29 2020-05-29 测量光电编码器的码盘的角度的方法、电路、设备和介质 Active CN113739828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010476656.6A CN113739828B (zh) 2020-05-29 2020-05-29 测量光电编码器的码盘的角度的方法、电路、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010476656.6A CN113739828B (zh) 2020-05-29 2020-05-29 测量光电编码器的码盘的角度的方法、电路、设备和介质

Publications (2)

Publication Number Publication Date
CN113739828A CN113739828A (zh) 2021-12-03
CN113739828B true CN113739828B (zh) 2023-06-16

Family

ID=78724844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010476656.6A Active CN113739828B (zh) 2020-05-29 2020-05-29 测量光电编码器的码盘的角度的方法、电路、设备和介质

Country Status (1)

Country Link
CN (1) CN113739828B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115213923B (zh) * 2022-09-20 2023-01-06 深圳市欢创科技有限公司 旋转座、测距装置及移动机器人
CN116736266B (zh) * 2023-08-15 2023-11-07 深圳玩智商科技有限公司 一种用于扫描激光雷达的码盘角度方法
CN117175985A (zh) * 2023-11-02 2023-12-05 深圳市恒永达科技股份有限公司 步进电机控制方法和装置
CN117168530B (zh) * 2023-11-03 2024-01-26 泉州昆泰芯微电子科技有限公司 磁编码器的自校准方法、磁编码器及电机

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7633256B2 (en) * 2005-05-04 2009-12-15 Lexmark International, Inc. Encoder eccentricity correction for motion control systems
CA2702205A1 (en) * 2007-10-09 2009-04-16 Schweitzer Engineering Laboratories, Inc. Power angle monitor
CN106052724B (zh) * 2016-05-19 2019-01-25 深圳市越疆科技有限公司 一种机器人、旋转测量装置及方法
CN108957466B (zh) * 2018-04-18 2022-01-25 广东宝乐机器人股份有限公司 移动机器人的雷达数据补偿方法、装置、设备和存储介质
CN110389590B (zh) * 2019-08-19 2022-07-05 杭州电子科技大学 一种融合2d环境地图和稀疏人工地标的agv定位系统及方法
CN110794383A (zh) * 2019-11-07 2020-02-14 上海禾赛光电科技有限公司 编码盘、光电编码器和激光雷达

Also Published As

Publication number Publication date
CN113739828A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN113739828B (zh) 测量光电编码器的码盘的角度的方法、电路、设备和介质
US10175357B2 (en) Laser range finding sensor and range finding method thereof
KR101829521B1 (ko) 로터리 인코더를 자기 교정하기 위한 방법
US9759583B2 (en) Method of obtaining a reference correction value for an index mark of an angular encoder
KR20090028479A (ko) 변위 검출 방법 및 모터 제어 장치
JP6058229B1 (ja) 風車起動アシスト装置
US9689986B2 (en) Robust index correction of an angular encoder based on read head runout
US9436003B2 (en) Robust index correction of an angular encoder in a three-dimensional coordinate measurement device
Ilmiawan et al. An easy speed measurement for incremental rotary encoder using multi stage moving average method
JPH0332918B2 (zh)
JP2011217598A (ja) サーボモータを制御するためのフィードバック装置及びフィードバック方法
US20100185340A1 (en) Controller and machining apparatus
WO2006117434A1 (en) Method for measuring consistency, chopper structure, and consistency meter
CN109600092B (zh) 一种永磁同步电机转子位置监测和修正方法、系统及电机
JP3996561B2 (ja) レーザドップラ振動計
US5590059A (en) Position encoder system which utilites the fundamental frequency of a ruled scale on an object
JP2010164501A (ja) 信号処理装置及び計測装置
JP2004219333A (ja) エンコーダ出力信号補正装置
Yan et al. A calibration scheme with combination of the optical shaft encoder and laser triangulation sensor for low-frequency angular acceleration rotary table
EP2534451B1 (en) Device for angular measures equipped with rotary member
CN111697895A (zh) 一种绝对式光电编码器失效模式下的寻零控制系统及方法
JP2008003041A (ja) 位置検出方法及び撮像装置
JP5014197B2 (ja) 変位量検出装置及びそれを利用した装置、変位量検出方法
JP2005037371A (ja) 運動検出および解析
Yang et al. Optimal Gimbal System Control Strategy for Error Prediction Compensation

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