基于單片機(jī)智能防丟器設(shè)計_第1頁
基于單片機(jī)智能防丟器設(shè)計_第2頁
基于單片機(jī)智能防丟器設(shè)計_第3頁
基于單片機(jī)智能防丟器設(shè)計_第4頁
基于單片機(jī)智能防丟器設(shè)計_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

龍巖學(xué)院畢業(yè)設(shè)計題目: 基于單片機(jī)智能防丟器設(shè)計 專業(yè): 電子信息工程 學(xué)號: 2014041826 作者: 王偉中 指導(dǎo)教師(職稱): 湯永清 副教授 二零一六年五月 基于單片機(jī)智能防丟器設(shè)計0基于單片機(jī)智能防丟器設(shè)計 【摘要】防丟器與人們現(xiàn)實生活息息相關(guān),也逐漸受到大家的重視。本文設(shè)計了智能防丟器。電路部分主要由STC89C52單片機(jī)、 GPS定位模塊、無線發(fā)送接收模塊、顯示模塊,按鍵模塊以及聲光、震動報警模塊組成。通過STC89C52單片機(jī)對母機(jī)或者子機(jī)接收的信息進(jìn)行處理,能隨時更新母機(jī)、子機(jī)的信息,并在主控芯片上加入按鍵模塊,可以調(diào)節(jié)人們設(shè)定的安全距離。實驗表明,基本滿足設(shè)計要求?!娟P(guān)鍵字】STC89C52,無線通信,報警,GPSIntelligent Anti-Lost Design【Abstract】The issue of anti-lost design is closely related to modern people lives. Intelligent anti-lost is designed. Circuit unit includes STC89C52 MCU control module, GPS positioning module, Wireless transceiver module, display module, Key Module and sound and light vibration module. By STC89C52 microcontroller processing information from mother- unit or sub-unit received, information from mother-unit and sub-unit can update timely. By adding key modules on the mother unit, safety distance can be adjusted. The result is shown that the design meet to requirements.【Keywords】STC89C51, Wireless communication, Alarm, GPS目錄第1章 緒論11.1課題的背景與意義11.2國內(nèi)近年來的研究成果11.3預(yù)期結(jié)果1第2章 設(shè)計思路以及方案的論證22.1智能防丟器的設(shè)計要求和擴(kuò)展功能22.1.1設(shè)計要求:22.1.2擴(kuò)展功能22.2設(shè)計思路的確立22.方案的認(rèn)證42.4 模塊設(shè)計42.4.1主控芯片方案42.4.2無線通信模塊方案5第3章 硬件電路設(shè)計63.1 STC89C52單片機(jī)主控模塊設(shè)計63.2無線模塊設(shè)計63.2.1管腳定義:73.2.2注意事項73.3 GPS模塊設(shè)計83.3.1原理圖如圖3-3所示83.3.2 UBLOX芯片83.3.3 我們對此GPS定位模塊引腳83.4 OLED顯示模塊93.5聲光報警模塊設(shè)計93.6震動報警模塊設(shè)計10第4 章 軟件系統(tǒng)設(shè)計114.1開發(fā)環(huán)境的選擇114.1.1 編程語言的選擇114.1.2開發(fā)平臺的簡介114.2系統(tǒng)模塊流程圖124.3程序編寫124.3.1 子機(jī)發(fā)送程序134.3.2 母機(jī)接收程序14第5章 系統(tǒng)的調(diào)試及實驗結(jié)果155.1整個設(shè)計工作流程155.2 實驗測試155.2.1 無線傳輸距離的測試155.2.2 GPS定位系統(tǒng)精度的測試155.3調(diào)試分析155.4設(shè)計過程中遇到的問題。175.5實驗結(jié)果(實物圖)19第6章 總結(jié)與展望206.1 全文的總結(jié)工作206.2智能防丟器的展望20致謝語21參考文獻(xiàn)22附錄23附錄1:電路原理圖23附錄2:元器件列表23附錄3:發(fā)送模塊程序24第1章 緒論1.1課題的背景與意義 隨著科技發(fā)展了,社會進(jìn)步了,人們的生活節(jié)奏也越來越快了,正是因為這種快節(jié)奏的生活方式,各種各樣的因素以及競爭壓力,導(dǎo)致人們經(jīng)常處于一種緊張的狀態(tài),很多人就開始變得丟三落四,手機(jī)和衣服之類的經(jīng)常遺忘在某個角落,最關(guān)鍵的是經(jīng)常會把孩子丟失,稍不留意孩子就跑丟了。你走在公交路上,錢包和手機(jī)經(jīng)常會不小心從口袋里滑落;在等車等船時,一不留神,小偷就會偷走你的包,如果小孩走丟,那就更焦急,所以為了防止這類事情的發(fā)生,智能防丟器就應(yīng)運而生了,而且很方便、很實用。 防丟器由于體積小、性能高、方便攜帶,把它放在錢包,孩子以及一些貴重的東西上面可以起到防丟的作用。我們可以任意調(diào)節(jié)防丟器檢測的范圍,還以定位防丟器的位置,超出范圍可以報警,功耗低,無污染。比較方便,操作難度不大,如果防丟器接上功放還可以當(dāng)收音機(jī),不僅可以防丟防,還可以供娛樂使用,老少皆宜,市場發(fā)展前景比較好。所以,這次我們對防丟器進(jìn)行更深一步的研究。1.2國內(nèi)近年來的研究成果 隨著防丟器融入我們的生活,國內(nèi)外越來越多的人對它進(jìn)行了研究,它展現(xiàn)出來的性能越來越高,功能越來越強(qiáng)大。 2000年,張朝輝設(shè)計了這樣一款防丟器,它產(chǎn)生的報警方式跟別人不一樣,采用的是聲光報警,當(dāng)母機(jī)和子機(jī)超過設(shè)定的范圍的時候就會報警。 2010年,劉密哥、王路設(shè)計了一款不僅有防丟功能,而且還具有查找功能的防丟器. 2014年,郭明明開發(fā)了一種有別于以前的防丟器,它采用的是藍(lán)牙通訊方式,可以雙向傳播信號,除了聲光報警之外還加上了其它的報警方式。 本次設(shè)計的防丟器的創(chuàng)新點在于采用GPS模塊定位進(jìn)行母機(jī)和子機(jī)的測距,并且選用OLED屏進(jìn)行顯示,比較直觀明了,在此基礎(chǔ)上還加了按鍵模塊,可以調(diào)節(jié)安全距離,這增加了設(shè)計的實用性。1.3設(shè)計任務(wù)的分析 本次設(shè)計由兩個部分組成分別是硬件部分和軟件部分。硬件電路部分主要由STC89C52單片機(jī)、 通過GPS定位模塊結(jié)合無線發(fā)送接收模塊完成一個具體定位信息的傳輸?shù)乃枷耄偻ㄟ^顯示模塊顯示出具體的位置,同時在硬件電路中設(shè)置按鍵模塊以及聲光、震動報警模塊,完成一個合理的報警系統(tǒng),通過STC89C52單片機(jī)對母機(jī)或者子機(jī)接收的信息進(jìn)行處理,能隨時更新母機(jī)、子機(jī)的信息,并在主控芯片上加入按鍵模塊,可以調(diào)節(jié)人們設(shè)定的安全距離。1.4預(yù)期結(jié)果 設(shè)定安全報警距離為10米,在主機(jī)的顯示屏上顯示母機(jī)和子機(jī)的定位信息,當(dāng)母機(jī)和子機(jī)超出安全距離或者接收不到無線信號時,報警電路工作。硬件電路的主要是STC89C52單片機(jī)和 GPS定位模塊和無線發(fā)送接收模塊和OLED屏顯示模塊。第2章 設(shè)計思路以及方案的論證 2.1智能防丟器的設(shè)計要求和擴(kuò)展功能 2.1.1設(shè)計要求: 1.采用單片機(jī)作為主控芯片,我們可以用它來處理數(shù)據(jù)以及報警。要制作出無線發(fā)送和接收裝置各一個,分別叫做母機(jī)和子機(jī),在正常情況下不報警。但是當(dāng)母機(jī)和子機(jī)超出一定范圍時,就說明有東西丟失了,產(chǎn)生報警。 2.調(diào)頻和調(diào)幅方式自選。 3.采用超外差方式接收。 4.作用距離為10m。 5.發(fā)射功率不大于10mW。 2.1.2擴(kuò)展功能1.要做兩個裝備,一個發(fā)送,一個接收,配套使用,只能相互識別彼此。2.采用3V扣電池。 3.報警距離可調(diào)。 4.實現(xiàn)論證并實現(xiàn)低功耗方案,要求方案合理可行(例如采用間歇工作方式,就需要提出有效的同步措施和握手規(guī)范等)。2.2設(shè)計思路的確立 按照它的具體要求,可以把本次設(shè)計分為兩個部分:母機(jī)模塊和子機(jī)模塊。 母機(jī)模塊主要包括:STC89C52單片機(jī)控制模塊、GPS定位模塊、無線發(fā)送接收模塊、OLED顯示模塊以及聲光、震動報警模塊和按鍵模塊,如圖2-1所示。圖2-1 母機(jī)模塊示意圖 子機(jī)模塊主要包括:STC89C52單片機(jī)控制模塊、GPS定位模塊、無線發(fā)送接收模塊、OLED顯示模塊以及聲光、按鍵模塊和燈光提示模塊。圖2-2 子機(jī)模塊示意圖 因此,設(shè)計方案如下:硬件電路的主要是STC89C52單片機(jī)和 GPS定位模塊和無線發(fā)送接收模塊和OLED屏顯示模塊,按鍵模塊以及聲光、震動報警模塊。該防丟器運用GPS模塊獲取定位信息,并在OLED屏上顯示出母機(jī)和子機(jī)的位置。當(dāng)超出安全距離或者接收不到無線信號時,母機(jī)和子機(jī)不能進(jìn)行正常信號傳輸,通過STC89C52單片機(jī)對母機(jī)或者子機(jī)接收的信息進(jìn)行處理,能具體隨時更新母機(jī)、子機(jī)的信息,并在主控芯片上加入按鍵模塊,可以調(diào)節(jié)設(shè)定的安全距離,當(dāng)超出這個范圍時,就會實現(xiàn)聲光報警和震動報警,以完成信號不能正常傳輸就報警的任務(wù)。2.方案的認(rèn)證 根據(jù)上面的設(shè)計思路,要想完成這個智能防丟器的設(shè)計,首先要畫出整個電路的原理圖。由于電路不是特別復(fù)雜,可以通過焊接電路板的方法,就不需要制作PCB板子了,這樣不僅增加了成本,也會加大本次設(shè)計的難度。 下面就是整個系統(tǒng)設(shè)計的原理圖,因為母機(jī)和子機(jī)的模塊相同,因此圖2-3這個原理圖既是母機(jī)的原理圖也是子機(jī)的原理圖。圖2-3防丟器整體原理圖 這個原理圖將直接引導(dǎo)下面在硬件電路中具體地連接元器件和單片機(jī)引腳相連。2.4 模塊設(shè)計 2.4.1主控芯片方案 方案一:采用STC89C52單片機(jī)實現(xiàn)功能。此款51單片機(jī)具有安全性能高、運行速度比較快、處理功能強(qiáng)、功耗和成本低等優(yōu)點。同時,STC89C52單片機(jī)易于開發(fā),應(yīng)用領(lǐng)域廣等特點。 方案二:采用STM32VET6這款A(yù)RM芯片,它可以配備一流的外設(shè),具有低功耗,最大的集成度等特點,引腳多,能夠?qū)崿F(xiàn)更多全面的功能,性能強(qiáng)大。 綜合考慮:本次設(shè)計選擇STC89C52單片機(jī)作為本系統(tǒng)的微控制單元。理由:雖然STM32VET6這款A(yù)RM芯片功能強(qiáng)大,但是它相對于51單片機(jī)而言首先成本較高,還有就是操作難度較大,里面寄存器配置相當(dāng)繁瑣,在本次設(shè)計中,STC89C52這款51單片機(jī)完全可以實現(xiàn)了,不需要選擇操作難度更大的ARM芯片,這樣會降低我們本次設(shè)計的難度。 2.4.2無線通信模塊方案 方案一:nrf2401無線收發(fā)模塊。 根據(jù)平常的使用的經(jīng)驗來看,2401的缺點是發(fā)送玩每幀數(shù)據(jù)后沒有標(biāo)志位,必須要自己估算延時時間。如果需要高速的話,就不要選擇2401了,速度跟不上。 在本次設(shè)計中假如選用此模塊測距的話,因為無線電傳輸速度非???,根據(jù)測量時間來算出母機(jī)和子機(jī)的距離的話,由于單片機(jī)的局限性,測量精度沒有那么高,所以會導(dǎo)致測量距離誤差較大。 方案二:XL4463無線收發(fā)模塊。 選用這個模塊結(jié)合GPS定位系統(tǒng),無線模塊可以將定位信息相互傳給母機(jī)和子機(jī),通過兩個位置定位可以算出距離,定位精度相對較高,方案可行。綜合考慮:選擇XL4463無線收發(fā)模塊。第3章 硬件電路設(shè)計3.1 STC89C52單片機(jī)主控模塊設(shè)計 STC89C52RC單片機(jī)是一種高速、低功耗、有著超強(qiáng)抗干擾的單片機(jī),其主要特性有:1. 該單片機(jī)兼容之前所有的51單片機(jī),屬于增強(qiáng)版的。2. 由于工作電壓不同分成5V單片機(jī)和3V單片機(jī),5V單片機(jī)的工作電壓在5.5V3.3V之間,3V單片機(jī)的工作電壓在3.82.0V;3. 32個通用I/O口,進(jìn)行復(fù)位后為:P1/P2/P3是準(zhǔn)雙向口/弱上拉;4. 可在線編程(ISP)/在應(yīng)用可編程(IAP),不用編程器或仿真器,可以用串口(RXD/P3.0,TXD/P3.1)下載程序;5. 有3個16位定時器/計數(shù)器。包括定時器T0、T1、T2;為-40+85,商業(yè)級的工作溫度范圍為075;6. 該芯片的封裝為PDIP封裝。 引腳圖如圖3-1所示:圖3-1 單片機(jī)主控芯片圖3.2無線模塊設(shè)計 圖3-2是本系統(tǒng)用到的無線模塊的原理圖:圖3-2 無線模塊原理圖3.2.1管腳定義: 1.GPIO1 (本設(shè)計沒用到) 2.GPIO0(用于內(nèi)部接收開關(guān)使能控制本設(shè)計沒用到) 3.VDD 電源 3.3V 4.GPIO2 通用數(shù)字 IO 口通過 SPI 寄存器配置完成多種功能,包括單片機(jī)時鐘輸,FIFO狀態(tài),POR等 5.SDO 采用SPI通信進(jìn)行數(shù)據(jù)輸出 6.GND 電源地7.SCLK 數(shù)據(jù)時鐘線8.SDI采用SPI通信進(jìn)行數(shù)據(jù)輸入 9.NIRQ 中斷狀態(tài)輸出 10.NSEL使能引腳 11.SDN 除關(guān)閉模式外 SDN=0,當(dāng) SDN=1 芯片將完全關(guān)閉,寄存器所用數(shù)據(jù)將丟失 12.GND 電源地3.2.2注意事項 (1)無線模塊對于靜電感應(yīng)比較強(qiáng),所以要對靜電進(jìn)行保護(hù)。使用它的時候不要用手直接接觸,不然會對它造成損壞。(2)無線模塊推薦的直流電源,工作電壓建議在 3.3V 工作。(3) 接口可直接和 3.3V 單片機(jī)端口連接,無需串隔離電阻,如單片機(jī)為 5V 時,和模塊連接,需要串聯(lián)3K左右的電阻,防止損壞接口。是否接上拉電阻視單片機(jī)端口類型而定,如果是開漏型端口就需要加上拉電阻。用硬件 SPI 控制模塊的話, SPI 速率不要超過 10M, 如沒硬件 SPI 也可用 IO 口模擬 SPI 的時序進(jìn)行控制。在多信道同時工作情況下,每個信道間隔最好大于 1MHZ,否則容易產(chǎn)生干擾。 在本設(shè)計中,使用XL4463無線收發(fā)模塊進(jìn)行數(shù)據(jù)的傳輸,傳輸GPS模塊定位到的位置。3.3 GPS模塊設(shè)計 3.3.1原理圖如圖3-3所示圖3-3 GPS模塊原理圖 3.3.2 UBLOX芯片 特性參數(shù): 1 模塊采用U-BLOX NEO-6M模組,體積小巧,性能優(yōu)異。 2,模塊加上了放大電路,天線接收速率加快。 3, 模塊可通過串口進(jìn)行各種參數(shù)設(shè)置,并可保存在EEPROM,使用方便。 4,模塊有SMA接口,可以和很多天線配對。 5,模塊兼容3.3V/5V電平,方便連接各種單片機(jī)系統(tǒng)。 3.3.3 GPS定位模塊引腳 1.VCC 電源( 3.3V5.0V) 2. GND 地 3.TXD 模塊串口發(fā)送腳( TTL電平,不能直接接RS232電平),可接單片機(jī)的RXD。 4. RXD模塊串口接收腳( TTL電平,不能直接接RS232電平),可接單片機(jī)的TXD 5.PPS模塊表示脈沖輸出(本設(shè)計沒有用到) 在本次設(shè)計中,主要用這個GPS模塊獲取定位信息,算出母機(jī)和子機(jī)的距離。3.4 OLED顯示模塊 圖3-4是本系統(tǒng)選用的OLED模塊電路圖圖3-4 OLED顯示模塊原理圖 VCC是接電源,GND是接地端,SCL是時鐘端,SDA代表傳輸數(shù)據(jù)端,在時鐘和數(shù)據(jù)引腳上都要接上一個1K的上拉電阻,保證電路的順利工作。 在本次設(shè)計中,使用OLED顯示屏來顯示GPS的定位位置,并且顯示通過按鍵設(shè)置的安全距離。3.5聲光報警模塊設(shè)計圖3-5 聲光報警模塊原理圖 如圖3-5所示,在聲光報警模塊中,當(dāng)超過安全距離的時候,P1.1引腳接單片機(jī)低電平,蜂鳴器就會響,聲響報警模塊就會工作,實現(xiàn)聲響報警功能。 此時P1.0也設(shè)置為高電平,報警閃爍燈開始工作。3.6震動報警模塊設(shè)計圖3-6 震動報警模塊原理圖 由圖3-6可知震動報警電路主要由兩個電阻,一個電機(jī),一個NPN型三極管和偏心塊組成??烧{(diào)偏心塊安裝在電機(jī)轉(zhuǎn)子軸的兩側(cè),當(dāng)電機(jī)旋轉(zhuǎn)時,偏心塊就會產(chǎn)生激振力,當(dāng)轉(zhuǎn)子的平衡超出設(shè)定的范圍時,電機(jī)就會震動。 當(dāng)連接單片機(jī)的P1.2置低電平的時候,電路導(dǎo)通,震動電機(jī)工作,就會震動報警。第4 章 軟件系統(tǒng)設(shè)計4.1開發(fā)環(huán)境的選擇4.1.1 編程語言的選擇 本次設(shè)計利用C語言進(jìn)行編程,用C語言編寫的程序易于移植、便于調(diào)試、可讀性好。而不選用匯編語言的原因是其開發(fā)過程非常復(fù)雜,而且可讀性較差。4.2系統(tǒng)模塊流程圖首先給母機(jī)和子機(jī)同時上電,母機(jī)和子機(jī)獲取GPS定位信息后,通過無線模塊數(shù)據(jù)傳輸在分別母機(jī)的OLED屏上顯示出兩個模塊的定位,計算實際距離,再通過按鍵調(diào)節(jié)兩個模塊的距離,判斷出是否超出安全距離,如果是就會產(chǎn)生報警,否則循環(huán)。圖4-2所示的就是整個智能防丟器系統(tǒng)模塊流程圖。圖4-2 系統(tǒng)模塊流程圖4.3程序編寫 主要把程序分為子機(jī)的發(fā)送程序和母機(jī)的接收程序。其中發(fā)送程序和接收程序都是由主函數(shù)模塊、GPS模塊、無線通信模塊和OLED模塊組成。4.3.1 子機(jī)發(fā)送程序 起初兩個模塊的GPS初始化,然后把子機(jī)的定位發(fā)送到母機(jī),如果發(fā)送成功,可以在母機(jī)的OLED屏上顯示出子機(jī)的定位,如果接收不到信息,就產(chǎn)生報警,并且重復(fù)發(fā)送,直到發(fā)送成功位置。如圖4-3所示。圖4-3子機(jī)發(fā)送程序流程圖4.3.2 母機(jī)接收程序 把母機(jī)和子機(jī)初始化,然后檢測是否母機(jī)接收子機(jī)的定位信息接收成功,如果接收成功了,再把兩個定位信息全部顯示在OLED屏上,并且設(shè)計安全距離,假如超出了這個距離,就會產(chǎn)生報警。如圖4-4所示。圖4-4母機(jī)接收程序流程圖 第5章 系統(tǒng)的調(diào)試及實驗結(jié)果5.1整個設(shè)計工作流程首先構(gòu)思下整個設(shè)計該怎么實現(xiàn),然后規(guī)劃該買哪些元器件,在購買完元器件后,先把單片機(jī)的最小單元焊接好,然后開始焊接外接電路,報警系統(tǒng),GPS模塊,無線通信模塊,OLED模塊以及按鍵模塊,需要注意的是每焊接完一個模塊要檢查一下這個模塊電路的正確性,不然到最后硬件部分搭完,調(diào)試出現(xiàn)了問題,到時候開始排查問題的時候就很麻煩。硬件全部搞定之后,再開始進(jìn)行軟件的調(diào)試,軟件程序部分要分模塊開始寫。5.2 實驗測試5.2.1 無線傳輸距離的測試 把母機(jī)和子機(jī)兩個模塊分別供上電,一個人拿著子機(jī)模塊站在原地,另一個拿著母機(jī)模塊往遠(yuǎn)處走,觀察母機(jī)的狀況。 實驗結(jié)果分析:當(dāng)兩個模塊相距450米左右的時候,母機(jī)就接收不到子機(jī)無線傳輸?shù)亩ㄎ恍畔ⅲ瑫a(chǎn)生報警。 因此,得出結(jié)論:無線傳輸?shù)淖畲缶嚯x為450米,設(shè)定安全報警距離的時候不要超過450米。5.2.2 GPS定位系統(tǒng)精度的測試 拿著一個定位系統(tǒng)模塊,初始化定位系統(tǒng),得到定位信息,記錄下來,然后開始往一個方向走,當(dāng)OLED屏上的數(shù)值變化1秒時,我們再標(biāo)記一下當(dāng)前的位置,測量當(dāng)前位置和初始位置的距離,這就是定位系統(tǒng)模塊所能測到的最小距離,也就是精度。 實驗結(jié)果分析:經(jīng)過反復(fù)測量,GPS每變化1秒,就走出了30米。 實驗結(jié)論:該GPS的定位精度為30米,我們通過這個GPS測量距離不能達(dá)到預(yù)期結(jié)果那樣10米的精度。5.3調(diào)試分析本設(shè)計中主機(jī)和從機(jī)上都有一個GPS,通過無線模塊把從機(jī)上的GPS傳到主機(jī)上。根據(jù)兩個GPS的位置,按照公式可以計算主機(jī)和從機(jī)的距離,但是由于GPS的定位精度和分辨率可能會影響實際值的真正結(jié)果,通過網(wǎng)上搜尋資料和結(jié)合地理知識,在主從設(shè)備GPS量一致的情況下采用了兩個不同的公式計算出主從設(shè)備的實際距離,列出表格,比較前后的數(shù)據(jù),選取較小誤差的公式作為實際距離的最佳公式。公式1:實際距離= 這個公式講的是求出主機(jī)和從機(jī)的精度做差值,然后緯度也做差值,然后用勾股定理求出兩點的實際距離。公式2: a1 = (RxBuf0 * 10)+RxBuf1) * 600;/經(jīng)度的度轉(zhuǎn)換 b1 = (RxBuf2 * 10)+RxBuf3) * 60;/經(jīng)度的分轉(zhuǎn)換 c1 = (RxBuf4 * 10)+RxBuf5) + a1 + b1)/600;/經(jīng)度轉(zhuǎn)換成十進(jìn)制 A1 = (RxBuf7*100)+(RxBuf8 * 10)+(RxBuf9) * 600; B1 = (RxBuf10 * 10)+RxBuf11) * 60; C1 = (RxBuf12 * 10)+RxBuf13) + A1 + B1)/600; /*主機(jī)的經(jīng)度和緯度*/ a2 = (Display_GPGGA_Buffer17 * 10)+(Display_GPGGA_Buffer18) * 600; b2 = (Display_GPGGA_Buffer19 * 10)+Display_GPGGA_Buffer20) * 60; c2 = (Display_GPGGA_Buffer21 * 10)+(Display_GPGGA_Buffer22) + a1 + b1)/600; A2 = (Display_GPGGA_Buffer30*100)+(Display_GPGGA_Buffer31 *10)+(Display_GPGGA_Buffer32) * 600; B2 = (Display_GPGGA_Buffer33 * 10)+Display_GPGGA_Buffer34) * 60; C2 = (Display_GPGGA_Buffer35 * 10)+Display_GPGGA_Buffer36) + A1 + B1)/600; 實際距離= (int)(111.12*(float)cos(1/(float)(float)sin(C1)*(float)sin(C2) + (float)cos(C1)*(float)cos(C2)*(float)cos(C2-C1);分別選取兩組數(shù)據(jù)來比較這兩個公式算出來的主機(jī)和從機(jī)的距離跟實際值的誤差。第一組數(shù)據(jù): 當(dāng)主機(jī)經(jīng)度為121.76,緯度為31.05 從機(jī)精度為121.77,緯度為31.05時,我們測出主機(jī)和從機(jī)實際距離為35米。計算出主從機(jī)間的距離誤差公式187米52米公式231米4米表1第二組數(shù)據(jù):當(dāng)主機(jī)經(jīng)度為121.70,緯度為31.19 從機(jī)精度為121.70,緯度為31.16時,測出主機(jī)和從機(jī)實際距離為73米。計算出主從機(jī)間的距離誤差公式1599米526米公式265米8米表二通過兩組數(shù)據(jù)的對比,可以明顯的看出公式2比較精確,因此,在測量主機(jī)和從機(jī)之間的距離的時候,采用公式2來計算。5.4設(shè)計過程中遇到的問題。 問題1:如圖5-1所示,在做震動報警電路的時候,當(dāng)P1.2連接單片機(jī)時,給它輸入低電平,報警震動電路工作,但是在這個時候發(fā)現(xiàn)這個震動電機(jī)不工作,經(jīng)過百般思索,終于找到了原因,就是在三極管集電極串連了1K的電阻,由于阻值較大,電流比較小,震動電機(jī)不工作。之后串連了一個小一點的電阻,33的電阻,然后電機(jī)就工作了。圖5-1震動報警模塊原理圖問題2:在調(diào)試這個GPS模塊的時候,下載程序初始化,由于第一次運行,初始化時間特別長,起初誤認(rèn)為這個GPS模塊出現(xiàn)了問題,由于本實驗用的是OLED屏,相比較而言,12864顯示屏更為常見,通過實驗讓GPS模塊上的數(shù)據(jù)在12864上顯示,經(jīng)過一段時間的等待之后出現(xiàn)了圖5-2所示的狀態(tài),那就說明這個GPS模塊是對的。圖5-2 用12864顯示屏顯示GPS模塊圖之后又重新把GPS模塊接到OLED屏上讓它顯示,結(jié)果OLED屏上也出現(xiàn)了定位信息(如下圖所示)因此可以得出結(jié)論:剛開始OLED屏上沒顯示點位數(shù)據(jù)是因為GPS模塊第一次初始化特別慢,GPS模塊的連接是對的。圖5-3 OLED顯示GPS模塊圖問題3:在調(diào)試無線模塊的時候,之前選用的433無線通信模塊,但是由于以前沒用過這個無線模塊,調(diào)試程序的時候總是不能傳輸數(shù)據(jù),后來換了個無線模塊,換成了nrf2401無線通訊模塊。5.5實驗結(jié)果(實物圖) 這就調(diào)試成功之后子機(jī)和母機(jī)的模塊實物圖,從圖中可以看到在主機(jī)上面可以顯示出來主機(jī)和從機(jī)的定位信息圖5-4 智能防丟器實物圖 。第6章 總結(jié)與展望6.1 全文的總結(jié)工作 本次設(shè)計以STC89C52這款經(jīng)典的51單片機(jī)為控制核心,主要硬件電路模塊包括GPS定位模塊、nrf2401無線發(fā)送接收模塊、OLED屏顯示模塊、按鍵模塊以及聲光、震動報警模塊。該防丟器運用GPS模塊獲取定位信息,并在OLED屏上顯示出母機(jī)和子機(jī)的位置。超出距離母機(jī)和子機(jī)不能進(jìn)行正常信號傳輸,通過STC89C52單片機(jī)對母機(jī)或者子機(jī)接收的信息進(jìn)行處理,能具體隨時更新母機(jī)、子機(jī)的信息,并在主控芯片上加入按鍵模塊,可以調(diào)節(jié)我們設(shè)定的安全距離,當(dāng)超出這個范圍時,就會實現(xiàn)聲光報警和震動報警,以完成信號不能正常傳輸就報警的任務(wù)。 雖然我們本次的設(shè)計取得了一定的成績,但是在設(shè)計的過程中遇到了很多的難題,然而正是因為這些難題使得我們對硬件電路設(shè)計以及軟件編程有了更深刻的理解,同時也增強(qiáng)了我們獨立學(xué)習(xí)的能力、動手能力、思考的能力和創(chuàng)新能力。 6.2智能防丟器的展望 本課題研究的智能防丟器具有便宜,簡單,實用等優(yōu)點,而且在現(xiàn)代生活中也起到了越來越重的作用,應(yīng)用領(lǐng)域也越來越廣,尤其是我們在設(shè)計中加入了震動模塊,震動報警效果比較明顯,更好地在人多的時候提醒人們重要物品防丟,減少兒童丟失事件,可見我的這個設(shè)計很有研究的價值。 時代在進(jìn)步,科技在發(fā)展,我們的產(chǎn)品要向低功耗,美觀,便宜等方向靠攏,但是由于本人水平有限,本次防丟器的設(shè)計也有一定的不足,電路焊接的時候有點粗糙,在實際用的時候很容易遭到損壞,還要就是我們運用到的GPS定位模塊,精度不是特別高,本次設(shè)計的要求是超出10米范圍就報警,但是由于我們使用的GPS定位的,每相差1秒就是30米,由于精度的問題導(dǎo)致本次設(shè)計達(dá)不到預(yù)計的效果。所以我們就展望下次能夠提高智能防丟器的精度,那么防丟器的設(shè)計就完美了。致謝語 本次畢業(yè)設(shè)計的順利完成以及畢業(yè)論文的成功撰寫,我要特別感謝湯永清老師給我的幫助,從始至終,導(dǎo)師對我非常關(guān)心,很耐心地指導(dǎo)我。從開始的時候幫我選題,幫我查找資料,幫我分析本次設(shè)計中的難點,重點,給我提供了很多技術(shù)上的支持。同時還百忙之中抽出時間反復(fù)關(guān)心我論文的進(jìn)度,最后還幫我修改了論文的格式,為我能夠完成這篇論文打下了堅實的基礎(chǔ)。 湯永清老師非常和藹可親,不僅有著豐富的知識,學(xué)問很廣,嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,而且還保持著積極的生活態(tài)度,耐心地知道他人,為人師表,非常值得我們尊敬,深深得打動著我,激勵著我,他是我一生的榜樣。 最后,我要感謝我們學(xué)院的領(lǐng)導(dǎo)和老師,不僅給我很好的學(xué)習(xí)環(huán)境,還在我需要幫助的時候無私奉獻(xiàn),也要感謝給過我?guī)椭耐瑢W(xué),我們一起學(xué)習(xí),一起努力,正是因為你們,我才充滿了力量。在此感謝你們! 參考文獻(xiàn)1 高吉祥.高頻電子線路M.北京:電子工業(yè)出版社,2003. 2 曾興雯,劉乃安,陳健,等.高頻電路原理與分析J.陜西:西安電子科技大學(xué)出版社,2001. 3 王衛(wèi)東,傅佑麟,等.高頻電子線路M.北京:電子工業(yè)出版社,2004. 4 高如云,陸曼茹,張企民,孫萬蓉,等.通信電子線路M.陜西:西安電子科技大學(xué)出版社,2002. 5 張肅文.高頻電子線路M.北京:高等教育出版社. 6 Joseph J. Carr.射頻電路設(shè)計M.北京:電子工業(yè)出版社,2001. 7 Behead Razavi.射頻微電子M.北京:清華大學(xué)出版社,2003. 8 Horowitz P,Hill W,The Art of Electronic Second EditionM. New York: Cambridge University Press, 1989 9 Cotter W.Sayre.完整無線設(shè)計M.北京:清華大學(xué)出版社,2004. 10 劉長軍,黃卡瑪,閆麗萍,等.射頻通訊設(shè)計M.北京:科學(xué)出版社,2005. 11 鈴木憲次.高頻電路設(shè)計與制作M.北京:科學(xué)出版社,2005. 12陽翠娥高頻電子線路實驗與課程設(shè)計M黑龍江:哈爾濱工業(yè)大學(xué)出版社,200113 于海勛,鄭長明,等高頻電路實驗與仿真M北京:科學(xué)出版社,2005.14 市井裕一高頻電路設(shè)計與制作M北京:科學(xué)出版社,2006附錄附錄1:電路原理圖附錄2:元器件列表元器件及型號數(shù)量1K電阻4個10K電阻6個10uF電解電容2個220uF電解電容2個104(瓷片電容)2個22pF瓷片電容2個11.0592MHz晶振2個輕觸按鍵4個GPS2塊OLED2塊STC89C52RC2片Nrf24012個轉(zhuǎn)換電路2個電源插座1個綠色LED燈4個電源開關(guān)2個排針若干萬用板1塊附錄3:發(fā)送模塊程序1. main.c文件程序如下#include pbdata.h#include intrins.hunsigned char xdata Display_GPGGA_Buffer68 = 0;unsigned char xdata Display_GPRMC_Buffer68;bit Flag_OV = 0;bit Flag_Calc_GPGGA_OK = 0;bit Flag_Calc_GPRMC_OK = 0;typedef unsigned long ulong;typedef unsigned char uchar;typedef unsigned char uint;/*NRF24L01端口定義*sbit MISO=P13;sbit MOSI=P14;sbitSCK =P12;/*NRF24L01*sbitCE =P11;sbitCSN=P15;sbitIRQ=P16;#define TX_ADR_WIDTH 5 / 5 uints TX address width#define RX_ADR_WIDTH 5 / 5 uints RX address width#define TX_PLOAD_WIDTH 20 / 20 uints TX payload#define RX_PLOAD_WIDTH 20 / 20 uints TX payloaduint TX_ADDRESSTX_ADR_WIDTH= 0x34,0x43,0x10,0x10,0x01;/本地地址uint const RX_ADDRESSRX_ADR_WIDTH= 0x34,0x43,0x10,0x10,0x01;/接收地址/*NRF24L01寄存器指令*#define READ_REG 0x00 / 讀寄存器指令#define WRITE_REG 0x20 / 寫寄存器指令#define RD_RX_PLOAD 0x61 / 讀取接收數(shù)據(jù)指令#define WR_TX_PLOAD 0xA0 / 寫待發(fā)數(shù)據(jù)指令#define FLUSH_TX 0xE1 / 沖洗發(fā)送 FIFO指令#define FLUSH_RX 0xE2 / 沖洗接收 FIFO指令#define REUSE_TX_PL 0xE3 / 定義重復(fù)裝載數(shù)據(jù)指令#define NOP 0xFF / 保留#define CONFIG 0x00 / 配置收發(fā)狀態(tài),CRC校驗?zāi)J揭约笆瞻l(fā)狀態(tài)響應(yīng)方式#define EN_AA 0x01 / 自動應(yīng)答功能設(shè)置#define EN_RXADDR 0x02 / 可用信道設(shè)置#define SETUP_AW 0x03 / 收發(fā)地址寬度設(shè)置#define SETUP_RETR 0x04 / 自動重發(fā)功能設(shè)置#define RF_CH 0x05 / 工作頻率設(shè)置#define RF_SETUP 0x06 / 發(fā)射速率、功耗功能設(shè)置#define STATUS 0x07 / 狀態(tài)寄存器#define OBSERVE_TX 0x08 / 發(fā)送監(jiān)測功能#define CD 0x09 / 地址檢測 #define RX_ADDR_P0 0x0A / 頻道0接收數(shù)據(jù)地址#define RX_ADDR_P1 0x0B / 頻道1接收數(shù)據(jù)地址#define RX_ADDR_P2 0x0C / 頻道2接收數(shù)據(jù)地址#define RX_ADDR_P3 0x0D / 頻道3接收數(shù)據(jù)地址#define RX_ADDR_P4 0x0E / 頻道4接收數(shù)據(jù)地址#define RX_ADDR_P5 0x0F / 頻道5接收數(shù)據(jù)地址#define TX_ADDR 0x10 / 發(fā)送地址寄存器#define RX_PW_P0 0x11 / 接收頻道0接收數(shù)據(jù)長度#define RX_PW_P1 0x12 / 接收頻道0接收數(shù)據(jù)長度#define RX_PW_P2 0x13 / 接收頻道0接收數(shù)據(jù)長度#define RX_PW_P3 0x14 / 接收頻道0接收數(shù)據(jù)長度#define RX_PW_P4 0x15 / 接收頻道0接收數(shù)據(jù)長度#define RX_PW_P5 0x16 / 接收頻道0接收數(shù)據(jù)長度#define FIFO_STATUS 0x17 / FIFO棧入棧出狀態(tài)寄存器設(shè)置/*void Delay(unsigned int s);void inerDelay_us(unsigned char n);void init_NRF24L01(void);uint SPI_RW(uint uchar);uchar SPI_Read(uchar reg);void SetRX_Mode(void);uint SPI_RW_Reg(uchar reg, uchar value);uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars);uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars);unsigned char nRF24L01_RxPacket(unsigned char* rx_buf);void nRF24L01_TxPacket(unsigned char * tx_buf);unsigned long ReadCount(void);void Delay_hx711_us(void);void Delay(unsigned int s)unsigned int i;for(i=0; is; i+);for(i=0; i0;n-)_nop_();/*NRF24L01初始化void init_NRF24L01(void) inerDelay_us(100); CE=0; / chip enable CSN=1; / Spi disable SCK=0; / SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); / 寫本地地址SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); / 寫接收端地址SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); / 頻道0自動ACK應(yīng)答允許SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); / 允許接收地址只有頻道0,如果需要多頻道可以參考Page21 SPI_RW_Reg(WRITE_REG + RF_CH, 0); / 設(shè)置信道工作為2.4GHZ,收發(fā)必須一致SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); /設(shè)置接收數(shù)據(jù)長度,本次設(shè)置為32字節(jié)SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); /設(shè)置發(fā)射速率為1MHZ,發(fā)射功率為最大值0dBuint SPI_RW(uint uchar)uint bit_ctr; for(bit_ctr=0;bit_ctr8;bit_ctr+) / output 8-bit MOSI = (uchar & 0x80); / output uchar, MSB to MOSI輸出函數(shù),MSB到莫西uchar = (uchar 1); / shift next bit into MSB. 下一位移到MSBSCK = 1; / Set SCK high. sck=1uchar |= MISO; / capture current MISO bit 獲取當(dāng)前味噌點SCK = 0; / .then set SCK low again 然后設(shè)置SCK的低了 return(uchar); / return read ucharuchar SPI_Read(uchar reg)uchar reg_val;CSN = 0; / CSN low, initialize

溫馨提示

  • 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

提交評論