日韩成人激情_欧美黑人xxx_国产一区二精品区在线_精品在线一区_97成人资源_久久久久久一区

產品分類

當前位置: 首頁 > 傳感測量產品 > 工業傳感器 > 超聲波傳感器

類型分類:
科普知識
數據分類:
超聲波傳感器

超聲波傳感器編程:「AI教育名師談 VOL 12」唐輝宏:會作曲的人工智能老師哪里找?

發布日期:2022-10-09 點擊率:64


超聲波傳感器編程:「AI教育名師談 VOL 12」唐輝宏:會作曲的人工智能老師哪里找?  第1張

超聲波傳感器編程:「AI教育名師談 VOL 12」唐輝宏:會作曲的人工智能老師哪里找?

還記得上節課程老師留的思考題嗎?揭曉答案的時間到啦~
從障礙物的分布特征我們可以分析得出,最佳的行走路徑應該先直走、右轉、左轉再直行、右轉、直行。只要根據這六個步驟對履帶小車進行編程,就可以實現啦~
那么現在按照這個思路,讓小車按照我們設置的線路來繞行。
第一步:直行
第二步:右轉
第三步:原地左轉
第四步:直行
第五步:右轉
第六步:直行
編程設置完成后運行是什么樣的效果呢?一起來看下吧~
這個時候大家可能在實際操作中會遇到一個問題——小車有可能會撞上原本設置的障礙物,那么如何解決呢?
大家有沒有注意到小車頭部的眼睛,這其實是小車的超聲波傳感器,我們可以利用它來有效避障。
在現實生活中,蝙蝠夜晚飛行的回聲定位利用的也是超聲波原理。
在夜晚飛行時,蝙蝠通過超聲波信號有效地避開危險,他們在飛行時會發出一種人類無法聽到的尖叫聲,這些超聲波信號如果在飛行路線撞上別的物體,就會立刻反射回來,蝙蝠就可以改變它的飛行軌跡。
超聲波傳感器原理也是一樣,能夠監測自己與前方障礙物的距離。
那么在編程中超聲波是怎么工作的?首先,點擊運動,選擇1號和2號電機,把2號電機調整為“逆時針”轉動,以80的速度執行,然后再點擊控制,選擇“重復執行……直到”,把剛才的“直行”放到里面,直到傳感器檢測到障礙物。
點擊“感知”,選擇“超聲波傳感器與障礙物距離≤10”,在界面的右上角可以看到它所檢測的數值。
當它檢測到數值≤10時,就能讓機器人停止運動。
了解了超聲波原理,結合上節課學習的編程知識,就可以解決小車行進的大多數問題了,比如說“密室逃脫”、“避障小車”~
04:19
悄悄給大家劇透下,下節課我們的編程輕松學將給大家帶來《神奇的射門裝置》~
機器人編程輕松學,我們下節課再見!
舉報/反饋

超聲波傳感器編程:【雕爺學編程】Arduino動手做(58)---SR04超聲波傳感器

37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來—小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗五十八: HC-SR04超聲波測距傳感器模塊(5針寬電壓)

超聲波探頭
是在超聲波檢測過程中發射和接收超聲波的裝置。探頭的性能直接影響超聲波的特性,影響超聲波的檢測性能。在超聲檢測中使用的探頭,是利用材料的壓電效應實現電能、聲能轉換的換能器。探頭中的關鍵部件是晶片,晶片是一個具有壓電效應的單晶或者多晶體薄片,它的作用是將電能和聲能互相轉換。

菲律賓眼鏡猴會用超聲波進行交流
菲律賓眼鏡猴因為一雙又圓又大且水汪汪的茶色大眼睛而被人們所知,在人們的印象中它有著讓人難以置信的小型身材,在它們小小的臉龐上,長著兩只圓溜溜的特別大的眼睛,眼珠的直徑可以超過1厘米,和它的小身體很不相稱,好像戴著一副特大的舊式老花眼鏡。所以,人們給它起了一個十分形象的名字:眼鏡猴。它們大多時候都是“沉默寡言”的形象。但來自加利福尼亞洪堡加州州立大學的科學家近日研究發現,其實菲律賓眼鏡猴是不折不扣的“話匣子”,它們時刻都在發出一種超聲波,只不過捕食者無法聽到而已。據了解,研究人員發現這種眼鏡猴發出聲音的“最小頻率”可達到67千赫,比陸地上任何一種嚙齒動物和蝙蝠發出的音量都要高很多,甚至偶爾還能飆升到70千赫。眾所周知,任何聲音只要達到20千赫以上,就很難被人們所聽見,就連聽力一向很敏銳的狗,也只能聽到23千赫的聲音。而眼鏡猴甚至可以直接聽到90千赫的聲音。最為特別的是,在眼鏡猴的群體中彼此傳遞著一種秘密的語言,這種語言會提醒對方注意捕食者的危險。研究人員表示,超聲波的音頻對信號發出者和接受者都十分有用,因為這樣捕食者就很難從聲音的來源進行定位,這樣尋找起來就十分有難度了。甚至眼鏡猴還可以在獵物旁“竊竊私語”,它們所捕捉的典型獵物為蟋蟀、螳螂、以及蛾子等昆蟲,最為特別的是,眼鏡猴還能自動屏蔽使它們分散注意力的低周波叢林噪音。研究人員表示,在動物王國不僅眼鏡猴有這樣的超能力,鯨魚和貓也同樣能夠在超聲波范圍內彼此溝通交流。

超聲波
蝙蝠和某些海洋動物都能夠利用高頻率的聲音進行回聲定位或信息交流。它們能通過口腔或鼻腔把從喉部產生的超聲波發射出去,利用折回的聲波來定向,并判定附近物體的位置、大小以及是否在移動。超聲波是一種頻率高于赫茲的聲波,它的方向性好,穿透能力強,易于獲得較集中的聲能,在水中傳播距離遠,可用于測距、測速、清洗、焊接、碎石、殺菌消毒等。在醫學、軍事、工業、農業上有很多的應用。超聲波因其頻率下限大于人的聽覺上限而得名。科學家們將每秒鐘振動的次數稱為聲音的頻率,它的單位是赫茲(Hz)。我們人類耳朵能聽到的聲波頻率為20Hz-Hz。因此,我們把頻率高于赫茲的聲波稱為“超聲波”。通常用于醫學診斷的超聲波頻率為1兆赫茲-30兆赫茲。理論研究表明,在振幅相同的條件下,一個物體振動的能量與振動頻率成正比,超聲波在介質中傳播時,介質質點振動的頻率很高,因而能量很大.在中國北方干燥的冬季,如果把超聲波通入水罐中,劇烈的振動會使罐中的水破碎成許多小霧滴,再用小風扇把霧滴吹入室內,就可以增加室內空氣濕度,這就是超聲波加濕器的原理。如咽喉炎、氣管炎等疾病,很難利用血流使藥物到達患病的部位,利用加濕器的原理,把藥液霧化,讓病人吸入,能夠提高療效。利用超聲波巨大的能量還可以使人體內的結石做劇烈的受迫振動而破碎,從而減緩病痛,達到治愈的目的。超聲波在醫學方面應用非常廣泛,可以對物品進行殺菌消毒。

