基于单片机的热电偶温度巡检仪_第1页
基于单片机的热电偶温度巡检仪_第2页
基于单片机的热电偶温度巡检仪_第3页
基于单片机的热电偶温度巡检仪_第4页
基于单片机的热电偶温度巡检仪_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题 目:基于单片机的热电偶温度巡检仪 基于单片机的热电偶温度巡检仪 摘要 在很多工业场合都会遇到温度的多路巡回检测、报警和控制的问题,目前的温度检测仪器普遍智能化程度不高、没有通信功能,并且要求输入规定的信号。 针对目前温度检测仪表的现状,本文设计了一种以at89s52单片机为核心的智能温度巡检仪,具有自动校准、串行通信、传感器非线性校正等功能,提高了仪器的智能程度。系统采用k型热电偶测量技术和模拟开关芯片,实现了多点温度巡回采集处理的功能, 应用于各种温度测量场合。系统主要由四大部分组成:1.温度数据采集部分,主要以恒流源获取镍镉-镍硅热电偶的温度信号;2.i/o功能扩展部分,负责键盘控制、

2、液晶显示、语音报警及控制等功能;3.串口通信部分,通过串口与上位机进行数据通信;4.以pc机为核心的上位机部分,上位机采用高级语言设计友好的可视化人机界面,将其所接收的信号转换曲线或表格,清晰明了地显示出巡检对象的温度状况。 本系统分利用了单片机的数据处理及实时检测能力,以k型热电偶作温度传感器,精度高、量程宽、稳定性好、性能可靠,并可按照用户设置的报警温度和危险温度作出语音报警和智能防护措施,改进了工作人员的工作方式,提高了工作效率和管理水平。.关键词:智能仪器 ;温度巡检仪 ;单片机 ;热电偶the thermocouple of temperature-cruising test bas

3、ed on single-chip designabstract there is much need of multiway temperature measurement, alarm and control in certain industry situations. general temperature measure instrument is not intelligent enough. it has no function of communication, and requires stated signal. aiming at the current problem,

4、 this paper mainly introduces the design of a multiway intelligent temperature measure instrument based on at89c52 microprocessor. the system has the function of auto adjust, serial communication, and sensor nonlinearity self-correction. it adopts three-wire measuring technique of thermistor and ana

5、log switches to realize multiway temperature measurement. it mainly comprises four parts: 1.temperature data acquisition unit, which adopts a constant current source to get the temperature data 2.function expand unit, which includes mcu, keyboard, voice alarm module and lcd screen; 3.communication p

6、art, which takes charge of communicating with upper machine; 4.upper machine part, which adopts visual basic to design a friendly man-machine interface, and clearly displays the state of the measured object as curves and tables. which has merits of accurate measure, wide range, good stability, and r

7、eliable performance. it can give the alarm and self-protect while achieving the alarm temperature and the dangerous temperature user set, and improves the mode of operator working, efficiency and the management level.keywords: intelligent instrument; temperature-cruising test;mcs51; thermocouple目 录第

8、一章 引言11.1 温度测量简述11.2 系统工艺11.3 设计的总体目标21.4 温度巡检仪的技术现状3第二章 系统总体方案设计42.1 技术原理42.2 温度信号处理5第三章 硬件设计63.1 热电偶的测温63.1.1 传感器分类63.1.2 热电偶传感器63.1.3 热电偶的工作原理73.1.4 热电偶测量温度的方法83.1.5 测量信号的放大和冷端补偿93.2 max6675芯片103.2.1 性能特点103.2.2 工作原理113.2.3 与单片机的通讯123.2.4 热补偿与噪声补偿133.2.5 应用中的注意问题143.3 多通道的巡回切换153.4 a/d转换器adc08321

9、73.5 单片机的功能183.6 led显示驱动设计193.6.1 数码管驱动203.6.2 数码管参数及应用203.7 与上位机的连接串口通信22第四章 软件设计254.1 软件设计流程254.2 数字信号处理264.3 led显示程序的实现284.3.1 显示部分流程图28第五章 误差分析和软件调试305.1 干扰源的种类305.2 抗干扰措施305.3 系统调试方法32第六章 总结33参考文献34附录一 设计硬件电路36附录二 系统软件设计37致谢49第一章 引言1.1 温度测量简述 温度对于工业生产的影响是很大的,因为在工业生产中,对温度的要求是很严格的。特别是一些先进的工业生产, 在

