关于基于Profibus-DP总线的位移传感器设计

描述

0 引言

测量技术是现代工业生产和科学研究中必不可少的一项技术,其中基于磁致伸缩效应的位移测量技术因其稳定性好、量程大以及便于安装维护等优点,被广泛应用于各种民用和军用领域。同时,随着信息技术的发展,工业控制系统正朝网络化、分散化和智能化方向发展,现场总线因其所具有的抗干扰能力、数字通信、高环境适应性等特点,良好地满足了此趋势要求。

Profibus总线技术由德国SIEMENS公司于1987年提出,具有统一总线标准、传输速度快、对复杂系统适应性强以及应用广、可实现“即插即用”的特点。其中ProfibusDP是一种高速的低成本通信连接,用于设备及控制系统与分散式I/O设备间的通信,在工业现场应用最广泛[1]。

本文设计了一种基于Profibus-DP协议的位移传感器,采用ARM+FPGA架构,实现了基于磁致伸缩原理的位移测量,并通过Profibus-DP协议与主站进行位移数据传输。

1 系统设计

本文所设计的位移传感器基于磁致伸缩原理,系统通过产生一定周期的激励脉冲激励波导丝,当激励波遇到位移测量处的永久磁铁的磁场时将产生磁致伸缩效应,所产生的扭转波将沿着波导丝以固定的速度传播,通过在近端检测扭转波和激励波的时间差即可以实现位移的测量[2]。磁致伸缩位移测量系统工作原理如图1所示。

FPGA

本文设计的传感器电路主要包括激励脉冲发生模块、回波接收模块、回波检测和测量模块、位移计算和补偿模块、Profibus-DP总线通信模块、主控模块等。其中主控处理器选用ST公司的基于ARM Cortex-M3[3]内核的STM32F103CB完成系统主控、位移计算和补偿等功能;Actel公司的A3P060 FPGA作为高速单元实现高精度的回波检测和测量;Profichip公司的VPC3+S作为总线协议芯片实现基于Profibus-DP总线协议的位移数据传输。位移传感器系统框图如图2所示。

FPGA

系统工作时,A3P060按照设定的周期T控制激励脉冲发生模块产生激励脉冲,激励脉冲电流将产生环向磁场并沿着波导丝传播,遇到待测量位置磁铁的磁场时,产生磁致伸缩效应,波导丝将产生机械扭转,从而形成扭转波沿波导丝传播,在近端被回波检测装置转换为电信号送入回波接收模块中处理。回波接收模块会对信号进行滤波和放大处理后送入比较器,并由A3P060完成回波信号的时间检测。A3P060将检测得到的时间信息通过SPI接口发送至处理器STM32F103CB,STM32F103CB利用数据处理和位移计算算法对采集到的时间信息进行位移计算、温度补偿以及位移非线性补偿处理后,最后将计算的位移经SPI接口传送至Profibus-DP通信模块VPC3+S,完成与主站的数据交换。

系统设计中采用RS485总线作为Profibus-DP的物理层接口,总线接口线路均通过光电隔离模块连接到DP总线,以保证数据的可靠通信。

温湿度传感器选用DHT11数字温湿度传感器,采用单线双向制,由STM32F103CB主动读取传感器的数据信息。

2 Profibus-DP协议实现

Profibus-DP总线协议集成了ISO/OSI模型的物理层、数据链路层,并根据实际需求加入用户层。一个DP系统,最多支持使用126个站点,各站点赋予唯一的逻辑地址。DP系统采用令牌控制+分时轮询的Token_Passing主从轮询协议,兼具分散式和主从式控制机制特点,特别适合对反应时间、可靠性、网络负荷有特殊要求的通信。

本系统选用VPC3+S实现Profibus-DP总线协议,采用SPI接口实现VPC3+S与STM32F103CB的通信。VPC3+S是完整集成Profibus-DP协议的通信芯片,支持数据传输速率达到12 Mb/s,在系统中完成地址识别、处理通信中的信息、数据安全序列以及DP通信协议的处理等任务。

3 软件设计

