成都理工大學(xué)傳感器課程設(shè)計(jì)鄧泉鈴_第1頁
成都理工大學(xué)傳感器課程設(shè)計(jì)鄧泉鈴_第2頁
成都理工大學(xué)傳感器課程設(shè)計(jì)鄧泉鈴_第3頁
成都理工大學(xué)傳感器課程設(shè)計(jì)鄧泉鈴_第4頁
成都理工大學(xué)傳感器課程設(shè)計(jì)鄧泉鈴_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 傳感器原理及應(yīng)用 課程設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目 人體紅外熱釋檢測 學(xué)院名稱 信息科學(xué)與技術(shù)學(xué)院 專業(yè)名稱 電子信息科學(xué)與技術(shù) 學(xué)生姓名 鄧泉鈴 學(xué)生學(xué)號 201313020220 任課教師 李志鵬 設(shè)計(jì)(論文)成績 教務(wù)處 制2015年12月28日傳感器原理及應(yīng)用課程設(shè)計(jì)組員:韓均雷,鄧泉鈴,雷鳳智,周鵬一、設(shè)計(jì)要求1、基本要求 (1)設(shè)計(jì)一個基于人體熱釋電傳感器LHI778的人體紅外檢測裝置; (2)電源用5V單電源,運(yùn)放用單電源供電; (3)放大指標(biāo)在4000倍以上; (4)用ADC0832采集波形,轉(zhuǎn)換為數(shù)字信號,在LCD1602上顯示幅度。2、發(fā)揮部分把顯示設(shè)備換為12864,顯

2、示出時時幅度和波形。二、設(shè)計(jì)方案將信號采用兩級放大加濾波的方式,最終輸出的波形輸入到ADC0832,轉(zhuǎn)換為數(shù)字信號,然后送入單片機(jī),經(jīng)處理轉(zhuǎn)換后在液晶上顯示。3、 主要器件介紹LHI778:該傳感器采用熱釋電材料極化隨溫度變化的特性探測紅外輻射,采用雙靈敏元互補(bǔ)方法抑制溫度變化產(chǎn)生的干擾,提高了傳感器的工作穩(wěn)定性。熱釋電紅外線傳感器主要是由一種高熱電系數(shù)的材料,如鋯鈦酸鉛系陶瓷、鉭酸鋰、硫酸三甘鈦等制成尺寸為2*1mm的探測元件。在每個探測器內(nèi)裝入一個或兩個探測元件,并將兩個探測元件以反極性串聯(lián),以抑制由于自身溫度升高而產(chǎn)生的干擾。由探測元件將探測并接收到的紅外輻射轉(zhuǎn)變成微弱的電壓信號,經(jīng)裝在

3、探頭內(nèi)的場效應(yīng)管放大后向外輸出。為了提高探測器的探測靈敏度以增大探測距離,一般在探測器的前方裝設(shè)一個菲涅爾透鏡,該透鏡用透明塑料制成,將透鏡的上、下兩部分各分成若干等份,制成一種具有特殊光學(xué)系統(tǒng)的透鏡,它和放大電路相配合,可將信號放大70分貝以上,這樣就可以測出1020米范圍內(nèi)人的行動。LM324:LM324系列器件帶有真差動輸入的四運(yùn)算放大器,具有真正的差分輸入。與單電源應(yīng)用場合的標(biāo)準(zhǔn)運(yùn)算放大器相比,它們有一些顯著優(yōu)點(diǎn)。該四放大器可以工作在低到3.0伏或者高到32伏的電源下,靜態(tài)電流為MC1741的靜態(tài)電流的五分之一。共模輸入范圍包括負(fù)電源,因而消除了在許多應(yīng)用場合中采用外部偏置元件的必要性

4、。ADC0832:ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時間僅為32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。STC89C52: STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)

5、51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計(jì)數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM

6、內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。LCD12864液晶:帶中文字庫的128X64 是一種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體 中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192 個16*16 點(diǎn)漢字,和128 個16*8 點(diǎn)ASCII 字符 集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4 行16×16 點(diǎn) 陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)

7、。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶 顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點(diǎn)陣的圖形液晶模塊。四、電路部分設(shè)計(jì)本裝置由前級放大電路、濾波電路、AD轉(zhuǎn)換電路、單片機(jī)處理顯示電路。1、前級運(yùn)算放大器放大濾波電路: 前級放大濾波電路由LM324運(yùn)算放大器作為主要部分,含有兩級放大,每級放大放大倍數(shù)計(jì)算為100倍,含有低通濾波器,因?yàn)閭鞲衅鬏敵龅念l率約為1Hz,交流信號的幅度約為100uV,所以低通截止頻率設(shè)置為100Hz,最前級含有高通濾波器,主要是用來隔絕直流信號,傳感器會輸出0.2V至1V不等的直流成分,所以在放大之前必須把直流隔絕。由于