超聲效應

當超聲波在介質中傳播時,由于超聲波與介質的相互作用,使介質發生物理的和化學的變化,從而產生一系列力學的、熱學的、電磁學的和化學的超聲效應,包括以下4種效應:

①機械效應。超聲波的機械作用可促成液體的乳化、凝膠的液化和固體的分散。當超聲波流體介質中形成駐波時,懸浮在流體中的微小顆粒因受機械力的作用而凝聚在波節處,在空間形成周期性的堆積。超聲波在壓電材料和磁致伸縮材料中傳播時,由于超聲波的機械作用而引起的感生電極化和感生磁化(見電介質物理學和磁致伸縮)。

②空化作用。超聲波作用于液體時可產生大量小氣泡。一個原因是液體內局部出現拉應力而形成負壓,壓強的降低使原來溶于液體的氣體過飽和,而從液體逸出,成為小氣泡。另一原因是強大的拉應力把液體“撕開”成一空洞,稱為空化。空洞內為液體蒸氣或溶于液體的另一種氣體,甚至可能是真空。因空化作用形成的小氣泡會隨周圍介質的振動而不斷運動、長大或突然破滅。破滅時周圍液體突然沖入氣泡而產生高溫、高壓,同時產生激波。與空化作用相伴隨的內摩擦可形成電荷,并在氣泡內因放電而產生發光現象。在液體中進行超聲處理的技術大多與空化作用有關。

③熱效應。由于超聲波頻率高,能量大,被介質吸收時能產生顯著的熱效應。

④化學效應。超聲波的作用可促使發生或加速某些化學反應。例如純的蒸餾水經超聲處理后產生過氧化氫;溶有氮氣的水經超聲處理后產生亞硝酸;染料的水溶液經超聲處理后會變色或退色。這些現象的發生總與空化作用相伴隨。超聲波還可加速許多化學物質的水解、分解和聚合過程。超聲波對光化學和電化學過程也有明顯影響。各種氨基酸和其他有機物質的水溶液經超聲處理后,特征吸收光譜帶消失而呈均勻的一般吸收,這表明空化作用使分子結構發生了改變。

超聲探頭
是利用超聲波的特性而研制的傳感器,超聲波傳感器的典型結構如圖所示。它是把成正方形的兩個壓電晶片(亦稱雙晶振子)按照相反的極性粘貼在一起,再引出兩個電極。壓電晶片上面有金屬震動板和圓錐形振子。圓錐形振子具有很強的方向性,便于發送和接收超聲波。超聲波傳感器采用金屬或塑料外殼,其頂部有屏蔽柵。

超聲探頭性能指標
探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能是不同的,我們使用前必須預先了解它的性能。超聲波傳感器的主要性能指標包括:
1、工作頻率
工作頻率就是壓電晶片的共振頻率。當加到它兩端的交流電壓的頻率和晶片的共振頻率相等時,輸出的能量最大,靈敏度也最高。
2、工作溫度
由于壓電材料的居里點一般比較高,特別是診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時間地工作而不失效。醫療用的超聲探頭的溫度比較高,需要單獨的制冷設備。
3、靈敏度
主要取決于制造晶片本身。機電耦合系數大,靈敏度高;反之,靈敏度低。
4、指向性
超聲波傳感器探測的范圍。

測距原理
超聲波具有頻率較高,沿直線傳播、方向性好、繞射小、穿透力強、傳播速度慢(約340m/s,與聲速相同)等特點。超聲波對固體和液體的穿透能力強,尤其對于在陽光下不透明的固體,可以穿透幾十m的深度。超聲波遇到雜質或分界面時會產生反射波,利用這一特性可構成超聲波探傷儀或測距儀。超聲波遇到移動物體時會產生多普勒效應(DopplerEffect),使接收到的頻率發生變化,由此可制成多普勒測距系統。超聲波測距原理是超聲波發射探頭發出的超聲波脈沖,經媒質(空氣)傳到物體表面,反射后通過媒質(空氣)傳到接收探頭,測出超聲脈沖從發射到接收所需的時間,根據媒質中的聲速,求得從探頭到物體表面之間的距離。設探頭到物體表面的距離為L,超聲在空氣中的傳播速為v,從發射到接收所需的傳播時間為t,則有:L=vt/2。由此可見,被測距離L與傳播時間之間具有確定的函數關系,只要能測出時間t,即可求出距離L,通過軟件實現直接在顯示器上顯示L的值。

位差測距
超聲波傳感器與單片機系統進行接口構成距離檢測的硬件系統,在系統軟件的控制下,單片機向位差超聲波傳感器發送的一個觸發脈沖,位差超聲波傳感器被此脈沖觸發后會產生一道短40 kHz的脈沖電信號,此40 kHz的脈沖電信號通過激勵換能器處理以后,將轉換成機械振動的能量,其振動頻率約在20 kHz以上,由此形成了超聲波,該信號經錐形"輻射口"處將超聲波信號在空氣中以每秒約1 130英尺的速度向外發射出去。當發射出去的超聲波信號遇到障礙物以后,立即被反射回來。接收器接收到反射回來的超聲波信號后,通過其內部轉換,將超聲波變成微弱的電振蕩,并將信號進行放大,就可得到所需的脈沖信號,此脈沖信號再返回給單片機,表示回波被探測,這個脈沖寬度就是對應于爆裂回聲返回到傳感器所需時間,其時序如圖所示。

HC-SR04超聲波測距傳感器模塊(5針寬電壓)

主要技術參數

1:使用電壓:DC—5V

2:靜態電流:小于2mA

3:電平輸出:高5V

4:電平輸出:底0V

5:感應角度:不大于15度

6:探測距離:2cm-450cm

7: 高精度 可達0.2cm

8: 接線方式:VCC、trig(控制端)、 echo(接收端)、 GND

模塊電原理圖

模塊特征
HC-SR04超聲波測距模塊具有測距距離精確,能和SRF05,SRF02等超聲波測距相媲美,測量距離 ** 2cm~450cm (小編實測:10cm~300cm)。工作原理——1)采用IO觸發測距,給至少10us的高電平信號。2)模塊自動發送8個40KHz的方波,自動檢測是否有信號返回。3)有信號返回,通過IO輸出一高電平,高電平持續時間就是超聲波從發射到返回的時間。只需要提供一個10uS以上脈沖觸發信號,該模塊內部將發出8個40kHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號。回響信號的脈沖寬度與所測的距離成正比。由此通過發射信號到收到的回響信號時間間隔可以計算得到距離。公式: uS/58=厘米或者uS/148=英寸;或是:距離=高電平時間*聲速(340M/S) /2;建議測量周期為60ms以上,以防止發射信號對回響信號的影響。
注:
1、此模塊不宜帶電連接,若要帶電連接,則先讓模塊的GND端先連接,否則會影響模塊的正常工作。
2、測距時,被測物體的面積不少于05平方米且平面盡量要求平整,否則影響測量的結果。