10、这些生产中温度的重要性有如水要正常情况下要结冰最少也要0度一样,不达到这个条件就不能出现冰。可见温度对工业生产是多么重要的。当然,也不一定所有的都是对温度要求这么严格的。 随着科技的发展,温度计测温已经不能适应生产和生活的需要,于是便出现了能够对多点温度进行巡回定点检测并显示的温度巡检仪。温度控制将更好的服务于社会目前,单片机控制器在从生活工具到工业应用的各个领域,例如生活工具的电梯、工业生产中的现场控制仪表、数控机床等。尤其是用单片机控制器改造落后的设备具有性价比高、提高设备的使用寿命、提高设备的自动化程度的特点。社会的发展对于温度控制也就相应的不断提高,而我设计的基于at89c52的智能温

11、度测量系统设计就是为了达到这样的温度控制要求而进行设计的。我所采用的控制芯片为at89c52,此芯片功能强大,能够满足设计要求。温度巡检仪由温度传感器、巡回切换装置和显示记录仪表构成。 其测温原理是:多个传感器的输出电参数随温度的变化而变化,输出并变换成统一规格的电信号,由多路自动开关逐路选通,以采样、量化、编码和必要的辅助运算方法将模拟量转化成数字量。再经数字电路或微处理器及外围电路处理后输出驱动显示和记录机构,周期性的采集被测信号。1.2 系统工艺at89c52 单片机为核心构成的智能仪器系统,该温度巡检仪可对8点温度进行巡回检测和显示又可对某点进行定点检测和显示,在检测的同时可以进行声光

12、报警,带有串行通讯接口的温度巡检仪。整个系统是由温度传感器电路,电压放大电路,多路检测通道选择电路,a/d 转换电路,抗干扰电路,最小系统电路,键盘显示电路,声光报警电路组成。为了使仪表小巧灵活、成本低、抗干扰能力强,能针对性的解决从简单到复杂的各类控制任务,并获得最佳的性能价格比。选用at89c52单片机作为cpu内一片集成块内含有一个8位微处理器、128个字节ram、 4个8位并行口,一个全双工串行口, 2个16位定时器/计数器,以及时钟振荡电路。在众多的微机芯片中,最适用于智能仪表,为使仪表具有显示、报警指示、键盘设定、打印等多种功能。c51单片微机现有i/o是足够的,而且有ram进行数

13、据存储,所以选不用8155作为i/o口扩展。 mcs-51应用系统是最适用的外围器件,选用adc0832a/d转换器,相当于二进制11位a/d转换器,它具有自动调零、输入阻抗高、外接元件少、抗干扰能力强、精度高等优点;特别适用于工业仪表a/d转换。进行多点巡检时,必须多点切换,如果用传统的电桥转换方式进行多点切换是不能实现的。因为k型热电偶变化范围也只有几伏特,故必须消除模拟开关内阻影响,采用恒流源进行“电压-电阻”变换,用多阻抗放大器进行小信号放大。1.3 设计的总体目标 主控制模块是系统的核心,主要负责选择数据采集通道、信号调整、对输入数据进行分析处理、实时监控系统温度对各种异常进行报警,

14、电源监视、对热电偶进行冷端补偿、向显示模块发送显示数据。 i/o模块在主控制模块的控制下将检测信号经输入通道选择开关送给主控制模块的信号调理转换器和温度异常是输出报警信号。 本设计中,我们采用k型热电偶传感器来构架温度采集系统,采集到的温度信号经过传感器的处理转换成电信号,但我们得到的还是比较微弱的模拟信号,要对信号进放大,然后将此模拟信号转换成单片机所能接受、处理的数字信号,通过译码环节最终用七段led显示器显示出来。1.4 温度巡检仪的技术现状随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时还有温度信

15、息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高、能够综合处理多点温度信息的测量系统就很有必要。 课题以at89c52单片机系统为核心,能对多点的温度进行实时巡检。各检测单元(从机)能独立完成各自功能,同时能够根据主控机的指令对温度进行定时采集,测量结果不仅能在本地显示,而且可以利用单片机串行口,通过总线及通信协议将采集的本数据传送到主控机,进行进一步的存档、处理。主控机负责控制指令的发送,控制各个从机进行温度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。主控机与各从机之间能够相互联系

