0引言
在精密检测领域中,圆度测量仪是测量零件的圆度、圆柱度、同轴度或者直线度误差的关键设备。国内目前所使用的圆度仪,有很大一部分测量仪器是以机电或光电为测量手段,虽然测量主体部分精度较高,但其测量结果往往与实际测量值存在较大偏差;不能存储所得数据;测量系统稳定性较差,误差分辨率较低。目前圆度测量系统都属于离线开环测量系统,这意味着便携性差,检测实时性不够,其接触式的测量方式也易使工件和测头磨损,造成设备损坏。而国外制造的圆度仪,圆柱度仪,三坐标测量机等,但其往往体积较大,很难适应各种复杂的测量环境,且造价较高。
本文提出的圆度、圆柱度测量系统,正式给予解决上述几个方面的问题而提出的。该系统基于μC/OS-Ⅱ嵌入式操作系统,结构简单可靠,功能针对性强,以LPC2294微处理器为核心,可扩展性方面获得了显著的提高,其成本也大为降低。
1圆度、圆柱度测量系统的总体设计
1.1系统功能分析
圆度、圆柱度测量系统的数据采集模块由电涡流位移传感器,前置放大器及外围电路组成,通过固定传感器使被测工件自转并以非接触被测工件的方式采集电压信号,进行信号调理后的信号通过LPC2294执行误差分离(EST)算法分离出主轴回转误差和圆度误差,经数据换算后可以得到所需的圆度、圆柱度误差。
1.2系统总体设计
为实现上述功能,根据系统结构的等方面具体要求,系统总体设计如图1所示。
参数输入:接收传感器的电压信号,被测工件的直径和高度。
输出信息:被测工件的圆度、圆柱度误差值。
1.3测量原理
对传感器的选择不同可分为接触式和非接触式测量两种。本系统采用非接触式测量系统,测量原理如图2所示,该图为对圆柱形工件所在截面被放大了的轮廓线。该系统使用了非接触式的电涡流位移传感器,该传感器能静态和动态地非接触测量被测金属导体与测量表面的距离,它是一种非接触的线性化计量工具,测量结果不受被测工件表面的灰尘、油漆、锈迹等影响。测量时将传感器测头对准轴心o且与轮廓线存在一定间隙,当工件以o为轴心旋转时,传感器输出的电平信号即可随着间隙的变化而变化。因此,一旦确定了间隙与电平信号之间的关系,即可测出该截面下工件在圆周方向上的半径变化,进而通过计算可以得到工件的圆度、圆柱度。
2硬件系统设计
2.1LPC2294模块
LPC2294核心模块包括LPC2294微处理器、存储模块、电源模块、系统复位电路和系统时钟电路。LPC2294含有16K字节的静态RAM和256K字节片内Flash程序存储器,4路10位A/D转换器,转换时间低至2.44us。
2.2系统时钟电路
本系统采用10MHz的晶振作为外部时钟输入源。处理器的时钟频率cclk=M×,M为PLLCFG寄存器中MSEL位的倍增器值。PLL电流控制振荡器的频率=cclk×2×P,P为PLLCFG寄存器中PSEL为的分频器值。本设计中,M取值为6,P取值为2,系统时钟cclk为60MHz,分配给外设的频率为30MHz。
2.3系统复位电路
微控制器在上电时自身会产生复位信号,结构简单的阻容复位电路虽然成本低廉,但不能保证任何情况下都产生稳定可靠的复位信号,所以一般需要使用专门的复位芯片。本设计选用可以进行手动复位的SP708复位芯片,它属于比较器型复位器件,可有效地增强系统的可靠性及工作效率。
2.4电源模块
合理的电源设计是电子系统安全、可靠、正常运行的基本保证。电源不仅要器件提供各种高性能的功率输出,还包括选择合适的旁路、去耦电容,以滤除各种干扰信号,保证系统稳定工作。由于LPC2294的I/O电压为3.3V,CPU工作电压为1.8V,本设计是以5V直流电源作为输入,经过整流二极管和简单的滤波电路后,作为低压差(LDO)稳压器的输入端。
2.5存储模块
在以LPC2294为核心的模块中,外扩了2M字节NORFLASH(芯片型号为SST39VF160)、8M字节PSRAM(MT45W4MW16),由于SST39VF160和MT45W4MW16都是15位总线接口,所以使用LPC2294的地址总线A1~A23与其直接相连。另外,系统还外扩了16M字节的NANDFLASH(K9F2808U0C)并使用了74LV245芯片进行总线驱动。
2.6数据采集模块
电涡流位移传感器是由探头(传感器),延伸电缆和变换器(前置器)组成,具有频响宽,线性测量范围宽、体积小、,抗干扰能力强,给旋转轴等转动体的动态测量带来方便。
本文所采用型号为CWY-DO-502的电涡流位移传感器,线性量程2.0mm,灵敏度为4.02Mv/μm,具体参数如下表:
2.6JTAG调试模块
JTAG接口的设计使得ARM的调试与仿真变得相对简单。
LPC2294支持通过JTAG端口进行仿真与调试,其跟踪和调试端口不与任何端口复用。根据LPC2294手册的说明,JTAG接口既可以用作边界扫描,也可以用作调试。
2.7RS-232串口通信模块
RS-232为一种低速率串行通讯中增加通讯距离的单端通讯。它是为点对点通讯而设计的,传送距离最大约为15米,所以适合本地设备之间的通信。LPC2294的UART控制器收发电平为TTL,所以须将其进行电平转换后才可与控制板实现正常通信。为实现RS232电平的转换,本设计选用MAX3232芯片。含有两个发送器和接收器的MAX3232具有低功耗、高数据率、增强型ESD保护等特性。
3控制部分软件设计
核心模块LPC2294采用μCOS-Ⅱ实时操作系统,其结构小巧、执行效率高、实时性能优良、可扩展能力强,较好的满足了本系统对稳定性和可靠性的要求。其可移植、可固化、可裁剪的基于优先级抢占式实时多任务嵌入式操作系统包含实时内核、,任务管理、,时间管理、任务同步通讯和内存管理等功能。
3.1软件总体设计及软件任务划分
系统最终要实现数据采集,电机控制,误差分离任务,数据显示根据系统功能的需要,共创建了六个任务,键盘任务有键盘任务,电机传动任务,数据采集任务,误差分离任务,显示任务。在机械传动模块中,需要一个精确的脉冲作为测量基准,而且为了系统进一步扩展的需要和灵活性的考虑,采用了CPLD芯片A3P030作为主轴、X轴、Y轴步进电机的脉冲源,通过RS-232接口的连接,实现与主控制芯片的通信。
3.2误差分离任务
误差算法任务即从寄存器中提取经AD转换后的数据包并对其进行预处理,进而进行FFT快速傅里叶变换,滤除无用谐波分量后,通过IFFT傅里叶逆变得的数据V经公式换算后误差分离后的形位误差值0。由于该算法模块是本系统的核心,同时还要保证与输出同步,所以误差分离任务在本系统中具有最高的优先级。其函数示意为:
voidErrorSeparation()
{
//定义复数结构体用于存储分误差分离后的形位误差
0SSemPend(NewSigSem,0,&err);//
TwiddleFactor();//初始化旋转因子
……
FFT()//快速傅里叶变换
ErrorFilter()//形状误差与运动误差的分离
IFFT()
……
}
3.3μCOS-Ⅱ的中断处理过程
μCOS-Ⅱ的中断处理是保证系统正常运行的重要环节,它的功能是使硬件中断和操作系统进行连接。系统接收到中断请求后,如果CPU处于开中断状态,系统就会中止正在进行的当前任务,而按中断向量的指示去运行中断服务子程序,当中断服务子程序运行完成后,系统会根据情况返回到被中止的任务继续进行,或转向另一个中断优先级别更高的就绪态任务。
在数据采集任务中,由于系统对工件截面进行128点的数据采样,即360°进行128次数据采样。每次采样通过系统中断进行,当中断到来时,CPU根据中断向量表,获得中断服务子程序入口地址。将CPU寄存器的内容压入当前任务的任务堆栈中。通知操作系统将进入中断服务子程序。调用
OSIntEnter(),
if(OSIntNesting==1)
{OSTCBCur->OSTCBStrPtr=SP;};
清除中断源,否则考中断后会导致系统崩溃。
执行用户ISR,中断服务完成后,调用OSIntExit()
恢复CPU寄存器的值,执行中断返回指令。此外,任务间的通讯通过操作系统的消息管理模块来进行,保证了任务之间的耦合性最小,增强了系统稳定性,为系统协作提供了方便。
4结束语
本文从硬件系统的搭建及软件平台的设计两个方面介绍了以LPC2294处理器构建基于μCOS-Ⅱ操作系统下的圆度、圆柱度测量方法,对数据采集原理及硬件平台的搭建进行了详细的说明。该系统实现了以非接触式的对工件圆度、圆柱度测量的自动控制,并且该系统以嵌入式为开发平台,为功能的扩展提供的很大的空间。