使用高電平觸發

超聲波測距模塊接腳:

VCC -> 5V

GND -> GND

Trig (控制端)-> 2

Echo (接收端)-> 3

注: TRIP引腳是內部上拉10K的電阻,用單片機的IO口拉低TRIP引腳,然后給一個10us以上的脈沖信號。模塊應先插好在電路板上再通電,避免產生高電平的誤動作,如果產生了,重新通電方可解決。

實驗圖形編程(Mind+,編玩邊學)

實驗仿真編程(linkboy3.6)

網上搜索了一下,超聲波模塊的型號還不少,比如還有HY-SRF05(五針高精度);US-025和US-026(蘇州順憬志聯CS100芯片,距離6米穩定性好些);US-100(同時具有GPIO,串口等多種通信方式,內帶看門狗,工作穩定可靠);RCWL-1601(寬電壓,對棉質及不規則物體探測精度高于SR-04);RCWL-1603(含有UART,PWM,GPIO及UART AUTO OUT等多種接口模式,專業MCP9700溫度補償);US-015(目前市場上分辨率最高,重復測量一致性最好的超聲波測距模塊)等,以后待手頭有實物了再做后續實驗。

超聲波傳感器編程:「AI教育名師談 VOL 12」唐輝宏:會作曲的人工智能老師哪里找?  第2張

超聲波傳感器編程:超聲波傳感器

