光栅尺概述

参考资料:光栅尺的原理是什么?怎么选择?供应商都没讲明白,6年了我第一次听懂

1. 光栅尺原理

1.1 简单理解

很多运动平台,都会用到光栅尺,用来做闭环控制,光栅尺,简单理解就是一把尺子。

打个比方,游标卡尺都用过吧,再或者卷尺用过吧,尺子上面有刻度,这些刻度作为基准,你只需要把要测的物件,和卡尺上的刻度做比较,就可以用来衡量长度、大小、深度等信息。

同样地,光栅尺上也有“刻度”,这种刻度叫光栅,是通过光刻刻在尺子上的,只不过,它不是通过人眼来读取信息,而是通过配套的读数头,来读取位置信息。

1.2 实际原理

实际原理复杂很多:光栅是在玻璃或钢带尺上,制作的一系列条纹和狭缝,一个条纹和一个狭缝的宽度称为栅距,常见栅距20um。

读数头每扫描一个栅距,就产生一个正弦波信号周期,此信号再通过一个电子电路进行细分(读数头内置的或者外部细分盒),比如5,10,50,100倍的细分,所以可以达到很高的分辨率。

比如,一个20um栅距,经过50倍细分,那一个周期就是0.4um,这就是厂商说的分辨率。

接下来说明一下光栅尺的工作原理:

如下图,读数头中有和尺体栅距一样的指示光栅(Scanning reticle),并且读数头中本身有LED光源,当读数头相对于光栅尺(Scale)移动时,LED光在经过了聚焦镜后(Condenser lens),照射到光栅尺上,然后光通过光栅狭缝,衍射到读数头的光电探测器上(Photocells),这样就在探测器平面上,产生了明暗相间的正弦干涉条纹。

接着,探测器把这些条纹,转换成正弦波变化的电信号,再经过电路的放大和整形后,得到两个相位差90度的正弦波,或方波信号A和B。正弦波或方波的周期数,与移动距离成正比。尺体正向移动时,A信号超前B信号90度,尺体反向移动时,A信号滞后B信号90度。
在这里插入图片描述

下面的动图详细地说明了光栅尺的工作流程。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

需要注意的是,实际情况,光电探测器和LED在光栅尺的同一侧,都集成在读数头中。当光照射到光栅尺后,有一部分光会反射回去,然后通过聚焦镜,照射回光电探测器,形成电信号。
在这里插入图片描述

2. 光栅尺的精度

光栅尺的精度一般是±15μm,±5μm,±3μm,±1μm。

需要注意的是,这里说的精度,是光栅尺的制造误差,指每走1m实际可能的误差,而如果小距离行走,误差会更小,比如±0.275μm/10mm,±0.750μm/50mm,就是说运动10mm和50mm可能产生的误差分别是±0.275μm和±0.750μm,这是光栅的本身制造精度,也是选择光栅尺的一个重要参考。

比如,我们经常希望一个轴的定位精度是±3um/100mm或者±5um/100mm之类的,那么选择光栅尺的时候,首先,它的精度就要比这个要求高,比如±0.5um/100mm或者±1um/100mm。

另外,这里±1um/100mm并不能推导出±10um/1000mm,因为这里没有线性关系,往往光栅尺本身,会标注一两个短行程误差。比如精度±10um/m,往往100mm内的误差会小于±1um。

当然,读数头在细分信号的时候,也会引入误差,叫做差分误差,不过这个误差很小。比如一根光栅尺,栅距20um,分辨率为0.1um,周期误差(电子细分误差SDE)±0.15um。指的是栅距为20um的光栅,经过200倍细分,分辨率是20/200=0.1um,在这20um的栅距内,因为系统信号处理带来的误差是±0.15um。

3. 增量式光栅尺和绝对式光栅尺

3.1 增量式光栅尺

增量式光栅由周期性刻线组成。位置信息的读取需要参考点,通过和参考点的对比,来计算移动平台所在的位置。

