首页
会员中心
到顶部
到尾部
其他电子电气

数字海拔表制作

时间:2020/10/27 9:23:28  作者:  来源:  查看:0  评论:0
内容摘要:系统方案分析一个完整的系统至少应该包括数据的输入、数据的处理和数据的输出以及系统控制四个部分[2]。针对本次设计,要求设计制作一个数字海拔表,那么测量海拔最重要的因素就是测量出气压[3],因为我们知道随着海拔的升高,大气压强是减小的,而产生压强的原因是以为压力的存在,所以归根结底...

系统方案分析
一个完整的系统至少应该包括数据的输入、数据的处理和数据的输出以及系统控制四个部分[2]。针对本次设计,要求设计制作一个数字海拔表,那么测量海拔最重要的因素就是测量出气压[3],因为我们知道随着海拔的升高,大气压强是减小的,而产生压强的原因是以为压力的存在,所以归根结底要测量海拔就必须测出大气压强。大气压强是非电压信号,测量的时候就需要用到传感器[3],通过使用一个压力传感器采集气压信号输出模拟的电压信号,经过放大、滤波、采样保持、A/D转换成可以被处理器识别的数字信号,达到数据输入的要求。
 
图2-1 海拔测量原理图
 收集到的数字信号输入需要根据一个处理器的特殊算法处理后输出。处理器是系统的核心,它不但处理数据,还监控外围I/O接口工作状况[2],是设计的重中之重。
 经过处理器处理的数字信号以数字形式输出给外部显示,具体显示的是海拔高度,这里显示器可以选择7段数码管或者液晶显示器,不同的是7段数码管需要连接状态转换电路,而液晶显示器可以直接和单片机接口,但是需要加一个驱动程序[9]。
 图2-2是大气压力与海拔高度关系曲线,大气压力与海拔高度不是线形关系[10]。着海拔的升高,变化的不仅仅是大气压强,温度也随海拔的升高而降低,这样的话,只用传感器测量大气压强,不考虑温度因素,由此造成的误差是相当大的。所以在设计之前必须考虑温度对大气压强的影响,我们又知道,压强跟温度在一定情况下是存在函数关系的,能不能在设计的时候做设计一个温度的软件补偿子程序补偿温度对大气压强的影响,才能达到精确测量的目的[10]。
 
图2-2 海拔高度与大气压力关系曲线
 由硬件部分搭建的电路是不能测量出海拔高度的,因为计算机是一个需要程序控制的系统,需要程序告诉CPU下一步需要执行什么动作。就需要设计一个软件部分,这个部分解决的问题是编辑一个程序控制处理器,完成对外部设备的控制以及数据的处理。对于编程,编程的语言有很多种,比如熟悉的C语言,C++,JAVA,汇编语言等等。各种语言都有自己的特点,比如说C和C++都是面向计算机底层的,C++又是C语言的超级体现,相当于在C语言上添加了一个类概念和类库,编写程序比C更方便。JAVA是从系统中抽象出来的高级语言,它不面对计算机系统,一般只写应用,适合对网页方面的编程。对MCS-51系列的单片机来说,支持的语言有汇编语言、PL/M语言、C语言和BASIC语言。在对单片机编程方面C语言和汇编语言对我们来说编程是比较方便的。就这两种语言相比,C语言是一种通用的程序设计语言,优点是代码效率高,数据类型及运算符丰富良好的程序结构,不需要对硬件及其指令系统多做了解,缺点是在小应用程序中产生代码量大,执行速度慢,适合在比较大的应用系统中使用。而汇编语言是面向计算机的低级语言,在编程时需要了解计算机的详细工作过程以及每个引脚的控制情况。我们设计制作数字海拔表这样一个小的应用系统,用到的元器件不多,正是要根据每一个引脚的控制完成硬件设计,所以在使用汇编语言编程时有很大的好处[11]。