收藏
查看我的收藏
0
有用+1
已投票
0
超聲波傳感器
語音
編輯
鎖定
討論
上傳視頻
上傳視頻
超聲波傳感器是將超聲波信號轉換成其它能量信號(通常是電信號)的傳感器。超聲波是振動頻率高于20kHz的機械波。它具有頻率高、波長短、繞射現象小,特別是方向性好、能夠成為射線而定向傳播等特點。超聲波對液體、固體的穿透本領很大,尤其是在陽光不透明的固體中。超聲波碰到雜質或分界面會產生顯著反射形成反射回波,碰到活動物體能產生多普勒效應。超聲波傳感器廣泛應用在工業、國防、生物醫學等方面。
中文名
超聲波傳感器
外文名
Ultrasonic sensor
所屬類別
傳感器 物理學
原    理
超聲換能器
適用領域
工業、國防、生物醫學
產    地
中國-深圳
目錄
1
組成部分
2
性能指標
?
工作頻率
?
工作溫度
?
靈敏度
?
指向性
3
相關應用
?
主要應用
?
具體應用
4
工作相關
?
工作原理
?
工作程式
?
工作模式
5
系統構成
6
檢測方式
7
檢測好壞
8
液位測試
9
其他
?
區分
?
注意事項
?
暴露問題
超聲波傳感器組成部分
編輯
語音
中國制造的超聲波傳感器
常用的超聲波傳感器由壓電晶片組成,既可以發射超聲波,也可以接收超聲波。小功率超聲探頭多作探測作用。它有許多不同的結構,可分直探頭(縱波)、斜探頭(橫波)、表面波探頭(表面波)、蘭姆波探頭(蘭姆波)、雙探頭(一個探頭發射、一個探頭接收)等。
超聲波傳感器性能指標
編輯
語音
超聲波傳感器
超聲探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能是不同的,我們使用前必須預先了解它的性能。超聲波傳感器的主要性能指標包括:
超聲波傳感器工作頻率
工作頻率就是壓電晶片的共振頻率。當加到它兩端的交流電壓的頻率和晶片的共振頻率相等時,輸出的能量最大,靈敏度也最高。
超聲波傳感器工作溫度
超聲波傳感器
由于壓電材料的居里點一般比較高,特別是診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時間地工作而不失效。醫療用的超聲探頭的溫度比較高,需要單獨的制冷設備。
超聲波傳感器靈敏度
主要取決于制造晶片本身。機電耦合系數大,靈敏度高;反之,靈敏度低。
超聲波傳感器指向性
超聲波傳感器探測的范圍
超聲波傳感器相關應用
編輯
語音
超聲波傳感器主要應用
超聲波傳感器
超聲波傳感技術應用在生產實踐的不同方面,而醫學應用是其最主要的應用之一,下面以醫學為例子說明超聲波傳感技術的應用。超聲波在醫學上的應用主要是診斷疾病,它已經成為了臨床醫學中不可缺少的診斷方法。超聲波診斷的優點是:對受檢者無痛苦、無損害、方法簡便、顯像清晰、診斷的準確率高等。因而推廣容易,受到醫務工作者和患者的歡迎。超聲波診斷可以基于不同的醫學原理,我們來看看其中有代表性的一種所謂的A型方法。這個方法是利用超聲波的反射。當超聲波在人體組織中傳播遇到兩層聲阻抗不同的介質界面時,在該界面就產生反射回聲。每遇到一個反射面時,回聲在示波器的屏幕上顯示出來,而兩個界面的阻抗差值也決定了回聲的振幅的高低。
超聲波傳感器
在工業方面,超聲波的典型應用是對金屬的無損探傷和超聲波測厚兩種。過去,許多技術因為無法探測到物體組織內部而受到阻礙,超聲波傳感技術的出現改變了這種狀況。當然更多的超聲波傳感器是固定地安裝在不同的裝置上,“悄無聲息”地探測人們所需要的信號。在未來的應用中,超聲波將與信息技術、新材料技術結合起來,將出現更多的智能化、高靈敏度的超聲波傳感器。超聲波距離傳感器技術應用超聲波對液體、固體的穿透本領很大,尤其是在不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質或分界面會產生顯著反射形成反射成回波,碰到活動物體能產生多普勒效應。因此超聲波檢測廣泛應用在工業、國防、生物醫學等方面。超聲波距離傳感器可以廣泛應用在物位(液位)監測,機器人防撞,各種超聲波接近開關,以及防盜報警等相關領域,工作可靠,安裝方便, 防水型,發射夾角較小,靈敏度高,方便與工業顯示儀表連接,也提供發射夾角較大的探頭。
超聲波傳感器具體應用
一、超聲波傳感器可以對集裝箱狀態進行探測。將超聲波傳感器安裝在塑料熔體罐或塑料粒料室頂部,向集裝箱內部發出聲波時,就可以據此分析集裝箱的狀態,如滿、空或半滿等。二、超聲波傳感器可用于檢測透明物體、液體、任何表粗糙、光滑、光的密致材料和不規則物體。但不適用于室外、酷熱環境或壓力罐以及泡沫物體。三、超聲波傳感器可以應用于食品加工廠,實現塑料包裝檢測的閉環控制系統。配合新的技術可在潮濕環如洗瓶機、噪音環境、溫度極劇烈變化環境等進行探測。
[1]
四、超聲波傳感器可用于探測液位、探測透明物體和材料,控制張力以及測量距離,主要為包裝、制瓶、物料搬檢驗煤的設備運、塑料加工以及汽車行業等。超聲波傳感器可用于流程監控以提高產品質量、檢測缺陷、確定有無以及其它方面。使用超聲波傳感器技術防止踩錯踏板日產汽車開發出了防止在要踩剎車時誤踩成油門而使車輛加速的功能,使用攝像頭和超聲波傳感器推斷出“要在停車場上停車”的情況時,如果駕駛員踩成了油門就會強制剎車。該技術預定在2~3年內實用化。超聲波傳感器技術就是為了防止在停車場停車時踩錯剎車和油門造成事故而開發的。該技術是使用在車輛前后左右各配備一個的四個攝像頭和前保險杠、后保險杠各配備四個共八個超聲波傳感器實現的。4個攝像頭沿用顯示車輛周圍俯瞰影像的“環視顯示器”的攝像頭。利用攝像頭識別出白線等以推斷汽車位于停車場,利用超聲波傳感器測量出汽車與周圍障礙物之間的距離來確定剎車時機。防止因踩錯剎車和油門而造成事故分兩步實施。當駕駛員在停車場想停車時,如果踩成了油門,則首先將車速減至蠕滑速度,用儀表板的圖標來提示危險,并響起警報聲。如果駕駛員仍繼續踩油門而即將撞上墻壁等物體時,則強制剎車。剎車時機為保證汽車在與障礙物相距20~30cm左右時可以停下來。
超聲波傳感器工作相關
編輯
語音
超聲波傳感器工作原理
超聲波傳感器
人們能聽到聲音是由于物體振動產生的,它的頻率在20HZ-20KHZ范圍內,超過20KHZ稱為超聲波,低于20HZ的稱為次聲波。常用的超聲波頻率為幾十KHZ-幾十MHZ。超聲波是一種在彈性介質中的機械振蕩,有兩種形式:橫向振蕩(橫波)及縱向振蕩(縱波)。在工業中應用主要采用縱向振蕩。超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。另外,它也有折射和反射現象,并且在傳播過程中有衰減。在空氣中傳播超聲波,其頻率較低,一般為幾十KHZ,而在固體、液體中則頻率可用得較高。在空氣中衰減較快,而在液體及固體中傳播,衰減較小,傳播較遠。利用超聲波的特性,可做成各種超聲傳感器,配上不同的電路,制成各種超聲測量儀器及裝置,并在通訊,醫療家電等各方面得到廣泛應用。
超聲波傳感器
超聲波傳感器主要材料有壓電晶體(電致伸縮)及鎳鐵鋁合金(磁致伸縮)兩類。電致伸縮的材料有鋯鈦酸鉛(PZT)等。壓電晶體組成的超聲波傳感器是一種可逆傳感器,它可以將電能轉變成機械振蕩而產生超聲波,同時它接收到超聲波時,也能轉變成電能,所以它可以分成發送器或接收器。有的超聲波傳感器既作發送,也能作接收。這里僅介紹小型超聲波傳感器,發送與接收略有差別,它適用于在空氣中傳播,工作頻率一般為23-25KHZ及40-45KHZ。這類傳感器適用于測距、遙控、防盜等用途。該種有T/R-40-16,T/R-40-12等(其中T表示發送,R表示接收,40表示頻率為40KHZ,16及12表示其外徑尺寸,以毫米計)。另有一種密封式超聲波傳感器(MA40EI型)。它的特點是具有防水作用(但不能放入水中),可以作料位及接近開關用,它的性能較好。超聲波應用有三種基本類型,透射型用于遙控器,防盜報警器、自動門、接近開關等;分離式反射型用于測距、液位或料位;反射型用于材料探傷、測厚等。由發送傳感器(或稱波發送器)、接收傳感器(或稱波接收器)、控制部分與電源部分組成。發送器傳感器由發送器與使用直徑為15mm左右的陶瓷振子換能器組成,換能器作用是將陶瓷振子的電振動能量轉換成超能量并向空中輻射;而接收傳感器由陶瓷振子換能器與放大電路組成,換能器接收波產生機械振動,將其變換成電能量,作為傳感器接收器的輸出,從而對發送的超聲波信號進行檢測.而實際使用中,用作發送傳感器的陶瓷振子也可以用作接收器傳感器社的陶瓷振子。控制部分主要對發送器發出的脈沖鏈頻率、占空比及稀疏調制和計數及探測距離等進行控制。
超聲波傳感器工作程式
超聲波傳感器
若對發送傳感器內諧振頻率為40KHz的壓電陶瓷片(雙晶振子)施加40KHz高頻電壓,則壓電陶瓷片就根據所加高頻電壓極性伸長與縮短,于是發送40KHz頻率的超聲波,其超聲波以疏密形式傳播(疏密程度可由控制電路調制),并傳給波接收器。接收器是利用壓力傳感器所采用的壓電效應的原理,即在壓電元件上施加壓力,使壓電元件發生應變,則產生一面為“+ ”極,另一面為“-”極的40KHz正弦電壓。因該高頻電壓幅值較小,故必須進行放大。 超聲波傳感器使得駕駛員可以安全地倒車,其原理是利用探測倒車路徑上或附近存在的任何障礙物,并及時發出警告。所設計的檢測系統可以同時提供聲光并茂的聽覺和視覺警告,其警告表示是探測到了在盲區內障礙物的距離和方向。這樣,在狹窄的地方不管是泊車還是開車,借助倒車障礙報警檢測系統,駕駛員心理壓力就會減少,并可以游刃有余地采取必要的動作。
超聲波傳感器工作模式
超聲波傳感器
超聲波傳感器利用聲波介質對被檢測物進行非接觸式無磨損的檢測。超聲波傳感器對透明或有色物體,金屬或非金屬物體,固體、液體、粉狀物質均能檢測。其檢測性能幾乎不受任何環境條件的影響,包括煙塵環境和雨天。檢測模式超聲波傳感器主要采用直接反射式的檢測模式。位于傳感器前面的被檢測物通過將發射的聲波部分地發射回傳感器的接收器,從而使傳感器檢測到被測物。還有部分超聲波傳感器采用對射式的檢測模式。一套對射式超聲波傳感器包括一個發射器和一個接收器,兩者之間持續保持“收聽”。位于接收器和發射器之間的被檢測物將會阻斷接收器接收發射的聲波,從而傳感器將產生開關信號。檢測范圍
超聲波傳感器
超聲波傳感器的檢測范圍取決于其使用的波長和頻率。波長越長,頻率越小,檢測距離越大,如具有毫米級波長的緊湊型傳感器的檢測范圍為300~500mm波長大于5mm的傳感器檢測范圍可達8m。一些傳感器具有較窄的6o聲波發射角,因而更適合精確檢測相對較小的物體。另一些聲波發射角在12o至15o的傳感器能夠檢測具有較大傾角的物體。此外,我們還有外置探頭型的超聲波傳感器,相應的電子線路位于常規傳感器外殼內。這種結構更適合檢測安裝空間有限的場合。調節幾乎所有的超聲波傳感器都能對開關輸出的近點和遠點或是測量范圍進行調節。在設定范圍外的物體可以被檢測到,但是不會觸發輸出狀態的改變。一些傳感器具有不同的調節參數,如傳感器的響應時間、回波損失性能,以及傳感器與泵設備連接使用時對工作方向的設定調節等。重復精度
超聲波傳感器
波長等因素會影響超聲波傳感器的精度,其中最主要的影響因素是隨溫度變化的聲波速度,因而許多超聲波傳感器具有溫度補償的特性。該特性能使模擬量輸出型的超聲波傳感器在一個寬溫度范圍內獲得高達0.6mm的重復精度。輸出功能所有系列的超聲波傳感器都有開關量輸出型產品。一些產品還有2路開關量輸出(如最小和最大液位控制)。大多數產品系列都能提供具有模擬量電流或是模擬電壓輸出的產品。噪聲抑制金屬敲擊聲、轟鳴聲等噪聲不會影響超聲波傳感器的參數賦值,這主要是由于頻率范圍的優選和已獲專利的噪聲抑制電路。同步功能
超聲波傳感器
超聲波傳感器的同步功能可防干擾。他們通過將各自的同步線進行簡單的連接來實現同步功能。它們同時發射聲波脈沖,象單個傳感器一樣工作,同時具有擴展的檢測角度。交替工作超聲波傳感器 超長掃描型以交替方式工作的超聲波傳感器彼此間是相互獨立的,不會相互影響。以交替方式工作的傳感器越多,響應的開關頻率越低。檢測條件超聲波傳感器特別適合在“空氣”這種介質中工作。這種傳感器也能在其它氣體介質中工作,但需要進行靈敏度的調節。盲區直接反射式超聲波傳感器不能可靠檢測位于超聲波換能器前段的部分物體。由此,超聲波換能器與檢測范圍起點之間的區域被稱為盲區。傳感器在這個區域內必須保持不被阻擋。溫濕度
超聲波傳感器
空氣溫度與濕度會影響聲波的行程時間。空氣溫度每上升20oC,檢測距離至多增加3.5%。在相對干燥的空氣條件下,濕度的增加將導致聲速最多增加2%。空氣壓力常規情況下大氣變化±5%(選一固定參考點)將導致檢測范圍變化±0.6%。大多數情況下,傳感器在5Bar壓力下使用沒有問題。氣流氣流的變化將會影響聲速。然而由最高至10m/s的氣流速度造成的影響是微不足道的。在產生空氣渦流比較普遍的條件下,例如對于灼熱的金屬而言,建議不要采用超聲波傳感器進行檢測,因為對失真變形的聲波的回聲進行計算是非常困難的。標準檢測物采用正方形聲反射板用于額定開關距離sn的標定。1mm的厚度垂直性:與聲束軸線垂直。防護等級外殼可防固體顆粒和防水。IP65:完全防塵;防水柱的侵入。IP67:完全防塵;在恒溫下浸入水下1m深處并放置30分鐘,能夠有效防護。IP69K:基于EN的符合DIN-9泵功能可施行雙位置控制,例如一個液位控制系統的泵入泵出功能。當一個被測物遠離傳感器到達檢測范圍的遠點時,輸出動作。當被測物靠近傳感器到達檢測范圍設定的近點時,輸出相反的動作。
超聲波傳感器系統構成
編輯
語音
超聲波傳感器主要由如下四個部分構成:發送器:通過振子(一般為陶瓷制品,直徑約為15 mm)振動產生超聲波并向空中幅射。接收器:振子接收到超聲波時,根據超聲波發生相應的機械振動,并將其轉換為電能量,作為接收器的輸出。控制部分:通過用集成電路控制發送器的超聲波發送,并判斷接收器是否接收到信號(超聲波),以及已接收信號的大小。電源部分:超聲波傳感器通常采用電壓為DC12V ± 10 % 或 24V ± 10 %外部直流電源供電,經內部穩壓電路供給傳感器工作。
超聲波傳感器檢測方式
編輯
語音
根據被檢測對象的體積、材質、以及是否可移動等特征,超聲波傳感器采用的檢測方式有所不同,常見的檢測方式有如下四種:穿透式:發送器和接收器分別位于兩側,當被檢測對象從它們之間通過時,根據超聲波的衰減(或遮擋)情況進行檢測。限定距離式:發送器和接收器位于同一側,當限定距離內有被檢測對象通過時,根據反射的超聲波進行檢測。限定范圍式:發送器和接收器位于限定范圍的中心,反射板位于限定范圍的邊緣,并以無被檢測對象遮擋時的反射波衰減值作為基準值。當限定范圍內有被檢測對象通過時,根據反射波的衰減情況(將衰減值與基準值比較)進行檢測。回歸反射式:發送器和接收器位于同一側,以檢測對象(平面物體)作為反射面,根據反射波的衰減情況進行檢測。
超聲波傳感器檢測好壞
編輯
語音
超聲波傳感器用萬用表直接測試是沒有什么反映的。要想測試超聲波傳感器的好壞可以搭一個音頻振蕩電路,當C1為390OμF時,在反相器⑧腳與⑩腳間可產生一個1.9kHz左右的音頻信號。把要檢測的超聲波傳感器(發射和接收)接在⑧腳與⑩腳之間;如果傳感器能發出音頻聲音,基本就可以確定此超聲波傳感器是好的。注:C1=3900μF時,為1.9kHZ左右;C1=0.O1μF時,約0.76kHZ。
超聲波傳感器液位測試
編輯
語音
超聲波測量液位的基本原理是:由超聲探頭發出的超聲脈沖信號,在氣體中傳播,遇到空氣與液體的界面后被反射,接收到回波信號后計算其超聲波往返的傳播時間,即可換算出距離或液位高度。超聲波測量方法有很多其它方法不可比擬的優點:(1)無任何機械傳動部件,也不接觸被測液體,屬于非接觸式測量,不怕電磁干擾,不怕酸堿等強腐蝕性液體等,因此性能穩定、可靠性高、壽命長;(2)其響應時間短可以方便的實現無滯后的實時測量。系統采用的超聲波傳感器的工作頻率為40kHz左右。由發射傳感器發出超聲波脈沖,傳到液面經反射后返回接收傳感器,測出超聲波脈沖從發射到接收到所需的時間,根據媒質中的聲速,就能得到從傳感器到液面之間的距離,從而確定液面。考慮到環境溫度對超聲波傳播速度的影響,通過溫度補償的方法對傳播速度予以校正,以提高測量精度。計算公式為:V=331.5+0.607T (1)式中:V為超聲波在空氣中傳播速度;T為環境溫度。S=V ×t/2=V×(t1-t0)/2 (2)式中:S為被測距離;t為發射超聲脈沖與接收其回波的時間差;t1為超聲回波接收時刻;t0為超聲脈沖發射時刻。利用MCU的捕獲功能可以很方便地測量t0時刻和t1時刻,根據以上公式,用軟件編程即可得到被測距離S。由于本系統的MCU選用了具有SOC特點的混合信號處理器,其內部集成了溫度傳感器,因此可利用軟件很方便的實現對傳感器的溫度補償。
超聲波傳感器其他
編輯
語音
超聲波傳感器區分
超聲波傳感器與聲納傳感器的區別聲納傳感器和超聲波傳感器是經常聽說的兩種探測裝置,很多人認為這兩種是一種傳感器,這兩種傳感器之間有什么區別呢?
高頻超聲波傳感器
聲納傳感器直接探測和識別水中的物體和水底的輪廓,聲納傳感器發出一個聲波信號,當遇到物體后會反射回來,依據反射時間及波型去計算它的距離及位置。超聲波是一種振動頻率高于聲波的機械波,由換能晶片在電壓的激勵下發生振動產生的,它具有頻率高、波長短、繞射現象小,特別是方向性好、能夠成為射線而定向傳播等特點。聲納傳感器主要用于探測生物,比如用于探測水底有哪些生物,生物體形有多大等。經常問你聽說的用于探測水怪的裝置就是聲納傳感器。超聲波對液體、固體的穿透本領很大,尤其是在不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質或分界面會產生顯著反射形成反射成回波,碰到活動物體能產生多普勒效應。因此超聲波檢測廣泛應用在工業、國防、生物醫學等方面。超聲波傳感器是利用超聲波的特性研制而成的傳感器。在工業方面,超聲波的典型應用是對金屬的無損探傷和超聲波測厚兩種。超聲波傳感器在醫學上的應用主要是診斷疾病,它已經成為了臨床醫學中不可缺少的診斷方法。
超聲波傳感器注意事項
1:為確保可靠性及長使用壽命,請勿在戶外或高于額定溫度的地方使用傳感器
[2]
。2:由于超聲波傳感器以空氣作為傳輸介質,因此局部溫度不同時,分界處的反射和折射可能會導致誤動作,風吹時檢出距離也會發生變化。因此,不應在強制通風機之類的設備旁使用傳感器。3:噴氣嘴噴出的噴氣有多種頻率,因此會影響傳感器且不應在傳感器附近使用。4:傳感器表面的水滴縮短了檢出距離。5:細粉末和棉紗之類的材料在吸收聲音時無法被檢出(反射型傳感器)。6:不能在真空區或防爆區使用傳感器。7:請勿在有蒸汽的區域使用傳感器;此區域的大氣不均勻。將會產生溫度梯度,從而導致測量錯誤。
超聲波傳感器暴露問題
超聲波傳感器應用起來原理簡單,也很方便,成本也很低。但是超聲波傳感器都有一些缺點,比如,反射問題,噪音,交叉問題。反射問題如果被探測物體始終在合適的角度,那超聲波傳感器將會獲得正確的角度。但是不幸的是,在實際使用中,很少被探測物體是能被正確的檢測的。其中可能會出現幾種誤差:三角誤差當被測物體與傳感器成一定角度的時候,所探測的距離和實際距離有個三角誤差。鏡面反射這個問題和高中物理中所學的光的反射是一樣的。在特定的角度下,發出的聲波被光滑的物體鏡面反射出去,因此無法產生回波,也就無法產生距離讀數。這時超聲波傳感器會忽視這個物體的存在。多次反射這種現象在探測墻角或者類似結構的物體時比較常見。聲波經過多次反彈才被傳感器接收到,因此實際的探測值并不是真實的距離值。這些問題可以通過使用多個按照一定角度排列的超聲波圈來解決。通過探測多個超聲波的返回值,用來篩選出正確的讀數。噪音雖然多數超聲波傳感器的工作頻率為40-45Khz,遠遠高于人類能夠聽到的頻率。但是周圍環境也會產生類似頻率的噪音。比如,電機在轉動過程會產生一定的高頻,輪子在比較硬的地面上的摩擦所產生的高頻噪音,機器人本身的抖動,甚至當有多個機器人的時候,其它機器人超聲波傳感器發出的聲波,這些都會引起傳感器接收到錯誤的信號。這個問題可以通過對發射的超聲波進行編碼來解決,比如發射一組長短不同的音波,只有當探測頭檢測到相同組合的音波的時候,才進行距離計算。這樣可以有效的避免由于環境噪音所引起的誤讀。交叉問題交叉問題是當多個超聲波傳感器按照一定角度被安裝在機器人上的時候所引起的。超聲波X發出的聲波,經過鏡面反射,被傳感器Z和Y獲得,這時Z和Y會根據這個信號來計算距離值,從而無法獲得正確的測量。解決的方法可以通過對每個傳感器發出的信號進行編碼。讓每個超聲波傳感器只聽自己的聲音。
詞條圖冊
更多圖冊
參考資料
1.