由于必须用绝对参考点确定位置值,因此增量光栅尺上,还刻有一个或多个参考点。由参考点确定的位置值,可以精确到一个信号周期,也就是分辨率。绝大多数场合,都使用这种光栅尺,因为它比绝对式光栅尺便宜。

但是从速度和精度方面考虑,增量式光栅的最大扫描速度,取决于接收电子装置的最大输入频率 (MHz) ,和所需的分辨率。但是,由于接收电子装置的最大频率已固定,所以提高分辨率将导致最大速度相应降低,反之亦然。

3.2 绝对式光栅尺

绝对式光栅,绝对位置信息来自光栅码盘,它由一系列刻在尺子上的绝对码组成。所以,编码器通电时,就可立即得到位置值,并随时供后续信号电路读取,不用移动轴,执行参考点回零操作。

因为回零会浪费一定时间,如果机器有多个轴,那么回零循环可能变得既复杂又耗时。这种情况下,使用绝对式光栅尺是有利的。

并且,绝对式光栅,不会接收电子装置的最大输入频率的影响,可确保高速和高分辨率运行。这是因为,位置根据需求和使用串行通信确定。绝对式光栅最典型的应用,是表面贴装技术 (SMT) 行业中的贴片机,在该行业中,同时提高定位速度和精度,是永远追求的目标。

4. 光栅尺如何选型

第一,是精度。
第二,分辨率。
第三,行程。
第四,最大检测速度。
第五,电接口及电线长度。
第六,安装方式及安装空间。
第七,抗振动性能。
第八,价格。绝对式光栅尺一般贵20%。

一般来说,精度和分辨率是我们选择光栅尺的首要因素。

比如,要做一个行程100mm,系统定位精度是±0.01mm(±10um)的移动平台,我们可以选择行程是120mm,精度是±0.5um/1m,分辨率是0.02/10=0.002mm的光栅尺。

这样,行程有20mm的余量,可以用于做硬件保护,而光栅尺本身的精度±0.5um也很常见。

关于分辨率,之所以取定位精度的1/10来选择分辨率,是因为存在控制误差,通常在±10cnt,这里所说的1cnt,是指的,在光栅尺本身分辨率基础之上,做了细分处理之后的分辨率,通常有4倍或者8倍细分。

比如4倍细分,那么上面分辨率为0.002mm的光栅尺,分辨率将达到0.002mm/4=0.5um。±10cnt也就是±5um,留了一倍的余量,这个主要考虑,系统还存在机械误差,比如传动系统,结构刚性等,这些因素也会吃掉一部分精度。当然这些是几何误差的范畴,可以通过测量,获得误差曲线,进行一部分的补偿,但是,还是有不一部分动态误差,无法补偿。

另外,很多时候,我们并不关心绝对定位精度,而只关心重复定位精度。一般来说,系统的重复定位精度的数值为定位精度的1/2~1/3,最多不会超过一个数量级,即1/10。比如,此例子中,一般来说重复定位精度在±0.01mm/2~±0.01mm/10=±0.005mm~±0.001mm之间。

当然,还有一点,系统的重复定位精度,一般介于分辨率和定位精度之间。

