地下管道超聲檢測系統(tǒng)硬件設計 交通運輸專業(yè)_第1頁
地下管道超聲檢測系統(tǒng)硬件設計 交通運輸專業(yè)_第2頁
地下管道超聲檢測系統(tǒng)硬件設計 交通運輸專業(yè)_第3頁
地下管道超聲檢測系統(tǒng)硬件設計 交通運輸專業(yè)_第4頁
地下管道超聲檢測系統(tǒng)硬件設計 交通運輸專業(yè)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE9地下管道超聲檢測系統(tǒng)硬件設計摘要無損檢測是指在不損害或不影響被檢測對象使用性能,不傷害被檢測對象內(nèi)部組織的前提下,利用材料內(nèi)部結構異?;蛉毕荽嬖谝鸬臒帷⒙?、光、電、磁等反應的變化,以物理或化學方法為手段,借助現(xiàn)代化的技術和設備器材,對試件內(nèi)部及表面的結構、性質(zhì)、狀態(tài)及缺陷的類型、性質(zhì)、數(shù)量、形狀、位置、尺寸、分布及其變化進行檢查和測試的方法。超聲檢測就是無損檢測技術其中的一種應用。以往的管道檢測和探傷技術在測量精確性方面有著很大的缺陷,現(xiàn)在隨著科學技術和經(jīng)濟的發(fā)展,對石油、化工行業(yè)存在的大量地下管道必須要有更加精確的檢測技術,在這樣一種環(huán)境和背景下,超聲檢測就慢慢出現(xiàn)在人們的視野中。本設計采用STM32單片機對超聲波探頭傳回的數(shù)據(jù)進行處理分析再通過藍牙傳輸給單片機,實現(xiàn)在線采集數(shù)據(jù)的功能。本設計經(jīng)過機械結構的構想,原理圖的設計和對上位機程序的設計,基本能達到很好的控制效果。在地下管道中行駛的檢測系統(tǒng)通過前端的減速電機旋轉(zhuǎn)使三個超聲探頭都能很好的檢測信號,轉(zhuǎn)動一周是為了確保檢測的信號完整性,不遺漏每一處管道的信息。關鍵詞:無損檢測;超聲;單片機ThehardwaredesignofundergroundpipelineultrasonictestingsystemAbstractNondestructivetestingisamethodoftestingandchecking.Itcannotdamageoraffectthefunctionofthetestingobjectanditcannotruinstheinternalsofobject.Usetheunusualorbugofinternalstructure,causedbyheat,sound,light,electricandmagnetic,withphysicalorchemicalmethodsorwithusingadvancingtechnologyandequipment,ittestssomethingweneed.Alsoitcheckandtestobeject’sstrcture,properties,status,type,quality,quantity,shape,location,size,distribution,changeandsoon.Ultrasonictestingisoneofthemethodsofnondestructivetesting.Longago,thepipelinetestinganddetectionofdefectshavealotofbugs.Butnowwiththedevelopmentofthetechnologyandeconomy,itmustbemoreaccuratelyintesting.Soultrasonictestingiscoming.ThisdesignuseSTM32microcontrollertodealwiththedataandtransmitthedatatocomputerbytheBluetooth.Thisisthefunctionofonlinedatacollecting.Thedesignofmechanicalstructure,schematicdiagramanduppermonitor,theyallachievebettercontroleffect.Drivingintheundergroundpipelinedetectionsysteminfrontofthegearmotorrotatethroughthreeultrasonicprobecandetectsignalwell,rotationaweekistoensuresignalintegritydetection,itcandetecteverypipelineinformation.KeyWords:Nondestructivetesting;ultrasonic;microcontroller目錄引言 8第1章緒論 91.1國內(nèi)外研究背景介紹 91.2整體設計思路 9第2章理論基礎及設計原理 102.1設計需要的理論基礎 102.2超聲檢測系統(tǒng)基本原理 102.2.1超聲波介紹 102.2.2超聲檢測 102.3單片機原理 11第3章硬件電路整體設計 133.1系統(tǒng)硬件電路整體設計 133.2重要元器件選用 133.2.1單片機選型 133.2.2供電電源選型 153.2.3藍牙模塊選型 15第4章硬件電路模塊設計 174.1繪圖軟件的介紹 174.2單片機最小系統(tǒng) 174.3單片機電源電路 184.4電機電源電路 194.5信號采集電路 194.6減速電機驅(qū)動電路 19第5章軟件系統(tǒng)設計 215.1系統(tǒng)控制總體流程圖 215.2編程軟件介紹 225.2.1Keil介紹 225.2.2VS2010介紹 225.3在線采集子系統(tǒng)程序設計 225.3.1AD采集程序 225.3.2數(shù)據(jù)處理程序 255.3.3PWM控制程序設計 265.3.4上位機設計 26結論與展望 28致謝 29參考文獻 30附錄 31引言隨著石油和天然氣成為現(xiàn)在的主要能源之一,它的輸送方式是通過管道傳輸?shù)?。目前為止,這是最為安全和經(jīng)濟的方式。然而,管道的輸送也會發(fā)生故障。最近幾年,國內(nèi)外出現(xiàn)的大大小小的管道事故都很嚴重,造成了很多無法挽回的損失,給人民的生命財產(chǎn)安全帶來隱患。國內(nèi)外專家通過研究發(fā)現(xiàn),管道發(fā)生事故和管道使用的時間長短及對它的檢測有著很大的關聯(lián)。研究表明,在管道使用的早期和晚期是事故發(fā)生的高危時間段,特別是晚期,管道發(fā)生事故的可能性隨著使用時間長短的增加而增加,這就需要我們對管道進行周期性檢測,以延長其使用年限并且節(jié)省大量的人力物力。根據(jù)對管道的維護策略,分為被動維護和主動維護。被動維護是等待管道發(fā)生事故之后才進行維護,這樣的話很多事故依然難免發(fā)生,造成難以想象的后果。主動維護是在掌握管道狀況的基本情況下,對其進行定期的檢測,雖然這樣也要消耗很多人力物力,但是總體來說比被動檢測要好很多,很大程度上的避免了事故的發(fā)生。為了防止這類管道事故的繼續(xù)發(fā)生,在主動檢測的基礎上,出現(xiàn)了很多新興的檢測技術和方法,使檢測管道的水平不斷提高,其中超聲波檢測就是很好的一種方法,通過超聲波對管道內(nèi)厚度和損傷進行探查,同時不對管道造成任何損傷,是今后管道檢測技術的發(fā)展方向。第1章緒論1.1國內(nèi)外研究背景介紹隨著世界管道檢測技術的迅速發(fā)展,人們對超聲波檢測的市場需求也進入了日益成熟的階段。目前的管道運輸形式主要有兩種:地下管道運輸和地上管道運輸。地下管道運輸又分為埋地管道運輸和海底管道運輸。不論是埋地管道運輸還是海底管道運輸,他們都會受到環(huán)境的影響,而且在管道外檢測的施工難度巨大,只能依靠先進的技術在管道內(nèi)進行檢測。地上管道運輸檢測相對簡單,可以手動在管道外進行檢測,施工難度較小。1965年國際著名的管道檢測公司TUBOSCOPE史無前例的采用了漏磁檢測器對管道的內(nèi)部進行檢測。在1973年英國天然氣公司BritishGas使用了漏磁檢測器對一條直徑60cm的管道內(nèi)部進行檢測后,新型的檢測技術如雨后春筍般產(chǎn)生出來。同樣的在國內(nèi)也有很多高等院校和研究所在管道超聲波檢測系統(tǒng)上進行了深入的研究,可是在應用上目前還是達不到國外的先進水平。南京理工大學機器人研究所研制了一種用于檢測小口徑石油管道的智能管道檢測機器人,它使用超聲波原理對石油管道的殘余壁厚進行檢測,整個智能檢測系統(tǒng)也分為管內(nèi)和管外兩大部分。該機器體積小,動作靈活,基本達到了在管道內(nèi)的長距離檢測的要求。國內(nèi)外的研究都對將來的管道檢測技術的發(fā)展起到了推動作用,具有長久的前瞻意義,產(chǎn)生現(xiàn)實的經(jīng)濟和社會效益1.2整體設計思路本設計采用三個超聲波探頭對管道進行檢測,這三個超聲波探頭都垂直于管道內(nèi)壁,連接的都是彈性可伸縮連桿,每個連桿之間的角度為120度,確保能最大范圍的檢測,防止遺漏,它可以根據(jù)管道直徑的不同而改變長度從而方便檢測。在三個可伸縮連桿前端加上一個減速電機,控制三個連桿的旋轉(zhuǎn)速度,通過旋轉(zhuǎn),充分檢測到圓周的每一個角度。單片機采用ST公司的STM32F103C8T6,這款32位單片機是CortexM3內(nèi)核,擁有72MHz最大處理頻率、512KbFlash、64KbSRAM,豐富的外設功能,基本能滿足本設計需求。它在現(xiàn)在的各種電子技術研究方面都有應用,有很多的實用例程可以參考,使用非常方便。采集到的數(shù)據(jù)通過單片機處理濾波后通過藍牙模塊發(fā)送到上位機進行顯示。本設計的機械機構圖如圖1-1所示。圖1-1機械結構圖第2章理論基礎及設計原理2.1設計需要的理論基礎本設計屬于綜合性設計,為了實現(xiàn)本次論文的撰寫,需要在很多方面有著非常豐富的知識。首先設計系統(tǒng)的機械機構要對機械設計原理有著基本的理解,這樣才能很好的設計出合理的機構。在電子方面,要對電路知識有著很深刻的理解,尤其是模電數(shù)電知識,同時還需要對單片機掌握的很透徹,不能只限于課本中學過的簡單的51單片機,學習單片機最好的方法就是看英文原版手冊,這一點也很重要。2.2超聲檢測系統(tǒng)基本原理2.2.1超聲波介紹能夠發(fā)出聲音的物體產(chǎn)生的振動在空氣或者其他介質(zhì)中傳播叫做聲波。超聲波是一種頻率高于20KHZ的聲波,它的頻率下限大于人耳的聽覺上限,是人耳所聽不見的一種聲波。它有很好的穿透能力,并且有很好的方向性,在水中的傳播距離更遠,可以用來測量距離,檢測損傷部位等。在醫(yī)學、軍事、工業(yè)、農(nóng)業(yè)等方面都具有非常廣泛的運用。理論研究證明了在振幅相同的條件下,一個物體振動的能量和振動頻率成正比,超聲波在介質(zhì)中傳播時,介質(zhì)質(zhì)點的振動頻率很高,所以能量也很大。2.2.2超聲檢測超聲檢測的原理是因為它能夠檢測超聲波反射回來的回波,每次當超聲波從探頭發(fā)射出來的時候,經(jīng)過測量的物體,最后接觸到管道的分界面時,超聲脈沖就會反射回來,形成超聲回波,為了確定管道的厚度,就必須要測量出從發(fā)出到接收到的時間。如圖2-1和圖2-2所示。超聲波檢測探傷技術可以直接測量并且精確計算出損壞具體位置,更好的減小了系統(tǒng)誤差并且增強了系統(tǒng)的抗干擾性能,超聲波檢測探傷技術的出現(xiàn)推動了地下管道檢測技術的進一步發(fā)展。模擬式超聲管道內(nèi)檢測系統(tǒng)的測厚原理之所以能夠測量管道的厚度,是因為它能夠檢測超聲波反射回來的回波,每次當超聲波從探頭發(fā)射出來的時候,經(jīng)過測量的物體,最后接觸到管道的分界面時,超聲脈沖就會反射回來,形成超聲回波,為了確定管道的厚度,就必須要測量出從發(fā)出到接收到的時間。超聲波能在物體能以一個穩(wěn)定的速度傳播的物質(zhì)和材料都可以用此原理測量出來,可廣泛運用于石油、化工、冶金、造船、航空航天等各個領域,故各種地下管道滿足此要求,可以很好的用超聲檢測測量其管道厚度。模擬式超聲管道內(nèi)檢測系統(tǒng)的探傷原理是利用超聲能透入金屬材料的深處,并由一截面進入另一截面時,在界面邊緣發(fā)生反射的特點來檢查零件缺陷的一種方法,當超聲波束自零件表面由探頭通至金屬內(nèi)部,遇到缺陷與零件底面時就會分別發(fā)生反射波,根據(jù)反射波采集回來的波形判斷缺陷的位置和大小。外壁反射外壁反射內(nèi)壁反射超聲脈沖超聲探頭管道壁圖2-1超聲檢測示意圖外壁反射波外壁反射波內(nèi)壁反射波壁厚投射距離發(fā)射波時間幅度圖2-2超聲檢測波形簡圖2.3單片機原理單片機又叫做微型控制器,它是一種常用的用于控制的器件,并且它相當于把一個小型的計算機主要的部件都集成到一個芯片上??梢苑Q它為微型計算機,計算機和它進行對比的話,僅僅多出部分功能。意思也就是小小的一塊芯片就集成了一臺計算機的功能。它的價格相對便宜而且容易操作,對單片機的學習提供了便利條件。在另一方面,學習使用單片機也可以幫助我們更好的掌握和學習計算機原理與結構。單片機的使用領域已經(jīng)十分的廣泛了,像是在智能儀表、實時通信系統(tǒng)、導航系統(tǒng)、家用電器等。為我們所熟知的51單片機系列是最常用的單片機系列之一,它能很好的運用上英特爾8031的指令,所以之后這種類型的單片機都叫51單片機。這個系列的第一款單片機的出現(xiàn)時英特爾公司的型號8004單片機,以后通過發(fā)展閃存和內(nèi)存技術,此型單片機的發(fā)展更進了一步,它成了后來其中一種使用人數(shù)最多的八位單片機,它的典型產(chǎn)品是艾特梅爾公司的AT89C51,被大量使用在各種電子產(chǎn)品中,很受使用者的歡迎。為了適應大環(huán)境,許多廠商都產(chǎn)出了適用于51系列的兼容產(chǎn)品,這說明了這個系列產(chǎn)品被市場所需求。然而本設計中有各種存在著各種需要處理的部分,如電機控制,藍牙通信控制,數(shù)據(jù)采集處理部分,考慮到本設計要對數(shù)據(jù)進行在線監(jiān)測和各種復雜的控制,所以要選用處理速度更加快速的單片機。綜合考慮本設計的各種需求,32位單片機已經(jīng)能夠很好的達到處理要求。在32位單片機市場上,應用最廣泛的就是STM32系列單片機,最后經(jīng)過實際測試選用STM32F103C8T6。 第3章硬件電路整體設計3.1系統(tǒng)硬件電路整體設計在進行整體的硬件電路設計之前,首先要做的事就是畫出系統(tǒng)整體的硬件框圖,這樣會對我們接下來的設計提供一個很好的思路,了解每一步該怎么做。本設計是由鋰電池供電并帶動兩個電源電路,分別是單片機的電源電路和電機的電源電路,由于單片機的電源供電只有3.3V,不夠帶動電機輸出,所以采用另外的5V電源電路給電機供電。在地下管道超聲檢測系統(tǒng)中,超聲探頭是最為重要的傳感器,它的供電是和單片機使用同一個電路進行供電,將所采集到的信號傳給STM32單片機進行處理。STM32的工作基本電路分為兩個部分,一個是復位電路,另一個是晶振電路。最后所處理的數(shù)據(jù)會經(jīng)過藍牙傳輸給上位機進行顯示觀察。系統(tǒng)每一部分協(xié)調(diào)工作才能完成地下管道超聲檢測的任務,設計總體框圖如圖3-1所示。圖3-1系統(tǒng)硬件電路框圖3.2重要元器件選用3.2.1單片機選型在對單片機的選型上,要充分考慮到地下管道的環(huán)境條件等各種情況進行選型。首先就8位單片機的51系列單片機來說,要驅(qū)動地下管道超聲檢測系統(tǒng)的這些硬件電路,不論是Atmel公司的還是STC公司的51單片機都無法達到合適的要求,同時驅(qū)動這些硬件顯然8位單片機顯得不夠好。再討論16位單片機,常用的16位單片機雖然有很多,但是在電子領域人們大多數(shù)會選擇MSP430單片機進行設計,這款單片機最大的特點就是低功耗功能,可是在本系統(tǒng)中最重要的是實時的數(shù)據(jù)處理能力,要求能夠?qū)崟r處理超聲檢測的信號,顯然16位單片機也無法滿足要求。最后在32位單片機的選擇上,選了STM32F103C8T6這款芯片,它處理速度更快,具有更多的外設接口庫函數(shù),它經(jīng)常作為消費電子,醫(yī)療電子等許多領域的控制器,在地下管道超聲檢測系統(tǒng)中能夠很好的完成所有任務。既然選擇了STM32單片機,就要對它有很好的了解,而了解一個芯片最好的辦法就是去官網(wǎng)上下載它的英文版datasheet和官方庫文件。進入ST公司的官網(wǎng),如圖3-2所示。圖3-2ST官網(wǎng)首頁點擊產(chǎn)品選項,選擇微控制器選項,進入如圖3-3所示的所有單片機展示,選擇STMF1系列,找到本設計需要使用的STM32F103C8T6。圖3-3STM系列單片機選擇官方標準庫文件選項,庫的版本是最新的3.5版本,下載庫文件和使用手冊。如圖3-4所示。圖3-4庫文件下載3.2.2供電電源選型本設計中電源的選擇也是非常重要的,通常有兩種選擇,一種是選擇干電池串聯(lián)進行供電,另外一種是選擇鋰電池進行供電。干電池自身的內(nèi)阻比較大,如果使用干電池供電的話相當于在主電路上加了個電阻,對電流電壓都會造成不同的影響,鋰電池雖然也有這個問題,但是比干電池造成的影響小的多。而且就使用環(huán)境來看,本設計處于地下管道中,環(huán)境潮濕陰暗,會導致干電池電壓不穩(wěn),隨著使用時間的增加,對超聲探頭采集數(shù)據(jù)會造成影響,導致數(shù)據(jù)采集的不完整。綜上所述,應該采用鋰電池來給本系統(tǒng)供電,而本設計所用的鋰電池是無人機航模的1100mah容量11.7V電壓的鋰電池,能夠很好的滿足本設計的要求。3.2.3藍牙模塊選型本設計的數(shù)據(jù)傳輸是使用藍牙進行傳輸?shù)?,由于在地下管道中不能使用有線傳輸信號,從而采用藍牙進行信號的傳輸,當超聲探頭采集到數(shù)據(jù)傳輸給單片機進行處理之后再通過藍牙傳輸給上位機。為了使用的方便,就不對藍牙模塊進行PCB的繪制以及打樣,藍牙是2.4G傳輸?shù)?,涉及到高頻電路的繪制??紤]到時間及各種因素,直接采用市面上常用的藍牙模塊HC-05.此模塊分為兩個部分,一個是接在地下管道超聲檢測系統(tǒng)上的用來連接單片機傳輸數(shù)據(jù)的從模塊,另一個叫做藍牙適配器,是連接在電腦上用來接收單片機傳輸過來的數(shù)據(jù)的。藍牙適配器適用于所有藍牙設備和電腦通信,符合BluetoothV2.0+EDR藍牙標準,理論可以傳輸距離達100米,允許7個藍牙設備同時連接,同時支持WindowsXP,Windows7等通用PC系統(tǒng)。從模塊只有一個藍牙模塊,引出接口包括VCC,GND,TXD,RXD四個引腳。從模塊的輸入電壓要嚴格限定在3.6V到6V之間,禁止超過6V,她的接口電平是3.3V的TTL電平,能夠接到很多類型的MCU上(51,AVR,STM32,MSP430等)。供電電源VCC是5V的MCU,不需要使用MAX232芯片而且不能使用MAX232芯片。當匹配完成時,完全可以當成一個串口來看待,不要知道任意藍牙協(xié)議,它只能使用一種通信格式,就是常見八位數(shù)據(jù)位,一位停止位,沒有奇偶校驗位。收到模塊以后,先進行自收自發(fā)測試,驗證模塊是正常的。自收自發(fā):正常通信時RXD接其他設備的TXD,因此如果要接收自己發(fā)送的數(shù)據(jù)顧名思義,也就是自己接收自己發(fā)送的數(shù)據(jù),即自身的TXD直接連接到RXD,用來測試本身的發(fā)送和接收是否正常,是最快最簡單的測試方法,當出現(xiàn)問題時首先做該測試確定是否產(chǎn)品故障。也稱回環(huán)測試。藍牙模塊在發(fā)貨前都是進行過測試的,默認出廠設置為:波特率9600bps,設備名稱:HC-05,配對密碼:1234。在從模塊上電之后就可以在電腦上進行連接了。第4章硬件電路模塊設計4.1繪圖軟件的介紹目前常用的繪制原理圖的軟件有Protel99,PADS,AltiumDesigner等,為了使用方便,選用最常使用的AltiumDesigner。AltiumDesigner是以前的Protel公司現(xiàn)在改成了Altium公司所開發(fā)的一款電路板繪制軟件,它支持Windows操作系統(tǒng)。AltiumDesigner集成了很多的功能,有原理圖繪制,PCB設計,產(chǎn)生Bom表,鋼網(wǎng)等,給開發(fā)人員帶來了更加快捷的體驗,讓開發(fā)人員能更加投入在電路板的設計上,很好的掌握AltiumDesigner一定會讓開發(fā)人員在圖紙繪制方面的效率提升很多。AltiumDesigner比以前的版本多了很多功能。它對Protel99SE、ProtelDXP等之前的版本內(nèi)容進行了保留,并在設計上提升了很多更加方便的選項。這個軟件增加了很多優(yōu)化的界面,可以讓更多的開發(fā)的人更加方便的使用它。但是AltiumDesigner對電腦的硬件需要之前的所有其它設計軟件都要高很多。4.2單片機最小系統(tǒng)STM32單片機的最小系統(tǒng)由兩個部分組成,分為晶振電路和復位電路。晶振電路是外接的8MHZ晶振,經(jīng)過倍頻可以升到72MHZ。晶振旁接的2個電容是22PF,它們叫做負載電容,一般單片機的晶振工作于并聯(lián)諧振狀態(tài),可以通俗的解釋為它是Resonantcapacitor的一部分。在生產(chǎn)晶振時,廠家往往會說明負載電容的值。也就是說,晶振頻率能夠減小很多誤差,比如說頻率的值和溫度差異。這兩個電容往往都是相等的容值,要不然也就是相差不大,否則會導致很多問題。它們有協(xié)助起振與穩(wěn)定振蕩的作用。一般頻率高的會用較低的電容、頻率低的會用較高的電容。電容過大會使信號衰減、并因吸收能量過大而抑制震蕩。復位電路的原理是NRST引腳是低電平有效,上電復位時芯片需要有一定的時間進行操作,這段時間內(nèi)NRST拉低。復位電路的基本原理就是通過對電容的充電來實現(xiàn)的,即電源通過R1向C3充電,一直到這個電容的電壓充到高電平為止,就可以開始進行工作了。單片機最小系統(tǒng)原理圖如圖4-1所示。圖4-1單片機最小系統(tǒng)STM32程序的下載需要注意兩個地方,第一個是芯片有兩個和程序燒錄相關的特殊引腳:Boot0和Boot1。關于它的設置有三種模式,一是Boot0為低電平Boot1為任意電平的時候表示使用用戶閃存存儲器,也就是Flash啟動;二是Boot0為高電平Boot1為低電平時表示使用系統(tǒng)存儲器,這里適用于串口下載;三是Boot0和Boot1都是高電平時表示從SRAM啟動,用于在SRAM中調(diào)試代碼。這里我們使用的是Jlink進行下載調(diào)試,所以只需要把Boot0接地就可以了。下載需要注意的第二個地方是,使用Jlink要在單片機和Jlink上各引出四根線進行連接,用上插針做成一個獨立的接口模塊,方便下載調(diào)試。下載接口模塊如圖4-2所示。圖4-2下載接口4.3單片機電源電路本設計在供電方面有兩個電路,這個是單片機和超聲探頭的電源電路,供電部分采用一款低噪聲穩(wěn)壓器LP2985,它采用貼片雙列5引腳SOT-23封裝,工作電壓在2.5V到16V,穩(wěn)定輸出電壓為3.3V,正好用來給單片機供電。輸出電流為150ma(電壓差為300mv)或者1ma(電壓差為7mv);關斷時靜態(tài)電流小于1ua。工作溫度為-40到125度。內(nèi)置輸出電流限制和熱關斷保護功能,用低ESR陶瓷電容可使電路穩(wěn)定工作。參考芯片手冊給出的外部電路圖,畫出了如圖4-3所示的單片機電源電路原理圖。圖4-3單片機電源電路圖4.4電機電源電路電機的電源電路芯片選用輸出電壓固定的低壓差三端穩(wěn)壓器,輸出電壓固定在5V正好能夠給超聲檢測系統(tǒng)的減速電機供電,它的最大輸入電壓是26V,所以能夠完美承受供電鋰電池11.7V的電壓。而且此芯片內(nèi)部含有過流限制和電池接反的保護電路。根據(jù)芯片手冊所給出的典型應用電路圖,如圖4-4所示。圖4-4電機電源電路4.5信號采集電路信號采集電路采集到的是三個超聲波探頭傳回的回波信號,這個回波信號是一個模擬量,要對其進行轉(zhuǎn)換,變成單片機能識別的數(shù)字量。參考STM32F103數(shù)據(jù)手冊,由于我們選用的是48個引腳的版本,所以使用PA0,PA1,PA2引腳來作為超聲信號的采樣引腳??紤]到多方面原因,在設計上多設計出了一個引腳作為備用接口,如圖4-5所示。圖4-5超聲波信號接口4.6減速電機驅(qū)動電路地下管道超聲檢測系統(tǒng)運行的時候,由于超聲探頭位置是固定的,不能夠很好的檢測到所有方位的信號,這樣就可能對實際的檢測結果造成影響,為了避免這樣的影響,設計出了在超聲探頭前加上一個減速電機,使系統(tǒng)運行的時候可以帶動超聲探頭的連桿使超聲探頭轉(zhuǎn)動起來,這樣就能夠全方位的檢測信號。本設計的減速電機驅(qū)動電路采用MOS管驅(qū)動,使用AOD409MOS管,它在大電流的情況下依然能夠很好地工作,帶動一個減速電機完全綽綽有余,電路圖如圖4-6所示。單片機PWM接口引出的信號接到三極管Q1上,此三極管起到開關作用,后接一個由Q2,Q3兩個三極管組成的推挽電路。推挽電路結構為雙管工作在線性放大區(qū),其共輸入端,共輸出端。輸入信號正半周信號由NPN上管放大,發(fā)射極輸出;負半周信號由PNP下管放大,發(fā)射極輸出;正半周時,下管截止,負半周時,上管截止,二管各負其責分工明確。輸出端的負載,將正負半周波形合成為一完整波形,增強其帶負載能力。最后的部分接到一個mos管,控制電機的轉(zhuǎn)動,直流電機有兩條線,另外一條接地就可以了。圖4-6減速電機驅(qū)動電路第5章軟件系統(tǒng)設計5.1系統(tǒng)控制總體流程圖整個管道超聲檢測的流程構想是在上電之前連接好所有部分,包括探頭裝置和連桿的連接,連桿和減速電機的連接,探頭采集接口與單片機的連接,藍牙模塊與單片機的連接等。在全部確認連接無誤后,對系統(tǒng)進行上電,檢測系統(tǒng)整體開始在管道內(nèi)移動,為了達到均勻的測量到每一處管道的目的,在移動時,連桿會隨著電機的轉(zhuǎn)動旋轉(zhuǎn),這樣超聲波就能傳到每一個角落,發(fā)現(xiàn)哪些地方有損傷。設計每采樣10個數(shù)據(jù)進行一次數(shù)據(jù)處理并且向上位機發(fā)送一次,這里就涉及到中斷的處理。計數(shù)到10次后中斷觸發(fā),把這10個數(shù)據(jù)進行數(shù)據(jù)處理,也就是濾波。濾波算法是對這10個數(shù)據(jù)進行冒泡排序,并去掉一頭一尾的最大值和最小值,再對剩下的數(shù)據(jù)進行平均值濾波,為的是去除雜波數(shù)據(jù)的干擾。得出來的數(shù)據(jù)即是最后發(fā)送到上位機上的數(shù)據(jù)。程序流程圖如圖5-1所示:開始開始程序初始化超聲波探頭實時采集數(shù)據(jù)數(shù)據(jù)濾波消除雜波藍牙模塊發(fā)送數(shù)據(jù)到上位機單片機數(shù)據(jù)處理成功顯示失敗結束圖5-1總體流程圖5.2編程軟件介紹5.2.1Keil介紹Keil軟件是開發(fā)各種單片機最常見的軟件。它有了很多實用的功能,編譯,下載,在線調(diào)試等。在學習51單片機的時候初次接觸的就是Keil這款軟件,其簡易的使用方法讓初學者很容易上手。在調(diào)試程序時,可以打開幾個Watch窗口,監(jiān)視變量的變化值,對程序調(diào)試起到了很好的幫助,便于我們修改程序以及調(diào)整程序的BUG。在編寫51程序的時候,還可以使用C語言和匯編語言兩種,總之,Keil是一款很實用很強大的軟件。而STM32屬于ARM系列,就需要下載另一種Keil:KeilforARM,這是Keil公司針對STM32和其它ARM系列單片機的MDK,從官網(wǎng)上下載的庫文件就是使用KeilforARM打開的,在進行開發(fā)的時候能非常方便的進行調(diào)試。5.2.2VS2010介紹VisualStudio是微軟公司推出的開發(fā)環(huán)境,是目前最流行的Windows平臺應用程序開發(fā)環(huán)境。VisualStudio2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設計和組織,變得更加簡單明了。VisualStudio2010同時帶來了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持開發(fā)面向Windows7的應用程序。除了MicrosoftSQLServer,它還支持IBMDB2和Oracle數(shù)據(jù)庫。本設計中的上位機軟件就是使用VS2010里的VB功能編寫的。VB是一種面向?qū)ο蟮恼Z言,在調(diào)試接收藍牙傳輸?shù)臄?shù)據(jù)時更加方便快捷。5.3在線采集子系統(tǒng)程序設計5.3.1AD采集程序ADC(AnalogtoDigitalConverter),模擬/數(shù)字轉(zhuǎn)換器。在模擬信號需要以數(shù)字形式進行處理或者傳輸時,ADC幾乎必不可少。STM32在片上集成的ADC外設非常強大。在STM32F103xC系列產(chǎn)品中,內(nèi)嵌3個12位的ADC,每個ADC共用多達21個外部通道,可以實現(xiàn)單次或者多次掃描轉(zhuǎn)換。ADC的結果可以左對齊或者右對齊的方式存儲在16位數(shù)據(jù)寄存器中,模擬看門狗的特性允許應用程序檢測輸入電壓是否超出用戶定義的最大最小閾值。使用ADC的時候很多情況都會有很多的數(shù)據(jù)輸入進來,在別的單片機上出現(xiàn)這種情況的時候就會一一掃描程序,對數(shù)據(jù)進行分析,這樣執(zhí)行的速度會變得很慢。在STM32中,使用ADC的時候一般都是用DMA傳輸數(shù)據(jù),處理速度比掃描執(zhí)行要快上幾倍。關于ADC設置的子程序有兩個部分,一個是對ADC的端口進行配置。如圖5-2所示:開始開始DMA1使能ADC1使能,GPIOA使能配置A0、A1、A2為模擬輸入模式配置結束圖5-2ADC端口配置二是對ADC的模式進行配置,把它配置成DMA模式,如圖5-3所示:開始開始DMA1選擇通道1DMA1外部基地址設置DMA1內(nèi)存地址設置DMA1內(nèi)存地址設置DMA1內(nèi)存數(shù)據(jù)位設置DMA1模式設置DMA1優(yōu)先級設置ADC模式設置ADC禁止掃描模式,開啟連續(xù)轉(zhuǎn)換模式ADC觸發(fā)模式及轉(zhuǎn)換通道數(shù)設置ADC時鐘配置ADC校準ADC使能結束圖5-3ADC模式配置最后在主程序中對ADC采集到的數(shù)據(jù)進行計算得出AD轉(zhuǎn)換后的結果,就是我們需要接下來進行濾波處理的數(shù)據(jù)。如圖5-4所示:循環(huán)采集循環(huán)采集開始調(diào)用ADC1初始化函數(shù)計算ADC轉(zhuǎn)換后的數(shù)值延時結束圖5-4AD采集數(shù)值處理5.3.2數(shù)據(jù)處理程序在數(shù)據(jù)處理上對采集到的數(shù)據(jù)進行冒泡排序算法運算,冒泡排序的基本原理就是對每個數(shù)進行依次的比較,首先對第一個數(shù)和第二個數(shù)進行比較,把得出結果較小的數(shù)放在前面,再分別和第二個、第三個數(shù)進行比較,依此類推,就是把第一個數(shù)和每一個數(shù)都進行比較一次,比較結果小的放在前面。比較完這一輪,第二輪從第二個數(shù)開始繼續(xù)依次和后面的數(shù)比較。將比較繼續(xù)進行下去,最后得出的結果就是所有的數(shù)按從小到大的順序排列了。冒泡排序程序算法如圖5-5所示:否否是否開始程序初始化比較第n個數(shù)和接下來的第一個未比較的數(shù)如果第n+1個數(shù)較小交換這2個數(shù)的位置是否是最后一個數(shù)結束是圖5-5冒泡排序算法5.3.3PWM控制程序設計在PWM控制程序里,最重要的就是PWM占空比的配置,這里有個很重要的公式:時鐘頻率/((TIM_Prescaler+1)*TIM_Period)=輸出頻率,根據(jù)需求計算出TIM_Prescaler=36,也就是36分頻的意思,TIM_Period=9999,也就是當定時器從0計數(shù)到9999,即為10000次,為一個定時周期。更多設置在附錄程序注釋中解釋了出來。5.3.4上位機設計VS2010比VB6.0多出了很多強大的功能,當然也比老版的VB6.0有很多功能改變了。最重要的就是串口接收控件的改變,這是本采集系統(tǒng)的主要控件,在以前的VB6.0中,它的名字叫MSComm,而在VS2010中它則變成了SerialPort,這對開始編寫程序帶來了小小的困難,查閱了各種資料后,發(fā)現(xiàn)實際上兩個控件基本相差不大,也就是幾個函數(shù)的名字稍微變了一下。對SerialPort的編程,是在Button組件下進行的,當點擊Button之后才會進行數(shù)據(jù)的接收。如圖5-6所示:圖5-6SerialPort編程本段程序的意思是讀取數(shù)據(jù)緩沖區(qū)的內(nèi)容,若是數(shù)據(jù)緩沖區(qū)有數(shù)據(jù),則在窗口顯示出來,若是無數(shù)據(jù),則彈出窗口顯示緩沖區(qū)無數(shù)據(jù)。這樣就能很好的監(jiān)測到藍牙模塊發(fā)送過來的數(shù)據(jù)并進行顯示了。程序的窗體架構如圖5-7所示。圖5-7上位機窗體架構程序的實際調(diào)試如圖5-8所示,有兩個主要功能,藍牙模塊上電并連接上自身的TXD和RXD兩個引腳,在發(fā)送區(qū)窗口輸入數(shù)據(jù)并且點擊發(fā)送,在接收區(qū)點擊接收,就會收到發(fā)送的數(shù)據(jù),這個功能主要是測試收發(fā)數(shù)據(jù)的穩(wěn)定性。實際使用時藍牙模塊還是連接單片機,并且只需要點擊接收區(qū)的接收按鈕,就會在接收區(qū)顯示出超聲波模塊傳回來的數(shù)據(jù)了。圖5-8運行調(diào)試界面參考文獻[1]常大海,蔣連生.輸油管道事故統(tǒng)計分析[J].油氣儲運,1995,14(6):48-51.[2]高福慶.管道檢測的必要性[J].管道技術與設備,1998,(1):40-41.[3]高福慶.管道內(nèi)檢測技術應用及發(fā)展[J].石油規(guī)劃設計,2000,11(1):40-41.[4]楊嘉瑜.用于長輸管道檢測的智能清管器[J].石化管道,1992,22(2):17-22.[5]楊理踐,王玉梅,馮海英.智能化管道漏磁檢測裝置的研究[J].無損檢測,2002,24(3):100-102.[6]王玉輝.CPLD技術在時差法超聲波流量計中的應用[J].微計算機信息,2005,8(2):117-120.[7]趙恒凱,方振和,章俊.輸油管道探傷機器人的數(shù)據(jù)采集技術[J].無損檢測,2002,10(6):358-365.[8]路勇.超聲測距原理在液壓缸行程檢測中的分析及應用研究[D].山西:太原理工大學,2003.[9]單董娟,羅超超.基于超聲波的地下管道探測研究[J].卷宗,2016(4).[10]劉鎮(zhèn)清,黃瑞菊.薄板聲—超聲檢測超聲傳播模式的實驗研究[J].聲學學報,2000(3):268-273.[11]朱武.功率超聲振動系統(tǒng)的參數(shù)識別及其控制的研究[D].黑龍江:哈爾濱工業(yè)大學,1999.[12]何元安.大型水下結構近場聲全息的理論與實驗研究[D].黑龍江:哈爾濱工程大學,2001.[13]李晶,顧曉莉.基于STM32的城市地下管道檢測系統(tǒng)[J].中國新通信,2013(22):89-90.[14]朱玉芳,施祖康.智能管道檢測機器人[J].機械制造,2003,41(463):13-14.[15]APipelinedArchitectureforHighSpeedAutomatedNDE,C.Fritsch,IEEEUltrasonicsSymposium,1995.[16]ANewGenerationofUltrasonicIn-lineInspectionToolsforDetectingSizingandLocatingMetalLossandCracksinTransmissionpipelines,KReber,IEEEUltrasonicSymposium,2002附錄主要程序:voidADC1_GPIO_Config(void){ GPIO_InitTypeDefGPIO_InitStructure; /*EnableDMAclock*/ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE); /*EnableADC1andGPIOCclock*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_GPIOA,ENABLE); /*ConfigurePC.01asanaloginput*/ GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; GPIO_Init(GPIOC,&GPIO_InitStructure); }voidADC1_Mode_Config(void){ DMA_InitTypeDefDMA_InitStructure; ADC_InitTypeDefADC_InitStructure; /*DMAchannel1configuration*/ DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr=ADC1_DR_Address; //ADC地址 DMA_InitStructure.DMA_MemoryBaseAddr=(u32)&ADC_ConvertedValue;//內(nèi)存地址 DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize=1; DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;//外設地址固定 DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Disable;//內(nèi)存地址固定 DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord; //半字 DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord; DMA_InitStructure.DMA_Mode=DMA_Mode_Circular; //循環(huán)傳輸 DMA_InitStructure.DMA_Priority=DMA_Priority_High; DMA_InitStructure.DMA_M2M=DMA_M2M_Disable; DMA_Init(DMA1_Channel1,&DMA_InitStructure); /*EnableDMAchannel1*/ DMA_Cmd(DMA1_Channel1,ENABLE); /*ADC1configuration*/ ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//獨立ADC模式 ADC_InitStructure.ADC_ScanConvMode=DISABLE;//禁止掃描模式,掃描模式用于多通道采集 ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;//開啟連續(xù)轉(zhuǎn)換模式,即不停地進行ADC轉(zhuǎn)換 ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None; //不使用外部觸發(fā)轉(zhuǎn)換 ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right; //采集數(shù)據(jù)右對齊 ADC_InitStructure.ADC_NbrOfChannel=1;//要轉(zhuǎn)換的通道數(shù)目1 ADC_Init(ADC1,&ADC_InitStructure); /*配置ADC時鐘,為PCLK2的8分頻,即9Hz*/ RCC_ADCCLKConfig(RCC_PCLK2_Div8); /*配置ADC1的通道11為55. 5個采樣周期,序列為1*/ ADC_RegularChannelConfig(ADC1,ADC_Channel_11,1,ADC_SampleTime_55Cycles5); /*EnableADC1DMA*/ ADC_DMACmd(ADC1,ENABLE); /*EnableADC1*/ ADC_Cmd(ADC1,ENABLE); /*復位校準寄存器*/ ADC_ResetCalibration(ADC1); /*等待校準寄存器復位完成*/ while(ADC_GetResetCalibrationStatus(ADC1)); /*ADC校準*/ ADC_StartCalibration(ADC1); /*等待校準完成*/ while(ADC_GetCalibrationStatus(ADC1)); /*由于沒有采用外部觸發(fā),所以使用軟件觸發(fā)ADC轉(zhuǎn)換*/ ADC_SoftwareStartConvCmd(ADC1,ENABLE);}//ADC1轉(zhuǎn)換的電壓值通過MDA方式傳到SRAMextern__IOuint16_tADC_ConvertedValue;//局部變量,用于保存轉(zhuǎn)換計算后的電壓值 floatADC_ConvertedValueLocal;//軟件延時voidDelay(__IOuint32_tnCount){for(;nCount!=0;nCount--);}intmain(void){ /*enableadc1andconfigadc1todmamode*/ ADC1_Init(); while(1) { ADC_ConvertedValueLocal=(float)ADC_ConvertedValue/4096*3.3;//讀取轉(zhuǎn)換的AD值 Delay(0xffffee);//延時 }}//獲取ad值并進行濾波/***********冒泡排序**********/for(i=0;i<3;i++)//1,2,3三個超聲波傳感器{for(j=0;j<N;j++)//N個數(shù)據(jù)排序{for(k=0;k<N-j;k++){if(AD_data[i][k]>AD_data[i][k+1])//前面的比后面的大則進行交換{AD_temp=AD_data[i][k];AD_data[i][k]=AD_data[i]

溫馨提示

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

評論

0/150

提交評論