8、要求單電源供電,所以必須給運(yùn)算放大器加直流偏置,為了有更大的信號增益,所以第一級加2.5V的直流偏置,第二級也是一樣。系統(tǒng)仿真用multisim軟件仿真。2、AD轉(zhuǎn)換電路3、LCD1602顯示電路4、 LCD12864液晶顯示波形電路由于仿真軟件中沒有帶字庫的的12864b2.0,所以不在進(jìn)行仿真。5、 軟件設(shè)計(jì)12864流程圖:六、結(jié)果分析1、放大濾波電路指標(biāo)測試第一級放大濾波電路:由R1和R2可知,增益為100,由C5、R2和R1可知,低通截止頻率為100Hz。在實(shí)際測試中,用2mVpp,1.5Hz20Hz的正弦波作為測試信號,由于電路的材料特性,每級放大電路1Hz增益約為60,且對于10

9、Hz頻率的衰減約為-10dB(相對于1Hz頻率,以下相同),對于20Hz頻率的信號衰減約為-40dB,由于傳感器輸出的交流信號在100uV左右,對于交流放大,兩級放大濾波電路的增益約為3600,理論輸出信號應(yīng)為360mV,實(shí)際上,傳感器的頻率更低,輸出的幅度更大,再加上傳感器輸出信號不是固定值,造成傳感器輸出幅度過大時,電路輸出信號有時會造成失真,這是由于運(yùn)放用的5V電源供電,再加上2.5V的直流偏置,實(shí)際輸出交流信號的幅值最大只有2V左右(LM324在5V單電源供電的時候最大輸出為4V左右),造成實(shí)際應(yīng)用的時候,放大增益比測試時更大,測試距離更遠(yuǎn)。經(jīng)實(shí)際測試,在5M距離下,人正常走動時依然能

10、造成失真,在7M的時候幅值較大,但未失真,且波形信噪比大。唯一美中不足的是,由于放大增益太大,在未遮住傳感器且沒有人走動的時候,波形依舊有較大波動,雖然波動不大,但是依舊有時會造成錯誤信息,導(dǎo)致后續(xù)電路判斷錯誤。2、ADC采樣及顯示ADC采用ADC0832,8位數(shù)字信號轉(zhuǎn)換,由于數(shù)字信號波動小,不易受到外界噪聲及干擾的影響,所以,這里不再分析噪聲影響,連接電路都已在上圖中給出,最主要的就是讓給ADC0832供電的電源一定要穩(wěn)定且準(zhǔn)確,這樣才能使ADC采集出來的值更加接近真實(shí)值,量化誤差一定存在,由于采集到的電壓值不同,單個量化誤差也不同。AD采樣結(jié)果如圖:隨著滑動變阻器的調(diào)節(jié),液晶顯示的數(shù)值與

11、電壓表測得的數(shù)值一致,此AD采樣數(shù)據(jù)成功。3、12864顯示波形及幅值我們知道在紙上畫出一個點(diǎn),我們要知道這個點(diǎn)在張紙上面的位置,也就是這個點(diǎn)在這張紙上面的坐標(biāo)。而在12864上面畫點(diǎn)也是一樣,我們要先知道這個點(diǎn)在液晶屏上面的坐標(biāo),然后我們該坐標(biāo)點(diǎn)黑或是點(diǎn)白可以了。而在這之前,我們要首先理解12864圖形顯示坐標(biāo)。需要注意的是它的水平位址并不是一個點(diǎn)有一個位址的,它是16個格才有一個位址。它的垂直位址也分為上下兩半部分。當(dāng)我們給出位址是X是0,Y是0的時候,其實(shí)里面包含了16個點(diǎn),也就是說我們一次要操作16個點(diǎn)。所有當(dāng)我們要點(diǎn)亮一個點(diǎn)的時候,我們不僅要知道的位址,還要知道它在這個位址中是第幾個

12、位,也就是第幾個點(diǎn)。 寫入一個點(diǎn)的子程序。具體步驟是:計(jì)算出X軸、Y軸的地址、X軸中的第幾位,然后讀出該地址現(xiàn)在的值,因?yàn)橐话銓懭胄碌狞c(diǎn)的時候,會覆蓋掉16個點(diǎn)中其他點(diǎn),當(dāng)你要同時顯示16個點(diǎn)中的兩個點(diǎn)的時候就會沖突,所以先將顯示中的點(diǎn)讀出來,然后在或上要點(diǎn)亮的點(diǎn),這樣就可以同時點(diǎn)亮。注意讀取數(shù)據(jù)的時候讀取的第一個數(shù)據(jù)不要,從第二數(shù)據(jù)開始取,也就是說要讀取三次,只取后面兩次的值。還有就是讀取數(shù)據(jù)之前要先寫入你要讀取數(shù)據(jù)的地址,讀取數(shù)據(jù)之后的寫入數(shù)據(jù)還要從新寫入地址。最后就是輸入數(shù)據(jù)地址,先輸入Y軸,再輸入X軸,輸入數(shù)據(jù)。下圖是實(shí)驗(yàn)時測得的有效數(shù)據(jù)。用傳感器進(jìn)行測試,在12864上面顯示出實(shí)時波