### 回答1: 光栅尺是一种测量设备,用于测量物体的位置和运动。它通过激光或光电信号,将测量数值转换为模拟或数字信号。在STM32微控制器中,可以通过以下步骤读取光栅尺数据: 首先,将光栅尺的信号线连接到STM32微控制器的GPIO引脚。这个引脚可以是任何可用的GPIO引脚,需要根据具体的STM32型号和硬件设计进行选择。 其次,配置GPIO引脚为输入模式,并使能相关的外部中断或定时器。这样可以检测到光栅尺信号的变化,并触发相应的中断或定时器中断。 在中断服务例程或定时器中断处理程序中,读取光栅尺的信号值。可以使用GPIO读取寄存器来读取引脚的状态,并判断信号的高低电平。根据光栅尺的工作原理,连续读取两个高电平之间的时间间隔,可以得到物体的移动速度或位置信息。 将读取到的信号值进行处理和解码。根据光栅尺的编码方式(如二进制编码、格雷码编码等),将信号值转换为实际的位移或位置数值。 最后,根据需要对读取到的数据进行进一步处理和应用。可以使用数值计算、滤波算法等方法,得到更准确的位置或速度数据。 需要注意的是,以上仅是通用的读取光栅尺的步骤,具体实现可能因不同硬件和软件平台有所不同。在实际操作中,要根据具体的STM32型号和相关文档,结合光栅尺的技术规格和数据手册,来编写相应的程序和配置。 ### 回答2: 光栅尺是一种用于测量机械运动位置的设备,常用于数控机床和精密仪器等领域。STM32是一种常用的单片机,具有较高的性能和丰富的外设接口,可以用于连接和读取光栅尺的数据。 光栅尺通常由光栅、接收头和信号处理电路组成。光栅是由一系列亮暗间隔的条纹组成,当光栅尺与运动物体相对运动时,接收头会接收到光栅上的光信号。接收头会将光信号转换为电信号,并通过信号处理电路进行处理,最终生成脉冲信号。 为了读取光栅尺的数据,我们可以使用STM32的GPIO外设来接收光栅尺的脉冲信号。首先,我们需要将一个GPIO引脚配置为输入模式,并连接到光栅尺的信号线上。接下来,我们可以使用STM32的外部中断功能,将该GPIO引脚配置为中断触发模式,当接收到光栅尺的脉冲信号时,会触发中断。 在中断处理函数中,我们可以读取STM32的定时器外设的计数器值,这个计数器可以通过配置与GPIO引脚连接的定时器模块来实现。每当触发一次中断时,我们可以读取计数器的值,这个值就代表了光栅尺的位置信息。 最后,我们可以根据光栅的特性来计算出运动物体的准确位置。通过读取多个连续的脉冲信号,并计算每个脉冲之间的时间间隔,我们可以得到运动物体的速度和加速度等信息。可以利用STM32的定时器模块和计数器功能来实现这些计算。 总的来说,通过配置STM32的GPIO外设和定时器模块,我们可以实现对光栅尺的读取和位置计算。这样的设计可以方便地应用于各种需要测量位置的应用中,如数控机床、精密仪器等。 ### 回答3: 光栅尺是一种测量设备,常用于机械加工行业中精确测量加工件的长度和位置。而STM32是一种微控制器,具有高性能、低功耗和丰富的外设接口,广泛应用于各种嵌入式系统。 要实现STM32读取光栅尺的功能,首先需要了解光栅尺的工作原理光栅尺利用光电效应,通过光栅尺上的光线和接收器之间的光电信号变化来确定位置和运动方向。在光栅尺上有固定的刻度和参考线,通过光电信号的变化可计算出与参考线的位置关系。 对于STM32读取光栅尺,可以通过使用STM32的GPIO外设接口连接光栅尺的输出信号。首先,需要将光栅尺的输出信号引脚与STM32的GPIO引脚相连。然后,设定STM32的GPIO引脚为输入模式,并设置上拉或下拉电阻。 接下来,在STM32的程序中使用输入捕获功能,通过捕获光栅尺输出信号的上升或下降沿来计算出位置和运动方向。可以使用STM32的定时器和输入捕获单元来实现此功能。 在处理数据时,可以利用STM32的计数器和定时器的计数值来测量时间间隔,然后根据光栅尺的分辨率计算出位移量。通过反复测量和计算,可以得到光栅尺的准确位置和运动方向。 最后,可以通过STM32的串口或其他通信接口将光栅尺的测量结果传输到上位机进行显示和分析。 总结起来,STM32读取光栅尺的过程包括引脚连接、设置输入模式、使用输入捕获功能、计算位置和运动方向、数据处理和通信传输等步骤。通过合理的程序设计和硬件连接,可以实现可靠的光栅尺测量功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值