收藏 分销(赏)

红外测温专业系统设计.doc

上传人:w****g 文档编号:2954664 上传时间:2024-06-12 格式:DOC 页数:14 大小:405.54KB
下载 相关 举报
红外测温专业系统设计.doc_第1页
第1页 / 共14页
红外测温专业系统设计.doc_第2页
第2页 / 共14页
红外测温专业系统设计.doc_第3页
第3页 / 共14页
红外测温专业系统设计.doc_第4页
第4页 / 共14页
红外测温专业系统设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、基于ATMEGA88红外测温仪作品采用ATMEL公司ATMGEA88 作为MCU,内部有8K FLASH,1kram。工作在内部8M RC振荡下,耗电仅为2MA左右。采用RISC指令集AVR核心,运算速度大大超过老式51单片机。内部带有3个定期器,8路10位AD(模数转换器),串口,硬件SPI,以便使用。大批量采购价格当前由于炒货因素涨价到12RMB。(详细问题可以搜索下,网上吹捧得诸多)推荐你看一下中文PDF,处处均有下载。采用这块芯片重要来说就有一点,比51先进,功耗低,内带AD,并且外部不需要加晶振。使用一块LCD5110手机屏作为显示设备,可以显示输出电压以及当前状态。液晶屏参数为72

2、*48,点阵式,使用一种驱动库作为支持,以便开发,工作在3.3V电压下。耗电极低,不大于1MA,背光耗电为20MA。使用一片LDO(低压差线性稳压源)作为系统电源,LM1117-3.3V,输出电压为3.3V,最大电流500MA如下为单片机复位电路和烧录程序用接口使用OTP-538U红外传感器,该传感器是一种红外线感应型温度探测器。重要工作原理是运用红外线波长在硅片上产生相应电压,依照检测到电压不同来检测不同温度。由于只要是发热光源就会辐射红外线,因此可以对温度进行非接触式检测。传感器由一种热敏电阻和传感器某些构成。传感器某些依照外部温度产生相应电压,而热敏电阻依照外部温度不同,电阻值产生变化,

3、由此来补充由于外界环境对传感器影响,因而可以做到比较高精度。价格为RMB40每颗,如下是接口电路下表是温度与电压输出比例下表是热敏电阻变化比率由于这两个值变化很难算。应用电路上都是4个电阻做,并且没有电压偏移和温度关系。因此我直接舍弃了温度补偿。这个图电阻值我完全计算不出来。泪流满面。采用TI公司仪表放大器INA114,采用仪表放大器最大好处是增长了输入阻抗,并且放大倍数比较好调节,高CMRR,并且噪声极低,最核心是,输入失调电压小。价格为RMB32。如下是仪放基本参数LOW OFFSET VOLTAGE:50mV maxLOW DRIFT:0.25mV/C maxLOW INPUT BIAS

4、 CURRENT:2nA maxHIGH COMMON-MODE REJECTION:115dB minINPUT OVER-VOLTAGE PROTECTION:40VWIDE SUPPLY RANGE:2.25 to 18VLOW QUIESCENT CURRENT:3mA max当R5=100时,放大倍数为500倍。G=50K/R5。运放为双电源运放,因此提供了双电源。放大后电压大概为75MV(26度),145MV(37度)。由于没有精确校准,因此必然有偏差。采用美信公司反相电荷泵芯片MAX889T作为负向电源输出。最大输出电流为200MA,可以满足运放需求,留有足够余量。电荷泵工作在2

5、M开关频率下,只需要1UF电容就可以工作。不需要外加电感,最大工作电压为5.5V ,漏电流为20MA。RMB20一种。软件流程图程序带注释#include #include lcd5110.h#include float wendu;/定义float型函数保存温度,以便计算小数#define FIRST_ADC_INPUT 5#define LAST_ADC_INPUT 5unsigned int adc_dataLAST_ADC_INPUT-FIRST_ADC_INPUT+1;#define ADC_VREF_TYPE 0xC0/AD初始化,时钟62.5K,内部1.1V基准,采用自动扫描模式