16、、相互协调,从而达到系统整体统一、和谐的效果。第二章 系统总体方案设计2.1 技术原理 多路温度转换系统组成由信号变送单元和和接收单元组成,热电偶的毫伏信号(或其它类型温度信号)进入变送单元后转换为数字信号,变送单元的数字信号通经过安全栅进入到接收单元,现场变送单元与安全栅构成本安回路,从而使得变送单元可以直接安装在危险区(0区、1区和2区)。多路温度转换器的每个接收单元可以带2个变送单元,变送单元安装在现场的采集箱内, 每个变送单元最多可以采集8路温度信号,其供电方式为回路供电,为确保系统可靠性,变送单元与接收单元之间的通讯,以及接收单元同dcs的通讯都采用冗余配制,当发生故障时, 数据通讯

17、系统能够无扰动地自动切换,并产生系统诊断报警,在切换时保证数据完整,多路温度采集系统同dcs的通讯协议为 modbus-rtu。信号输入电路由电流-电压转换电路和多路切换开关组成,温度信号由变送器转换成统一的010ma.dc.420ma.dc的电流信号送来。系统结构参见图2.1.图2.1 多路温度采集系统结构图2.2 温度信号处理 本设计中,首先要进行的是温度采集,采用k型热电偶对对象进行温度测量;采集到的温度信号经过传感器的处理转换成电信号,但是我们得到的还是比较微弱的模拟信号(电压信号);需要对信号进行放大,然后将此模拟信号转换成单片机过能够接受、处理的数字信号,经过程序处理后,单片机输出

18、相应的数字信号,再通过译码环节最终用七段led显示管显示出来。信号处理流程可由以下图2.2表示。图2.2 信号处理流程图第三章 硬件设计3.1 热电偶的测温热电偶温度计具有结构简单、测温范围广(-180 1800 ) 、耐高温、准确度高、价格便宜、使用方便、适于远距离测量与自动控制等优点。因而, 它在高温测量方面得到较广泛的应用。3.1.1 传感器分类传感器分类方法很多,常用的有2种:一种是按被测的参数分,另一种是按变换原理来分。通常按被测的参数来分类,可分为热工参数:温度、比热、压力、流量、液位等;机械量参数:位移、力、加速度、重量等;物性参数:比重、浓度、算监度等;状态量参数:颜色、裂纹、

19、磨损等。温度传感器属于热工参数。 温度传感器按传感器于被测介质的接触方式可分为2大类:一类是接触式温度传感器,一类是非接触式温度传感器。接触式温度传感器的测温元件与被测对象要有良好的热接触,通过热传导及对流原理达到热平衡,这时的示值即为被测对象的温度;这种测温方法精度比较高,并在一定程度上还可测量物体内部的温度分布,但对于运动的、热容量比较小的、或对感温元件有腐蚀作用的对象,这种方法将会产生很大的误差。非接触测温的测温元件与被测对象互不接触,目前最常用的是辐射热交换原理。此种测温方法的主要特点是可测量运动状态的小目标及热容量小或变化迅速的对象,也可测温度场的温度分布,但受环境的影响比较大。3.

20、1.2 热电偶传感器热电偶传感器是工业测量中应用最广泛的一种温度传感器,它与被测对象直接接触,不受中间介质的影响,具有较高的精确度;测量范围广,可从-501600进行连续测量,特殊的热电偶如金铁-镍铬,最低可测到-269,钨-铼最高可达2800。热电偶传感器主要按照热电效应来工作。将两种不同的导体a和b连接起来,组成一个闭合回路,即构成感温元件,如图3.1所示。当导体a和b的两个接点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一定大小的电流,这种现象即称为热电效应,也叫温差电效应。热电偶就是利用这一效应进行工作的。热电偶的一端是将a、b两种导体焊接在一起,称为工作端,置于温度为

21、t的被测介质中。另一端称为参比端或自由端,放于温度为t0的恒定温度下。当工作端的被测介质温度发生变化时,热电势随之发生变化,将热电势送入计算机进行处理,即可得到温度值。3.1.3 热电偶的工作原理 热电温度计是由热电偶、补偿导线及测量仪表构成的。其中热电偶是敏感元件, 它由两种不同的导体a 和b 连接在一起, 构成一个闭合回路, 当两个连接点1 与2 的温度不同时, 由于热电效应,回路中就会产生零点几到几十毫伏的热电动势, 记为eab 。接点1 在测量时被置于测量场所,故称为测量端或工作端。接点2 则要求恒定在某一温度下,称为参考端或自由端, 如图3.1所示。图3.1 热电偶原理图实验证明,