系统设计分为硬件部分设计和软件部分设计。硬件部分电路又可以分为三个部分,第一部分:气压信号的采集和模数转换处理;第二部分:CPU微处理器;第三部分:处理结果的送液晶显示器显示。下面就这三方面进行阐述。
2.2  气压信号的采集
 气压信号的采集是通过压电传感器实现的,具体来说气压产生的原理是因为压力,压力不同对应的气压也不同,而压力信号是非电量信号,对压力信号的收集需要采用压力传感器。而对课题设计要求,选取器件时必须从测量温度、精度、电压、功耗、体积和价格等因素方面考虑[9],下面就这几方面作简要说明:
1、对测量温度要求,我们知道气温随海拔的升高而降低,每上升100m气温下降0.65℃,假设海平面温度为常温即25℃,如果我们要测量在5000m的海拔,那么该地区温度应该在-7.5℃左右,也就是说,传感器的最低工作范围最少要达到-10℃左右(扩大温度范围是为了适应普遍状况)。而温度上限不作要求。
2、精度方面,传感器是唯一的数据信号输入,选取的传感器在误差方面越小越好,对外界压力信号敏感程度要高,测试精度,线形度要好,以保证整个系统在设计上误差做到最小。
3、电压也是考虑的一个因素,因为此设计为便携式,那么它的工作电压和功耗都不能太高,在设计思想里面说到,系统是采用单片机系统,单片机器的驱动电压是+5V,那么我们选取的传感器的工作电压最好不要超过+5V。首先制作电源比较麻烦,最好能够兼用一个电源。其次工作电压越高,那么对整个系统的影响很大。我们知道电源是一个噪音源,而传感器是一个静电敏感产品,电源的振荡也会影响传感器的精度,也是测量误差的来源之一。
4、就体积方面而言,因为此设计为便携式的,体积和质量不宜过大。
5、对传感器来说,一般精度越高价格就越高,要制作一个实用廉价的数字海拔表,在选取传感器时也必须在价格方面考虑。
传感器采集信号的是模拟信号。我们知道单片机只能识别数字信号,对电压信号不但不能识别,还可能因为电压过高而烧掉机芯。
在设计时有两种方案:一是使用普通的陶瓷膜片式传感器,由于收集到的气压转换的电信号是非常小的,所有就需要连接一个放大器电路,在不考虑波形干扰的情况下直接连接到ADC转换电路,达到输入的要求[7]。这样做有一个缺点,前面已经提到,就是产生的误差,压电传感器都是电敏感器件,对周围的温度,电压特别敏感。而连线的时候,电路板飞线产生的电场磁场对传感器产生的影响还是非常大的,由此对整个系统来说产生的误差自然非常大。
针对上面提出的几个问题,我们直接选取一种数字式的传感器MS5534A,它是一种集成的压阻式压力传感器和ADC接口电路的集成芯片,这种芯片的优点在于:本身采用数字式接口电路,可以直接与处理器接口,减少连线对系统本身也是一种减小误差的方法之一。
 