超聲波傳感器的應用
.傳感器交易網[引用日期2012-12-21]
2.

超聲波傳感器的使用注意事項
.傳感器[引用日期2012-12-21]
超聲波傳感器編程:「AI教育名師談 VOL 12」唐輝宏:會作曲的人工智能老師哪里找?  第3張

超聲波傳感器編程:超聲波傳感器測距c語言編程,如何DIY一個屬于你的超聲波測距傳感器三:程序的構思和設計...

如何DIY一個屬于你的超聲波測距傳感器三:程序的構思和設計

2009-02-09 20:35:43|分類:

單片機

|字號

前文:

圖1 將被賦予“智慧”的東東

二、需求分析

測距傳感器的核心功能是測量距離,但當其用于不同場合時,會有許多不同的需求。

如果是傳統的傳感器概念,只需將“非電量轉換為便于測量的電量”即可,這是一個比較通俗也基本正確的定義,“便于測量的電量”通常為:直流小電流、小電壓以及方波等。

這類傳統傳感器給系統帶來了不少“麻煩”,因為其輸出的所謂“便于測量的電量”只是物理上的,充其量達到“可測”而已,由于其輸出的不統一、不靈活,甚至有些“粗糙”,使得系統不得不付出一些開銷去彌補之。

就拿GP2D12來說,其輸出是直流電壓,可與距離的關系是非線性的,且是反比例,輸出還是非連續的,就這三個特征就足以讓系統耗費不少周折才能得到想要的距離值。

