紅外測溫系統(tǒng)設(shè)計_第1頁
紅外測溫系統(tǒng)設(shè)計_第2頁
紅外測溫系統(tǒng)設(shè)計_第3頁
紅外測溫系統(tǒng)設(shè)計_第4頁
紅外測溫系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于ATMEGA88的紅外測溫儀作品采用ATMEL公司的ATMGEA88 作為MCU,內(nèi)部有8K FLASH,1kram。工作在內(nèi)部8M RC振蕩下,耗電僅為2MA左右。采用RISC指令集的AVR核心,運算速度大大超過傳統(tǒng)的51單片機(jī)。內(nèi)部帶有3個定時器,8路10位AD(模數(shù)轉(zhuǎn)換器),串口,硬件SPI,方便使用。大批量采購價格目前由于炒貨的原因漲價到12RMB。(具體問題可以搜索下,網(wǎng)上吹捧得很多)推薦你看一下中文的PDF,到處都有下載的。采用這塊芯片主要來說就有一點,比51先進(jìn),功耗低,內(nèi)帶AD,而且外部不需要加晶振。使用一塊LCD5110手機(jī)屏作為顯示設(shè)備,可以顯示輸出電壓以及當(dāng)前狀態(tài)。液

2、晶屏參數(shù)為72*48,點陣式,使用一個驅(qū)動庫作為支持,方便開發(fā),工作在3.3V電壓下。耗電極低,小于1MA,背光耗電為20MA。使用一片LDO(低壓差線性穩(wěn)壓源)作為系統(tǒng)電源,LM1117-3.3V,輸出電壓為3.3V,最大電流500MA以下為單片機(jī)的復(fù)位電路和燒錄程序用的接口使用OTP-538U紅外傳感器,該傳感器是一種紅外線感應(yīng)型的溫度探測器。主要工作原理是利用紅外線的波長在硅片上產(chǎn)生相應(yīng)的電壓,根據(jù)檢測到的電壓不同來檢測不同的溫度。由于只要是發(fā)熱的光源就會輻射紅外線,所以可以對溫度進(jìn)行非接觸式的檢測。傳感器由一個熱敏電阻和傳感器部分組成。傳感器部分根據(jù)外部的溫度產(chǎn)生相應(yīng)的電壓,而熱敏電阻

3、根據(jù)外部溫度不同,電阻值產(chǎn)生變化,由此來補(bǔ)充因為外界環(huán)境對傳感器的影響,因此可以做到比較高的精度。價格為RMB40每顆,以下是接口電路下表是溫度與電壓輸出的比例下表是熱敏電阻的變化比率由于這兩個值變化很難算。應(yīng)用電路上都是4個電阻做的,而且沒有電壓偏移和溫度的關(guān)系。所以我直接舍棄了溫度補(bǔ)償。這個圖的電阻值我完全計算不出來。淚流滿面。采用TI公司的儀表放大器INA114,采用儀表放大器最大的好處是增加了輸入阻抗,而且放大倍數(shù)比較好調(diào)整,高CMRR,而且噪聲極低,最關(guān)鍵的是,輸入失調(diào)電壓小。價格為RMB32。以下是儀放的基本參數(shù)LOW OFFSET VOLTAGE: 50mV maxLOW DRI

4、FT: 0.25mV/C maxLOW INPUT BIAS CURRENT: 2nA maxHIGH COMMON-MODE REJECTION:115dB minINPUT OVER-VOLTAGE PROTECTION:40VWIDE SUPPLY RANGE: 2.25 to 18VLOW QUIESCENT CURRENT: 3mA max當(dāng)R5=100時,放大倍數(shù)為500倍。G=50K/R5。運放為雙電源運放,所以提供了雙電源。放大后的電壓大概為75MV(26度),145MV(37度)。由于沒有準(zhǔn)確校準(zhǔn),所以必定有偏差。采用美信公司的反相電荷泵芯片MAX889T作為負(fù)向電源的輸出。

5、最大輸出電流為200MA,可以滿足運放的需求,留有足夠的余量。電荷泵工作在2M開關(guān)頻率下,只需要1UF的電容就可以工作。不需要外加電感,最大工作電壓為5.5V ,漏電流為20MA。RMB20一個。軟件流程圖程序帶注釋#include #include lcd5110.h#include float wendu;/定義float型的函數(shù)保存溫度,方便計算小數(shù)#define FIRST_ADC_INPUT 5#define LAST_ADC_INPUT 5unsigned int adc_dataLAST_ADC_INPUT-FIRST_ADC_INPUT+1;#define ADC_VREF_T

6、YPE 0xC0/AD初始化,時鐘62.5K,內(nèi)部1.1V基準(zhǔn),采用自動掃描模式,掃描通道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_

7、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) /系統(tǒng)初始化/ Declare your local variables here/ Crystal Osci

8、llator 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 State

9、1=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 Func

10、0=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;TCNT0=0x00

11、;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/ Comp

12、are A Match Interrupt: Off/ Compare B Match Interrupt: OffTCCR1A=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

13、: Disconnected/ OC2B output: DisconnectedASSR=0x00;TCCR2A=0x00;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 PCI

14、NT16-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 Comparator initialization/ Analog Comparator: Off/ Analog Comparator Input

15、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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論