微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于PMAC的激光扫描尺寸测量系统

基于PMAC的激光扫描尺寸测量系统

时间:09-20 来源:互联网 点击:

引 言
在机械加工中经常需要对一些简单的几何尺寸,如直径、边距等进行测量。这类工作重复性大,工作量大,传统的手工测量不仅增加了现场工作人员的工作强度,精度低,且手工测量的数据在统计处理时也很不方便。这类工作如果使用坐标测量仪等精度高,通用性强的仪器测量,在经济和效率上都很难满足要求。另有一种专门的激光扫描传感器可用于此类测量,但其测量精度是建立在对独立运动系统速度的精确控制上的,这无疑增加了成本。为了方便实现对这类简单、一维尺寸、高效、高精度,且易于数据管理的测量,在此提出一种可在PMAC控制卡控制的普通运动平台上实施激光扫描测量的系统。它融合了以上两种测量方法,即通过对激光信号的检测获得被测物的边缘信号,并根据此信号锁存光栅尺读数,以得到被测物的边缘位置,从而进一步得到尺寸值。
这种方法具有光电测量高速、非接触的优点,又可充分利用技术成熟、应用广泛的光栅尺资源。由于光栅尺的精度通常都较高,此测量系统可在一定范围内获得较高的精度。

1 测量原理及整体构造
测量系统由工控机、PMAC控制卡、运动测控系统(包括光栅尺、伺服电机、丝杠等)、激光发射装置和光电检测装置组成。系统的主要原理如图1所示,被测物装在实验台上,并随实验台一起运动,运动的控制由PMAC控制卡完成,它读人光栅尺的读数,并输出给电机的控制量。被测物两侧分别是激光发射装置和光电检测元件,当被测物位于光路中时,检测元件处于断开状态;当被测物离开时,元件导通。随着被测物的移动,当其边沿通过激光束时,检测元件会产生由通到断或由断到通的跳变。通过一定的设置,PMAC可检测到这些跳变信号,并锁存当时的光栅尺读数,这样就得到被测物的边沿位置,而通过测量前后两个边沿位置,就可得到所需的尺寸值。

激光器采用了小功率半导体激光器,波长为640 nm。其小巧的体积和较低的价格使其非常适用于这类应用场合。光电检测元件采用普通的金属封装光电三极管。
PMAC插在工控机的PCI插槽内,并通过PCI总线进行通信。通信的主要内容有两方面:向PMAC发运动控制指令,从而使其完成平台的运动控制;从 PMAC内读取其锁存的被测物边沿位置读数,从而完成结果的输出、保存及分析工作。为方便对采集数据的处理分析,以及便于研究系统性能,该系统采用了工控机加PMAC的组织方案,在系统定型后可以使用更加经济的方案,如ARM-Linux加PMAC。
PMAC控制卡的使用是很灵活的,要构成上面所述的系统需要对其进行一些设置。下面将详细介绍在这种应用中PMAC卡的设置方法及上下位机通信的实现办法。

2 PMAC卡的设置
2.1 PMAC卡简介
PMAC运动控制卡是Delta-Tau公司推出的,它是可通过多种方式与微机接口的系列控制卡。该例使用的是PCI接口控制卡:PMAC-PC。 PMAC本质上是一个基于DSP芯片的多功能板上系统。该例的PMAC有2个主接口,每个主接口可以同时控制4台电机的运动。对于每一台电机,主接口都有一组相应的引脚(如图2所示)。分别负责光栅尺信号输入,电机控制输出和标志信号输入。在该例中主接口通过跳线设置为光电隔离模式。

除主接口外,PMAC还有一系列通用的模拟、数字输入/输出口。这些端口与其DSP内存统一编址,可通过统一的方式存取。PMAC地址空间的功能是预设固定的,如某一部分地址保存的数据代表某台电机的设置,另一部分则是用户应用所保存的数据。为方便上位机对PMAC内存的操作和应用程序的编写,其内存被按其功能划分为各种变量,如I变量、M变量、P变量。I变量的值设置了PMAC卡的工作环境,这又使I变量可被划分为许多种类型,如电机设置I变量、通信设置I变量、编码器I变量、P变量(供用户程序使用的全局变量、M变量(指针变量),即其本身所代表的内存地址存储的是另一个存储单元的地址)。M变量可根据需要指向任意存储位置,包括内存和端口寄存器。不过在PMAC上电时,部分M变量会被预先初始化为指向特殊位置的值,如M203的缺省值指向2号编码器的位置捕获寄存器。
2.2 位置捕获功能的设置
位置捕获功能是指在一个外部事件进入某一寄存器时,锁存相应的当前编码器位置。这是一个完全由与编码器相关的硬件电路来完成的任务,所以它惟一的延迟就是硬件门的延迟,这使它具有非常高的位置捕捉精度。
电路的工作方式可通过软件选择,如可设置读入外部事件的位置。设置是通过相关编码器I变量完成的。每一个编码器都可通过5个I变量来设置,位置捕获功能相关的变量为编码器I变量2和编码器I变量3。变量3设置事件捕捉的位置,如可将其设为通过HOME标志捕捉。变量2设置外部事件的捕捉方式,如是上跳沿还是下跳沿。PMAC共可设置16个编码器,每个编码器的I变量是按顺序5个一组编排的,依次为I900~I979。对于编码器2(编号从1开始),若将其设置为捕捉HOME标志的上跳沿信号进行位置捕捉,则可通过向PMAC发送命令“I907=2”和“I908=0”来实现。每一个编码器都对应于一组寄存器,通过这些寄存器可设置编码器的工作方式,如前面对编码器I变量的设置,实际就是向这些寄存器的某些位写入某些值。通过这些寄存器也可读取编码器信息,如当编码器完成一次位置捕捉后,被锁存的位置就保存在这些寄存器中,对于编码器2,该寄存器的位置为X:MYMC007的所有24位。编码器还根据位置捕捉的情况自动设置某些标志位,即当完成一次捕捉时将标志置1。此时,无论外部信号有什么变化都不会再进行捕捉,当捕捉结果被取走时(即对相应寄存器有读操作),编码器自动将标志置0,并重新开始响应外部事件进行新的位置捕捉。对于编码器2,该标志位的位置为X:MYMC004的第17位(从0开始,共24 位)。
2.3 PLC程序的设置
PMAC是一个多任务的计算机应用系统。它除了能通过各种设置和运动程序完成高精度的定位和对复杂运动的控制任务外,还可分时执行多类其他任务,并根据任务的实时性要求,分配任务的优先级,高优先级的任务会打断低优先级的任务。PLC程序是PMAC所支持的用户程序之一,在任务优先级上处于最末的后台处理级。它可在用户的主机上编写,之后下载到PMAC上执行。与PMAC支持的另一种优先级较高的用户程序——运动程序相比。 PLC程序没有运动语句,其在功能上与可编程逻辑控制器非常类似。
在该应用中,PLC程序的任务是判断是否发生位置捕获,如发生,则将其读人数组中,并对捕获的位置进行计数。之所以要将值读入数组中,是因为由于激光扫过被测物边缘时会由于边缘的反射产生抖动,以致采集到的数据多于1个,为防止后面的数据冲掉前面的数据,故将扫过一个边缘产生的数据放入数组中。
可用的PLC程序如下:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top