采用单片机的轨道压力测试仪设计

2019-11-28 14:19发布

<p> 作者:西北工业大学动力与能源学院 翟位雷 吴亚锋</p><p> 轨道电路是信号联锁的室外重要设备,起着保证行车和调车作业安全的作用。它能监督检查某一固定区段内的线路(包括站线)是否有列车运行、调车作业或车辆占用的情况,并能显示该区段内的钢轨是否完整。它是以钢轨为导线,轨缝间用接续线连续起来,一端接</p><p>电源,另一端连接受电器,通过轨道电流来工作。</p><p> 轨道电路能否正常工作直接影响到列车的安全行驶,因此,对轨道电路的检测尤为重要,目前市场上的检测设备还很少,而且普遍存在功耗大,价格昂贵,体积大等不足。为此,本文通过对轨道电路分析研究,设计一种高精度的压力</p><p>测试仪器来模拟火车对轨道的压力,从而验证轨道电路的性能。</p><br> <br> <br> <br> <br> <br> <p><br></p>
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
世啊木啊
2019-11-29 01:52
系统软件设计

1 采样和数据处理

①AD7705的读写时序

AD7705通过四线SPI与单片机通信,其读写时序图如图5(a)、(b)所示,读写过程中串行数据高位在前,低位在后。DRDY为低电平说明A/D已经转换完毕,数据已准备好,可以启动读写指令。任何时候要对AD7705进行读写操作都须检查DRDY是否为低。

图5 AD7705读写时序图

②AD7705的寄存器

第一个是通信寄存器(communication Register),选择采集通道、下一次操作是读还是写,以及下一次读写哪一个寄存器。

第二个是设置寄存器(Setup Register),决定校准模式、增益设置、极性设置以及缓冲模式。

第三个是时钟寄存器(CLOCK Register),设置滤波器记忆时钟控制位。

软件编程思路也是按这个顺序写的,先设置通信寄存器,其次写设置寄存器,最后设置时钟寄存器。设置完之后,只要检测到DRDY为低电平,就可以启动时钟来读取AD7705数据寄存器中已转换好的数据。

2 数据处理算法思路

数据处理主要是将电压信号转换成压力值,将采集来的数据进行转换。已知:传感器的参数为10mV对应的是30kN,A/D的满量程电压为1.5V,设采集的A/D值为K,设换算后的压力为X,10mV对应的A/D值为D,增益为64,则由以上参数可求出:

  (1)
        (2)

式(2)就是转换后的压力值和采集的A/D值的关系。

因为单片机不支持浮点运算,为了能精确的显示结果,用软件模拟浮点除法运算,其主要思想是:定义一整型变量INTD,将除的结果存入INTD中,因为是整型变量,所以除法的结果只取了整数部分,例如5/4=1,模拟除法的算法主要依据这一特性。

第一步,如果采集来的值K大于932,K/932存入整型变量中即可得到整数部分。

第二步,用K对932取余得到R,显然R小于932,然后得到小数点后第一位,再用R×10对932取余得到R1,小数点后第二位,以此类推,得到小数点后第三位dec3。

第三步,如果采集来的值K小于932,直接进行第二步操作。

第四步,与逻辑零点进行比较,得到理论压力值,并进行BCD转换在数码管上显示。



图6 软件流程图

3 程序编程思路及流程图

系统软件编程采用状态机机制,上电之后进行各个模块的初始化,包括I/O口初始化、定时器初始化、SPI初始化等。初始化完后进入系统循环,在循环体中根据任务标志位进行任务处理,主要任务有:欠压处理、数据采集、睡眠、关机等。在数据处理时,先采集通道2的值,然后采集通道1,如果传感器未接,则采集来的值为零或者近似零,系统报警等待。如果采集来的值大于零,则参与运算。求出理论值显示。

一周热门 更多>