22、当电极材料选定后, 热电偶的热电动势仅与两个接点的温度有关, 即比例系数sab称为热电动势率, 它是热电偶最重要的特征量。当两接点的温度分别为t1 , t2 时, 回路总的热电动势为,对于已选定材料的热电偶: 当其自由端温度恒定时, 为常数,这样回路总的热电动势仅为工作温度t1 的单值函数。所以,通过测量热电动势的方法就可以测量工作点的实际温度。3.1.4 热电偶测量温度的方法 图3.1 中我们把自由端2 画成虚线,是想说明热电偶在使用时2 点实际上不是直接相接的。由热电偶的中间金属定律:“在热电偶测温回路中,串接第三种导体;只要其两端温度相同, 则热电偶所产生的热电动势与串接的中间金属无关。

23、 那么, 我们把较短的测量导线和仪表串接在2 点并视其为第三种金属,就可认为它们不影响热电偶所产生的热电动势即工作温度的测量。” 实际使用时,测量场所与测量仪表往往相距很远,又因为组成热电偶的材料比较贵重,所以常加导线来连接。这里有两种使用方法: 第一种是用两根连接导线具有相同的热电性质; 如在一根导线(如常用的紫铜线) 上取下的两段线, 它们的化学成分和物理性质就很相近,这时,可根据中间金属定律判断出电偶的热电动势只取决于电偶两端温度t1、t2 , 其它环境温度的影响就可忽略。第二种是在热电偶的两电极分别采用和自己热电性质相近的补偿导线延长至3 点, 这样热电动势只取决于t1 和t3而与t2

24、 无关。 上述使用情况中, 温度点t2 和t3 往往采用冰水混合物(0 ) 来恒定温度。这时, 总的热电动势就变成工作温度t1 的单值函数, 可记为(e - t1) 。为了使用方便, 对于不同的热电偶规定了不同的分度号,根据不同的分度号;我们又可查找其对应的分度表,从而得到标准热电偶e - t1 关系的具体对应值(相关温度点一般规定为0 ), 见表3.1.分度号材质补偿导线型号补偿导线材质k镍镉-镍硅sc正极负极铜铜镍表3.1 k型热电偶性能介绍热电偶测温时, 除工作端外的各个部分要求有良好的绝缘,否则会引入误差, 甚至无法测量。另外,为了支撑和固定热电极,延长其寿命, 还应选择合适的保护套管

25、材料。使用一段时间后, 热电偶要和标准偶进行校正。3.1.5 测量信号的放大和冷端补偿 热电偶作为一种主要的测温元件,具有结构简单、制造容易、使用方便、测温范围宽、测温精度高等特点。但是将热电偶应用在基于单片机的嵌入式系统领域时,却存在着以下几方面的问题。 1.非线性:热电偶输出热电势与温度之间的关系为非线性关系,因此在应用时必须进行线性化处理。 2.冷端补偿:热电偶输出的热电势为冷端保持为0时与测量端的电势差值,而在实际应用中冷端的温度是随着环境温度而变化的,故需进行冷端补偿。 3.数字化输出:与嵌入式系统接口必然要采用数字化输出及数字化接口,而作为模拟小信号测温元件的热电偶显然法直接满足这

26、个要求。 因此,若将热电偶应用于嵌入式系统时,须进行复杂的信号放大、a/d转换、查表线性线、温度补偿及数字化输出接口等软硬件设计。如果能将上述的功能集成到一个集成电路芯片中,即采用单芯片来完成信号放大、冷端补偿、线性化及数字化输出功能,则将大大简化热电偶在嵌入式领域的应用设计。3.2 max6675芯片maxim公司新近推出的max6675,其内部由精密运算放大器、基准电源、冷端补偿二极管、模拟开关、数字控制器及adc电路构成,完成热电偶微弱信号的放大、冷端补偿和ad转换等功能。max6675采用8脚so形式封装,图3.2为引脚图,t+接k型热电偶的正极(镍铬合金),t-接k型热电偶的负极(镍

27、硅合金或镍铝合金);片选信号端cs为高电平时启动温度转换,低电平时允许数据输出;sck为时钟输入端;so为数据输出端,温度转换后的12位数据由该脚以spi方式输出。3.2.1 性能特点max6675的主要特性如下: 1.简单的spi串行口温度值输出; 2.0+1024的测温范围; 3.12位0.25的分辨率; 4.片内冷端补偿; 5.高阻抗差动输入; 6.热电偶断线检测; 7.单一正5v的电源电压; 8.低功耗特性; 9.工作温度范围-20+85; 10.2000v的esd信号。 该器件采用8引脚so帖片封装,引脚排列如图3.2所示; 引脚名称图3.2 max6675的引脚图 功能一:gnd接