6、,扫描通道AD通道5/ ADC interrupt service routine/ with auto input scanninginterrupt ADC_INT void adc_isr(void)static unsigned char input_index=0;/ Read the AD conversion resultadc_datainput_index=ADCW;/ Select next ADC inputif (+input_index (LAST_ADC_INPUT-FIRST_ADC_INPUT) input_index=0;ADMUX=(FIRST_ADC_IN

7、PUT | (ADC_VREF_TYPE & 0xff)+input_index;/ Delay needed for the stabilization of the ADC input voltagedelay_us(10);/ Start the AD conversionADCSRA|=0x40;/ Declare your global variables herevoid main(void) /系统初始化/ Declare your local variables here/ Crystal Oscillator division factor:1#pragma optsize-

8、CLKPR=0x80;CLKPR=0x00;#ifdef _OPTIMIZE_SIZE_#pragma optsize+#endif/ Input/Output Ports initialization/ Port B initialization/ Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In / State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;DDRB=0xff;/ Port

9、C initialization/ Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In / State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;DDRC=0x00;/ Port D initialization/ Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In / State7=T State6=T State5=T State4=

10、T State3=T State2=T State1=T State0=T PORTD=0x00;DDRD=0x00;/ Timer/Counter 0 initialization/ Clock source:System Clock/ Clock value:Timer 0 Stopped/ Mode:Normal top=FFh/ OC0A output:Disconnected/ OC0B output:DisconnectedTCCR0A=0x00;TCCR0B=0x00;TCNT0=0x00;OCR0A=0x00;OCR0B=0x00;/ Timer/Counter 1 initi

11、alization/ Clock source:System Clock/ Clock value:Timer1 Stopped/ Mode:Normal top=FFFFh/ OC1A output:Discon./ OC1B output:Discon./ Noise Canceler:Off/ Input Capture on Falling Edge/ Timer1 Overflow Interrupt:Off/ Input Capture Interrupt:Off/ Compare A Match Interrupt:Off/ Compare B Match Interrupt:O

12、ffTCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;/ Timer/Counter 2 initialization/ Clock source:System Clock/ Clock value:Timer2 Stopped/ Mode:Normal top=FFh/ OC2A output:Disconnected/ OC2B output:DisconnectedASSR=0x00;TCCR2A=0x0

13、0;TCCR2B=0x00;TCNT2=0x00;OCR2A=0x00;OCR2B=0x00;/ External Interrupt(s) initialization/ INT0:Off/ INT1:Off/ Interrupt on any change on pins PCINT0-7:Off/ Interrupt on any change on pins PCINT8-14:Off/ Interrupt on any change on pins PCINT16-23:OffEICRA=0x00;EIMSK=0x00;PCICR=0x00;/ Timer/Counter 0 Int

14、errupt(s) initializationTIMSK0=0x00;/ Timer/Counter 1 Interrupt(s) initializationTIMSK1=0x00;/ Timer/Counter 2 Interrupt(s) initializationTIMSK2=0x00;/ Analog Comparator initialization/ Analog Comparator:Off/ Analog Comparator Input Capture by Timer/Counter 1:OffACSR=0x80;ADCSRB=0x00;/ ADC initializ

15、ation/ ADC Clock frequency:1000.000 kHz/ ADC Voltage Reference:Int.,cap. on AREF/ ADC Auto Trigger Source:Free Running/ Digital input buffers on ADC0:On,ADC1:On,ADC2:On,ADC3:On/ ADC4:On,ADC5:OnDIDR0=0x00;ADMUX=FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff);ADCSRA=0xEF;ADCSRB&=0xF8;LCD_init(); /液晶初始化PORTB.

16、5=1; /打开背光/ Global enable interrupts#asm(sei)while (1) /LCD_write_6_8string(0,0, ); / LCD_write_number(24,0,adc_data0); wendu=adc_data0; /采集电压 wendu=wendu/6+12; /计算温度 LCD_write_6_8string(0,1, Temperature ); LCD_write_6_8string(0,2, ); LCD_write_float(24,2,wendu); /将计算后温度输出到屏幕上 LCD_write_6_8string(0,4, Just for a ); LCD_write_6_8string(0,5, simple test ); delay_ms(200); /延时0.2S / Place your code here ;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服