13、形,波形每1S刷新一次,實(shí)時電壓值跟隨刷新。AD采樣到的數(shù)據(jù)為8位二進(jìn)制數(shù)0-255與12864的縱向坐標(biāo)相對應(yīng)。用每次采集到的電壓值作為縱坐標(biāo),隨著橫坐標(biāo)的不斷增加從而繪制出波形。由于AD采集到的電壓值為0到5v,所以液晶屏上下分別代表0v和5v。七、實(shí)驗(yàn)程序12864顯示程序:#include<reg52.h>#include<intrins.h>#include<math.h>#define uchar unsigned char#define uint unsigned int#define LCD_data P0/數(shù)據(jù)端sbit LCD_RS=P2

14、6;/為1表示數(shù)據(jù),為0表示指令sbit LCD_RW=P25; /為1表示寫,為0表示讀sbit LCD_EN=P27; /使能端,高電平配合R進(jìn)行讀操作由高到低配合W進(jìn)行寫操作sbit LCD_PSB=P32;/并行和串行選擇;1表示并行模式,0表示串行模式sbit RST=P37; /復(fù)位端,低電平有效sbit clk=P15; /adc時鐘sbit cs=P14; /adc使能端sbit din=P17; /模擬信號輸入端sbit dout=P16; /數(shù)字信號輸出端unsigned int dataout=0,i,yout,flag=0;unsigned char adc_data_