28、地端、t-接k型热电偶负极、t+接k型热电偶正极、vcc正电源端、sck串行时钟输入、cs片选端,cs为低时,启动串行接口7so串行数据输出8n.c。 3.2.2 工作原理max6675器件是一复杂的单片热电偶数字转换器,内部具有信号调节放大器、12位的模拟/数字化热电偶转换器、冷端补偿传感和校正、数字控制器、1个spi兼容接口和1个相关的逻辑控制。 max6675内部具有将热电偶信号转换为与adc输入通道兼容电压的信号调节放大器,t+和t-输入端连接到低噪声放大器a1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。热电偶输出的热电势经低噪声放大器a1放大,再经过a2电压跟随器缓冲

29、后,被送至adc的输入端。在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是max6675周围温度与0实际参考值之间的差值。对于k型热电偶,电压变化率为41v/,电压可由线性公式来近似热电偶的特性。上式中,vout为热电偶输出电压(mv),tr是测量点温度;tamb是周围温度。热电偶的功能是检测热、冷两端温度的差值,热电偶节点温度可在0+1023.75范围变化。冷端即安装max6675的电路板周围温度,比温度在-20+85范围内变化。当冷端温度波动时,max6675仍能精确检测热端的温度变化。由于传感器输出微弱的模拟信号,当信号中存在环境干扰时,干扰信号也被

30、同时放大,影响检测的精度,需用滤波电路对先对模拟信号进行处理,以提高信号的抗干扰能力。 max6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,max6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电压和热电偶电压送到adc中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,max6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免在max6675附近放置发热器件或元件,因为这样会造成冷端误差。 3.2.3 与单片机的通讯max6675采用标准的spi串行外设

31、总线与单片机接口。max6675从spi串行接口输出数据的过程如下:单片机使cs置为低电平,并提供时钟信号给sck,由so读取测量结果。cs变低将停止任何转换过程,cs变高将启动一个新的转换过程。将cs变低在so端输出第一个数据,一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输出位,第1个输出位是d15,是一伪标志位,并总为0;d14位到d3位为以msb到lsb顺序排列的转换温度值;d2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由max6675实现,为开放热电偶检测器操作,t-必须接地,并使接地点尽可能接近gnd脚;d1位为低以提供max6675器件身份码,d0

32、位为三态标志位。 型热电偶温度采集电路采用atmel公司的flash单片机at89c52,该微控制器具有4k内部可擦写程序存储器和32 个输入/输出端口,满足本系统中温度测量、数据显示、数据通讯的需要为。at89c52采用i/o口线模拟spi串行口来对max6675读取数据。max6675的cs端接单片机的p1.0脚, cs低电平停止转换,准备将数据输出;sck引脚接单片机的p1.1脚,为传输数据提供时钟。无数据传输时,sck应置为低电平;so引脚接单片机的p1.2脚,用于传输数据。单片机的p1.3脚作为型热电偶探头断线报警口,报警时输出低电平,驱动故障指示led显示。 在单片机的上述4个引脚

33、各接一个10k的上拉电阻,保证数据的可靠传送。由于max6675的测量精度对电源耦合噪声较敏感,为降低电源噪声影响,在max6675的电源引脚附近接入1只0.1f陶瓷旁路电容。本系统主要测量工作温度范围为5001200,为了准确的测量这一区段的温度值,系统利用x25045芯片内部的4096位串行e2prom(非易失存储器),保存温度补偿参数,掉电不丢失,保证系统可应用于各种环境条件。3.2.4 热补偿与噪声补偿在测温应用中,芯片自热将降低max6675温度测量精度,误大小依赖于max6675封装的热传导性、安装技术和通风效果。为降低芯片自热引起的测量误差,可在布线时使用大面积接地技术提高max

