第一篇:超聲波測距儀-實習總結
電子實習總結
2010-2011學年第一學期,08級電氣工程及其自動化專業電子實習與09級電氣工程及其自動化專業數字電子技術課程設計,所采用的題目均是“超聲波無線測距儀設計”。該題目是貫徹機電系教學改革精神,根據實踐教學要求,新近設計研發的實習內容。經過兩周的實習過程,對于其中一些進步的方面與發現的問題進行總結,以便為接下來的教改工作提供有價值的參考。
對于此次設計過程,一些收獲令人滿意:
第一,從教師團隊的角度來說,是一次比較成功的鍛煉機會。無論對于設計研發的老師,還是對參與實習指導的老師,都從中得到了全方面的提高。相對于原先的教學套件,本設計從理論基礎,到軟硬件設計,老師們都能夠做到深刻理解,熟練掌握。因此在實習過程中,指導的針對性相較以往,有了明顯的進步。學生反響較好。同時,在實習結束時進行答辯,有效的提高了教師對于學生掌握實踐效果的認識,能夠更好的指導下一步的工作。
第二,從學生角度來說,一周的時間,嚴格按照實習大綱安排,進行了全方面的理論學習,到元器件焊接,最后進行設計分組答辯。時間緊湊,內容充實。從實習答辯過程與實習報告的反饋來看,大家都能夠做到主動思考,積極求解。尤其是對于一些成績相對較差的學生,在實習過程中表現非常主動,令人印象深刻。尤其在答辯過程中,將固定的“老師問——學生答”方式實現反轉,變成“學生問——教師答——教師問——學生答”,用答疑的方式,鼓勵學生們發現問題,解決問題。這種嘗試,對于實習過程總結與提高意義重大。尤其是鼓勵每名同學積極主動的尋找問題,用啟發式的問題促進每個人去思考問題,符合我們教學改革的目的。同時,讓每名老師的身份由“考官”變為考生,也能夠很好的促進教師們的學習能力,為更好的了解學生所想,打下基礎。建議將此經驗進行系內教研討論。
第三,從系部角度來說,由于教學改革勢在必行,因此由任課教師設計有針對性的實習內容也是大勢所趨。第一步的邁出,為今后的更多更好的題目研發做了鋪墊,也會促進更多的教師積極參與其中。未來的電子實習與課程設計,應該為所有學生提供豐富的題目選擇,滿足不同的興趣愛好。同時,更多的實習題目,也為畢業設計提供了豐富的素材,對于一些校企合作項目,或者橫向與縱向課題的研發,打下了基礎。
當然,任何過程都有兩面性,在兩周的設計過程中,也會發現一些問題,在此進行梳理,有利于日后工作的改進:
第一,實習進度安排過緊,參與的教師與學生時間緊張。由于教學計劃安排,將電子實習與課程設計,統一安排到期末時間段,難免造成時間沖突或者實驗場地的爭搶問題。特別對于指導教師的參與數量,會出現一名教師,同時負責多個設計或實習的情況,并且期末階段,同樣有監考,閱卷任務,因此難免顧此失彼,大大降低指導的效果。在此建議,不妨在教學計劃的制定過程中,將電子實習或者課程設計推后一個學期,即在課程完成的第二個學期期中階段,開始實踐教學。優點在于一方面不造成人員或者時間沖突,另一方面也有利于加強學生們對于課程的持續性記憶。
第二,教師團隊的配合需要進一步加強。由于第一次原創實習題目的設計,時間比較倉促,因此從方案制定到方案驗證,最后到器件的選購,都需要一個熟悉的過程。臨近實習時間,才將整個過程結束,所以耽誤了參與指導的教師提前學習的機會。因此,對于今后相關的課程設計或者電子實習,建議在每個學期的期末,由設計負責人定下實習題目,并且利用假期時間進行方案整理與設計,在新學期開始,即開始進入方案的實施與操作。出現問題,也有充裕時間解決,同時也便于參與的教師有充足時間進行自主學習與討論。
第三,設計研發費用的問題。本次課程設計的研發費用由老師先行墊付,所有參與指導的教師材料費,也一并歸并到學生們的材料費當中。希望系部能夠對于研發啟動資金予以支持,由于設計題目相對較小,所以研發費用相對較少,但是對于參與設計的教師會有一種精神鼓勵。否則,如果單純靠教師的個人付出,可能會有一些難度。
第四,指導教師的組成問題。本次課程設計,每個班級由一名教師負責。明顯感覺人手緊張,建議遵循領導意見,最多每名教師負責20名學生的指導工作。可以調動實驗員的參與度,讓更多實驗員老師參與到指導過程,提高其工作量的同時,也增強了理論與實踐結合的能力。第五,答辯方式的選擇問題。本學期的答辯過程,采用的是分組答辯方式,由于準備相對倉促,學生對于相關的知識背景了解較少。在此建議,對于不同學科的實習工作,由任課老師在授課過程中,很好的結合相關設計內容進行說明,從而使同學們在實踐過程中做到“熟悉——理解——掌握”。避免出現為了應付成績,而相互敷衍的不良效果。
綜上所述,只要每名教師都能夠擔負起主人翁意識,相信我們會有一個更加團結的隊伍,整個教學過程也會更加富有成效。我們會繼續努力的!
簽名:
****年**月**日
第二篇:超聲波測距總結
超聲波測距
超聲波傳感器用于超聲控制元件,它分為發射器和接收器。發射器將電磁振蕩轉換為超聲波向空氣發射,接收器將接受的超聲波進行聲電轉換變為電脈沖信號。實質上是一種可逆的換能器,即將電振蕩的能量轉換為機械振蕩,形成超聲波;或者有超聲波能量轉換為電振蕩。常用的傳感器有T40-XX和R40-XX系列,UCM-40T和UCM-40R系列等;其中T代表發射傳感器,R代表接收傳感器,40為中心頻率40KHZ。
超聲波的傳播速度
縱波、橫波及表面波的傳播速度取決于介質的彈性常數以及介質的密度。
1.液體中的縱波聲速:
C1=
k/?
2.氣體中的縱波聲速:
C2=
P·?/?
式中:K——體積彈性模量
?——熱熔比
P——靜態壓力
?——密度
注:氣體中聲速主要受溫度影響,液體中聲速主要受密度影響,固體中聲速主要受彈性模量影響;一般超聲波在固體中傳播速度最快,液體次之,氣體中傳播速度最慢。超聲波測距原理
通過超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播時碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為v ,而根據計時器記錄的測出發射和接收回波的時間差△t ,就可以計算出發射點距障礙物的距離S ,即: S = v·△t /2
這就是所謂的時間差測距法 或:
由于超聲波也是一種聲波, 其聲速C與溫度有關,表1列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大, 則可認為聲速是基本不變的。常溫下超聲波的傳播速度是334 米/秒,但其傳播速度V 易受空氣中溫度、濕度、壓強等因素的影響,其中受溫度的影響較大,如溫度每升高1 ℃, 聲速增加約0.6 米/ 秒。如果測距精度要求很高, 則應通過溫度補償的方法加以校正(本系統正是采用了溫度補償的方法)。已知現場環境溫度T 時, 超聲波傳播速度V 的計算公式為:
V = 331.45 + 0.607T
聲速確定后, 只要測得超聲波往返的時間,即可求得距離。這就是超聲波測距儀的機理。
超聲波發生器可以分為兩類:
1、使用電氣方式產生超聲波;
2、用機械方式產生超聲波。電氣方式包括壓電型,磁致伸縮型和電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各有不同,因而用途也各有不同。目前較為常用的是壓電式超聲波發生器,其又可分為兩類:(1)順壓電效應:某些電介物質,在沿一定方向上受到外力作用而變形時,內部會產生極化現象,同時在其表面上會產生電荷;當外力去掉后,又從新回到不帶電的狀態,這種將機械能轉換為電能的現象稱順壓電效應(超聲波接收器的工作原理)。(2)逆壓電效應:在電介質的極化方向上施加電場,會產生機械變形,當去掉外加電場時,電介質的變形隨之消失,這種將電能轉化為機械能的現象稱逆壓電效應(超聲波發射器的工作原理)。
系統框圖
超聲波發射電路 方案一
利用555定時器構成多謝振蕩器產生40KHz的超聲波。如下圖為555定時器構成的多謝振蕩器,復位端4由單片機的P0.4口控制,當單片機給低電平時,電路停振;當單片機給高電平時電路起振。接通電源后,電容C2來不及充電,6腳電壓Uc=0,則U1=1,555芯片內部的三極管VT處于截止狀態。這時Vcc經過R3和R2向C2充電,當充至Uc=2/3Vcc時,輸出翻轉U1=0,VT導通;這時電容C2經R2和VT放電,當降至Uc=1/3Vcc時,輸出翻轉U1=1.C2放電終止、又從新開始充電,周而復始,形成振蕩。其振蕩周期t1和放電時間t2有關,振蕩周期為:
T=t1+t2?0.7(R3+2R2)C2
f=1/T=1/(t1+t2)?1.43/(R3+2R2)C2=40KHz 有上面公式可知,555多諧振蕩器的振蕩頻率由R2,R3,C2來確定。所以在電路設計時,先確定C2,R2的取值,即C2=3300pf,R2=2.7K?。再將R2和C2的值代入上式中可得:
R3=1.43/C2·f-2R2 為了方面在實驗中使用555芯片的3腳輸出40KHz的方波,在這里將其用10K的電位器代替。
為了增大U1的輸出功率,將555芯片的8腳接+12v的電壓,同時將其復位端4腳接高電平,使用示波器觀察555芯片3腳的輸出波形,通過調節電位器R3的阻值,使其輸出波形的頻率為40KHz。
方案二
該超聲波發射電路,由F1至F3三門振蕩器在F3的輸出為40KHz方波,工作頻率主要由C1、R1和RP決定,用RP可調電阻來調節頻率。F3的輸出激勵換能器T40-16的一端和反相器F4輸出激勵換能器T40-16(反饋耦合元件)的另一端,因此,加入F4使激勵電壓提高了一倍。電容C2、C3平衡F3和F4的輸出使波形穩定。電路中的反相器用CC4069六反相器中的四個反相器剩余兩個不用(輸入端應接地)。電源用9V疊層電池;測量F3輸出頻率應為40KHz,否則應調節RP,發射波信號大于8m。
方案三
該超聲波發射電路由VT1、VT2組成正反饋振蕩器。電路的振蕩頻率決定于反饋元件的T40-16,其諧振頻率為40KHz;頻率穩定性好,不需做任何調整,并由T40-16作為換能器發出40KHz的超聲波信號;電感L1與電容C2調諧在40KHz起作諧振作用。本電路電壓較寬(3v至12v),且頻率不變。電感采用固定式,電感量5.1mH,整工作電流約25mA,發射超聲波信號大于8m。
方案四
該發射電路主要有四與非門電路CC4011完成諧振及驅動電路功能,通過超聲波換能器T40-16輻射出超聲波去控制接收器。其中門YF1和門YF2組成可控振蕩器,當S按下時,振蕩器起振,調整RP改變振蕩器頻率為40KHz;振蕩信號分別控制由YF3、YF4組成的差相驅動器工作,當YF3輸出高電平時,YF4輸出低電平,當YF3輸出低電時,YF4輸出高電平。此電平控制T40-16換能器發出40KHz超聲波。電路中YF1至YF4采用高速CMOS電路74HCOO四與門電路,該電路特點是輸出驅動電流大(大于15mA),效率高等;電路工作電壓9V,工作電流大于35mA,發射超聲信號大于10m。
方案五
本電路采用LM386對輸出信號進行功率放大,LM386多用于音頻放大,而在本電路中用于超聲波發射。如圖所示,LM386第1腳和第8腳之間串接的E1和R1,使電路獲得較大的增益;TO為單片機輸入口的脈沖信號,經功率放大后由5腳輸出,驅動探頭發射超聲波。
超聲波接收器模塊 方案一
超聲波接收傳感器通過壓電轉換的原理,將由障礙物返回的回波信號轉換為電信號,由于該信號幅度較小(幾到幾十毫伏),因此須有低噪聲放大、40kHz帶通濾波電路將回波信號放大到一定幅度,使得干擾成分較小,其電路如下所示。在此電路中,為了防止在超聲波接收器上始終加有一直流信號讓其工作導致傳感器的壽命縮短,從而加上一隔直電容C4,從而C4和R5構成濾波電路。
在電路中,放大部分采用的是高速型運放TL084。綜合考慮了反相放大器、同相放大器和測量放大器的優缺點后,最終選擇了同相放大電路。因為同相放大器的理想輸入阻抗為無窮大,理想輸出阻抗為零,其帶負載能力較強等因素。在此電路中,根據同相放大器的閉環增益公式:Af=1+Rf/Rr 由于接收到的信號幅度為幾到幾十毫伏,所以需要將其放大400多倍使得其接收到的40KHz信號不會被干擾信號給掩蓋。為了防止引起運算放大器的自激振蕩,在第一級的放大電路中,R7取值為470 K?,R8取值為10K?,其增益放大: Af1=1+R7/R8=48 在第二級放大電路中,R11的取值為100K?,R12的取值為10K?,其放大增益: Af2=1+R11/R12=11 兩級增益為:Af=Af1·Af2=528 同相放大器的平衡電阻R6和R10的取值均為10K?。平衡電阻公式為:
Rp=Rf/(Rf+Rr)C5和R9構成了一階濾波電路。
方案二
該電路主要有集成電路CX20106A和超聲波換能器TCT40-10SI構成。利用CX20106A做接收電路載波頻率為38KHz;通過適當的改變C7的大小,可以改變接收電路的靈敏度和抗干擾能力。
工作原理:當超聲波接收探頭接收到超聲波信號時,壓迫壓電晶體做振動,將機械能轉化成電信號,由紅外線檢波接收集成芯片CX20106A接收到電信號后,對所接信號進行識別,若頻率在38KHz至40KHz左右,則輸出為低電平,否則輸出為高電平。
方案三
雙穩式超聲波接收電路
電路中,由VT5、VT6及相關輔助元件構成雙穩態電路,當VT4每導通一次(發射機工作一次),觸發信號C7、C8向雙穩電路送進一個觸發脈沖,VT5、VT6狀態翻轉一次,當VT6從截止狀態轉變成導通狀態時,VT5截止,VT7導通,繼電器K吸合???調試時,在a點與+6V(電源)之間用導快速短路一下后松開,繼電器應吸合(或釋放),再短路一下松開,繼電器應釋放(或吸合),如果繼電器無反應,請檢查雙穩電路元件焊接質量和元件 參數。
方案四
單穩式超聲波接收電路
本電路超聲波換能器R40-16諧振頻率為40kHZ,經R40-16選頻后,將40kHZ的有用信號(發射機信號)送入VT1至VT3組成的高通放大器放大,經C5、VD1檢出直流分量,控制VT4和VT5組成的電子開關帶動繼電器K工作。由于該電路僅作單路信號放大,當發射機每發射一次超聲波信號時接收機的繼電器吸合一次(吸合時間同發射機發射信號時間相同),無記憶保持功能。可用作無線遙控攝像機快門控制、兒童玩具控制、窗簾控制等。電路中VT1β≥200,VT2≥150,其他元件自定。本電路不需要調試即可工作。如果靈敏度和抗干擾不夠,可檢查三極管的β值與電容C4的容量是否偏差太大。經檢測,配合相應的發射機,遙控距離可達8m以上,在室內因墻壁反射,故沒有方向性。電路工作電壓3V,靜態電流小于10mA。
方案五
在本接收電路中,結型場效應VT1構成高速入阻抗放大器,能夠很快地與超聲波接收器件B相匹配,可獲得較高接收靈敏度及選頻特性。VT1采用自給偏壓方式,改變R3的阻值即可改變VT1的工作點,超聲波接收器件B將接收到的超聲波轉換為相應的電信號,經VT1和VT2兩極放大后,再經VD1和VD2進行半波整流為直流信號,由C3積分后作用于VT3的基極,使VT3由截止變為導通,其集電極輸出負脈沖,觸發器JK觸發D,使其翻轉。JK觸發器Q端的電平直接驅動繼電器K,使K吸合或釋放;由繼電器K的觸點控制電路的開關。
盲區形成的原因及處理
1、探頭的余震及方向角。發射頭工作完后還會繼續震一會,這是物理效應,也就是余震。余震波會通過殼體和周圍的空氣,直接到達接收頭、干擾了檢測;通常的測距設計里,發射頭和接收頭的距離很近,在這么短的距離里超聲波的檢測角度是很大的,可達180度。
2、殼體的余震。就像敲鐘一樣,能量仍來自發射頭。發射結束后,殼體的余震會直接傳導到接收頭,這個時間很短,但已形成了干擾。(注:不同的環境、溫度對殼體的硬度和外形會有所變化,導致余震時間會略有改變)
3、電路串擾。超聲波發射時的瞬間電流很大,瞬間這么大的電流會對電源有一定影響,并干擾接收電路。通常這三種情況情況在每次超聲波發射時都會出現,即超聲波在發射的時候,是一個高壓脈沖,并且脈沖結束后,換能器會有一個比較長時間的余震,這些信號根據不同的換能器時間會有不同,從幾百個uS到幾個mS都有可能,因此在這個時間段內,聲波的回波信號是沒有辦法跟發射信號區分的.因此,被測物體在這個范圍內,回波和發射波區分不開,也就無法測距,從而形成了盲區.。
在硬件方面通常將超聲波轉換器之間的距離適當增大來減少盲區的范圍;如果發射探頭和接收探頭分開,收發不互相影響,必須要求發射電路和接收電路的地線隔離很好,發射信號不會通過地線串擾過去,否則也是不能減小盲區的。
在軟件中的處理方法就是,當發射頭發出脈沖后,記時器同時開始記時。我們在記時器開始記時一段時間后再開啟檢測回波信號,以避免余波信號的干擾。等待的時間可以為1ms左右。更精確的等待時間可以減小最小測量盲區。(注:超聲波探頭方向角越小、發射頭和接收頭位置越遠,盲區就越小,測量距離也就越小)
第三篇:超聲波個人總結
超聲波總結
自2005年從事超聲波檢測工作以來,我認為超聲波檢測的難點主要在于:焊接質量受人的因素和環境的影響很大,超聲波檢測時有未焊透、未熔合、裂紋、氣孔和夾渣等焊接缺陷產生的回波,也可能有焊縫內成型(內凹或內凸)和錯邊產生的回波。有些回波信號在探傷儀示波屏上出現的位置相同或相近,有的形態又很相似,給檢測工作識別帶來了難度,有可能造成誤判、漏判。超聲波檢測前應對有關被檢測工件的情況(如:焊接工藝、坡口形式、鈍邊高度、鈍邊間隙等)進行了解。分析缺陷產生的可能性及其產生在焊縫中的部位,正確判斷反射回波;可以防止焊縫中缺陷的漏檢、誤檢,同時結合探頭的掃查方式觀察缺陷的動態回波變化特點。
超聲波探傷對缺陷的判斷,主要是依賴于對示波屏上顯示的反射回波的鑒別。當認定某一回波是缺陷反射波后,在不同的方向上對該缺陷進行探測,根據缺陷波形狀和高度的變化,結合缺陷的位置和焊接工藝,才能對缺陷性質大小進行綜合判斷。而實際探傷過程當中示波屏上往往有大量回波信號,所以第一步從大量反射回波中找出真正的缺陷波是至關中要的。
然而在實際超聲波探傷工作中,示波屏上除了這些缺陷信號外還同時存在著許多其它非缺陷回波信號,也就是偽缺陷波。通常探傷中所占比例要大大高于真實缺陷比例。這些偽缺陷波的存在一方面容易造成探傷者的誤判,造成不必要的人力、財力浪費延誤工期;另一方面,它們也同時影響檢驗精度,容易造成漏檢影響了檢驗質量,為
將來安全運行埋下隱患,所以必須把示波屏上的缺陷信號和其它非缺陷回波信號區分開來。實際探傷中,我認為一般是由探傷儀器、探頭雜波、工件輪廓回波、耦合劑反射波以及其它一些波等引起的非缺陷回波信號。仔細正確的識別缺陷信號和其它非缺陷回波信號對今后超聲波檢測工作會有很大幫助。
以上是我從業以來對超聲波檢測工作的一點心得體會,工作中發現自己的專業知識和理解能力還需要繼續加強。在今后的工作中,我會加強學習專業知識,對新型鋼超聲波檢測及新標準繼續學習。
崔海峰
2011年09月12日
第四篇:具有實時語音播報功能的超聲波測距儀(C程序)
#include
//調用單片機頭文件
#define uchar unsigned char //無符號字符型 宏定義 變量范圍0~255 #define uint unsigned int //無符號整型 宏定義 變量范圍0~65535 #include
//數碼管段選定義
0
7
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};//斷碼 //數碼管位選定義
uchar code smg_we[]={0xe0,0xd0,0xb0,0x70};uchar dis_smg[8]
={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
sbit smg_we1 = P3^4;
//數碼管位選定義 sbit smg_we2 = P3^5;sbit smg_we3 = P3^6;sbit smg_we4 = P3^7;
sbit c_send
= P3^2;//超聲波發射 sbit c_recive = P3^3;//超聲波接收
uchar smg_i = 3;
//顯示數碼管的個位數 bit flag_300ms;
long distance;
//距離 uint set_d;
//距離
uchar flag_csb_juli;
//超聲波超出量程
uint flag_time0;
//用來保存定時器0的時候的/***********************語音模塊控制IO口的定義************************/ sbit VRST = P2^3;sbit VBUSY= P2^7;sbit VSDA = P2^6;sbit VCS = P2^5;
sbit VSCL = P2^4;uchar yujing[3];
/***************************
語音地址的安排 0-9 :
對應數字0到9 0b
: 點 0c
: 米
0d
: 已超出量程 **************************/
/***********************1ms延時函數*****************************/ void delay_1ms(uint q){ uint i,j;for(i=0;i for(j=0;j<120;j++);} /***********************小延時函數**************************/ void delay_us(unsigned int us){ while(us--){ _nop_();} } /***********************三線發碼子程序************************/ void Send_threelines(unsigned char addr){ unsigned char i;VRST=0;delay_1ms(5);VRST=1;delay_1ms(20);/* 復位拉高20ms*/ VCS=0;delay_1ms(5);/* 片選拉低5ms */ for(i=0;i<8;i++){ VSCL=0; if(addr&0x01) { VSDA=1; } else VSDA=0; addr>>=1; delay_us(150);/* 150us */ VSCL=1; delay_us(150);/* 150us */ } VCS=1;delay_1ms(200);while(VBUSY == 0); //忙等待 } /***********************數碼位選函數*****************************/ void smg_we_switch(uchar i){ switch(i){ case 0: smg_we1 = 0;smg_we2 = 1;smg_we3 = 1;smg_we4 = 1;break; case 1: smg_we1 = 1;smg_we2 = 0;smg_we3 = 1;smg_we4 = 1;break; case 2: smg_we1 = 1;smg_we2 = 1;smg_we3 = 0;smg_we4 = 1;break; case 3: smg_we1 = 1;smg_we2 = 1;smg_we3 = 1;smg_we4 = 0;break;} } /***********************數碼顯示函數*****************************/ void display(){ static uchar i; i++;if(i >= smg_i) i = 0; smg_we_switch(i);//位選 P1 = dis_smg[i]; //段選 } /******************小延時函數*****************/ void delay(){ _nop_(); //執行一條_nop_()指令就是1us _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();} /*********************超聲波測距程序*****************************/ void send_wave(){ c_send = 1; //10us的高電平觸發 delay();c_send = 0; TH0 = 0; //給定時器0清零 TL0 = 0;TR0 = 0; //關定時器0定時 while(!c_recive); //當c_recive為零時等待 TR0=1;while(c_recive) //當c_recive為1計數并等待 { flag_time0 = TH0 * 256 + TL0; if((flag_time0 > 40000)) //當超聲波超過測量范圍時,顯示3個888 { TR0 = 0; flag_csb_juli = 2; distance = 888; break; } else { flag_csb_juli = 1; } } if(flag_csb_juli == 1){ TR0=0; //關定時器0定時 distance =flag_time0; //讀出定時器0的時間 distance *= 0.017; // 0.017 = 340M / 2 = 170M = 0.017M 算出來是米 if((distance > 500)) //距離 = 速度 * 時間 { distance = 888; //如果大于3.8m就超出超聲波的量程 } } } /***********************處理距離函數****************************/ void smg_display(){ dis_smg[0] = smg_du[distance % 10]; //距離取出來放在緩沖區了 dis_smg[1] = smg_du[distance / 10 % 10];dis_smg[2] = smg_du[distance / 100 % 10] & 0x7f;yujing[0] = distance % 10; //距離放到語音的變量里 yujing[1] = distance / 10 % 10; yujing[2] = distance / 100 % 10;} /*********************定時器0、定時器1初始化******************/ void time_init() { EA = 1; //開總中斷 TMOD = 0X11; //定時器0、定時器1工作方式1 ET0 = 0; //關定時器0中斷 TR0 = 1; //允許定時器0定時 ET1 = 1; //開定時器1中斷 TR1 = 1; //允許定時器1定時 } /***************主函數*****************/ void main(){ static uchar value = 5;P0 = P1 = P2 = P3 = 0xff; //初始化單片機IO口為高電平 send_wave();//測距離函數 smg_display();//處理距離顯示函數 time_init();//定時器初始化程序 send_wave();//測距離函數 send_wave();//測距離函數 while(1){ if(flag_300ms == 1) { flag_300ms = 0; send_wave();//測距離函數 smg_display();//處理距離顯示函數 value ++; if(value > 10)//3秒鐘自動播放一次 { value = 0; if(distance == 888) { Send_threelines(0x0d); //語音播放已超出量程 } else { Send_threelines(yujing[2]); //語音播放 Send_threelines(0x0b); Send_threelines(yujing[1]); Send_threelines(yujing[0]); Send_threelines(0x0c); } } } } } /*********************定時器1中斷服務程序************************/ void time1_int()interrupt 3 { static uchar value; //定時2ms中斷一次 TH1 = 0xf8;TL1 = 0x30; //2ms display();//數碼管顯示函數 value++;if(value >= 150){ value = 0; flag_300ms = 1;} } 紅外測距儀總結報告 一、摘要: 本次設計任務是設計一個紅外測距電路,它由硬件和軟件兩部分組成,硬件部分包括發射模塊和接收模塊,先由stc8051單片機產生一個1khz的信號,經紅外發射管發射,碰到障礙物后返回,接收管接收到信號通過放大、濾波、峰值檢波、AD轉換后傳回單片機,單片機即可通過判斷接收電壓的大小來確定距離。軟件部分包括信號產生、AD接收、數據處理、液晶顯示。 關鍵詞: STC8051 紅外測距 二、電路總體方案: 1、發射部分: 用單片機產生一個1khz的信號經紅外發射管發射。因為用單片機產生信號方便控制盒調節,電路也更加簡單。 2、接收部分: 采用±5v雙電源供電,利用LM358芯片進行雙電源放大,因放大倍數在20至40倍之間即可,所以只需經過一級放大。 濾波部分: 由于經過放大以后的信號還有很多雜波,而我們需要的是接收到的1khz的信號,一般的濾波器很難解決干擾問題,所以直接選用有源二階帶通濾波器。 峰值檢波部分: 根據要求的精度為5mm,最簡單的峰值檢波電路即可勝任,出于節約成本的考慮,決定不用帶運放的高精度檢波電路,假如還要進一步提升測量精度,就需要選用更好的峰值檢波電路。 AD轉換部分: 由于所買單片機缺少AD轉換模塊,另購帶PCF8591芯片的AD轉換模塊外接到單片機與電路板之間來實現AD轉換。簡化了軟件編程中繁雜的IO口編程。 單片機控制部分: AD轉換的數字信號傳入單片機,通過軟件采用查表發進行處理,得出正確的距離。 三、硬件設計: 1.紅外發射管電路設計: 1.1 紅外發射管原理 由STC8051的定時器產生一個1KHZ的方波,用 一個三極管驅動,將信號傳送到紅外發射管上。 1.2 紅外發射管外圍電路和元件參數設計 注:通過R3的調節改變測量范圍。 1.3紅外接收管電路設計: 紅外接收管接受的信號只有一百毫伏左右,而 且還有很多干擾,需要先放大在帶通濾波,單片機只能接受信號,所以 還需要通過峰值檢波輸出一個直流電壓,經pcf8591 芯片轉換成數字信 號輸入單片機進行處理。 2.放大器的設計 2.1放大器的工作原理: 考慮到題目測量范圍和接收到的信號大小,選取放大倍數為30倍左右,倍數太大會出現波形失真,是測量范圍的最短距離變小,倍數太小信號強度不夠,則能測量的最遠距離會變小,放大倍數: B=Rf / Rb =30; 3.關于有源二階帶通濾波器的設計: 則令C = C3 = C4,則 Rep = R5 / / R6 =(R5 * R6)/(R5 + R6) 品質因素Q等于中心頻率除以帶寬 即 Q = fc / BW = 1/2*(R7 / Rep)? 由上邊的公式,去中心頻率 f = 1 khz ,增資A = 5,品質因素 Q=8,則令C = C3 = C4 =104,可以得到電阻值為R5=2.5 K,R6=100,R7=25K; 4.關于峰值檢波電路的設計: 考慮到電容值越大檢波效果越好,但是放電速度越慢,經過測試,選取了200uf的電容和100k的電阻以及LM358構成最簡單的峰值檢波電路。 5.電路圖如下: 注: 1.R4的電阻大小可改變測量精度; 2.整流電路中R8的大小決定最后測量結果精度; 3.前兩個放大器用TL082,后一個選用LM358; 四. 程序設計: 軟件由4個部分組成,信號產生模塊,AD接受模塊,數據處理模塊和LCD顯示模塊,利用單片機的定時器0可以持續不斷的產生1khz信號并輸出,由于輸出信號時穩定的,而接收管接收的信號時隨著障礙物距離的變遠而變小,所以我們可以通過檢測信號的強弱來判斷距離,但是接收的信號并不是完全是線性變化,采用一個或者幾個固定的公式并不能得出準確的距離,所以采用提前把正確的距離和信號強弱的關系先測量好,建成一張信號距離表,這樣測量時就可以查表快速得出距離。精度也方便控制。處理好的數據直接傳送到1502液晶屏顯示即可。 流程圖如下: 五.測試方案: 本次測試所用到的儀器設備主要有: 示波器,函數信號發生儀,穩壓電源,數字萬用表。 調試過程如下: 調試發射部分,直接用示波器測量單片機輸出的信號,為1khz; 調試接收部分的放大模塊:先用函數信號發生儀模擬一個接收信號,把放大電路和濾波電路斷開,測量TL082芯片的1腳,輸入信號為1khz,1 00mv的正弦信號,用示波器測量1腳為1khz,2.9v的正弦信號,放大倍 數為29倍,由于有信號的衰減,放大部分正常; 調試帶通濾波: 把放大電路和濾波電路連好,輸入函數發生儀產生的 模擬信號,測量TL082芯片的7腳,得到一個穩定的正弦波,通過調節輸入信號的頻率,測得帶通濾波器的中心頻率為1khz,滿足要求。然后接著測量整個電路的輸出端,示波器打到直流檔,調節信號強弱,發現檢波電路工作良好。 最后,接入紅外發射管與接收管,直接進行最終整調試,適當改變了R3與R4的電阻大小,再將電壓在液晶上顯示出來,用米尺畫出一張標準的距離圖,測量距離圖上每隔5mm所對應的電壓記錄并做成表格最終填入程序中,并多次驗證距離和長度的關系是否正確。并做多次修正。 六、參考文獻和資料: 1.《新概念51單片機c語言教程——入門、提高、開發、擴展全攻略》 ——郭天祥著 2.《運算放大器電路設計手冊》 3.《電路與模擬電子技術》 —— 殷祥瑞 4.pcf8591中文資料——百度文庫 5.pcf8591編程實例——百度文庫第五篇:紅外測距儀總結報告