微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于单片机的倾角测量系统设计

基于单片机的倾角测量系统设计

时间:06-27 来源:微计算机信息 点击:

海洋环境监测仪器是测量海洋水文要素的重要手段,其在水下的姿态直接影响到测量参数的精度。通过对仪器姿态的精确测量,可在一定倾角范围内对流速、流向等水文测量要素进行倾斜补偿。
1.引言

  本文主要通过倾角传感器的选型、A/D转换及其测量控制电路的设计、与上位机的通讯等几部分,详细介绍了一种倾角测量系统的设计方案。已成功地在国家"十五"863计划"水下流浪潮综合测量技术"课题中得到应用。

2.倾角测量系统的硬件设计

  图1是系统硬件组成的框图。如图所示,整个系统由SCA100T倾角传感器、一阶低通滤波器、ADS1211AD转换器、单片机、上位机等几部分组成。下面简单对硬件的各个组成部分进行介绍:

图1 硬件设计框图

2.1单片机的选择

 单片微型计算机简称单片机。它是把组成计算机的各种功能部件:中央处理器CPU、RAM、ROM、I/O接口电路、定时器/计数器以及串行通讯接口等部件制作在一块集成芯片中,构成一个完整的微型计算机 。单片机是整个系统的核心,在本文的应用中主要用于数据采集和传输,选用的是ATMEL公司的AT89S52。

2.2 AD转换器

ADS1211是高精度、宽动态特性的Δ-Σ型模拟/数字转换器。它的差动输入端可以直接与传感器或微小的电压信号相连。其内部的Δ-Σ结构可确保它的宽动态特性和24位的分辨率。由于采用了低噪声的输入放大器,可以在转换速度为10Hz时获得20位的有效精度;借助于其内部独特的调制器加速操作模式,在转换速度为1kHz时仍可达到16位的有效精度。

  基金项目:国家高技术研究发展(863)计划-资源环境技术领域海洋监测技术主题:水下流浪潮综合测量技术(课题号:2002AA632060)

  ADS1211有主动和从动两种工作方式,在本应用中ADS1211与单片机的连接采用四线

  制从动方式(如图2),即ADS1211的SDOUT、SDIO、SCLK、DRDY分别与单片机的P1.4、P1.5、 P1.6、P1.7口连接。采样数据通过SDOUT传输到单片机,单片机通过查询DRDY接收数据。单片机通过SDIO向ADS1211发送命令。SCLK引脚上的串行通波特率由软件编程实现。

图2 倾角测量系统电路原理图

2.3 倾角传感器

  倾角传感器采用VTI Technologies 公司的SCA100T系列。SCA100T是采用微电子机电技术(EMES)制造的一款双轴加速度传感器,SCA100T单轴的最大输出范围约为±40度,有效输出范围为±30度。在采样频率为8Hz及以下时,可获得0.002度的输出分辨率。

  加速度传感器可以用来测定变化或恒定的加速度。恒定加速度的一个特例就是重力加速度,当传感器静止时(没有水平或垂直方向的加速度时),重力加速度方向和传感器灵敏轴的夹角就是倾角。双轴加速度传感器测量倾角有两种放置方法:水平放置和一轴垂直放置。

  图3给出水平放置示意图:

图3水平放置方法

水平放置在±60度的范围内有很好的分辨率,当大于±60度时,传感器将变得不灵敏(此时arcsin函数逐渐接近水平位置),当倾角接近90度时则无法测量。水平放置时应用如下的公式计算倾角:

可求得 为38.7度。考虑到仪器的倾斜不应该大于±30度(如果大于±30度只能重新安装),所以传感器安装时采用此种水平放置方法。

  同时,为了进行传感器自检和内部校正,分别将传感器的MISO、MOSI、SCK、CSB与单片机的P1.1、P1.2、P1.3、P1.4相连。MISO用于传输传感器内部模数转换器转换的数字数据, MOSI与单片机的P1.2 引脚相连,用于向传感器发送命令和进行传感器内部自校正,使用软件编程通过P1.3向SCK提供串口通讯脉冲。CSB为片选信号引脚。另外,SCA100T内部带有温度传感器,可对温度误差补偿,在商业温度范围内可不考虑温度的影响。

2.4一阶低通滤波器

  由于SCA100T系列内置一个11位的A/D转换器,会产生周期为50-70微秒持续时间大约1微秒的毛刺,这个毛刺被叠加到模拟信号输出端。在低速转换时影响不大,但在进行高速转换时可能引起测量错误。因此需要在模拟信号的输出端加上一个一阶低通滤波器,可有效滤除毛刺的影响。

2.5 电源部分

  为了减少模拟信号噪声,采用MAXIM公司的低噪声高稳定性MAX6325电源芯片给ADS1211提供参考电源,使用MAX6350芯片给ADS1211提供模拟电源,同时也给传感器提供电源。

3.软件设计

  软件分为下位机软件和上位机软件两部分。

  3.1单片机软件编程

  对于51系列单片机,目前有汇编、PL/M、C和BASIC四种语言支持。本文下位机软件采用Keil C51程序编写。主要由主程序、读ADS1211子程序、读SCA100T子程序、串口发送子程序和命令接收子程序等部分组成。图1.4为程序流程图:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top