光栅尺

1.光栅尺原理

光栅尺,也称为光栅尺位移传感器(光栅尺传感器),是利用光栅的光学原理工作的测量反馈装置。光栅尺经常应用于数控机床的闭环伺服系统中,可用作直线位移或者角位移的检测。其测量输出的信号为数字脉冲,具有检测范围大,检测精度高,响应速度快的特点。例如,在数控机床中常用于对刀具和工件的坐标进行检测,来观察和跟踪走刀误差,以起到一个补偿刀具的运动误差的作用。光栅尺按照制造方法和光学原理的不同,分为透射光栅和反射光栅。

以投射光栅为例讲解其原理

1)结构

光栅尺是由标尺光栅和光栅读数头两部分组成。标尺光栅一般固定在机床固定部件上,光栅读数头装在机床活动部件上,指示光栅装在光栅读数头中。右图所示的就是光栅尺的结构。

光栅检测装置的关键部分是光栅读数头,它由光源、会聚透镜、指示光栅、光电元件及调整机构等组成。光栅读数头结构形式很多,根据读数头结构特点和使用场合分为直接接收式读数头(或称硅光电池读数头、镜像式读数头、分光镜式读数头、金属光栅反射式读数头)。

2)原理

以透射光栅为例,当指示光栅上的线纹和标尺光栅上的线纹之间形成一个小角度θ,并且两个光栅尺刻面相对平行放置时,在光源的照射下,位于几乎垂直的栅纹上,形成明暗相间的条纹。这种条纹称为“莫尔条纹” (上图所示)。严格地说,莫尔条纹排列的方向是与两片光栅线纹夹角的平分线相垂直。莫尔条纹中两条亮纹或两条暗纹之间的距离称为莫尔条纹的宽度,以L表示;光栅尺的宽度用W表示。L≈W/θ(这里不推导公式,有专门的的论文计算)也就是说θ越小,放大倍数越明显。对于间距极小的光栅尺来讲,光电元件识别其宽度有困难,但是可以识别莫尔条纹的宽度,反过来,我们就可以把光栅尺的光栅间距做的更小,做的更加精准。

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

紧接着为了提高精度,厂家会采用波形细分芯片,将正弦波转换为方波将分辨率人为再度提高。

将每一路正弦波细分为两个周期的脉冲,最小的分辨率就是原有的1/4

将每一路正弦波细分为5个周期的脉冲,最小的分辨率就是原有的1/10。

2.光栅尺的指标

1)光栅栅距   

2)解析度

现在的这个光栅栅距是20um,解析度是1um,也就是放大了20倍,那他的内部就有可能放大了10个周期。他每相应该是10个脉冲,一个脉冲对应2um,也就是0.002mm。对于WTB1来讲,我们目前用的是380mm,那她整个周期、每相应该发送190000个脉冲。最小测量单位是0.001mm。这个值才是光栅尺的解析度值。

在DAQmx中设置

DAQmxErrChk (DAQmxCreateCILinEncoderChan (gTaskHandle, "Dev1/ctr0", "", DAQmx_Val_X4, 0, 0, DAQmx_Val_AHighBHigh, DAQmx_Val_Meters, 0.004, 0.0, ""));

但是DAQmx读取VI的数据输出在一个编码器测量任务中是相同的不管解码类型设置为X1还是X4。他只读取你的每相的脉冲数,如果你只读下降沿,那么每次变化值为4*0.001mm;如果读A相的上升沿和下降沿,那么每次的变化值是2*0.001mm;如果读A相以及B相的上升沿和下降沿,那么每次的变化值是0.001mm;他只是决定了每次的变化量。

但是在STM32处理的时候,就比较清楚了。

(1)读A相下降沿一个脉冲读取一次,需要乘4倍最小解析度;

(2)读A相的上升沿和下降沿各读取一次,需要乘2倍最小解析度;

(3)如果读A相以及B相的上升沿和下降沿各读取一次,需要乘原有的最小解析度。

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答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
发出的红包

打赏作者

孙八瓶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值