34、6675温度测量精度。 max6675的测量精度对电源耦合噪声较敏感。为降低电源噪声影响,可在max6675的电源引脚附近接入1只0.1f陶瓷旁路电容。 测量精度的提高 热电偶系统的测量精度可通过以下预防措施来提高:1.尽量采用不能从测量区域散热的大截面导线; 2.如必须用小截面导线,则只能应用在测量区域,并且在无温度变化率区域用扩展导线; 3.避免受能拉紧导线的机械挤压和振动; 4.当热电偶距离较远时,应采用双绞线作热电偶连线; 5.在温度额定值范围内使用热电偶导线; 6.避免急剧温度变化; 7.在严劣环境中,使用合适的保护套以保证热电偶导线; 8.仅在低温和小变化率区域使用扩展导线; 9.

35、保持热电偶电阻的事件记录和连续记录。3.2.5 应用中的注意问题在温度测量仪的设计和调试过程中遇到诸多问题,现有max6675相关的几个问题。 1.max6675芯片对电源噪声较为敏感,尽量将max6675布置在远离其他i/o芯片的地方。 2.max6675芯片t-必须接地,并使接地点尽可能接近gnd脚,否则读出数据为无规律的乱码。 3.max6675是通过冷端补偿来校正周围温度变化的。该器件将周围温度通过内部的温度检测二极管转换为温度补偿电压,该器件内部电路将二极管电压和热电偶电压送到adc中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,max6675可获得最佳的测量精度。因

36、此在实际测温应用时,应尽量避免在max6675附近放置发热器件或元件,例如7805等带散热片的稳压器件。 4. 尽量采用大截面积的热电偶导线,长距离传输时,可采用双绞线作为信号传输线。 5. 根据应用场合的不同,可通过相应的数字滤波器进行数据处理,以提高所需要某一段测量数据的准确性。3.3 多通道的巡回切换 本系统是一个多路巡检的系统,为了实现多路检测,如果在每一路都接一个恒流源和一个a/d采样通道,显然太浪费资源,所以要使用模拟通道开关芯片,可以实现多个通道的快捷切换,这样只要一路恒流源,一路a/d采样通道即可实现多路巡检功能,同时还可以保证各通道电流的一致性。本设计所用多路开关是两个单八路

37、模拟开关cd4051。这些开关电路在整个vdd-vss 和vdd-vee 电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。当inh 输入端为“1”时,所有的通道截止。三位二进制信号选通8 通道中的一通道,可连接该输入端至输出。cd4051 引脚功能见图3.3.图3.3 多路选通开关cd4051单8 通道数字控制模拟开关,有三个二进制控制输入端a0、a1、a2 和inh 输入,具有低导通阻抗和很低的截止漏电流。幅值为4.520v 的数字信号可控制峰峰值至20v 的模拟信号。例如,若vdd5v,vss0,vee13.5v,则05v 的数字信号可控制13.54.5v 的模拟信号。cd4051

38、相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码abc来决定。其“inh”是禁止端,当 “inh”=1时,各通道均不接通。此外,cd4051还设有另外一个电源端vee,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的 cmos电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达15v的交流信号。例如,若模拟开关的供电电源vdd=5v, vss=0v,当vee=5v时,只要对此模拟开关施加05v的数字控制信号,就可控制幅度范围为5v5v的模拟信号。输入状态和接通通道见表3.2.inhabc连接状态000000001100102001130100401

39、01501106011171均不接通表3.2 cd4051连接状态表3.4 a/d转换器adc0832adc0832 为8位分辨率a/d转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05v之间。芯片转换时间仅为32s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过di 数据输入端,可以轻易的实现通道功能的选择。其管教连接图如图3.4所示:图3.4 模数转换芯片adc0832adc0832芯片接口说明: cs_ 片选使能,低电平芯片使能。

40、 ch0 模拟输入通道0,或作为in+/-使用。 ch1 模拟输入通道1,或作为in+/-使用。 gnd 芯片参考0 电位(地)。 di 数据信号输入,选择通道控制。 do 数据信号输出,转换数据输出。 clk 芯片时钟输入。 vcc/ref 电源输入及参考电压输入(复用)。3.5 单片机的功能 系统采用模块化设计,根据仪器的功能要求和技术指标,遵循自上而下,由大到小,由粗到细的思想,按照仪器的功能层次,把硬件和软件分成若干个功能模块,分别进行设计和调试;然后把它们连接起来,进行总调。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传

