

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、“京信杯”電子創新設計大賽設計工程:遠程溫濕度測量系統計參賽隊員:李偉李孟飛王澤夏報告時間:2018/12/13目錄目錄lb5E2RGbCAP第一章方案比較與論證OplEanqFDPw1.1溫度測量方案0DXDiTa9E3d1.2濕度測量方案ORTCrpUDGiT1.3遠程數據傳輸方案05PCzVD7HxA第二章系統設計與論證計算OjLBHrnAILg2.1總體設計1XHAQX74J0XI/182.2流圖2程LDAYtRyKfE第三章理論分析與計算1Zzz6ZB2Ltk3.1 HS1101濕度計算1dvzfvkwMI13.2紅外發射接收模塊分析1rqyn14ZNXI第四章電路圖及軟件設計錯誤!
2、未定義書簽。EmxvxOtOco4.1 電路圖4SixE2yXPq54.1.1紅外發射端錯誤!未定義書簽。6ewMyirQFL4.1.2紅外接收端錯誤!未定義書簽。kavU42VRUs4.2源程序錯誤!未定義書簽。y6v3ALoS89第五章測量方法及儀器錯誤!未定義書簽。M2ub6vSTnP第六章測量數據及測試結果分析50YujCfmUCw第七章設計總結5eUts8ZQVRd5sQsAEJkW5T參考文獻vReferences)個人資料整理僅限學習使用第一章方案比較與論證1.1溫度測量方案方案一:本方案采用PT100熱電阻溫度傳感器。PT100溫度傳感器的主要技術參數如下:測量范圍:-200C
3、+850C;A級精度為<0.15+0.002*|t|)C;B級精度為<0.30+0.005*|t|)C;其中|t|為實際溫度的絕對值。熱響應時間<30s;最小置入深度:熱電阻的最小置入深度200mm;允通電流w5mA。另外,PT100溫度傳感器還具有抗振動、穩定性好、準確度高、耐高壓等優點。但在實際應用中,使用單片機來進行溫度的計算,表達式比較復雜,用單片機處理這樣的計算過程,將會占用大量的資源,程序的編寫上很復雜。GMslasNXkA方案二:本方案采用DS18B20數字溫度傳感器。DS18B20溫度傳感器的技術性能:單線接口方式,DS18B20在與微處理器連接時僅需要一條口
4、線即可實現微處理器與DS18B20的雙向通訊,測溫范圍55C+125C,固有測溫分辨率0.5C,工作電源:35V/DC,測量結果以912位數字量方式串行傳送。TIrRGchYzg基于設計要求的考慮,即溫度誤差V1C,溫度測量范圍0C120C,方案二完全能滿足要求,且設計電路和程序編寫較為簡單,本設計采用方案二。7EqZcWLZNX1.2濕度測量方案方案一:本方案采用HR202電阻型濕度傳感器。HR202電阻型濕度傳感器技術參數:工作范圍2095%RH,060C,供電電壓為1.5VAC,工作頻率為500Hz2kHz,濕度檢測精度為±5%RH。特點:線性優良,高性價比,能耗低,測量范圍寬
5、,響應迅速,抗污染能力強,性能穩定。lzq7IGfO2E方案二:本方案采用HS1101濕度傳感器。HS1101濕度傳感器技術參數:工作溫度:-40100C,濕度范圍:0100%RH。曲線精度<10%90%):+/-2%RH,供電電壓:510V。特點:全互換性在標準環境下不需校正,長時間飽和下快速脫濕,高可靠性與長時間穩定性,可用于線性電壓或頻率輸岀回爐,快速反應時間。zvpgeqJ1hk從設計要求濕度誤差V1%,濕度測量范圍1%99%出發,HS1101更符合要求,本設計采用方案二。1.3遠程數據傳輸方案方案一:使用射頻發射電路和接收電路傳輸數據。射頻技術是用無線電波來傳送控制信號的,它的
6、特點沒有方向性,可以不“面對面”控制、距離遠,可達數十M。發射器和接收器之間只要沒有能起屏蔽作用的金屬阻擋物,就可正常使用。射頻發射電路制作成本較高,但其無方向性,使用方便。NrpoJac3v1方案二:使用紅外二極管發射電路和紅外接收電路傳輸數據。紅外發射接收有方向性,發射器必須對準接收器,并且中間不能有阻擋物,距離較近,但不受電磁干擾,成本優勢明顯,制作成本低、價格便宜。1nowfTG4KI基于設計要求傳輸距離大于5M和成本問題,選擇方案第二章系統設計與論證計算2.1總體設計數據采集發射端采用單片機<STC89C52)作為處理器,由DS18B20直接采集溫度數據與單片機進行雙向通信,H
7、S1101與7555定時器構成多諧震蕩電路,將HS1101的電容值轉換為頻率值并用單片機的計數器測量并轉換為相對濕度值,測得的數據將在1602液晶顯示屏上顯示,由紅外發射管發射數據。fjnFLDa5Zo數據接收顯示端也采用STC89C52單片機作為處理器,由紅外接收管接收發射端發出的溫度濕度數據,并顯示在1602液晶顯示屏上以便與發射端進行對比。tfnNhnE6e52.2流程圖DS18B20溫廣度傳感器HS11011602液晶顯示3.1HS1101濕度計算由電路可知t充電=C(R2+R1>ln2t放電=CR4ln2因而,輸出的方波率f=1/(t充電+t放電>=1/C(R2+2R1&
8、gt;ln2>相對濕度與電容的關系可看成直線段,所以有相對濕度RH=2.7C+163所以有3.2DS18B20工作原理DS18B20的溫度檢測與數字數據輸出全集成于一個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數據處理。在講解其工作流程之前我們有必要了解18B20的內部存儲器資源。18B20共有三種形態的存儲器資源,它們分別是:ROM只讀存儲器,用于存放DS18B20ID編碼,其前8位是單線系列編碼<DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼<冗余校驗)。數據在出產時設置不由用戶更改。DS18B2
9、0共64位ROM。RAM數據暫存器,用于內部計算和數據存取,數據在掉電后丟失,DS18B20共9個字節RAM,每個字節為8位。第1、2個字節是溫度轉換后的數據值信息,第3、4個字節是用戶EEPROM常用于溫度報警值儲存)的鏡像。在上電復位時其值將被刷新。第5個字節則是用戶第3個EEPROM的鏡像。第6、7、8個字節為計數寄存器,是為了讓用戶得到更高的溫度分辨率而設計的,同樣也是內部溫度轉換、計算的暫存單元。第9個字節為前8個字節的CRC碼。EEPROM非易失性記憶體,用于存放長期需要保存的數據,上下限溫度報警值和校驗數據,DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。
10、HbmVN777sL1-WIREBUS3/18初始化時序圖寫數據時序圖'IrecwUASTERREAD怦SLOTMASTERREADVS4QTi-WIAfcBUSGNO讀數據時序圖3.3紅外發射與HS0038工作原理HS0038紅外接收電路一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機識別的TTL信號,這樣大大簡化了接收電路的復雜程度和電路的設計工作,方V7l4jRB8Hs個人資料整理僅限學習使用N3舒蚪誦低魅枚去期外稈用f5門比1|4專士用hil卜*!*世E11Jj<4?JE譏<1AU1町483lcPA59W9便使用。在本系統中我們采
11、用紅外一體化接收頭HS0038,外觀圖如圖3所示。HS0038黑色環氧樹脂封裝,不受日光、熒光燈等光源干擾,內附磁屏蔽,功耗低,靈敏度高。在用小功率發射管發射信號情況下,其接收距離可達35m。它能與TTL、COMS電路兼容。HS0038為直立側面收光型。它接收紅外信號為38kHz,周期約26卩§同時能對信號進行放大、檢波、整形,得到TTL電平的編碼信號。三個管腳分別是地、+5V電源、解調信號輸出端。mZkklkzaaP19/18AVktR43bpw紅外一體化接收頭的測試可以利用圖4所示的電路進行,在HS0038的電源端與信號輸出端之間接上一只二極管及一只發光二極管后,再配上規定的工作
12、電源<為+5V),當手拿遙控器對著接收頭按任意鍵時,發光二極管會閃爍,說明紅外接收頭和遙控器工作都正常;如果發光二極管不閃爍發光,說明紅外接收頭和遙控器至少有一個損壞。只要確保遙控器工作正常,很容易判斷紅外接收頭的優劣。ORjBnOwcEdInputBurstwflVFForm一TNICarrierfrequency:37.9kHzIMi6Q0us600uSOutputpulse-i*LTpwij_Tjjwh紅外管發出波形和HS0038信號輸出原理紅外接收部分是通過測量HS0038接收到的紅外線,然后所產生的正脈寬時間進行信號接收。當測到第一個正脈寬在4.5-7.0ms時,開始準備計數,
13、然后檢測16次正脈寬的大小值。當接收的正脈寬時間是1.7-2.1ms時,計0;當接收的正脈寬時間是2.1-2.5ms時,計1;得到16位二進制數,在液晶上顯示。2MiJTy0dTT第四章電路圖及軟件設計<見附錄)4.1整體電路圖U13,MCU535IKMCLI:£>VCC1QK*R5-J血aI311DS18B2OONDHH-rC4匸Yi30pF"JSmNZ;PIOIFII2P1I3P11H.5_6¥1門P78E5T?PIP1MHHE12PJJ13陽414N6lfi18,2_ioU】5TC8SC52PI.0TO:PllpmP12POlP13PD2P14P
14、03P15PO4P16P05Pl7PO6RESETPO?P30EAPlALEP32FEHP33叨PHPMP35P25P36P24PJ7P23ZTAL1P22XTAL2P21TOP20vcc35HO30Ptl3?M236M335P®434盹33m32B73130129VC28PITVn&26Fli25R-l24Pll23ns22R121P2DGNDP12P】口dFdTD3ETD5D6dtVCC|-1OKJ2O.iuF仆GNDS05Q紗卜發刪分40VCC液晶顯示電路第五章測量方法及儀器將測得的溫度和濕度數據與家用溫濕表對比,調整參數,得到粗略數據,然后進實驗室進行更為精確的測試。
15、第六章測量數據及測試結果分析在常溫下測試的數據與普通的溫度計對比,溫度相差應小于一度。濕度傳感器由于過于靈敏,需要在實驗室做進一步調試。gliSpiue7A第七章設計總結本設計能夠比較準確的走時,并能夠通過硬件對時鐘進行時間調整。功能介紹:達到測試溫度范圍-55125攝氏度,濕度范圍1%99%,采用紅外發射與接收,距離大于5m,采用1602液晶顯示。制作心得:在這次課程設計的調試過程中,我遇到很多問題,如:在查找資料的過程中學到了許多,同時在協作過程中增進同學間的友誼。參考文獻vReferenceS:1 郭天祥.51單片機C語言教程清電子工業出版社.20082 童詩白華成英.模擬電子技術基礎.
16、高等教育出版社.20063 邱玉娟.運用KEILC分析HS1101濕度傳感器F-RH轉換算法.江陰職業技術學院.2008uEh0U1Yfmh附錄<程序設計)/*IAg9qLsgBX紅外接收部分是通過測量HS0038接收到的紅外線,然后所產生的正脈寬時間進行信號接收。當測到第一個正脈寬在4.5-7.0ms時,開始準備計數,然后檢測16次正脈寬的大小值。當接收的正脈寬時間是1.7-2.1ms時,計0;當接收的正脈寬時間是2.1-2.5ms時,計1;得到16位二進制數,在液晶上顯示。紅外發部分包溫濕度米集和紅外發射功能,紅外發射的信號為38KHz,正脈寬時間接收端。*/WwghWvVhPE紅外
17、接收和溫度顯示<11.0592MHz)#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongsbitlcdrs=P3A7osbitIcden=P3A6。sbitreceive=P3A2。/紅外接收口ulongnum,num1,num2,num11,。voiddelay(uintz>uintx,y。for(x=z。x>0ox->for(y=10。y>0oy->。voidwrite_com(ucharcom>寫1602地址_l
18、cdrs=0oIcden=0。P2=com。delay(5。Icden=1。delay(5。Icden=0。voidwrite_date(uchardate/寫1602數據_lcdrs=1。Icden=0。P2=date)delay(5。Icden=1。delay(5。Icden=0。voidwriteString(uchar*str,ucharlength/寫一個數組uchar。for(i=0。ilength。i+write_date(stri。_voiddisplay_tempzheng(ucharadd,uinttemp/顯示正溫度unsignedcharcountunsignedcha
19、rdatas=0,0,0,0,0。datas0=temp/10000datas1=temp%10000/1000datas2=temp%1000/100datas3=temp%100/10datas4=temp%10write_com(0x80+add。writeString("+",2。if(datas0!=0write_date(0x30+datas0。for(count=1。count!=5。count+write_date(0x30+datascount。if(count=2write_date('.'。write_date(0x63。write_d
20、ate(OxDF。一voiddisplay_tempfu(ucharadd,uinttemp/顯示負溫度_unsignedcharcountunsignedchardatas=0,0,0,0,0。datas0=temp/10000datas1=temp%10000/1000datas2=temp%1000/100datas3=temp%100/10datas4=temp%10write_com(0x80+add。writeString("-",2。if(datas0!=0write_date(0x30+datas0。_for(count=1。count!=5。count+w
21、rite_date(0x30+datascount。if(count=2write_date('.'。_write_date(0x63。write_date(OxDF。一asfpsfpi4kvoiddisplay_huminity(ucharadd,uinthaminity/顯示濕度_unsignedcharcountunsignedchardatas=0,0,0,0,0。datas0=haminity/10000。datas1=haminity%10000/1000bdatas2=haminity%1000/100。datas3=haminity%100/10。datas4=
22、haminity%10。write_com(0x80+0x40+add。if(datas0!=0write_date(0x30+datas0。for(count=1。count!=5。count+write_date(0x30+datascount。if(count=2write_date('.'。writeString("%",2。voidinit(/初始化函數lcdrs=0。lcden=0。write_com(0x38。write_com(0x0c。write_com(0x06。write_com(0x01。EA=1。TMOD=0x01。TH0=(655
23、35-9206/256。TL0=(65535-9206%256。ET0=1。TR0=0。writeString("temp:",7。write_com(0x80+0x40。writeString("rh:",6。voidmain(uchari。init(。while(1TH0=0。TL0=0。TR0=0。while(receive=1。while(receive=0。TR0=1。while(receive。TRO=O。num仁TH0*256+TL0。num11=num1*1085/1000。if(num11<4500|num11>7000&g
24、t;continue/如果在4.5-7ms內,開始接收數據ooeyYZTjjldelay(4>。for(i=0oi<16。i+>TH0=0oTL0=0oTR0=0。while(receive=0>。TR0=1owhile(receive>。TR0=0。t=TH0*256+TL0。t=t*1085/1000。if(t>2500|t<1700>i=i-1。continuq是否開始接收第i位數據num=num>>1。if(t>1700&&t<2100>num=num|0x0000。if(t>2100&
25、amp;&t<2500>num=num|0x8000。if(num>=0&&num<10000>display_huminity(9,num>。顯示濕度BkeGuInkxIif(num>=10000&&num<=22500>display_tempzheng(7,num-10000>。/顯示正溫度PgdO0sRlMoif(num>22500&&num<=28000>display_tempfu(7,num-22500>。/顯示負溫度3cdXwckm15vo
26、idtime0(>interrupt1TH0=(65535-9206>/256。TL0=(65535-9206>%256。/溫濕度采集&&發送(24MHz晶振)#include<reg52.H>#include<intrins.H>#include<math.H>#defineucharunsignedchar#defineuintunsignedintsbitsend=P3A0紅外發送口sbitRS=P3A7。sbitLCDEN=卩3八6。uintflag,F1。inttemp。voiddelay(uintz>uin
27、tx,y。for(x=z。x>0。x->for(y=47。y>0。y->。voidsend_num(uintnum>發送數據uchari。uintnuml。num=num*2。TR0=1。delay(6>。TR0=0。delay(30>。4.5-7.0ms開始發送數據for(i=0oi<16。i+>TR0=1onum仁num>>i。num仁num1&0x01。delay(3>oTR0=0oif(num1=0x00>delay(10>。1.7ms-2.1msif(num仁=0x01>delay(12
28、>。2.1ms-2.5ms發送16位數據voiddelayUs(>_nop_(>。voiddelayMs(uinta>uinti,j。for(i=a。i>0。i->for(j=100。j>0。j->。voidwriteComm(ucharcomm>寫1602地址RS=0。P2=commoLCDEN=1odelayUs(>。LCDEN=0odelayMs(2>。voidwriteData(uchardat>寫1602數據RS=1oP2=datLCDEN=1odelayUs(>oLCDEN=0odelayMs(2>
29、ovoidwriteString(uchar*str,ucharlength>寫一個數組uchari。for(i=0oi<length。i+>writeData(stri>。sbitds=P3A1ovoiddslnit(>/DS18B20復位,初始化函數unsignedintiods=0。i=100owhile(i>0>i-。ds=1oi=4owhile(i>0>i-。voiddsWait(>unsignedinti。while(ds>owhile(ds>。i=4owhile(i>0>i-。bitreadBit
30、(>/讀一位數據函數unsignedinti。bitb。ds=0。i+。ds=1。i+。i+。b=ds。i=8。while(i>0>i-。returnb。unsignedcharreadByte(>/讀一個字節數據函數unsignedinti。unsignedcharj,datdat=0。for(i=0。i<8。i+>j=readBit(>。dat=(j<<7>|(dat>>1>。returndat。h8c52WOngMvoidwriteByte(unsignedchardat>向DS18B20寫一個字節數據函
31、數unsignedinti。unsignedchar。bitb。for(j=0oj<8。j+>b=dat&0x01odat>>=1oif(b>ds=Qi+。i+。ds=1。i=8owhile(i>0>i-。elseds=Qi=8owhile(i>0>i-。ds=1。i+oi+。voidsendChangeCmd(dsInit(。/DS18B20復位,初始化函數dsWait(。delayMs(1。/延時writeByte(0xcc。/寫跳過讀ROM指令writeByte(0x44。/寫溫度轉換指令voidsendReadCmd(dsl
32、nit(。dsWait(。delayMs(1。writeByte(0xcc。writeByte(0xbe。/讀溫度intgetTmpValue(unsignedinttmpvaluaintvalue。floattounsignedcharlow,high。sendReadCmd(low=readByte(。/讀低八位high=readByte(。讀高八位tmpvalue=high。tmpvalue=8。tmpvalue|=low。/兩個字節組合為一個字value=tmpvalue。t=value*0.0625。value=t*100+(value0?0.5:-0.5。大于0加0.5,小于0減0
33、.5v4bdyGiousreturnvalueovoiddisplay(intv/顯示溫度unsignedcharcountunsignedchardatas=0,0,0,0,0。unsignedinttmp=abs(v。datas0=tmp/10000=datas1=tmp%10000/1000datas2=tmp%1000/10Qdatas3=tmp%100/1(。datas4=tmp%10bif(v0writeString("-",2。elsewriteString("+",2。if(datas0!=0writeData(0x30+datas0。f
34、or(count=1。count!=5。count+writeData(0x30+datascount。if(count=2writeData('.'。writeData(0x63。writeData(0xDF。voidinit(/初始化程序TMOD=0x11。TCON=0x01。EA=1。EX0=0。ET0=1。ET1=1。TH0=(65535-20/256。TL0=(65535-20%256。TR0=0。TR1=0。sendChangeCmd(writeComm(0x38。writeComm(0x0c。writeComm(0x06。writeComm(0x01。writeComm(0x80。writeComm(0x80+0x40。writeString("rh:",6>。writeComm(0x80>。writeString("temp:",6>。voiddisplay_temp(>得至U溫度值temp_delayMs(1500>。/溫度轉換時間需要750ms以上writeComm(0x80+7>。temp=getTmpValue(>。display(temp>。sendChangeCmd(>voiddisplay_F1(&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業機器人研發與生產分包合同
- 機械工程材料力學專項訓練題
- 外語課堂交互模式的評估與反饋機制探討
- 線下品牌商品特許經營合同
- 小學生綜合素質的培養
- 低空空域安全與應急管理
- DB14-T 3381-2025 藥用酸棗栽培技術規程
- 建筑垃圾減量化行業標準化管理機制的構建
- 印刷業數字化人才培養與技術支持體系構建
- 媒體廣告發布與投放合同書
- GB/T 19023-2025質量管理體系成文信息指南
- 電工期末復習試題含答案
- NB/T 11637-2024煤礦瓦斯抽采系統管理規范
- 2025年北京西城區九年級中考二模英語試卷試題(含答案詳解)
- 2025年金融科技應用考試試題及答案
- T/CECS 10378-2024建筑用輻射致冷涂料
- 2025年全球科技:中國無人駕駛出租車市場:商業化之路研究報告(英文版)-高盛
- 2025南京租房合同協議范本下載
- 農業光伏電站項目投資估算
- 護理實習入科教育
- 高考前2天校長在出征儀式生動員講話與在座的大家分享了3顆心
評論
0/150
提交評論