還有很多類似的例子,如熱電偶溫度測量傳感器、光敏傳感器等,在此就不一一枚舉了。

從系統設計的角度考慮,最好是傳感器將所測量的量轉換成數字信息,系統不必再去理會這些“底層”的處理,專心于功能的實現。如同現在的PC操作系統,有統一的設備接口,系統級應用是“與硬件無關”的,設備的差異由各設備廠家通過驅動程序實現統一。

以往由于技術和成本的限制,為了節省開支,將很多功能都交給了主控系統完成,形成所謂“樹形”架構,只有“主干”是有智能的,其余都是“末梢神經”,只具備最低級的信號采集能力,也就是傳統傳感器的角色。

隨著單片機的功能提升、價格下降,新的構架方式逐漸顯現:一個系統中,每個部分都自成體系,主控只是負責策略、協調,各個獨立的功能模塊“自行其事”。這就是“分布式”系統。

分布式系統概念的普及,催生了智能傳感器的需求。

所謂“智能傳感器”,至少有以下特征:

1) 能夠將被測量轉換為數字值,而非簡單的模擬量;

2) 能夠根據要求獨立完成測量;

3) 能夠通過數字通訊接口接受命令、輸出數據。

具備此特征的傳感器已有很多,有些已制成IC,如常見的溫度傳感器 18B20。

