基于数字倾角传感器的线路电子检测尺工作原理及硬件设计
扫描二维码
随时随地手机看文章
引言
线路道岔电子检测尺是列车运行安全的重要保障,其主要用途是测量轨道的轨距、水平度,目的是为了预防因外界环境温度的影响而使钢轨状态变形。此外,它也可消除人工机械式测量带来的误差大、工作效率低等不良因素,从而进一步提高铁路安全保障措施。
本文所设计的系统可以测量标准轨距为1435mm轨道的水平度、轨距,可实现自动检测、自动存储。通过RS232接口与计算机数据通信后,可用专用软件查询分析所有测量数据,并可打印报表。
系统工作原理及硬件设计
线路道岔电子检测尺的功能包括两项:轨距和水平度,该仪器的结构如图1所示,由数字倾角(角度)传感器、高精度位移测量传感器、单片机及外围电路、横尺、直挡、测量滑块、和液晶显示器等部分构成。其中高精度位移测量传感器和测量滑块用于测量轨距。轨距由两部分构成,一部分是横尺上的标准长度部分 s1(该部分为固定值),另外一部分是以标准长度末端A点为起点的测量长度s2(该部分由高精度位移测量传感器测量得到),总的轨距s=s1+s2。考虑到温度的影响,单片机自带温度传感器,用来补偿温度对测量数据的影响。横尺上的数字倾角(角度)传感器测量横尺的水平度(角度),通过角度和轨距可测量左右轨的高差。液晶显示部分显示轨距、左右轨高差和时间等信息,相关数据可以保存在仪器中,也可通过RS232接口与计算机通讯读出来形成汇总,在计算机中保存、打印相关数据。
线路道岔电子检测尺主要通过位移传感器和数字倾角(角度)传感器对钢轨的轨距、水平度进行测量。传感器信号通过RS232接口和特殊功能计数器后进入单片机,单片机计算出轨距后,再由倾角传感器测量的倾角与轨距这两组数据,根据正弦函数算出两轨道相差高度。单片机把这两组数据与设定的门限值进行比较来判断测量点是否合格。液晶屏显示输出数据结果,键盘可以设定门限值、所测点的位置,并具备删除和保存数据等功能。系统设计框图见图2。
数字倾角(角度)传感器
数字倾角(角度)传感器利用重力对流体的作用引起膜电位变化的原理而制成,是新型的惯性传感器,它具有体积小、高灵敏度、线性好、寿命长、宽动态范围、高稳定性、超强抗冲击性等特点。
数字倾角(角度)传感器通过RS232与单片机接口。红线为电源输入,黑线为地(RS232地与电源地共用),黄线为传感器的RS232输入,绿线为传感器的RS232输出。输入电源电压为7V-24V,推荐值9V。传感器应竖直安装,安装面与垂直面的夹角不大于2°。安装示意图见图3。
C8051F060单片机
为了减少外围器件、提高系统稳定性,采用自带温度传感器的C8051F060器件,它是完全集成的混合信号系统级MCU芯片,使用Cygnal的专利 CIP-51微控制器内核,CIP-51与MCS-51指令集完全兼容。C8051F060内部有1个SMBUS/I2C接口、2个具有增强型波特率配置的全双工UART和1个增强型SPI接口,每种串行总线完全由硬件实现,都能向CIP-51产生中断。C8051F060具有五个通用的16位定时器;具有6个捕捉/比较模块的可编程计数器/定时器数组;具有片内看门狗定时器、VDD监视器、时钟振荡器。C8051F060是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。
C8051F060有大量的数字资源需要通过4个低端I/O端口P0、P1、P2和P3才能使用。P0、P1、P2和P3中的每个引脚既可定义为通用的端口I/O(GPIO)引脚,又可以分配给一个数字外设或功能(例如:UART0 或INT1)。系统设计者控制数字功能的引脚分配,只受可用引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。不管引脚被分配给一个数字外设或是作为通用 I/O,总是可以通过读相应的数据寄存器得到端口 I/O 引脚的状态。
优先权交叉开关译码器按优先权顺序将端口0~3的引脚分配给器件上的数位外(UART、SMBus、PCA、定时器等)。端口引脚的分配顺序从P0.0开始,可以一直分配到P3.7。当交叉开关配置寄存器 XBR0、XBR1、XBR2和XBR3中外设的对应使能位被设置为逻辑1时,交叉开关将端口引脚分配给外设。端口0~3中所有未被交叉开关分配的引脚都可以作为通用I/O(GPIO)引脚,通过读或写相应的端口数据寄存器访问,这是一组既可以按位寻址也可以按字节寻址的SFR。被交叉开关分配的那些端口引脚的输出状态,受使用这些引脚的数字外设的控制。向端口资料寄存器(或相应的端口位)写入时对这些引脚的状态没有影响。
C8051F060单片机的P0.0引脚被配置为UART0的TX0,P0.1引脚被配置为UART0的RX0,UART0用来与数字倾角(角度)传感器进行通讯。UART0是一个具有帧错误检测和地址识别硬件的增强型串行口。UART0 可以工作在全双工异步方式或半双工同步方式,并支持多处理器通信。接收数据被暂存于一个保持寄存器中,这就允许UART0 在软件尚未读取前一个数据字节的情况下开始接收第二个输入数据字节。一个接收覆盖位用于指示新的接收数据已被锁存到接收缓冲器,而前一个接收数据尚未被读取。对UART0的控制和访问是通过相关的特殊功能寄存器即串行控制寄存器(SCON0)和串行数据缓冲器(SBUF0)来实现的。用同一个 SBUF0 地址可以访问发送寄存器和接收寄存器。读SBUF0将自动访问接收寄存器,而写 SBUF0 自动访问发送寄存器。UART0可以工作在查询或中断方式,它有两个中断源:一个发送中断标志 TI0(SCON0.1,数据字节发送结束时置位)和一个接收中断标志 RI0(SCON0.0,接收完一个数据字节后置位)。
C8051F060单片机的P0.2被配置为UART1的TX1, P0.3引脚被配置为UART1的RX1, UART1用来与上位PC机进行通讯。对UART1的控制基本与UART0相同。
C8051F060单片机的P0.4被配置为外部中断源(/INT0)的输入脚,接收位移传感器的零点复位信号,减少由于多次来回运动造成的累积测量误差。/INT0被配置为下降沿触发输入。
C8051F060单片机的P0.5被配置为定时器/计数器 3的计数输入脚(T3),接收位移传感器的位移脉冲。P0.6被配置为定时器/计数器3计数方向控制脚(T3EX),用来判断位移传感器的移动方向。C/T3位被置"1"时,将定时器配置为计数器方式(即在 T3 输入引脚上的负跳变使计数器/定时器的寄存器加1或减 1)。定时器配置寄存器中的减 1 使能位(DCEN3)被置"1",定时器可以向上或向下计数。当 DCEN3=1时,定时器的计数方向受 T3EX引脚上的逻辑电平的控制。当 T3EX =1 时,计数器/定时器向上计数;当T3EX=0时,计数器/定时器向下计数。T3EX必须在数字交叉开关中被使能并且被配置为数字输入。
位移传感器
采用DC20型光栅尺位移传感器作为轨距测量工具。DC20型光栅尺采用双层防护胶条密封,可保证最佳的密封性能。读数头滚动系统采用450式五轴承滚动系统,保证光学感应系统能长期稳定地在光栅尺上顺畅滑行以及它高等级的测量精度。
位移传感器输出信号波形见图4。
调试电路
C8051F060的片内 JTAG 调试电路允许使用安装在最终应用系统上的产品进行非侵入式(不占用片内资)、全速、在系统调试。该调试系统支持观察并修改存储器和寄存器,支持断点、观察点、单步及行和停机命令。在使用 JTAG调试时,所有的模拟和数字外设都可全功能运行。JTAG接口使用MCU上的4个专用引脚(TMS、TCK、TDI、TDO)。
万年历时钟芯片电路
每次测量后记录测量时间,以便在上位PC机形成报表。DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。DS1302与CPU的连接如图5所示。
EEPROM电路
测量的数据保存在EEPROM中。AT24C512是ATMEL公司推出的具有I2C总线容量达512Kbit(64K×8)的EEPROM,该芯片的主要特性如下:存储容量为65536byte;与100kHz、400kHz、1MHz I2C总线兼容;100000次编程/擦写周期;单电源、读写电压为1.8V~5.5V;ESD保护电压>4kV;数据可保存40年;写保护功能,当WP为高电平时,进入写保护状态;CMOS低功耗技术,最大写入电流为3mA;128byte页写入缓存器;自动定时的写周期;具有8引脚DIP及20 引脚SOIC封装等多种封装形式。EEPROM电路见图6。
RS232电平转换电路
MAX232是单电源双RS232发送/接受芯片,采用单一+5V电源供电,只需外接4个电容,便可构成标准的RS232通信接口。单片机和计算机、数字倾角(角度)传感器接口电路如图7所示。图中的C3、C4、C5、C6是电荷泵升压及电压反转部分电路,产生V+、V-电源供EIA电平转换使用,C7 是VCC对地去藕电容,其值均为0.1μF。电容C3~C7安装时必须尽量靠近MAX232芯片引脚,以提高抗干扰能力。
液晶显示电路
JM19264A是具有192*64点阵的图形点阵液晶模块,它与单片机联接构成功能强、结构简单、人机对话界面丰富的应用系统。本仪器中,单片机采用直接访问式接口电路与液晶显示电路进行控制。
液晶屏显示内容及键盘布局
线路道岔电子检测尺外部由JM19264A液晶显示屏、RS232接口和4*4的键盘构成,右端是可旋转移动的轴,通过轴的移动产生位移信号输入单片机,单片机每隔0.5s刷新一次液晶显示屏数据。H后的"+"号代表左端高,"-"号表示左端低。L后的"+"表示比标准值大,"-"表示比标准值小。液晶屏显示及键盘布局见图8。
线路道岔电子检测尺的使用
在使用线路道岔电子检测尺进行测量时,线路道岔电子检测尺的左端紧挨着钢轨的一侧,另一端用螺旋器移动中心轴使之接触钢轨另一侧,按下键盘上的确认键后,该系统便会很精确地将需要的数据测量出来。测量完成后按下保存键便可保存该点的数据。通过RS232与PC机连接后可获取所测量点的所有信息。
抗震动、防冲击的结构设计
由于线路道岔电子检测尺轻巧便携,因此也很容易产生碰撞、跌落。为了让系统可靠地工作,应避免震动、冲击直接作用到传感元件上,因此在设计结构上采取了金属盒装的结构。将控制装置紧固安装在金属盒内,仅留外部接口、液晶显示屏和键盘在金属盒外,避免内部元件直接受外部冲击、碰撞,提高了器件抗冲击能力。
系统的编程
采用Silicon Laboratories IDE集成编辑、编译、仿真、下载软件包,用C语言进行软件编写。系统通电后,首先要对单片机进行初始化,包括单片机的I/O端口和交叉开关、定时器的初始化、两个串行通讯口的初始化,液晶显示器的初试化等。整个程序由器件初始化程序、液晶显示器的初试化程序、串行口中断程序、外部中断0处理程序、显示程序、键盘扫描处理程序、轨距和水平计算程序程序、万年历时钟芯片DS1302读写程序、EEPROM AT24C512读写程序等组成。
部分源代码程序如下:
位移测量传感器过零信号中断入口程序
void Init0_ISR() interrupt 0 // 外部中断0,边沿触发
{
uchar distance_flag; //位移测量传感器运动方向标志保存字
SFRPAGE=0x01;
TMR3H=0; //过零点,复位计数器为零.
TMR3L=0;
P05=1;
distance_flag=P0;
distance_flag=distance_flag&0x20; //位移测量传感器B信号脚
if(distance_flag==0)
{
distance_positive_flag=0;//位移测量传感器运动方向标志位为0表示负方向运动
}
else
{
distance_positive_flag=1; //位移测量传感器运动方向标志位为1表示正方向运动
}
}
向数字倾角(角度)传感器发送命令子程序
void sendserial(unsigned char *senddata,unsigned char len2)
{
uchar i;
ES0=0; //禁止中断 for(i=0;i
{
SFRPAGE=0x00;
SBUF0=*(senddata+i); //将数据送出
while(TI0==0); //发送标志位是否产生
TI0=0;
}
ES0=1; //允许中断
}
结语
线路道岔电子检测尺从方案的调研、论证和选取及电路的设计、软件的控制等各个环节,都充分考虑外界环境的各种可能的情况,对钢轨轨距、水平度实现了高精确数字化测量,可以起到提前排除因轨道变化引起的行车安全隐患。该装置的准确性和高速测量提高了铁路的安全性,并降低了员工的劳动强度。