图2-3 数字海拔表原理图
2.3  微处理器
 数字信号处理可以选择多种单片机作CPU处理收集到的数据。可以选择ARM、DSP、MCS-51等这些处理器在各自方面都有自己的优点和缺点。拿ARM和MCS-51做比较来说,ARM在速度和功能上都远远超过MCS-51系列的单片机,而且ARM是最近几年研发的新技术,目前国内外研究的机构也很多,是最热门的处理器,广泛应用于手机、电子字典等集成度高的数字高科技产品中,但是这也是它的缺点,ARM是新技术,研发需要专业的开发平台制作,这对我们有限的学习资源显然是不够的,而且ARM处理器在价格方面来说对本设计也不适宜。所以我们选择了处理速度一般的MCS-51系列单片机作为处理器,虽然51单片机的处理速度一般,但是这点时间在我们人的感觉上几乎是微乎其微的,其次一个优点是它的价格便宜,MCS-51单片机自从诞生以来,这么多年很多专业人士仍然对它“情有独钟”证明它还具有一定的市场价值。所以本设计采用MCS-51作为处理器设计整个系统。
 MCS-51单片机也经历了很多年的发展,衍生了很多种产品,如51子系列的8031、8051、8751,52子系列的8032、8052、8752等几十种产品型号。在选择究竟使用何种产品时确实费神,虽然型号很多,但是这些产品大都是兼容的,也就是说不同厂家生产的这个系列的单片机置入程序后在其他的单片机系统里面也能运行。这也是单片机技术发展迅速的主要原因之一[1]。在选取单片机时比较这几种具有代表意义的各时代单片机。最先要提到的是8031,这一款单片机是MCS-51系列最老的版本,它没有程序存储器,程序需要存储在片外的程序存储器里,需要扩展片外程序寄存器和数据寄存器,在使用的时候很不方便。也就出现了MCS-51的代表产品80C51,这一种单片机是公认应用最广泛的单片机型,现在很多人提到MCS-51都认为是80C51,但是这种单片机也有它的缺点,虽然置入了ROM,但是我们都知道ROM的程序一旦写进去是不能擦除的,这在很大方面也限制了它在现在的应用。当今最流行的是能擦除程序的Flash存储器,有了这种技术,写进去的程序可以被用户擦除。90系列单片机因其功能强大在开发方面难度比较大,又因其价格昂贵,也被排除。所以在选择时选取了比较新的AT89S51,它包含有一个Flash Memory即可以通过编程器写入和擦除程序存储器中的内容,比无程序存储器的8031以及ROM型的8051和EPROM型的8751使用起来不但解决了程序存储器的问题而且还有一个优点AT89S51是Atmel公司的新产品,是ISP(在线更新程序)单片机的代表,已经逐渐替代了MCS-51系列的其他产品,成为单片机市场的新宠儿。
2.4  数据显示部分
 显示器是系统的人机接口,直观地显示计算机处理的结果。有两种显示方案:
一种选择是采用7段LED数码管设计显示电路,显示4位数字就需要4个译码器,一个译码器与LED数码管相连需要4数据线连接,这样算下来那么在外围需要添加很多的连接线路。而前面已经多次提到气压传感器是一种静电敏感产品,在尽可能少地减少不必要的电路,以保证系统测量误差最小化。这么多连线在连接时若使用面包板,那么这么多的线必将给焊接工作带来麻烦,如果使用PCB板,无疑在设计的价格方面又是一笔不必要的开销。而且此模块在整个设计的产品中所占的质量和体积也是相当大的比例。
另外一种选择是使用液晶集成显示器。首先它具有集成电路组成的接口电路,在连接方面与单片机接口直接相连、可以节省许多连接的线路,也不必印制PCB板只需要一块普通面包板就可以了。
在确定选取液晶显示器作为数据显示模块的前提下,选取合适的型号的元器件又是另外一个问题。液晶显示器而言种类型号也很多,在选取器材时尽量选取能直接与单片机接口的,显示至少4位数字,电源电压要求不超过5V,功耗低,价格低,重量和体积尽可能轻小为宜的液晶显示器。
根据上面提出的问题我们选择使用OCM2×16A,它是一种集成的点阵字符液晶显示器,可以显示16×2个字母、数字或字符,工作电压为+5V。提供5×7点阵、光标和5×10 点阵、光标的显示模式。提供显示数据缓冲区DDRAM、字符发生器CGROM 和字符发生器CGRAM,可以使用CGRAM来存储自己定义的最多8个    5×8点阵的图形字符的字模数据。提供了丰富的指令设置:清显示;光标回原点;显示开/关;光标开/关;显示字符闪烁;光标移位;显示移位等。提供内部上电自动复位电路,当外加电源电压超过+4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态[6]。
2.5  本章小结
 本章介绍了课题的设计思想,和各个模块元器件的选取标准,选定元器件为硬件、软件设计打下基础。在选取元器件方面对各个可选模块进行了分析和对比,选择精度高,速度快,开发容易的元器件进行开发设计。
 

Tags:数字



相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号