智能傳感器除了降低了系統的軟硬件開銷外,附帶的一個好處就是便于傳送,傳統傳感器的輸出信號傳輸時的“干擾”和“衰減”是最令設計者頭痛的!

因此,智能傳感器是未來的方向。實際也是如此,讀者可搜索一下新興的MESM(微機電系統)傳感器,不論是兩軸、三軸加速度,還是陀螺儀等,新產品幾乎都是I2C、SPI等數字總線接口。

所以,我們這個超聲波測距傳感器也是按智能傳感器理念設計的。

因本篇只是示范性軟件設計,沒有特定的應用場合,所以只好就測量本身來定義需求:

在性能上,測量關注兩方面:一是得到數據的速度,二是數據的可靠度。

在功能上,測量有兩類:一是不斷的測量并輸出結果,二是觸發后開始測量。

所以至少應滿足上述需求:

1) 可設置為快速測量模式,讓系統最快得到測量數據;

2) 可設置為精確測量模式,返回給系統比較可靠的數據;

3) 可以設置為連續測量模式,不斷提供給系統測量數據;

4) 可以按照系統請求開始測量,返回即時數據。

三、功能設計

按上述需求,傳感器的功能設計如下:

傳感器上電處于待命狀態,等待系統命令做以下操作:

1) 可以支持連續測量,并存放最近8次數據,測量周期可以由系統設置。在此狀態下,系統根據需要讀取數據。

2) 可以支持連續測量,并且將每次的數據返回給系統,由系統進行需要的后處理。

3) 可以接受系統命令,返回待命狀態。

4) 可以支持單輪測量,即系統發出命令通知傳感器,采集幾次數據,傳感器可做基本的數據處理,如取平均、剔除最大最小值,完成后返回這組數據后,恢復到待命狀態。

此外,為了便于調試,增加讀、寫單片機內存的功能。

四、詳細設計

4.1 題外話

看懂別人軟件是件相當困難的事,即使那些較正規的、有完善文檔的項目,也不是十分輕松,因為記錄下來的只是結果,思維的過程無法再現,而讀者有時更多關注的是如何“想到的”,特別是初學者!

但描述軟件的構思過程也并非易事!

期我寫過的“圓夢小車StepbyStep”系列文章中,嘗試通過一步步“搭建”的方式來引導讀者理解思考過程,并在程序中特別注釋了每一步所增加的內

容,程序中排版順序都放棄了邏輯關系而“屈從”于“搭建”的順序,可似乎收效甚微!?猜測是沒有交代最基本的思路所致,因為即使是每一步都很具體,讀者仍

會問:怎么來的?為何?

本文不是技術論文,其目的是幫助有意學習者實現自己的愿望,所以本篇嘗試簡述一下思考方式,看是否對學習者有幫助,但聲明一點:此乃個人觀點,并非“寶典”,不保證正確,僅供參考!

4.2 程序構建思考過程

我開始涉足單片機編程時,由于只有匯編語言可用,且編譯環境較弱,變量名、標號限制較多,所以那時很講究使用流程圖來表達程序的構思,因為從匯編代碼上看懂程序實在困難,畢竟那是為機器思維服務的邏輯順序,與人理解所需的表述相差甚遠。

我轉換到C語言編程時,開始還保持著畫流程圖的習慣,但逐漸覺得有些多余,因為C語言的自注釋性(即語句和變量名的組合表達方式已接近人的理解需要)以及

編譯環境的提升,配合各類幾乎無限制的定義手段,使程序本身就可以方便的為人所理解。如今編輯器也在優化,讀者可以嘗試一下

UltraEdit,其“折疊”、“展開”功能十分有助于理解程序的思路。所以漸漸的放棄了流程圖。但還維持著按實現過程來構建程序的習慣。

自從我嘗試編寫PC環境下的VC程序后,逐漸構思習慣有了很大變化,讀者如果沒有嘗試過,可以參照“圓夢小車StepbyStep之二”做一次,然后再用類似的方式構建幾個自己想象的題目,一定會有所感受!

在VC中構建一個程序,其過程大致如下:

1) 設計功能 —— 這是機器所不能代替的,靠你的創造力實現之,需要用文本記錄之;

2) 構思界面 —— 這就是VC為你提供的方便了,根據功能和工具可以實現你所要的界面

3) 變量定義 —— 構建界面時VC會自動生成變量,根據功能對這些變量進行類型定義;

4) 編寫處理程序 —— 基于界面所產生的操作(按鈕等)編寫對上述變量進行處理的程序,這是你的智慧展示的空間。

在PC上編程(默認是Windows下),由于很多事情都由Windows操作系統幫助做了,所以在VC環境下編程確實比較輕松,只需關注和功能相關的事,無創意的瑣碎事務都由系統和VC處理了。

單片機中雖沒有這么“美”的事,但是這種構建過程倒是改變了我,我現在基本也是按此思路去構建一個程序,只不過一些VC幫助自動生成的過程由自己完成了。

首先,是確定所做的東西要完成哪些功能,這是基礎。在需求分析和概要設計階段基本搞定,在詳細設計的開始處將其具體化,用技術術語表達之。

之后根據這些功能定義相應的變量。如需要記錄 8 次測量數據,就需要有一個 8元的數組,同時要有存放指針和取數指針(注意:此處所述“指針”,非C語言的指針,是指數組的下標,只是個人表達習慣而已,下同),以便于對數組操作。

據硬件的性能和需求確定數組的類型,是用整型還是字節型等;因為我定義的測量范圍為5米,即使用cm為單位字節型也不夠,所以用整型。因為不可能有負數,

所以用無符號整型。數值表達范圍大了,將單位提高到mm,雖然不一定需要,但不增加工作量,感覺卻好多了 : P 何樂而不為?

在定義變量的同

時,定義一些與變量處理相關的常量,一方面為了程序的可讀性,同時也是為了日后便于修改。如現在設計是保留最近8次數據,但日后也許需要更多或較少,將數

組的單元數聲明為符號常量 ——

DATA_SAVE_NUM,定義為8,需要時只需修改此處定義即可,不用在程序中“遍地”去找,遺漏一個就形成一個bug!

在構思服務于功能的

