红外测温系统设计.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于 ATMEGA88的红外测温仪 作品采用 ATMEL公司的 ATMGEA88 作为 MCU,部有 8K FLASH,1kram 。工作在部 8M RC 振荡下,耗电仅为 2MA 左右。采用 RISC指令集的 AVR 核心,运算速度大大超过传统的 51 单片机。部带有 3 个定时器, 8 路 10 位 AD(模数转换器) ,串口,硬件 SPI,方便使用。大批量采购价格目前由于炒货的原因涨价到 12RMB。(具体问题可以搜索下, 网上吹捧得很多)推荐你看一下中文的 PDF,到处都有下载的。采用这块芯片主要来说就有一点,比 51 先进,功耗低,带 AD,而且外部不需要加晶振。 使用一块 LCD5110 手机屏作为显示设备, 可以显示输出电压以及当前状态。 液晶屏参数 为 72*48 ,点阵式,使用一个驱动库作为支持,方便开发,工作在 3.3V 电压下。耗电极低,小于 1MA ,背光耗电为 20MA 。 使用一片 LDO(低压差线性稳压源)作为系统电源, LM1117-3.3V ,输出电压为 3.3V,最大电流 500MA 以下为单片机的复位电路和烧录程序用的接口 使用 OTP-538U红外传感器,该传感器是一种红外线感应型的温度探测器。主要工作原理是 利用红外线的波长在硅片上产生相应的电压, 根据检测到的电压不同来检测不同的温度。 由于只要是发热的光源就会辐射红外线, 所以可以对温度进行非接触式的检测。 传感器由一个 热敏电阻和传感器部分组成。 传感器部分根据外部的温度产生相应的电压, 而热敏电阻根据 外部温度不同, 电阻值产生变化, 由此来补充因为外界环境对传感器的影响, 因此可以做到比较高的精度。价格为 RMB40 每颗,以下是接口电路 下表是温度与电压输出的比例 下表是热敏电阻的变化比率 由于这两个值变化很难算。 。。。应用电路上都是 4 个电阻做的,而且没有电压偏移和温度的关系。。所以我直接舍弃了温度补偿。 。。。 这个图的电阻值我完全计算不出来。  。。泪流满面。。。 采用 TI 公司的仪表放大器 INA114,采用仪表放大器最大的好处是增加了输入阻抗,而且放 大倍数比较好调整, 高 CMRR,而且噪声极低, 最关键的是, 输入失调电压小。 价格为 RMB32。。 以下是仪放的基本参数 LOW OFFSET VOLTAGE: 50 V max LOW DRIFT: 0.25 V/ C max LOW INPUT BIAS CURRENT: 2nA max HIGH COMMON-MODE REJECTION:115dB min INPUT OVER-VOLTAGE PROTECTION: 40V WIDE SUPPLY RANGE: 2.25 to 18V LOW QUIESCENT CURRENT: 3mA max 当 R5=100 时,放大倍数为 500 倍。 G=50K/R5。运放为双电源运放,所以提供了双电源。 放大后的电压大概为 75MV( 26 度),145MV( 37 度)。由于没有准确校准, 所以必定有偏差。 采用美信公司的反相电荷泵芯片 MAX889T 作为负向电源的输出。最大输出电流为 200MA , 可以满足运放的需求, 留有足够的余量。 电荷泵工作在 2M 开关频率下, 只需要 1UF 的电容 就可以工作。不需要外加电感,最大工作电压为 5.5V ,漏电流为 20MA 。 RMB20 一个。。。 软件流程图 系统初始化 屏幕初始化 采集运放放 大后的输入 电压 计算当前温 度 更新温度显 示 程序带注释 #include <mega88.h> #include "lcd5110.h" #include <delay.h> float wendu;// 定义 float 型的函数保存温度,方便计算小数 #define FIRST_ADC_INPUT 5 #define LAST_ADC_INPUT 5 unsigned int adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1]; #define ADC_VREF_TYPE 0xC0 //AD 初始化,时钟 62.5K,部 1.1V 基准,采用自动扫描模式,扫描通道 AD 通道 5 ADC interrupt service routine with auto input scanning interrupt [ADC_INT] void adc_isr(void) { static unsigned char input_index=0; Read the AD conversion result adc_data[input_index]=ADCW; Select next ADC input

文档评论(0)

158****3804 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档