41、感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。at89c52单片机是美国atmel公司生产的低电压,高性能cmos的8位单片机,片内含8kbytes的可反复擦写的flash只读程序存储器和256bytes的随机数据存储器(ram),器件采用atmel公司的高密度,非易失性存储技术生产,与标准mcs-51指令系统及8052产品引脚兼容。功能强大的at89c2单片机适合于许多较为复杂控制应用场合。用单片机可以构成形式多样的控制系统、数据采集系统。例如

42、工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如edit、cced等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。以下是本设计所用芯片at89c52的应用连接。图3.5 at89c51的应用连接3.6 led

43、显示驱动设计数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元;按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(com)的数码管。共阳数码管在应用时应将公共极com接到+5v,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(com)的数码管。共阴数码管在应用时应将公共极com接到地线gn

44、d上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。3.6.1 数码管驱动数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。1、 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的i/o端口进行驱动,或者使用如bcd码二进制至十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用i/o端口多,如驱动5个数码管静态显示则需要5840根i/o端口来驱动,要知道一个c51单片机可用的i/o端口才32个),

45、实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2、 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a, b, c,d ,e, f, g, dp的同名端连在一起,另外为每个数码管的公共极com增加位选通控制电路,位选通由各自独立的i/o线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的com端,就使各个数码管轮流受控

46、显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的i/o端口,而且功耗更低。3.6.2 数码管参数及应用8字高度:8字上沿与下沿的距离,比外型高度小,通常用英寸来表示,范围一般为0.25-20英寸。长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;高数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。数码管是

47、一类显示屏,通过对其不同的管脚输入相对的电流会使其发亮,从而显示出数字。能够显示时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单,在家电领域应用极为广泛、空调、热水器、冰箱等等。绝大多数、热水器用的都是数码管,其他家电也用液晶屏与荧光屏数码管使用的电流与电压。电流:静态时,推荐使用10-15ma;动态时,16/1动态扫描时,平均电流为4-5ma,峰值电流50-60ma。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9v乘以每段的芯片串联的个数;当绿色时,使用2.1v乘以每段的芯片串联的个数。另外,系统还加了三个发光二极管,分别是绿、黄、红三种不同颜色,用

48、于显示检测对象的温度情况。绿色表示温度正常,黄色检测对象温度超过报警温度,红色表示温度已超过危险温度。发光二极管电路如图3.6(b)所示。下图3.6(a)就是led共阳极连线图。(a) lcd显示器 (b)发光二极管显示图3.6 系统显示器电路3.7 与上位机的连接串口通信max232是由德州仪器公司(ti)推出的一款兼容rs232标准的芯片。由于电脑串口rs232电平是-10v +10v,而一般的单片机应用系统的信号电压是ttl低电平+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供tia/eia-232-f电平。该器件符合tia/eia-232

49、-f标准,每一个接收器将tia/eia-232-f电平转换成5v ttl/cmos电平。每一个发送器将ttl/cmos电平转换成tia/eia-232-f电平。主要特点: 1. 单5v电源工作。2. linbicmostm工艺技术。3. 两个驱动器及两个接收器。4. 30v输入电平。5. 低电源电流:典型值是8ma.6. 符合甚至优于ansi标准 eia/tia-232-e及itu推荐标准v.28.7. esd保护大于mil-std-883(方法3015)标准的2000v.下图为mx232双串口的连接图,可以分别接单片机的串行通信口或者实验板的其它串行通信接口:图3.7 mx232双串口的连接

50、图max232应用电路,注意电容接法。232是电荷泵芯片,可以完成两路ttl/rs-232电平的转换,它的的9、10、11、12引脚是ttl电平端,用来连接单片机的。 max232获得正负电源的另一种方法:在单片机控制系统中,我们时常要用到数/模(d/a)或者模/数(a/d)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如: 9v,-9v; 12v,-12v.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控制板上,我们有的只是5v电源,可又有很多方法获得非5v电源。1.外接;2.dc-dc变换.在这里我介绍一块大家常用的芯片:max232. max232是ttl-rs2

51、32电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为uf的时候,若输入为5v。输出可以达到-14v左右,输入为0v ,输出可以达到14v,在扇出电流为20ma的时候,处处电压可以稳定在12v和-12v。因此,在功耗不是很大的情况下,可以将max232的输出信号经稳压块后作电源使用。第四章 软件设计4.1 软件设计流程设计的软件部分是比较重要的实现内容,温度巡检仪的软件由主程序、中断服务程序、应用程序构成,主程序流程见图4.1。温度巡检仪通电后进入初始状态,系统要对嵌入式微处理器的各有关ram芯片进行初始化设置,然后转入显示,显示由8位数码管组成进行动态扫描,扫描结束转入通讯程序,然后判断有