變量時順便考慮如何處理之,還是拿測量數據存放為例。既然需要存放最近N次的數據,可以這樣處理:存滿8個之后依次向前移,覆蓋序號最小的單元,騰出序號

最大的存放新數據。這樣處理效率太低,常用的方式是環形緩沖區的概念,即將數據存放區看成是個首尾相接的環,存放數據時指針不斷“加”,到尾時自動環到

首,不用任何數據搬家操作,而取數也是同樣,只是從存數指針向回“減”,到首時自動環到尾。

基于這個思路,自然2個指針變量的需求就產生了。這兩

個指針據需要能夠“加”到尾環頭,或“減”到頭環尾。如憑直覺,就用比較的方式判斷,每次運算都作一次檢測,雖能完成,但似乎有些繁瑣。考慮一下有無更好

的方式?如果還記得二進制的基本運算,就可以理解我為何在程序中設計環形數據存放區的時候均要求單元數是2的冪,即4、8、16……

按上述方式,可以依次定義出功能用的變量。之后就要結合運行定義一些處理用的變量,這就是VC和操作系統可以幫你完成的那部分。

嵌入式系統(或俗稱“單片機系統”)有以下幾個概念:

1)死循環

嵌入式系統是連續不斷運行的,所以必然有一個“死循環”,一般用以下程序實現:

While(1)

{

……

}

2)標志驅動對于嵌入式系統,小的應用一般沒有操作系統,內存不夠,開銷也大,所以需要自己設置一些標志,以實現類似于PC上的“消息驅動”。

在上述循環中,程序順序檢測各個標志,根據標志做相應的處理。標志的建立一般由中斷完成,或者是中斷處理后產生。

3)時基

多數程序都有按時間處理的需求,如延時、定時查詢、周期測量等等,所以一定有一個時基,由定時器中斷產生,建立標志。在PC中也有類似的機制,DOS時代的PC我知道系統有一個18.2ms的時鐘信號,現在的PC不太清楚了 : (

我設計系統通常使用1ms時基,因為多數處理不會小于這個間隔。由此,要設計一個1ms中斷標志。所有與時間相關的處理都安排在1ms中斷標志建立后的處理中。

4)狀態

一個功能的實現,往往不能“一蹴而就”。

就拿超聲波測距來說:首先得發出超聲波,之后等待回波,等待過程中要根據時間控制增益,逐漸增大,以彌補聲波隨距離增加的衰減。收到后再計算,至此才能得到一個測量結果。

按照聲波速度,2m距離約需要12ms(來回4m)。如果程序設計成順序依次處理模式,直到完成后再處理其它的任務,則大概通訊成功率只有一半了,因為MCU的處理給測距過程獨占了。

也許有人說:可以用中斷來處理。

此,順便說一下:在成熟的程序中,中斷處理中盡量少安排操作。因為一是會由于中斷內、外同時處理相同變量產生錯誤,除非你設計了嚴格的“閉鎖”機制;二是

降低了其它中斷的響應速度,也許會導致程序性能下降;如需要精確捕捉脈沖,則會由于延時響應而降低精度。優先級機制雖可彌補,但那更容易導致數據錯誤,而

且需要更多的堆棧空間。

為了避免上述問題,通常使用狀態來標注一個功能做到了哪一步?設置一個狀態變量,記錄功能實現的進程,每次輪回時根據狀態做相應的事,把能做的做完后立刻退出,把MCU的處理能力交給別的任務。

這就是“分時”處理的概念,只不過分時是由自己寫的程序所調度,而非“操作系統”,隨著所做的項目復雜度加大,你會感到“操作系統”的重要!

而利用狀態控制大概就是所謂的“有限狀態機”,這在嵌入式系統中是常見的。

具體實施時,采用螺旋式步驟完成程序。

先構建一個最基本的程序框架:(這一步在VC中,建立MFC工程時就自動完成了,可在單片機上,得自己為之 ? )

圖 1 程序主框架

(使用圖片表示并非想阻礙拷貝,只是想借用編輯器的彩色表示方式,更直觀,下同)

從上圖可以看出,程序基本上由初始化和死循環組成,死循環中設計了三個處理:時基、通訊、測量(工作),這三件事因為需要同時處理,所以設計在循環中依次得到MCU的處理時間。讀者可回憶一下流程圖格式,有了這個還需要嗎?

然后逐步充實,每構思一個功能:

1) 定義相關變量

2) 在init_var()中初始化;

3) 根據需要定義相關常數;

4) 涉及硬件,在init_hardware()中初始化硬件;

5) 構建處理方法,也就是函數,完成功能;

6) 如完成需要等待外部條件,則定義狀態變量,并定義狀態,轉換條件;

7) 處理時如涉及定時,則設置計時器,建立相應標志,在時基處理中添加處理;

不一定要一個螺旋就上到“頂”,可以逐步添加,首先是實現功能必備的處理,其次是防護出錯的保護性處理。程序將逐步變得完善、可靠。最終得到的程序自然比較復雜,而讀程序者通常看到的是這個版本,所以自然費解!

者如果接觸過編程,一定知道“面向對象”,這個概念開始時我很不理解,匯編程序寫多了,思維更“接近”機器。在編寫幾次VC程序后,覺得“面向對象”倒是

一個不錯的思維方式,即從你要做的事情開始思考,它要完成什么?它有什么特征?它怎么去做?可以類比一下,上述功能定義說明了它要完成什么?變量定義說明

了特征,而處理方法指明它如何去做。也許不太貼切,但是自我感覺有不小的幫助。

下一篇: PLC、DCS、FCS三大控

上一篇: 電氣控制線路圖控制原

推薦產品

更多
主站蜘蛛池模板: 欧美黄色录像 | 亚洲欧美综合 | 一区二区三区四区在线视频 | 我我色综合 | 久久爱黑人激情av摘花 | 成人1区2区 | 91精品一区二区 | 一级久久久久久 | 欧美亚洲国产一区二区三区 | 久久毛片 | 欧美精品一区二区在线观看 | 性欧美xxxx | 亚洲精品中文在线观看 | 午夜影视大全 | 国产精品乱码一区二三区小蝌蚪 | 人操人人 | www.四虎.com | 天天干免费视频 | 亚洲在线一区二区 | 国产精品一区视频 | 一区二区三区回区在观看免费视频 | 在线成人www免费观看视频 | 日韩欧美网| 成人精品国产一区二区4080 | 在线免费观看a级片 | 欧美国产日韩在线观看 | 精品久久久久久久久久久久久久 | 欧美精品一区二区三区蜜臀 | 欧美极品视频 | 色综合久久天天综合网 | 欧美精品在线播放 | 另类a v| 欧美激情久久久 | 日本成人中文字幕 | 精品1区2区 | 在线高清免费观看视频 | 亚洲国产精品久久久久婷婷老年 | 午夜成人免费视频 | 一区二区三区中文字幕 | 在线观看黄色电影 | 精品久久电影 |