• 公司地址
    广东,深圳
  • 联系电话
    400-8488-773

基于DSP的磁致伸缩传感器位移测量研究

  1引言

  磁致伸缩位移传感器利用磁致伸缩效应将位移量转化为时间量,通过测量时间量来测量位移,具有非接触测量、精度高、重复性好、稳定可靠、环境适应性强等特点,已在国外的石油、化工、制药等行业得到了广泛应用,而国内还正处在自主研发的阶段。

  一般而言,由磁致伸缩传感器构成的位移测量系统包括大电流脉冲激发、磁致波信号检测滤波及放大、峰值检波、时间量测量、位移计算与输出等部分。其中,高分辨力时间量检测是磁致伸缩位移传感器实现高准确度测量的关键技术之一。而随着半导体制作工艺的发展和计算机体系结构等方面的改进,DSP芯片以其强大的功能、更快的速度、更小的体积和功耗、更低的价格等优势给作者带来了更多的应用思路。这里就是利用TI公司的TMS320LF2407DSP实现高分辨力时间量检测和位移结果计算与输出。

  2系统组成原理及硬件设计

  2.1系统的硬件构成

  系统硬件由:(1)大电流激励;(2)磁致波提取与调理;(3)时间量测量;(4)显示与接口等部分组成,如图1所示。其中,1、2部分已实现1.它们的输出(波形见下图)经限幅成3.3V后,输入DSP以实现时间量测量、结果显示、按键输入、通信接口等功能。

DSP的磁致伸缩传感器
位移测量框图
DSP的磁致伸缩传感器 位移测量框图

  2.2测量方案概述

  周期脉冲电流发生器产生1kHz大电流脉冲输入波导钢丝产生环绕磁场,该磁场以光速传播到位置磁铁处和其垂直磁场作用,因磁致伸缩效应在该处产生磁致扭转波,并以恒定速度(v=2800m/s)传回,经拾取、调理、限幅成为与DSP芯片匹配的高低电平,称其为待测信号,如下图。该信号的周期T=1ms,Vg=3.3V,V₁=0.每周期内有2个脉冲,其中脉冲①为激励信号,脉冲②为磁致波信号,它随图1中位置磁铁移动而变化。要测量的就是脉冲①的上升沿到脉冲②中点之间的时间间隔,即:

  tX=t1H+t1L+t2H/2(1)

  经测量,电平变化范围为:10μs<t1H<33μs,10μs<t1L<30μs,18μs<t1< 64μs, 6μs<t2H<12pμs。

待测信号示意图
待测信号示意图

  将待测信号输入给DSP的捕获单元CAP1.并设置:CAP1的跳变检测方式为上升下降双边沿检测,时基采用通用定时器T1。而T1采用内部CPU时钟,不分频,计数方式为连续增加,周期置为最大0xFFFF。DSP外部输入时钟频率为10MHz,采用4倍频,即CPUCLK频率为40MHz。为了测量tx,连续捕获待测信号的各边沿时刻,就可以得到t1H,t1L,t2H,从而根据式(1)可计算得tX,再根据

  1=tX*v(2)

  其中:v=2800m/s,可计算得位移量,然后输出到LCD上显示,并用于通信。

  2.3

  DSP芯片作为系统的核心部件,采用高性价比的TMS320LF2407.它是由TI公司生产的低功耗、高性能16位定点DSP控制器,25ns指令周期(40MHz),主要特点有:高达32k字的FLASH程序存储器,高达2.5k字RAM(其中554字为双口RAM),两个事件管理器模块,看门狗定时器(WDT),10位ADC,CAN2.OB接口,串行通信接口(SCI),16位的串行外设接口(SPI),基于锁相环(PLL)的时钟发生器,5个外部中断,3种低功耗电源模式以及JTAG接口等。

  2.4系统硬件设计

  电源部分,由TPS733完成5V到DSP电源3.3V的转换。系统晶振,采用外部的4引脚10MHz集成晶振,经DSP内部4倍频。按键从IOPB5(Pin18)、IOPB6(Pin14)、IOPB7(Pin37)输入。待测信号从CAP1(Pin83)输入。显示部分,采用16引脚的自带显示控制器的字符型LCDRT1602C,通过两片SN74CBT-3245A与DSP进行电平匹配连接。串行通信,采用符合RS232标准的驱动芯片MAX232.并在与DSP之间加了TI公司提供的典型电平匹配电路,如下图。