52、无键按下,首先判断是否为功能键,是功能键则执行相应功能否则进行温度巡检。初始化完成之后,将进行温度的采样,并执行温度比较,如果温度大于设定温度,将进行超温红灯提示。系统初始化完成以后,首先系统将选择温度采样通道,然后执行对模拟信号进行放大、冷端补偿、等操作,系统进行模数转换和数码显示。然后判断是否在设定的温度范围,若标志位为零,则进入循环操作;若标志位为1,温度异常,则跳出循环,进入中断。主程序循环过程中不断的扫描按键,如果有按键触发将会调用键值处理函数。其软件流程图如图4.1所示。主程序使用了while构成的死循环使主程序处于不停的循环检测中,在执行完上述所有功能后系统马上进入循环。图4.1

53、 程序主流程图4.2 数字信号处理由于干扰或者电路噪声的存在,在采样过程当中会出现采样信号与实际信号存在偏差的现象,甚至会出现信号的高低波动,为了减小这方面原因造成的测量误差,在实际采样时采样18个点,然后再除去其中偏差较大的两个点,即一个最大值和一个最小值,再对剩余的16个点取均值,这样得到的ad转换结果已经比较接近实际信号值。在对数值进行滤波操作之后,还要将ad值转换为温度,常用的两种方案为查表法和公式法:查表法比较麻烦,首先要去制定一个表,而且精度也不高,适合于线性化较差的ntc温度传感器;公式法比较简单,只需要确定比例系数k即可,适合于线性化较好的pt传感器,对于spce061a来说,

54、具有硬件乘法器所以实现该运算比较容易,其c语言实现过程为: a/d转换子程序流程图如图4.2所示。 图4.2 a/d转换子程序前面已经介绍过单片机中常用的数字信号处理方法,ad采样时首先选择采样通道,然后开中断,读p_adc_mux_ctrl寄存器判断该寄存器的第15位是否为1,若为1说明ad采样完毕,若不等于1,则继续读p_adc_mux_ctrl寄存器。若p_adc_mux_ctrl寄存器为1,则判断是否完成18次转换,若没完成18次转换则继续进行ad转换知道转换完毕置转换标志返回。在ad的转化过程中用到一个中断服务irq5_2hz, irq5_2hz中断用以提供1s时间以确定ad采样的时

55、间间隔。4.3 led显示程序的实现输入:七段码输入为四个输入信号,用来表示为“0000”到“1111”,即表示十六进制的“0”到“f”。输出:七段码输出为七个输出信号,分别用“a、b、c、d、e、f、g”七个符号来表示。一般规定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状。本设计使用的七段数码管为共阳极组。输入与输关系为四位二进制代码组成十六进制代码,将其代码显示。显示方式是通过选位的方式进行,是将fpga/cpld的三位二进制的信号输出,通过外部三八译码器硬件电路,选中一路led信号为输出,故选择一位led数码管显示,本实验是采取选

56、相应的一个指定位置进行led显示。输入是通过外部的四个按键操作而组成一位十六进制。其连接到fpga/cpld的对应的引脚上,需进行引脚分配。4.3.1 显示部分流程图 本设计对于led部分的程序设计流程图可由图4.3所示:图4.3 显示模块流程图显示是检验程序结果最直接也最简单的硬件设计,此显示函数是独立在主程序之外的子函数,在函数的开始首先定义了段码地址和片选地址,进入堆栈后首先取led片选地址,取显示的数据地址,然后判断led_no是否为1,若为1则取小数点,最后取a端口的数据,送位选码显示。判断led_no是否为3,若不为3更给位码显示下一位。直到led_no再次为零时显示程序结束。显示刷新,重新取数据。4.4 数字滤波 由于外界干扰或某些不可预知的因素,模拟量在受到干扰后,经a/d转换后的结果偏离了真实值,可能会出现一些随机的误差,如果只采样一次,无法确定结果是否可信。必须通过多次采样得到一个a/d转换的数据序列,通过软件算法处理后才能得到一个可信度较高的结果。这种方法就是数字滤波。 数字滤波的前提是对同一数据进行多次采样,在单片机系统中一般有:中值滤

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论