红外测温系统设计

上传人:仙*** 文档编号:99537174 上传时间:2022-06-01 格式:DOC 页数:9 大小:371.50KB
返回 下载 相关 举报
红外测温系统设计_第1页
第1页 / 共9页
红外测温系统设计_第2页
第2页 / 共9页
红外测温系统设计_第3页
第3页 / 共9页
点击查看更多>>
资源描述
word基于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: 50mV maxmV/C maxLOW INPUT BIAS CURRENT: 2nA maxHIGH MON-MODE REJECTION:115dB minINPUT OVER-VOLTAGE PROTECTION:40VWIDE SUPPLY RANGE: 2.25 to 18VLOW QUIESCENT CURRENT: 3mA max当R5=100时,放大倍数为500倍。G=50K/R5。运放为双电源运放,所以提供了双电源。放大后的电压大概为75MV26度,145MV37度。由于没有准确校准,所以必定有偏差。 ,漏电流为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基准,采用自动扫描模式,扫描通道AD通道5/ ADC interrupt 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_INPUT | (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-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 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=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;TT0=0x00;OCR0A=0x00;OCR0B=0x00;/ Timer/Counter 1 initialization/ 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/ pare A Match Interrupt: Off/ pare B Match Interrupt: OffTCCR1A=0x00;TCCR1B=0x00;TT1H=0x00;TT1L=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=0x00;TCCR2B=0x00;TT2=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 Interrupt(s) initializationTIMSK0=0x00;/ Timer/Counter 1 Interrupt(s) initializationTIMSK1=0x00;/ Timer/Counter 2 Interrupt(s) initializationTIMSK2=0x00;/ Analog parator initialization/ Analog parator: Off/ Analog parator Input Capture by Timer/Counter 1: OffACSR=0x80;ADCSRB=0x00;/ ADC initialization/ 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.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 ); / Place your code here ;9 / 9
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!