3.1 主流程

主流程主要进行系统及各模块的初始化以及数据处理和位移计算,流程图如图3。

FPGA

上电时,首先系统初始化,设置STM32F103CB工作频率。接着对GPIO、SPI等外设进行初始化操作,点亮LED工作指示灯。再对通信芯片VPC3+S进行初始化和配置操作,然后不断查询数据准备好标志位。STM32F103CB通过SPI中断接收时间数据,主程序对回波峰整形、时间数据滤波,再计算位移并对位移结果进行温度补偿和非线性补偿。最后,STM32F103CB通过SPI中断发送位移结果到通信芯片VPC3+S。VPC3+S将位移数据封装成Profibus-DP帧格式,发送到RS485总线上。

3.2 位移计算模块

FPGA将时间数据通过SPI发送到STM32F103CB,如果有符合条件的回波峰,选出并计算该峰上升沿和下降沿的平均值,然后将该平均值送入数据滤波处理函数进行去极值平均处理,提高数据稳定性,最后将处理后的位移值通过SPI发送给VPC3+S通信芯片。位移计算流程图如图4。

                                                                                                                                                            FPGA

选取峰的原则为:若最高级幅值有符合条件的峰,则取最高级幅值的峰,否则取次高一级幅值的峰,以此类推;若最高一级幅值符合条件的峰不止一个,则取前面的峰。取最大一级幅值对应的上升沿和下降沿的时间平均值作为当前回波峰的时间数据。

系统的时间数据采用去极值平均滤波,随后系统对数据进行去抖动处理、温度补偿和非线性补偿处理,得到最终的延时数据,数据乘以波速得到位移数据。

3.3 VPC3+S通信模块

实现Profibus-DP主从站通信过程,首先要对从站VPC3+S进行初始化[4]。主要内容包括:中断及功能寄存器值配置、从站地址值设定、看门狗设置、内部空间计算、缓冲区分配等。初始化流程如图5所示。

FPGA

从站系统经过初始化操作和使能,通过主站确认信息进入工作状态,与主站进行循环数据交换。从站判断主站是否有数据输出,有则读取,否则可以直接将采集到的现场数据主动地发送给主站,如此循环。同时从站可以及时响应主站的参数化、组态、修改地址等中断请求。

4 系统调试与测试

从站搭建调试完成,构建完整通信系统还需主站。本设计使用瑞典HMS工业网络有限公司提供的Anybus-M系列板卡AB5030主站模块。

本文对系统的温漂性能[5]进行了测试,图6(a)和图6(b)分别给出了同一个组件在随机选取位置升温和降温情况下测得的温漂结果。测试时保持测量位置不变,改变环境温度,测得相应的位移信息。图中横坐标为温度,纵坐标为测量得到的位移,实线为补偿前的,虚线为补偿后的。由图可见,在温漂补偿前,在60 ℃的大温差范围内,位移温漂分别达到3 mm和2 mm左右,采用温度补偿算法后温漂降低到0.5 mm和0.3 mm左右,满足产品(6 μm+5 ppm×L)/℃的温漂要求,其中L为组件长度。

FPGA

图7(a)和图7(b)是位移精度测试图,图中横坐标为光栅尺测得的位移,纵坐标为本系统测试得到的位移与光栅尺测得位移的误差值。图7(a)为未非线性位移补偿前的测量误差,图7(b)为补偿后的测量误差。由图可知,经补偿后在整个量程范围内,测量误差控制在±0.1 mm范围内,满足系统精度的要求[6]。

FPGA

5 总结

本文提出了基于Profibus-DP总线的位移传感器设计方案,采用ARM+FPGA的系统架构将位移测量转化为时间测量。测量结果表明,该位移传感器分辨率达到10 μm,通过设计温漂补偿算法和非线性位移补偿算法,测量精度达到±0.1 mm,满足设计要求。系统采用Profibus-DP总线,实现了位移传感器网络化、智能化的要求。实践表明,将该位移传感器应用在工业机床中,运行稳定,测量结果准确,抗干扰能力强。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分