磁致伸缩位移传感器RS232通信接口电路
磁致伸缩位移传感器RS232通信接口电路

  通信部分也可根据需要改成CAN总线接口。整个TMS320LF2407外围电路连接如下图。

磁致伸缩传感器外围电路连接图
磁致伸缩传感器外围电路连接图

  3系统软件设计

  系统程序采用DSPC语言[2]编写,仿真器采用IMCD2407.编译调试软件采用TI公司的集成开发环境(IDE)Code Composer Studio 2(CCS’C2000)。

  3.1系统主程序流程图

磁致伸缩位移传感器主程序流程图
磁致伸缩位移传感器主程序流程图

  系统主程序流程图如上图.其中,INT5为通信中断,用于完成串行通信功能(也可用于实现CAN通信)。中断INT4为捕获中断,当CAP1输入引脚出现跳变时请求中断。在捕获中断服务子程序中完成以下工作:读取并保存当前捕获值CAP1FIFO,并判断是否已连续捕获到指定个数的跳变,若个数足够就执行一次位移数值计算,并将计算结果在LCD上输出,同时用于串行通信。系统中采用的连续捕获次数为70.总时间为17.5ms。

  3.2位移量的计算

  为了从捕获到的数据中计算出t,先将每一个捕获值减去前一个捕获值(模0xFFFF),得每两个相邻电平跳变之间的时间间隔,然后根据待测信号(图2)的特点——t₂值远远大于其它两个相邻电平跳变之间的时间间隔t1H,t1L,t2H,取阈值为500μm/0.025μm=20000.寻找大于该值(0.5ms)的第一个数据就认为是t2L,从而其后的数据就被同步。根据式(1)就可连续计算得到16个tX,再取平均,并根据式(2)就可计算得到位移量l。

  3.3主要寄存器的定义

  *SCSR1=0x00FD;//PLL×4模式

  *SCSR2=(*SCSR2|0x000B)&0x000F;

  *WSGR=0x0040;

  *T1PR=0xFFFF;//T1周期

  *T1CON=0x1000;//T1连续增计数,1倍CPU-CLK计数

  “CAPCONA=0x22C0;//CAP1为检测双边沿,选T1为时基

  *PBDATDIR=0x0000;//配置IOPB口为输入//以下为串口通信设置:

  *SCICCR=0x0007;//1个停止位,不使能奇偶校验,空闲线多处理器模式,8位字符

  *SCICTL1=0x13;//禁止接收错误中断,无选定的发送特征,禁止休眠,使能SCI接收和发送

  *SCICTL1=0x33;//使SCI脱离复位状态

  *SCICTL2=0x03;//使能SCI接收和发送中断

  *SCIPRI=0x60;//SCI接收中断、发送中断均为低优先级

  *SCIHBAUD=0x01;//设置波特率=9600bps

  *SCILBAUD=0x04;//SYSCLK=20MHz

  *IMR=0x0018;//允许INT4.INT5

  3.4按键扫描与通信接口

  按键检测采用逐键扫描方式,分别用一个变量记录当前按键的状态,经过去抖动延时后再次检测按键状态以判断是否为一次有效的按键,其中去抖延时时间为一个系统循环周期。通信接口部分采用空闲线多处理器模式。

  4结论

  系统利用TM320LF2407DSP的捕获功能,很好地实现了待测信号的双边沿时间检测。采用40MHzCPU时钟计数,测量精度可到70μm。系统充分利用DSP的自身资源,外围器件少,电路相对简单;利用字符型液晶输出信息(如出错信息,操作提示等),用户界面好;具有良好的通信功能。