15、collect(void);unsigned char code C="泉"unsigned char A="0.00V"unsigned char xdata y_pre128;/*ADC相關(guān)*void adc_init(void) /adc初始化clk=0; cs=1; din=0; dout=1;unsigned char adc_data_collect(void)/數(shù)據(jù)采集unsigned char data_f=0,data_c=0,s;clk=0;din=1;_nop_();cs=0;/使能ADCclk=1;_nop_();_nop_();

16、clk=0;din=1;clk=1;_nop_();_nop_();clk=0;din=1;_nop_();_nop_();clk=1;_nop_();_nop_();clk=0;_nop_();_nop_();din=1; for(s=0;s<8;s+)/數(shù)據(jù)獲取data_f|=dout;data_f=data_f<<1;clk=1;_nop_();_nop_();clk=0;_nop_();_nop_();for(s=0;s<8;s+)/數(shù)據(jù)獲取data_c|=dout;data_c=data_c<<1;clk=1;_nop_();_nop_();clk

17、=0;_nop_();_nop_();clk=1;din=1;cs=1; /關(guān)閉ADC0832_nop_();return data_f;/*lcd12864相關(guān)*void delay_1ms(uint x) /延時1ms uint i,j;for(j=0;j<x;j+)for(i=0;i<10;i+);void lcd_busy() /檢測是否能寫進(jìn)數(shù)據(jù)或者指令 LCD_RS=0; LCD_RW=1; P0=0XFF;/I/O口先寫1后在讀數(shù)據(jù) LCD_EN=1; /E為高表示配合,rw=1進(jìn)行讀數(shù)據(jù)操作 delay_1ms(1); while(P0&0x80)=0x80

18、);/或者等待12864可以接受數(shù)據(jù)或者指令 LCD_EN=0;uchar read_data() /讀數(shù)據(jù) uchar read; lcd_busy(); LCD_RS=1; LCD_RW=1; LCD_EN=0; delay_1ms(1); LCD_EN=1; delay_1ms(1); read=P0; LCD_EN=0; delay_1ms(1);return read;void write_com(uchar cmd) /寫指令 lcd_busy(); LCD_RS=0; /表示指令 LCD_RW=0; /進(jìn)行寫操作 LCD_EN=0; P0=cmd; delay_1ms(1); L

19、CD_EN=1; /使能端由高到低表示執(zhí)行加上Rw=0,將指令寫入LCD delay_1ms(1); LCD_EN=0;void write_dat(uchar dat)/寫數(shù)據(jù) lcd_busy(); LCD_RS=1; /表示數(shù)據(jù) LCD_RW=0; /進(jìn)行寫操作 LCD_EN=0; P0=dat; delay_1ms(1); LCD_EN=1; /使能端由高到低表示執(zhí)行加上Rw=0,將數(shù)據(jù)寫入LCD delay_1ms(1); LCD_EN=0;void clear_lcd(void) /繪圖時清零函數(shù) uchar i,j; write_com(0x34); /使用擴(kuò)展指令集/8bit控

20、制界面繪圖/ for(i=0;i<32;i+) /因?yàn)長CD有縱坐標(biāo)32格所以寫三十二次 write_com(0x80+i); /先寫入縱坐標(biāo)Y的值(y的地址為031) write_com(0x80); /再寫入橫坐標(biāo)X的值(x的地址為015) for(j=0;j<32;j+) /橫坐標(biāo)有16位,每位寫入兩個字節(jié)的的數(shù)據(jù),也就寫入32次 /因?yàn)楫?dāng)寫入兩個字節(jié)之后橫坐標(biāo)會自動加1,所以就不用再次寫入地址了。 write_dat(0x00); write_com(0x36);/擴(kuò)展指令集and繪圖顯示開 write_com(0x30);/退出擴(kuò)展指令集,進(jìn)入基本指令集void pain

21、t_point(uchar x,uchar y) /定點(diǎn)函數(shù) uint bt=0,read=0; uchar x_adr,y_adr,h_bit,l_bit;if(flag=1) /每一次都必須從起始位置開始掃描 y_adr=0x9f-y_prei%32;/計(jì)算Y軸的地址/初始Y軸的位置為液晶的最低 /為上一個點(diǎn)的縱坐標(biāo) if(y_prei<=31) x_adr=0x88+x/16; /輸入的Y地址小于31時在下半屏 else x_adr=0x80+x/16; /輸入的y地址大于31時在上半屏/確定在哪個子區(qū) bt=(0x8000>>(x%16); /確定在字區(qū)中的哪個點(diǎn) w

22、rite_com(0x34); write_com(0x34); /進(jìn)入擴(kuò)展指令集 write_com(y_adr); /讀取數(shù)據(jù)的時候要先寫入所取數(shù)據(jù)的地址 write_com(x_adr); read_data(); /讀取的第一個字節(jié)不要, read=read_data(); /從第二個字節(jié)開始接收。 read<<=8; /讀出的第一個字節(jié)為高8位 read|=read_data(); /第二次讀出為低8位數(shù)據(jù) bt=bt&read; / h_bit=bt>>8;/高8位數(shù)據(jù) /再將值寫入 l_bit=bt; /低8位數(shù)據(jù) write_com(y_adr)

23、; /寫入點(diǎn)的時候,重新寫入地址,因?yàn)榈刂芬呀?jīng)改變。 write_com(x_adr); write_dat(h_bit); write_dat(l_bit); write_com(0x36); /開顯示 write_com(0x30); /轉(zhuǎn)回基本指令集 y_adr=0x9f-y%32;/計(jì)算Y軸的地址/初始Y軸的位置為液晶的最低 if(y<=31) x_adr=0x88+x/16; /輸入的Y地址小于31時在下半屏 else x_adr=0x80+x/16; /輸入的y地址大于31時在上半屏/確定在哪個子區(qū) bt=0x8000>>(x%16); /確定在字區(qū)中的哪個點(diǎn) w

24、rite_com(0x34); write_com(0x34); /進(jìn)入擴(kuò)展指令集 write_com(y_adr); /讀取數(shù)據(jù)的時候要先寫入所取數(shù)據(jù)的地址 write_com(x_adr); read_data(); /讀取的第一個字節(jié)不要, read=read_data(); /從第二個字節(jié)開始接收。 read<<=8; /讀出的第一個字節(jié)為高8位 read|=read_data(); /第二次讀出為低8位數(shù)據(jù) bt=bt|read; / h_bit=bt>>8;/高8位數(shù)據(jù) /再將值寫入 l_bit=bt; /低8位數(shù)據(jù) write_com(y_adr); /寫

25、入點(diǎn)的時候,重新寫入地址,因?yàn)榈刂芬呀?jīng)改變。 write_com(x_adr); write_dat(h_bit); write_dat(l_bit); write_com(0x36); /開顯示 write_com(0x30); /轉(zhuǎn)回基本指令集 void lcd_init() /初始化 LCD_PSB=1;/并行口 write_com(0x30);/基本指令集 delay_1ms(5); write_com(0x0c);/整體顯示開,游標(biāo)關(guān),游標(biāo)位置關(guān) delay_1ms(5); write_com(0x01);/基本指令集下清屏 delay_1ms(5);/* 主函數(shù)*void main() unsigned int a,c,d;adc_init(); lcd_init(); clear_lcd(); /write_com(); /write_dat(); /顯示Y軸 for(i=0;i<64;i+) paint_point(0,i); if(i%5=0&&i>0) paint_point(1,i-1); paint_point(1,62); paint_point(1,61); paint

溫馨提示

  • 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

提交評論