微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MCU的气压高度表设计

基于MCU的气压高度表设计

时间:12-12 来源:互联网 点击:
高度计就是利用大气压的变化规律,来测量所在地的海拔高度和大气压变化,以及测量因地域变化发生的相对高度。一般适用于户外活动者,包括登山、攀岩、滑雪运动、外出旅行等。针对当前气压高度计产品绝对高度测量误差大、功能单一、体积大、耗电高不便携带等缺点,基于VTI公司推出的SCP1000-D11气压传感器微小的尺寸,4种测量模式的切换等特点,采用气压数据与气压转换高度软件算法改进设计。并在硬件设计上增加了背光显示,闹钟功能。

1 系统设计
为使系统更精简、经济与实用,采用4位的OKIMCU ML63189B,SCP1000-D11传感器作为一个Slave,通过I2C接口与MCU的I/O通讯。增加了时钟计时、秒表、闹铃与背光显示功能。通过有5个Key的按键操作与相应的软件实现人机交互。



2 系统硬件设计
该系统包含有MCU基本功能,按键操作、背光驱动显示、闹钟与发声功能、高度、温度与时钟LCD显示,SCP1000-D11气压传感器与MCU接口模块。OKIML63189B有4 bit、32 kB Word ROM、1.5 kB Word RAM/64×16 bit LCD ICONS。MCU高速时钟选择外接精密电阻100 kΩ,确保气压数据处理与通讯需要。按键外接VDD,MCU接口为外部中断功能引脚PB.3,PO口,内接下拉电阻,当按键按下时为上升沿触发。闹钟驱动链接MCU 91PIN MD引脚,通过一个BC847BW NPN三极管驱动蜂鸣片工作。SCP1000-D11共有16个引脚,有7个I/O型引脚,电源型引脚9个。其接线如图2所示,用单一电源供电,TRIG外部触发低功耗模式,设计中该引脚则接至DVSS。DRDY为输出中断信号,用以提示用户温度和压力值已经测量,可读取。PD引脚为高电平可使SCP1000-D11长时间保持低功耗模式。DRDY-PIN,PD分别接PB.0,P9.0。SCK、SDA、MISO和CSB引脚组成了数据通讯线。该MCU无专用I2C接口I/O,其PA.0,PA.1作为SCL,SDA与气压传感器通讯线,因SDA为OPEN-DRAIN输出,其线外接上拉电阻10 kΩ。MISO-PIN开路,CSB-PIN接VDD。

如图3为EL(背光片)驱动电路,应用SP4403MSOP-8封装,电路图中的电感量与电容可根据EL(背光片)大小调整在功耗和亮度之间取得平衡。通过MCU I/O P9.0控制一开关管使其正极电源在所需时接通,一般持续点亮约3 s为省电。



3 系统软件设计
整体软件设计采用汇编与高级C语言。其包含有时钟显示、按键功能、温度、高度、背光及提示音响闹等软件模块。初始化程序包括MCU,I/O接口状态设置、LCD驱动、时钟、气压传感器初始化等。正常显示在时钟模式,Mode为功能选择键,Set为每一具体功能设置键,通过Up,Down键可进行具体数值快速设置,El为背光按键。


当按键Mode选择进入高度模式时,默认值为超低功耗模式,由于每种模式的数据读取频率不同,因此也可根据实际情形转换高分辨率与高速测量模式。并可通过气压传感器3种数据读取频率模式转换可间接选择测量精确度。DRDY-PIN对MCU PB.0发出数据准备请求中断,此时Status寄存器Bit5变为1,读取寄存器Datard8与Datard16共19位有效气压数据。得到的十进制的原始数据需根据下式转换为气压单位是Pa数据值
Pres[Pa]=0.25×Pres[dec] (1)
其中,Pres[dec]是十进制的原始数据。得到的气压数据由于SCP1000-D11气压传感器内含温度补偿,不作修正。因此可根据式(2)换算为当前气压下的高度

当起步所处参考位置较低时,此时式中Pa=101.324 kPa是标准海平面的大气压,对应的气压高度Ha为0;R为空气气体常数,R=287.052 78 m2/(K·s2);g=9.80 665 m/s2为标准海平面的重力加速度;β=-0.006 5 K/m为温度垂直变化率Ta=273.16K为标准海平面的温度。 Pb是所处位置气压。如能了解参考点的真实标高则可直接设置Ha,可避免高海拔时由于当地海平面的气压与温度有较大浮动时而引起的原理性误差。
经过实际登山测试,绝对高度误差可达到±10 m,240 mA/3 V的纽扣电池最少可使用一年。

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

网站地图

Top