




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)內(nèi)蒙古科技大學(xué)本科生畢業(yè)設(shè)計說明書(畢業(yè)論文)題學(xué)專班xxx2011-2班內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)自動泊車系統(tǒng)摘要隨著車輛的普及度、保有量越來越高,街道、小區(qū)、公路、停車場等擁擠不堪,人們對車輛的可操作性和智能性也提出了更多的要求,所以智能的自動泊車的研發(fā)迫在眉睫。本設(shè)計以藍牙模塊與單片機最小系統(tǒng)通過串口相連接,并與電腦端藍牙連接實現(xiàn)下,從而實現(xiàn)自動泊車的功能。STC15F2K61S2GY-26電子指南針模塊、光電避障模塊、超聲波模塊、電機驅(qū)動模塊、舵機組成系統(tǒng)。主要包括以下幾個方面:第一,硬件電路設(shè)計,硬件電路通過AltiumDesigner軟件進行硬件電路設(shè)計,主STC15F2K61S2單片機最小系統(tǒng)設(shè)計,最小系統(tǒng)可以實現(xiàn)超聲波數(shù)據(jù)、光電避障模塊數(shù)據(jù)、電子指南針模塊數(shù)據(jù)的接受,由上位機端發(fā)送命名實現(xiàn)對小車的相應(yīng)控制。第三,上位機軟件設(shè)計,上位機由CSharp語言在VisualStudio2010示出來的,并且對自動泊車系統(tǒng)進行整體控制,通過藍牙向單片機最小系統(tǒng)發(fā)送數(shù)據(jù),單片機接收到數(shù)據(jù)后控制小車完成側(cè)位泊車或倒車入庫動作。關(guān)鍵詞:上位機;單片機最小系統(tǒng);自動泊車I內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)AutomaticparkingsystemAbstractWiththepopularizationofvehicle,retainsthequantityismoreandmorehigh,streets,communities,roads,parkinglotsandothercrowded.Peopleofthevehiclecanalsoputforwardmorerequirementsfortheoperationandintelligent,sotheresearchanddevelopmentofintelligentautomaticparkingisimminent.ThisdesigntakestheBluetoothmoduleandthemicrocontrollersmallestsystemthroughtheserialport,andrealizesthecommunicationprocessbetweenthelowercomputerandtheuppercomputerwiththeBluetoothconnectionofthecomputerterminal.ThedesignofthePCandBluetoothmodule,STC15F2K61S2MCUminimumsystem,GY-26electroniccompassmodule,photoelectricobstacleavoidancemodule,ultrasonicmodule,motordrivemodule,servosystem.Mainlyincludesthefollowingaspects:first,hardwarecircuitdesign,hardwarecircuitthroughAltiumdesignersoftwarewerehardwarecircuitdesign,includingincludingpowersupplysystemandthesmallestsingle-chipsystem.Second,STC15F2K61S2smallestsingle-chipsystemdesign,theminimumsystemcanrealizeultrasonicdata,photoelectricobstacleavoidancemoduledata,electroniccompassmoduledatareceived,sentbythehostcomputerendnamedthecorrespondingcontrolofthecar.Third,PCsoftwaredesignandPCbyCsharplanguageontheplatformofVisualStudio2010prepared,mainlytoachievebytheslavecomputersaidtransmitteddataforprocessingandreal-timedisplay,andtheautomaticparkingsystemintegratedcontrol,viaBluetoothtosenddatatotheMCUminimumsystem,MCUreceivesthedatacontrolthecarlateralparkingorreversingstorageaction.Key:PC,minimumsingle-chipmicrocomputer,automaticparking內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)目錄摘要.................................................................................................................................IAbstract..............................................................................................................................II第一章緒論......................................................................................................................11.1.............................................................................................11.2課題的國內(nèi)外研究現(xiàn)狀....................................................................................2第二章原理和技術(shù)..........................................................................................................52.1AltiumDesigner軟件的應(yīng)用..............................................................................52.2STC15F2K61S2單片機最小系統(tǒng)的應(yīng)用..........................................................52.3.............................................................................................62.4CSharp語言與MicrosoftVisualStudio2010開發(fā)平臺.........................82.5.............................................................................................................9第三章系統(tǒng)的硬件設(shè)計.................................................................................................113.1....................................................................................................113.2...............................................................................................123.3...............................................................................................12第四章系統(tǒng)的軟件設(shè)計................................................................................................144.1...............................................................................................144.1.1電機驅(qū)動電路........................................................................................144.1.2舵機........................................................................................................15內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)4.1.3超聲波測距模塊....................................................................................164.2...............................................................................................174.2.1電子指南針模塊數(shù)據(jù)接收與校準(zhǔn)程序?qū)崿F(xiàn)........................................184.2.2串口發(fā)送接收與處理功能程序?qū)崿F(xiàn)....................................................194.2.3小車控制程序?qū)崿F(xiàn)................................................................................204.3...............................................................................................234.3.1系統(tǒng)時間顯示部分................................................................................244.3.2串口設(shè)置部分........................................................................................244.3.3自動泊車狀態(tài)顯示部分........................................................................254.3.4數(shù)據(jù)監(jiān)測顯示部分................................................................................254.3.5指南針控制部分....................................................................................264.3.6自動泊車控制部分................................................................................264.4...............................................................................................264.4.1定時器組件timer的使用及程序編寫..................................................274.4.2串口組件serialPort的使用...................................................................284.4.3串口觸發(fā)事件函數(shù)comm_DataReceived.............................................284.4.4指南針控制部分程序?qū)崿F(xiàn)....................................................................294.4.5指南針控制部分程序?qū)崿F(xiàn)....................................................................30第五章總結(jié)與發(fā)展趨勢................................................................................................31參考文獻..........................................................................................................................32附錄..................................................................................................................................34致謝..................................................................................................................................46內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)第一章緒論1.1課題的目的和意義1.課題的目的自動泊車系統(tǒng)就是一種憑借檢測車輛周邊路況和路徑來尋找最合適的泊車地點,借此來調(diào)整車輛的轉(zhuǎn)彎半徑、車速、停車方位和前后位置移動,使得車輛能好精確把握角度、以往的倒車?yán)走_機械智能化程度低、可操作性不強等缺點,我性,并且很大程度的減小了駕齡時間短的司機駕駛車輛的困難程度,讓駕駛員徹底從泊車的繁瑣操作中解脫出來,也可以成為將來實現(xiàn)車輛的自動駕駛的一個基石,讓車輛駕駛和??孔兊酶雍唵畏奖?。2.課題的意義隨著車輛的普及度、保有量越來越高,街道、小區(qū)、公路、停車場等擁擠不力的發(fā)展城市的規(guī)模越來越大,人口和停車位的緊張的矛盾日益突出,甚至是三四線城市,由于城市的規(guī)劃和發(fā)展不能滿足人們?nèi)找婷驮龅纳羁臻g的需求,來說有很大的難讀。地上、地下、以及停車樓的出現(xiàn)緩解了一部分的停車問題,容易發(fā)生剮蹭事故和損壞前后的保險杠。置,讓停車變得安全簡單。1內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)1.2課題的國內(nèi)外研究現(xiàn)狀1.國內(nèi)研究現(xiàn)狀發(fā)起步也相對較晚。截至目前,依然是處于在研究院和高校的理論研究階段[1]機器駕駛車輛和智能機器人進行的相關(guān)研發(fā)工作已經(jīng)取得長足的進步和可喜的成績。THMR-III和THMR-V色攝像機,超聲波傳感器,GPS地位系統(tǒng)等。[2]吉林大學(xué)的相關(guān)研究是基于JLUIV系列的視覺智能導(dǎo)航車輛。就關(guān)于自動步階段,其中主要是采用了模糊控制等相關(guān)技術(shù)。早在1999年,上海大學(xué)的姚必正、吳志堅,就是利用了多維模糊控制器,制器成功地實現(xiàn)了給定平面內(nèi)任意一點上小車的倒車控制。2005年,首都師范大學(xué)的楊昔陽和他的團隊,根據(jù)他們所提出的變論域自較高的靈敏性和準(zhǔn)確性。2009年,吉林大學(xué)郭孔輝和他的團隊,利用MATLAB/SINIULINK和相關(guān)可行性和合理性。2009年提出了一種車位檢測方法,其主要方法是利用增量式編碼器和超聲波傳感器檢的結(jié)合應(yīng)用,基于這種方法是通過對所得到測試結(jié)果的誤差分析,借此來驗證其方法的可行性。2內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)的模型搭建等各個方面都做了大量的深入的研究,并且取得了相應(yīng)的研究成果。面都做到了很大的改進和創(chuàng)新。根據(jù)對現(xiàn)今我國國內(nèi)所發(fā)表的學(xué)術(shù)研究和論文的了解,伴隨著我國汽車工之上,我國的自動泊車系統(tǒng)的研究已經(jīng)已經(jīng)取得了和可喜的成果。2.國外研究現(xiàn)狀寶馬、保時捷、奧迪、保時捷、標(biāo)致、梅賽德斯·奔馳、道奇、福特等都已將該系統(tǒng)其自主研發(fā)的自動泊車系統(tǒng)標(biāo)配,或選裝到優(yōu)勢車型中最終實行了量產(chǎn)化。幾個具體的國外生產(chǎn)技術(shù)舉例如下:在2012的亞洲,日本的汽車生產(chǎn)商日產(chǎn)依靠獨立研發(fā)和創(chuàng)新的技術(shù),實操作,從而將駕駛員從復(fù)雜的操作中解放出來。日產(chǎn)所以應(yīng)用的技術(shù)就是4G網(wǎng)絡(luò)及云端技術(shù)服務(wù),NSC-2015車輛聯(lián)網(wǎng),車輛可以在接受泊車命令后,完全獨同時還可以將車輛的時事狀態(tài)進行傳遞。此類的研究成果預(yù)期將會在2015年--2016年裝配到汽車中并且投入到市場。在2013年的歐洲,著名的汽車生產(chǎn)商奧迪公司,他的研發(fā)團隊也在試圖應(yīng)Wi-Fi連接就是他們的主打技術(shù),主要的是通過手機應(yīng)用APP遠程控制的方法。同年的8月,福特公司將它旗下研發(fā)的輔助泊車系統(tǒng),進行了第一次公演,3內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)該全輔助泊車系統(tǒng),完全可以滿足司機處在車,即可簡單快捷的完成車輛的只能停靠和泊車功能。4內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)第二章原理和技術(shù)2.1AltiumDesigner軟件的應(yīng)用AltiumDesigner是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),軟件主要在Windows操作系統(tǒng)上運行,這套軟件通過把原理圖設(shè)計、電路仿真、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設(shè)計輸出等技術(shù)的完美融合,為設(shè)計者提供了全新的設(shè)計解決方案。錯誤!未找到引[5](2)印刷電路板設(shè)計;AltiumDesigner12)兩項,通過原理圖設(shè)整,以實現(xiàn)電路的最優(yōu)生產(chǎn)。因此,掌握AltiumDesigner軟件的各項功能,[7]并合理到運用到電路設(shè)計當(dāng)中可以為電子電路的設(shè)計提供完美的解決方案。2.2STC15F2K61S2單片機最小系統(tǒng)的應(yīng)用STC15F2K61S2單片機是STC生產(chǎn)的單時鐘1T)的單片機,是高速/高可靠/低功耗/超強抗干擾的新一代8051單片機,采用第八代加密技術(shù),加密性超強,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成高精度R/C時鐘,溫飄,常溫下溫飄5‰5MHz-35MHZ寬范圍可設(shè)置,可徹底省8級可選復(fù)位門檻電壓)。3路CCP/PWMPCA,8路高速10位/D轉(zhuǎn)換(30萬次/秒)[9],內(nèi)置2K字節(jié)大容量SRAM,2組高速異步串口通信端口(/,可在5組管腳之間進行切換,分時復(fù)用可做5組串口使用),1組高速同步串行5內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)[10]S(t)Aot所代表的數(shù)值為角頻率和聲波傳輸時間。6內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)數(shù)越弱,超聲波的傳播距離就越遠[13]??墒锹暡ㄟ€有一項非常重要的特點是:如果讓頻率不斷的提高,那么聲波的加強,聲波所帶的功也就更多。率為f=40kHz的超聲波作為使用對象。要求,而且可操作性強,可靠性高,性價比更劃算,對人和測距的物體沒有任何損傷等優(yōu)點。都有所應(yīng)用,超聲波的使用范圍可見一斑。會選擇超聲波作為主打的探測方法,進行無接觸距離的測量。人工智能和自動等智能動作,超聲波測量物體距系統(tǒng)是其中至關(guān)重要的組成部分,可以這樣說,被充分良好的利用。7內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)的路徑已經(jīng)距離的信息反饋。泛使用在許許多多的工程項目和日常的生產(chǎn)生活中。2.4CSharp語言與MicrosoftVisualStudio2010開發(fā)平臺VisualStudio是Microsoft公司推出的開發(fā)環(huán)境,是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境,其集成開發(fā)環(huán)境()的界面被重新設(shè)計和組織,變得更加簡單明了VisualStudio2010同時帶來了NETFrameworkMicrosoft[13]VisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持開發(fā)面向Windows7的應(yīng)用程序。除了MicrosoftSQLServer,它還支持IBMDB2和Oracle數(shù)據(jù)庫。Visualstudio2010中Microsoft第一次嵌入了云計算這性能,Microsoft的通過Azure云計算這個載體可以運用到計算過程中。Microsoft還提供SQLAzure類咨詢,和傳統(tǒng)Net應(yīng)用程序非常相近。C-sharp語言是由Microsoft公司的AndersHejlsberg和ScottWillamette領(lǐng)導(dǎo)的開發(fā)小組專門為.NET平臺設(shè)計的語言,它可以使程序移植到.NET上。[14]這種移植對于廣大的程序員來說是比較容易的,因為C#從CC++和Java發(fā)展而來,它采用了這三種語言最優(yōu)秀的特點,并加入了它自己的特性,C#是事件驅(qū)動的,完全面向?qū)ο蟮目梢暬幊陶Z言,我們可以使用集成開發(fā)環(huán)境來編寫C#程序,使用,程序員可以方便的建立,運行,測試和調(diào)試C#程序,這就將開發(fā)一個可用程序的時間減少到不用IDE開發(fā)時所用時間的一小部分。[9]8內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)2.5藍牙模塊2.4GHzISM進行工作[15]。該項技術(shù)可以滿足實現(xiàn)較小區(qū)域內(nèi)部的無線通信,以及小微網(wǎng)局域網(wǎng)組網(wǎng)的時時通信技術(shù)手段。為了滿足于室內(nèi)的局域小范圍的無線通信技術(shù),藍牙通信技術(shù)由此應(yīng)運而就可以實現(xiàn)對單片機和藍牙模塊系統(tǒng)的進行控制。[17]不僅如此,研發(fā)人員還開發(fā)了藍牙設(shè)備和模塊之間的相互認證和綁定的功穩(wěn)定性和較高的安全性。了阻礙物的干擾,而且具有峰值高為1Mbps的驚人傳輸效率。信技術(shù)自身也具有一定的設(shè)計短板,比如對于嵌入到手機設(shè)備中通用藍牙模塊,要克服的技術(shù)缺陷之一,目前市場上最常見的藍牙芯片傳遞范圍是為10M,如大到100M??缮俚模敲總€成熟技術(shù)發(fā)展的重要進程。目前的藍牙技術(shù)姿勢具備了很多得天獨厚優(yōu)勢和特點,列如:較強的抗干擾能力,較高的傳輸效率,靈活方便的組建局域網(wǎng),和性價比高、耗材較少小等多9內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)域內(nèi)大顯身手。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)第三章系統(tǒng)的硬件設(shè)計3.1系統(tǒng)總體設(shè)計本設(shè)計由上位機、藍牙模塊、STC15F2K61S2GY-26電子指南針模塊、光電避障模塊、超聲波模塊、電機驅(qū)動模塊、舵機組成系統(tǒng)設(shè)計結(jié)構(gòu)框圖如圖3.1所示。STC15F2K61S2的接受,由上位機端發(fā)送命名實現(xiàn)對小車的相應(yīng)控制。下位機系統(tǒng)中有2GY-26電子指南針模塊采用IIC通信,可以實現(xiàn)對當(dāng)信息與位置進行初步判定,小車位置信息的不同決定了小車的自動泊車動作。確的控制。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)3.2系統(tǒng)的硬件設(shè)計本設(shè)計硬件部分包括:藍牙模塊;STC15F2K61S2單片機最小系統(tǒng);GY-26電子指南針模塊;超聲波測距模塊;光電避障模塊;電機驅(qū)動模塊;舵機組成。硬件設(shè)計結(jié)構(gòu)框圖如下:本設(shè)計中采用STC15F2K61S2單片機作為MCU,通過藍牙模塊實現(xiàn)與上位機之間的通信,根據(jù)由上位機端接收到的數(shù)據(jù)控制小車完成相應(yīng)的自動泊車動作。藍牙同單片機之間的通信是利用串口實現(xiàn)的,波特率的發(fā)生器由定時器2發(fā)生;GY-26口通信與IIC通信。GY-26電子指南針模塊的通信采用IIC通信,實現(xiàn)對下車當(dāng)前的位置信息進行監(jiān)測,IIC通信中時鐘引腳與單片機P0.0口相連P0.1P1.0和P1.1口相0對超聲波信號脈寬進行計算與處理得到超聲波測距信息,后超聲波與單片機P1.6和P1.7分別與單片機最小系統(tǒng)P1.2與P1.3相連接;電機驅(qū)動與舵機在單片機最小系統(tǒng)均由定時器1P2.2與P2.3相連接控制小車前進與后退,而在定時器中通過對占空比進行控制可以對電機的功率進行控制,進而達到控制速度的效果,舵機信號端與單片機P2.7制小車運動角度的目的。小車控制的具體實現(xiàn)過程會在第四章進行具體介紹。3.3系統(tǒng)的軟件設(shè)計上位機軟件設(shè)計在MicrosoftVisualStudio2010平臺下進行設(shè)計,整體設(shè)計內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)簡單、易操作。主要包括:串口發(fā)送與接收部分;指南針數(shù)據(jù)、超聲波數(shù)據(jù)監(jiān)測如下:本設(shè)計中上位機使用CSharp語言在VS2010平臺下編寫,實現(xiàn)對指南針數(shù)上位機的按鈕完成,具體程序?qū)崿F(xiàn)過程會在第五章進行詳細介紹。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)第四章系統(tǒng)的軟件設(shè)計本作品的硬件電路設(shè)計由所謂電機,就是實現(xiàn)機械能和電能之間進行轉(zhuǎn)換的的機器。電機有許許[18]直流電機的基本構(gòu)成:內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)4.1.2舵機安裝在自動泊車系統(tǒng)上的舵機,就如同日常生活中的方向盤,舵機的傳出角度通過轉(zhuǎn)動軸來控制小車的轉(zhuǎn)向。這個轉(zhuǎn)角的精度是小車能否正確的自動泊車,能否可以用正確的角度駛?cè)氩窜囄恢?。本作品所用的舵機是S-D5舵機。飛思卡爾官方指定的舵機就是S-D5舵機,占空比PWM信號波,目的是實現(xiàn)S-D5輸送軸的轉(zhuǎn)彎半徑大小的控制,相比于普通的舵機,類似于在頻率50Hz下工作的,工作T=20ms,當(dāng)工作在0~~180度基本上在T=0.5ms~~2.5msPWM波的占空比應(yīng)該是在0.5--20或是2.5--20這個工作區(qū)間。因為PWM波中工作周期內(nèi)相對較長的高電平周期確定S-D5的轉(zhuǎn)彎角度,所以可以憑借PWM脈寬調(diào)控舵機傳出的旋轉(zhuǎn)角度。當(dāng)初始化過過程如果需要調(diào)試,就需要對S-D5的數(shù)值進行連續(xù)的測試,目的是為了讓S-D5轉(zhuǎn)動軸承最大限度的接近中間區(qū)域,接下來就是測試S-D5的轉(zhuǎn)動角度的工作極限,從最初的50Hz~~20ms分頻周期傳入進S-D5內(nèi),到后來的發(fā)現(xiàn)和確定工作區(qū)間的極限足設(shè)計所需實現(xiàn)功能的需求,可是最后總是發(fā)現(xiàn)S-D5的反饋速度比較遲鈍且機動性差,轉(zhuǎn)動過程中延時較長。在具體的使用過程中,S-D5的正常使用區(qū)間,在機器可接受的區(qū)域之間,使用其他的舵機后測得在300Hz的頻率下工作,舵機的旋轉(zhuǎn)較為平穩(wěn)并且快速度和精準(zhǔn)性都得到了很大程度的提高。在設(shè)計的過程中發(fā)現(xiàn)的S-D5的這個缺點可能就是S-D5自身的設(shè)計缺陷,或是S-D5因為犧牲了自身的速度和精準(zhǔn)性,而換來S-D5可以在相對較寬的平率范圍工作的可能性。S-D5本身是一種由多齒輪軸承,加上控制電路組成的模塊,供電電路如圖4.2圖:內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)射信號,計數(shù)器開始計數(shù),實現(xiàn)起始時的同步;當(dāng)接收信號的最后一個脈沖到來后,計數(shù)器停止計數(shù)[22]。圖4內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖電子指南針的數(shù)據(jù)接收與校準(zhǔn)功能的程序?qū)崿F(xiàn)主要是通過調(diào)用在文件znz.c中的read_cmp()函數(shù)、函數(shù)與cal_off()函數(shù),通過在主函數(shù)while循環(huán)中調(diào)用read_cmp()函數(shù)可以實現(xiàn)電子指南針數(shù)據(jù)的接收,通過在主函數(shù)while循環(huán)中調(diào)用函數(shù)與cal_off()函數(shù)可以實現(xiàn)電子指南針的校準(zhǔn),程序?qū)崿F(xiàn)框圖如圖4.6所示。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)4.2.2串口發(fā)送接收與處理功能程序?qū)崿F(xiàn)串口發(fā)送功能的程序?qū)崿F(xiàn)主要通過調(diào)用函數(shù)csbfs()函數(shù)實現(xiàn),串口數(shù)據(jù)的內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)4.2.3小車控制程序?qū)崿F(xiàn)內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖圖9內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖4.3.1系統(tǒng)時間顯示部分串口設(shè)置部分由2個Label控件、2個Combobox控件、1個Button控件、1個內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖4.3.3自動泊車狀態(tài)顯示部分圖4.3.4數(shù)據(jù)監(jiān)測顯示部分內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)圖4.3.6自動泊車控制部分內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)4.4.1定時器組件timer的使用及程序編寫圖{djs--;jzjs.Text=djs.ToString()+;}jzjs.Text=djs.ToString()+;}內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)4.4.2串口組件serialPort的使用圖4.4.3串口觸發(fā)事件函數(shù)comm_DataReceived串口觸發(fā)事件函數(shù)comm_DataReceived先需要在程序初始化函數(shù)Form1_Load中對comm_DataReceived事件進行注冊,時間注冊完畢之后當(dāng)上位機串口接收到數(shù)據(jù)之后會將數(shù)據(jù)存儲在串口數(shù)據(jù)緩存區(qū)中并觸發(fā)該事件,在事件函數(shù)中則可以對串口數(shù)據(jù)進行讀取和處理[21]。在串口接收到數(shù)據(jù)觸發(fā)事件并將接收到的串口數(shù)據(jù)存儲至串口緩存區(qū)的過上位機端被處理時分成多幀存儲在串口緩存區(qū),而每次數(shù)據(jù)更新是前一幀數(shù)據(jù)會被覆蓋而造成數(shù)據(jù)丟失使得數(shù)據(jù)處理存在困難,為了避免數(shù)據(jù)丟失就需要考慮到內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)位與終止位之間的數(shù)據(jù)存儲在byte型數(shù)組buf1中,根據(jù)串口數(shù)據(jù)的發(fā)送格式來進行數(shù)據(jù)處理。,停止位為則收到起始位時將標(biāo)志位sn賦1(默認為0),在標(biāo)志位為1并接受到數(shù)據(jù)時會將數(shù)據(jù)存儲至buf1數(shù)組中,在緩存區(qū)所有數(shù)據(jù)處理完成后如果沒有檢測到停止位,那么就將sn賦2,當(dāng)標(biāo)志位為2時,在下一次數(shù)據(jù)到來是會直接將數(shù)據(jù)存儲至buf1”*”為止停止數(shù)據(jù)處理并將sn重新賦0,這樣存儲在buf1數(shù)組中的數(shù)據(jù)即為單片機所發(fā)送的數(shù)據(jù)。在本次設(shè)計中單片機發(fā)送的數(shù)據(jù)共有5組數(shù)據(jù),起始位為0xFF,終止位為0xFE,在上位機接受到數(shù)據(jù)之后,會將這3組數(shù)據(jù)放置在buf1數(shù)組中,通過對與串口處理不在同一線程,因此需要進行跨線程操作,具體實現(xiàn)程序如下:znzjl=(Convert.ToInt32(buf1[0])*256+Convert.ToInt32(buf1[1]))/10.0;wdjl=Convert.ToInt32(buf1[4])*256+Convert.ToInt32(buf1[5]))/10.0;jzdjjl=Convert.ToInt32(buf1[6]);this.Invoke((EventHandlerdelegate//跨線程操作znzsz.Text=znzjl.ToString()+;wdsz.Text=wdjl.ToString()+℃;jzdj.Text=jzdjjl.ToString();{}));4.4.4指南針控制部分程序?qū)崿F(xiàn)指南針控制部分主要功能由Button按鍵實現(xiàn),在上位機界面通過單擊按鍵可djspd賦160s倒計時并顯示在上位機界面控件上,具體程序如下:[]a=System.BitConverter.GetBytes();comm.Write(a,0,1);Thread.Sleep(50);[]b=System.BitConverter.GetBytes('a');comm.Write(b,0,1);內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)Thread.Sleep(50);c=System.BitConverter.GetBytes('*');comm.Write(c,0,1);Thread.Sleep(50);djspd=1;4.4.5指南針控制部分程序?qū)崿F(xiàn)指南針控制部分由3個Button控件構(gòu)成,分別為:側(cè)位停車、倒車入庫和停見附錄2。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)第五章總結(jié)與發(fā)展趨勢題,分析求得可以應(yīng)對大部分日常生活中的參考泊車路線。本次設(shè)計中所涵蓋的領(lǐng)域相對較多,總的來說整個設(shè)計已經(jīng)達到預(yù)期的目的教學(xué)任務(wù)。步加強;在上位機軟件的設(shè)計中,上位機軟件的可視化與可操作性還有待增強;入尋常百姓家。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)參考文獻[1]熊山山.小車動力系統(tǒng)與控制—平行停車[D].華中科技大學(xué),2012.[2]黃燕.四輪轉(zhuǎn)向車輛智能泊車系統(tǒng)[D].重慶交通大學(xué),2012.[3]基于位置信息的車載自組織網(wǎng)絡(luò)廣播算法研究[4]徐江.我國中小企業(yè)國際化影響因素及其對國際化績效的影響研究[D].吉林大學(xué),2012.[5]AltiumDesigner14;第1版(2014年11月1日)[6]MuhammadUsmanRafique,KunwarFaraz.GuidanceBasedAutonomousParkingAssistant[A].IntelligentInformationTechnologyApplicationResearchAssociation,HongKong.2010The2ndInternationalConferenceonIndustrialMechatronicsandAutomation(ICIMA2010)[7]AltiumDesigner軟件在電路設(shè)計中的應(yīng)用[8]深圳宏晶科技有限公司.STC15系列單片機器件手冊[M].深圳:深圳宏晶科技有限公司,2013:26-28.[9]C#編程語言程序設(shè)計與開發(fā).清華大學(xué)出版社2007-9-3.[10]超聲波流量計測量原理分析與研究[11]汽車倒車?yán)走_預(yù)警系統(tǒng)研究[12]彭賢武.基于CAN總線的汽車側(cè)向防撞預(yù)警系統(tǒng)開發(fā)研究[D].長安大學(xué),2007.[13]蔣宏飛,王文勝,劉偉東,王西寧.水準(zhǔn)測量觀測成果質(zhì)量檢查軟件的開發(fā)與應(yīng)用[J].測繪技術(shù)裝備,2012,04:59-61.[14]劉巍.在C#.net編程過程中的常用技巧[J].,2011,36:118.[15]泰克藍牙無線技術(shù)問答(FAQ)[J].國外電子測量技術(shù),2001,03:44.[16]JaeyoungMoon,IlBae,Jae-gwangCha,ShihoKim.ATrajectoryPlanningMethod內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)BasedonForwardPathGenerationandBackwardTrackingAlgorithmforAutomaticParkingSystems[A].IEEEITSSSocietyChineseAssociationoftheInstituteofAutomation,ChineseAcademyofSciencesXi'anJiaotongUniversity、QingdaoAcademyofIntelligentIndustries.Proceedingsof17thInternationalIEEEConferenceonIntelligentTransportationSystemsⅢ[C].IEEEITSSSociety、IEEE、ChineseAssociationofAutomation、theInstituteofAutomation,ChineseAcademyofSciences、Xi'anJiaotongUniversity、QingdaoAcademyofIntelligentIndustries:,2014:6.[17]張群,楊絮,張正言,陸起涌.藍牙模塊串口通信的設(shè)計與實現(xiàn)[J].實驗室研究與探索,2012,03:79-82.[18]劉羨飛,茅靖峰.開關(guān)磁阻發(fā)電機角度優(yōu)化的仿真研究[J].南通工學(xué)院學(xué)報自然科學(xué)版),2004,01:59-62.[19]方愛平.基于單片機的步進電機控制系統(tǒng)的設(shè)計與實現(xiàn)學(xué),2009.[D].浙江工業(yè)大[20]基于單片機的火炮角度伺服控制系統(tǒng)設(shè)計[21]孫超.工業(yè)組態(tài)軟件接入非標(biāo)準(zhǔn)通信協(xié)議組件的實現(xiàn)[J].電子科技,2013,10:13-15.[22]阮成功,藍兆輝,陳碩.基于單片機的超聲波測距系統(tǒng)[J].應(yīng)用科技,2004,07:22-24.[23]AryanSaadatMehr.ApplicationofFuzzyLogicforAutonomousBayParkingofAutomobiles[J].InternationalJournalofAutomation&Computing,2011,04:445-451內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)附錄1、讀取串口號程序:string[]ports=SerialPort.GetPortNames();//初始化下拉串口名稱列表框.Sort(ports);//獲取系統(tǒng)所有串口號comboPortName.Items.AddRange(ports);//將獲取的串口號賦值給comboPortNamecomboPortName.SelectedIndex=comboPortName.Items.Count>0?0:-1;(1)buttonOpenClose按鍵觸發(fā)事件函數(shù):if(comm.IsOpen)//根據(jù)當(dāng)前串口對象,來判斷操作{comm.Close();//打開時點擊,則關(guān)閉串口}else//關(guān)閉時點擊,則設(shè)置好端口,波特率后打開{comm.PortName=comboPortName.Text;comm.BaudRate=int.Parse(comboBaudrate.Text);try{comm.Open();}catchExceptionex)//捕獲到異常信息,創(chuàng)建一個新的comm對象{comm=newSerialPort();MessageBox.Show(ex.Message);//現(xiàn)實異常信息返回}}//設(shè)置按鈕的狀態(tài)buttonOpenClose.Text=comm.IsOpen?"關(guān)閉串口":打開串口";buttonOpenClose.BackColor=comm.IsOpen?Color.Red:Color.LimeGreen;chuankou.ForeColor=comm.IsOpen?.LimeGreen:Color.Red;chuankou.Text=comm.IsOpen?comboPortName.Text+"已打開":comboPortName.Text+已關(guān)閉;2、指南針控制實現(xiàn)程序if(cewei.Text==側(cè)位停車")內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文){[]a=System.BitConverter.GetBytes();comm.Write(a,0,1);.Sleep(50);[]b=System.BitConverter.GetBytes();comm.Write(b,0,1);.Sleep(50);[]c=System.BitConverter.GetBytes();comm.Write(c,0,1);.Sleep(50);ztxs.Text=車位尋找中;}if(cewei.Text==開始泊車"){[]a=System.BitConverter.GetBytes();comm.Write(a,0,1);.Sleep(50);[]b=System.BitConverter.GetBytes();comm.Write(b,0,1);.Sleep(50);[]c=System.BitConverter.GetBytes();comm.Write(c,0,1);.Sleep(50);ztxs.Text=正在自動泊車;}倒車入庫按鍵功能的實現(xiàn)與側(cè)位停車按鍵實現(xiàn)過程相似,具體程序?qū)崿F(xiàn)如下:if(dcrk.Text==倒車入庫){[]a=System.BitConverter.GetBytes();comm.Write(a,0,1);.Sleep(50);[]b=System.BitConverter.GetBytes();comm.Write(b,0,1);.Sleep(50);[]c=System.BitConverter.GetBytes();comm.Write(c,0,1);.Sleep(50);}if(dcrk.Text==開始泊車){[]a=System.BitConverter.GetBytes();comm.Write(a,0,1);.Sleep(50);[]b=System.BitConverter.GetBytes();comm.Write(b,0,1);內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文).Sleep(50);[]c=System.BitConverter.GetBytes();comm.Write(c,0,1);.Sleep(50);}停止按鍵可以實現(xiàn)對小車動作的關(guān)閉并將程序初始化,具體程序?qū)崿F(xiàn)如下:[]a=System.BitConverter.GetBytes();comm.Write(a,0,1);.Sleep(50);[]b=System.BitConverter.GetBytes();comm.Write(b,0,1);.Sleep(50);[]c=System.BitConverter.GetBytes();comm.Write(c,0,1);.Sleep(50);3、系統(tǒng)實現(xiàn)程序如下usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO.Ports;usingSystem.Text.RegularExpressions;usingSystem.Timers;usingSystem.Threading;namespace自動泊車{publicpartialclassForm1:Form{privateSerialPortcomm=newSerialPort();privateStringBuilderbuilder=newStringBuilder();//避免在事件處理方法中反復(fù)的創(chuàng)建,定義到外面。privatebyte[]buf1=newbyte[100];內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)privatelongreceived_count=0;//接收計數(shù)privatelongsend_count=0;//發(fā)送計數(shù)privatelongsn=0;//判斷使能privatelongjl=0;//記錄數(shù)據(jù)privatedoubleznzjl=0;//記錄指南針數(shù)值privatedoublewdjl=0;//記錄溫度數(shù)值privateintjzdjjl=0;//記錄校準(zhǔn)等級privateintdjs=60;//倒計時privateintdjspd=0;//倒計時publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){timer1.Start();//初始化下拉串口名稱列表框string[]ports=SerialPort.GetPortNames();Array.Sort(ports);comboPortName.Items.AddRange(ports);comboPortName.SelectedIndex=comboPortName.Items.Count>0?0:-1;comboBaudrate.SelectedIndex=comboBaudrate.Items.IndexOf("9600");//初始化SerialPort對象comm.NewLine="\r\n";comm.RtsEnable=true;//根據(jù)實際情況吧。comm.DataReceived+=comm_DataReceived;}voidcomm_DataReceived(objectsender,SerialDataReceivedEventArgse){內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)intn=comm.BytesToRead;//因,操作幾次之間時間長,緩存不一致inti=0;intm=0;intbs=0;byte[]buf=newbyte[n];//聲明臨時數(shù)組存儲來的串口數(shù)據(jù)received_count+=n;//增加接收計數(shù)comm.Read(buf,0,n);//讀取緩沖數(shù)據(jù)if(sn==2){for(bs=0;;bs++){if(bs>=n){jl+=bs;sn=2;break;}elseif(buf[bs]==0xFF){jl=0;sn=0;break;}elsebuf1[bs+jl]=buf[bs];}}if(sn==0){for(i=0;i<n;i++){if(buf[i]==0xFF)內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文){}sn=1;break;}}if(sn==1){for(m=0;;m++){if(i+m+1>=n){jl+=m;sn=2;break;}elseif(buf[i+m+1]==0xFE){jl=0;sn=0;break;}elsebuf1[m]=buf[i+m+1];}}try{znzjl=(Convert.ToInt32(buf1[0])*256+Convert.ToInt32(buf1[1]))/10.0;wdjl=(Convert.ToInt32(buf1[4])*256+Convert.ToInt32(buf1[5]))/10.0;jzdjjl=Convert.ToInt32(buf1[6]);this.Invoke((EventHandler)(delegate{znzsz.Text=znzjl.ToString()+wdsz.Text=wdjl.ToString()+℃";內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)jzdj.Text=jzdjjl.ToString();if(buf1[7]==0x01){cewei.Text=開始泊車";dcrk.Text=倒車入庫";ztxs.Text=車位尋找完成,請進行自動泊車";}if(buf1[7]==0x02){cewei.Text=側(cè)位停車";dcrk.Text=倒車入庫";ztxs.Text=自動泊車已完成";}if(buf1[7]==0x03){cewei.Text=側(cè)位停車";dcrk.Text=開始泊車";}if(buf1[7]==0x04){cewei.Text=側(cè)位停車";dcrk.Text=倒車入庫";ztxs.Text=自動泊車已完成";}}));}catch(Exceptionex){MessageBox.Show(ex.Message);}}privatevoidbuttonOpenClose_Click(objectsender,EventArgse){//根據(jù)當(dāng)前串口對象,來判斷操作內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)if(comm.IsOpen){//打開時點擊,則關(guān)閉串口comm.Close();}else{//關(guān)閉時點擊,則設(shè)置好端口,波特率后打開comm.PortName=comboPortName.Text;comm.BaudRate=int.Parse(comboBaudrate.Text);try{comm.Open();}catch(Exceptionex){//commcomm=newSerialPort();//現(xiàn)實異常信息給客戶。MessageBox.Show(ex.Message);}}//設(shè)置按鈕的狀態(tài)buttonOpenClose.Text=comm.IsOpen?"關(guān)閉串口":打開串口";buttonOpenClose.BackColor=comm.IsOpen?Color.Red:Color.LimeGreen;chuankou.ForeColor=comm.IsOpen?Color.LimeGreen:Color.Red;chuankou.Text=comm.IsOpen?comboPortName.Text+"已打開":comboPortName.Text+已關(guān)閉";}privatevoidjiaozhun_Click(objectsender,EventArgse){try{byte[]a=System.BitConverter.GetBytes('$');內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)comm.Write(a,0,1);Thread.Sleep(50);//Application.DoEvents();byte[]b=System.BitConverter.GetBytes('a');comm.Write(b,0,1)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)視頻內(nèi)容審核補充合同
- 法院執(zhí)行法拍房優(yōu)先購買權(quán)放棄及補償協(xié)議
- 兒童友好購物中心樓層委托經(jīng)營管理合同
- 氣管切開康復(fù)護理
- Part3-4 Unit3 Internship課件-【中職專用】高一英語(高教版2021基礎(chǔ)模塊2)(2023修訂版)
- 遺產(chǎn)繼承管理合同(2篇)
- 2025版高考地理一輪復(fù)習(xí)專題八區(qū)域可持續(xù)發(fā)展高頻考點72森林開發(fā)和生物多樣性減少練習(xí)含解析
- 2025版高考化學(xué)一輪復(fù)習(xí)課后限時集訓(xùn)31醛羧與酯含解析新人教版
- 護理案例精髓解析
- 數(shù)控技術(shù)應(yīng)用培訓(xùn)體系
- 2025年云南省大理州中考一模地理試題(原卷版+解析版)
- 軟件轉(zhuǎn)讓合同協(xié)議書
- 藥房藥師勞動合同協(xié)議
- 專題08 自然災(zāi)害和地理信息技術(shù)- 2025年十年高考地理真題分項匯編(學(xué)生卷)
- 數(shù)學(xué)在生活中的奇遇
- 2024年金湖縣事業(yè)單位招聘真題
- 2025年廚師職業(yè)技能鑒定高級試卷:餐飲企業(yè)品牌建設(shè)與推廣
- 五年級數(shù)學(xué)下試卷及答案
- 2025年高考政治答題模板:選必修123主觀題答題語言總結(jié)
- 區(qū)塊鏈在特種設(shè)備數(shù)據(jù)共享交換模型中的研究
- 遼寧省沈陽市沈北新區(qū)2024-2025學(xué)年初三下學(xué)期質(zhì)量調(diào)研考試(一模)語文試題含解析
評論
0/150
提交評論