库存索引:

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
0
1
2
3
4
5
6
7
8
9

一种高精度数字倾角测量系统的设计

        

    

    

     摘要:详细介绍了利用a/d转换器、温度传感器和单片机实现数字倾角测量系统的硬件和软件设计。该系统具有精度高、运行稳定、性能可靠、带温度补偿等优点,可广泛应用于宽工作温度范围的高精度倾斜角测量中。 关键词:at89c52单片机 倾角测量 ads1210 在自动控制和工程设计中,常常需要对某一个平面或基准进行倾角测量,或进行自动水平调节,特别是在自动控制中,经常需要对某一物体进行动态水平控制,这就要求仪器能对水平倾角进行自动动态跟踪测量[1];在某些高精度的测量系统中,还要求对系统进行快速调平或对某些装置与水平面的倾斜角进行快速高精度的测量。这些都是传统倾角测量系统和水平仪很难做到的。以电子倾角器为传感器而设计的数字倾角测量系统或数字水平仪不仅能满足自动测量与控制的要求,而且能使测量的精度和速度大大提高。 以往使用电子倾角器作为传感器而设计的数字水平仪和电子倾角测量系统,没有考虑环境温度对测量精度的影响,故无法满足某些高精度调平和倾斜角测量的需求。为了进行宽工作温度范围的高精度测量,必须对电子倾角器进行温度补偿。这里介绍一种高精度的数字倾角测量系统,它利用jewell instruments公司的lcf-100型倾角器作为倾角传感器,其输出的模拟电压与倾斜角正弦成比例。将该模拟电压进行a/d转换后送入单片机,同时利用温度传感器实时采集倾角器周围环境的温度,也送入单片机,通过编制好的计算程序进行计算,将计算结果通过串口中断方式传送到上位计算机。本文将详细地阐述系统硬件电路设计以及软件设计。1 系统硬件设计1.1系统的硬件结构 高精度数字倾角测量系统的硬件结构如图1所示。单片机选用atmel公司的at89c52,利用其提供的软件硬件资源,完成系统的控制以及采集数据的计算。系统的主要部分包括:电子倾角器、二阶低通滤波器、a/d转换器ads1210、at89c52、温度传感器ds1624、电源以及向上位计算机传送数据的通讯接口电路等。 电子倾角器选用jewell instruments公司生产的lcf-100型电子倾角器,它属于力平衡式伺服系统电子倾角器,测量范围为-1°~+1°,其输出为模拟电压,与倾斜角度的正弦成正比。该倾角器具有分辨率高、响应速度快、线性度好等特点。由于电子倾角器输出的模拟电压含有高次谐波,因此通过二价低通滤波器滤除输出信号的高频分量。 a/d转换器将电子倾角器输出的模拟量转换为数字量,其分辨率的高低将直接影响系统的测量精度。根据设计要求,本系统采用burr-brown公司ads1210作为电子倾角器的a/d转换器,它是一个24位分辨率、宽动态范围、单5v电源供电、带自校正功能的∑-δ高精度a/d转换器,其内部由可编程增益放大器、二阶∑-δ调制器、调制器控制单元、三阶数字滤波器、微控制器、寄存器组、基准参考源和时钟电路等组成[2]。ads1210将转换的数字量通过i2c总线传送到单片机。 温度传感器选用dallas semiconductor公司的ds1624数字温度测量计,它具有测量精度高、测量温度范围宽,易与单片机接口等特点,其内部还带有256字节的e2prom,用于存储测量系统的修正参数[3]。温度传感器实时采集系统的环境温度,将采集的温度值通过i2c总线送入单片机。1.2 ads1210和ds1624与at89c52的接口电路 ads1210和ds1624与at89c52的接口电路如图2所示。传感器的输出接到ads1210的ainp和ainn输入端。在这里,ads1210和at89c52采用的是三线连接,drdy、sdio、sclk分别与p12、p13、p14相连接,其中sdio用于数据的输入和输出,cs直接接地,mode接地表示从机方式。由于在本系统中只用了一块ads1210,故可将dsync与dvdd直接相连。 利用at89c52的p1口的p10和p11分别与ds1624的引脚scl和sda相连构成i2c总线。i2c总线是一种串行数据总线,只用两根信号线,一根是双向数据线sda,另一根是时钟线scl。在i2c总线上传送的一个数据字节由八位组成,总线对每次传送的字节数没有限制,但是每个字节后必须跟一个应答位(ack),数据传送首先传最高位(msb)。2 系统软件设计 本系统软件采用汇编语言编程,由主程序、计算子程序、ads1210读写子程序、ds1624读写子程序和串口中断服务子程序等组成。倾角器温度补偿的相关参数存放在ds1624的e2rom中,必要时上位计算机通过控制命令对其进行修正。中断服务程序随时接收上位计算机的控制命令,进行系统自检、参数修正、数据输出等。2.1主程序 主程序完成初始化后,实时采集环境温度和电子倾角器数据,并进行补偿运算。为了保证采集倾角器数据的稳定性,采集一次环境温度数据后,连续采集10次倾角器数据进行算术平均,然后再采集一次环境温度如此,如此循环往复。 主程序的流程如图3所示。2.2 计算子程序