久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2568|回復: 0
打印 上一主題 下一主題
收起左側(cè)

URM37V3.2超聲波測距傳感器

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:213900 發(fā)表于 2017-6-25 12:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這個模塊是為了做ROBOT而開發(fā)的東東。當然,如果你有更好的想法,比如用于汽車倒車報警器、門鈴、警戒報警器、地鐵安全線提示、銀行及取款機的一米線提示等。 我們做ROBOT的想法是:把大部分功能集成化,從而解放主CPU。 自從我們的URM37 V1.0超聲波測距模塊推出后,網(wǎng)友們反饋回很多信息,他們希望模塊上安裝超聲波傳感器以方便使用。我們也發(fā)現(xiàn)不同傳感器在使用時差異很大,所以現(xiàn)在URM37 V3.1集成了一對經(jīng)過我們挑選好的傳感器可以減少不少的麻煩;也有不少的網(wǎng)友希望對模塊的編程控制能夠盡量的簡單,比如可以輸出一個開關(guān)量,在測量距離大于設(shè)定的值時輸出一個電平就可以了;比如直接和電腦串口相連接,用串口調(diào)試程序進行操作;模塊可以控制一個舵機0~270度的旋轉(zhuǎn),可以組成一個空間掃描儀。還有的網(wǎng)友說他想在一個機器人系統(tǒng)中使用多個URM37模塊,但是這樣通訊的控制線就將增加不少因為URM37 V1.0不是標準的IIC總線。還有很多網(wǎng)友提出了很多寶貴的意見,這里一并向他們表示感謝,當然如果要滿足所有給我們提出改進意見的網(wǎng)友的需求是不可能的。在現(xiàn)在的URM37 V3.1上已經(jīng)很好的實現(xiàn)了上面提到的功能。在此基礎(chǔ)上升級為URM37 V3.2,機械尺寸與引腳接口以及通信命令兼容V3.1,在V3.1基礎(chǔ)上做了如下更改:
1.串口電平由跳線選擇,用戶可以輕松的選擇TTL電平輸出或是RS232電平輸出。
2.修改了測距算法,使測距耗時更少。
3.當檢測不到障礙物測距失敗的時候?qū)⒘⒓捶祷?XFFFF,方便進行判斷。
4.測量溫度分辨率改為0.1攝氏度,測量溫度范圍:-10度~+70度,輸出格式也做了變化。
5.模塊串口波特率9600,無奇偶效驗,一位停止位。
性能描述
1.工作電源:+5V
2.工作電流:<20mA
3.工作溫度范圍 :-10℃~+70℃
4.超聲波距離測量:
最大測量距離―500cm
最小測量距離―4cm
分辨率-1cm
誤差-1%
5.由于使用了更好的超聲波處理方法,使測量距離更遠更穩(wěn)定。
6.模塊使用RS232串口通訊可靠性更高,同時可以通過電腦串口采集數(shù)據(jù),編寫通訊程序非常的便捷。
7.模塊可以通過脈寬輸出的方式將測量數(shù)據(jù)輸出,這樣使模塊使用更簡單。
8.模塊可以預先設(shè)定一個比較值,在測量距離小于這個值后管腳輸出一個低電平,這樣模塊能夠方便的作為一個超聲波接近開關(guān)使用。
9.模塊提供一個舵機控制功能,可以和一個舵機組組成一個270度測量組件用于機器人掃描0~270度范圍障礙物。
10.模塊內(nèi)帶溫度補償電路提高測量的精度。
11.模塊內(nèi)帶253字節(jié)內(nèi)部EEPROM,可以用于系統(tǒng)記錄一些調(diào)電不丟失的系統(tǒng)參數(shù)。
12.模塊內(nèi)帶一個溫度測量部件,可以通過通訊口讀出分辨率0.1攝氏度的環(huán)境溫度數(shù)據(jù)。
13.模塊尺寸22mm × 51 mm
14.模塊重量:約30g
模塊測量角度
[size=14.1376px]




引腳定義
[size=14.1376px]
URM37 V3.2模塊正面管腳




1: +VCC           電源+5V輸入 2: GND             電源地 3: nRST            模塊復位,低電平復位 4: PWM            測量到的距離數(shù)據(jù)以PWM脈寬方式輸出0-25000US,每50US代表1厘米 5: MOTO           舵機控制信號輸出 6: COMP/TRIG                COMP:          比較模式開關(guān)量輸出,測量距離小于設(shè)置比較距離時輸出低電平     TRIG:           PWM模式觸發(fā)脈沖輸入          7: NC               空腳 8: RXD             異步通訊模塊接收數(shù)據(jù)管腳,RS232電平或者TTL電平 9: TXD             異步通訊模塊發(fā)送數(shù)據(jù)管腳,RS232電平或者TTL電平
功能描述
模塊最基本的一個接口是RXD腳和TXD腳組成的RS232電平或者TTL電平串口,通過串口可以對模塊進行全面的控制。RS232電平可以直接和電腦的串口進行連接,這樣可以方便的通過串口調(diào)試軟件輕易的對模塊進行操作。如果需要用單片機TTL電平的異步口控制模塊,只需要設(shè)置一下串口選擇跳線,模塊就可以在RS232輸出與TTL輸出之間切換了(如下圖跳線短路帽設(shè)置位置)。
[size=14.1376px]
RS232模式




[size=14.1376px]
TTL模式




通過串口可以讀寫模塊內(nèi)部EEPROM的0x00、0x01、0x02單元來設(shè)置模塊的工作模式。
第一模式:PWM被動控制模式和串口被動模式(該模式一直存在)。
在串口被動模式下,模塊處于等待狀態(tài),通過串口發(fā)出的距離測量命令啟動一次距離測量,串口將測量到的距離數(shù)據(jù)返回,命令中帶的舵機旋轉(zhuǎn)度參數(shù)改變模塊MOTO腳產(chǎn)生的舵機控制脈沖從而改變測量舵機的旋轉(zhuǎn)度數(shù)。EEPROM的0x03到0xff是EEPROM的用戶區(qū)也可以通過串口進行讀寫,還可以通過串口讀取一個高精度的溫度。 在PWM被動控制模式下,外部控制COMP/TRIG端上產(chǎn)生一個低電平的觸發(fā)脈沖信號啟動一次距離測量操作,這個低電平脈沖寬度同時代表控制舵機轉(zhuǎn)動的角度控制參數(shù),將270度旋轉(zhuǎn)角度分為46個角度控制參數(shù),每個控制參數(shù)代表5.87度,數(shù)字范圍是范圍是0到46,脈沖每50US代表一個控制角度。當發(fā)出觸發(fā)脈沖后,模塊的MOTO腳產(chǎn)生舵機控制脈沖從而改變測量舵機的旋轉(zhuǎn)度數(shù),接下來PWM端將測量到的距離數(shù)據(jù)以脈寬方式輸出一個低電平脈沖,每50US代表1厘米,可以通過對這個低電平脈沖寬度的測量讀取距離數(shù)據(jù)。當測量無效時將返回一個50000US的脈沖表示這次的測量是無效的。
第二模式:自動測量模式。模塊每隔25MS自動測量,將測量到的數(shù)據(jù)和比較值做比較,如果測量距離等于或者小于比較值COMP/TRIG腳輸出低電平。另外每啟動一次測量模塊的PWM端將測量到的距離數(shù)據(jù)以脈寬方式輸出一個低電平脈沖,每50US代表1厘米,可以通過對這個低電平脈沖寬度的測量讀取距離數(shù)據(jù)。設(shè)置好比較距離值后可以簡單的把模塊當一個超聲波開關(guān)使用。
通訊協(xié)議
模塊串口波特率9600,無奇偶效驗,一位停止位。控制命令通過一致的幀結(jié)構(gòu)通訊,幀長度4字節(jié):命令+數(shù)據(jù)0+數(shù)據(jù)1+校驗和。效驗和=命令+數(shù)據(jù)0+數(shù)據(jù)1的相加和的低8位。模塊可以直接通過PC串口或單片機串口進行操作。
命令格式
功 能
說明
0x11+NC+NC+校
啟動16位溫度的讀取命令
命令啟動一次讀取命令,測量溫度完畢后模塊發(fā)出帶相同命令頭的數(shù)據(jù)加兩字節(jié)的溫 度數(shù)據(jù):0x11+溫度高+溫度低+SUM(SUM代表效驗和,NC代表任意數(shù)據(jù))。溫度高字節(jié)的高4位代表溫度正負,當高4位都是1時說明是負溫度,當高4位都是0時是正溫度,除去溫度高字節(jié)的高4位后是12位的溫度。分辨率0.1度,每個數(shù)字代表0.1攝氏度。當測量無效時返回的溫度高位和低位數(shù)據(jù)都是0xff。
0x22+度數(shù)+NC+SUM
啟動16位距離的讀取命令
度數(shù)是控制舵機先旋轉(zhuǎn)到一個度數(shù)后再進行測距。270度分為46個角度,每角度5.87度,數(shù)字范圍是十進制0到46,如果數(shù)字超過46電機將不動作。上電初始,舵機將旋轉(zhuǎn)到當中即135度的位置。當指令是0時,舵機逆時針旋轉(zhuǎn)到0度,當指令是46時,舵機順時針旋轉(zhuǎn)到270度。當測量完畢這時返回的數(shù)據(jù)是0x22+距離高+距離低+SUM。當測量無效時返回的距離高位和低位數(shù)據(jù)都是0xff。
0x33+地址+NC+SUM
啟動內(nèi)部EEPROM的讀
寫入命令后,讀取數(shù)據(jù)返回0x33+地址+數(shù)據(jù)+SUM。
0x44+地址+寫數(shù)據(jù)+SUM
啟動內(nèi)部EEPROM的寫
寫數(shù)據(jù)范圍包括0-255單元,其中地址0x00-0x02的據(jù)是模塊使用的配置字,操作時需謹慎!可以通過讀指令來效驗數(shù)據(jù)是否被寫入。寫入成功返回0x44+地址+寫數(shù)據(jù)+SUM。模塊內(nèi)部的EEPROM地址0x00到0x02用于配置模塊參數(shù),分別是:比較距離低(0x00)、比較距離高(0x01)、模式(0x02)。對模式寄存器寫入0xaa自動測量模式開啟。





















注:NC代表任意數(shù)據(jù),SUM代表效驗和。
1.PWM被動控制模式可以將多個模塊數(shù)據(jù)線并聯(lián)使用。
2.為了方便客戶使用模塊在出廠時可以根據(jù)客戶需要配置其相應(yīng)的參數(shù)。URM37 V3.2超聲波測距模塊硬件也可以根據(jù)特殊的客戶定制改變軟件使他成為一個專用的模塊。
3.舵機旋轉(zhuǎn)角度參考表:
DEC
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HEX
0
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
度數(shù)
0
6
12
18
24
29
35
41
47
53
59
65
70
76
82
88
DEC
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
HEX
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
度數(shù)
94
100
106
112
117
123
129
135
141
147
153
159
164
170
176
172
DEC
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46


HEX
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E


度數(shù)
188
194
200
206
211
217
223
229
235
241
247
252
258
264
270
















注:藍色數(shù)據(jù)為舵機轉(zhuǎn)軸指向正前方的度數(shù)。
模塊的連接與測試
電腦9針串口(公頭)功能定義:
[size=14.1376px]




URM37V3.2超聲波測距模塊與電腦串口的連接(請將模塊串口設(shè)置為RS232模式):
[size=14.1376px]




URM37V3.2超聲波測距模塊與單片機串口的連接(請將模塊串口設(shè)置為TTL模式):
[size=14.1376px]




伴侶的使用
當您按照上圖連接好模塊后,就可以使用我們的“URM37 V3.2伴侶”對模塊進行在線測試了。
[size=14.1376px]




軟件的使用極其簡單:先保證電腦上沒有其他軟件占用串口,然后運行伴侶,先選擇COM口,再點擊“打開串口”,右邊窗口選擇探測功能,選擇“16位溫度讀取”可以進行溫度測量,選擇“16位距離讀取”可以進行距離測量,“控制指令”窗口同時顯示將要發(fā)送的指令,點擊“啟動功能”便完成操作。此時,“返回數(shù)據(jù)”窗口中間兩位顯示的是16進制數(shù)據(jù),軟件下方狀態(tài)欄內(nèi)也會顯示出溫度及距離的10進制數(shù)據(jù)。該軟件使用方便、數(shù)據(jù)直觀。
如果您還購買了我們的專用舵機,便可以使用舵機控制部分。如圖所示,在“舵機角度”窗口內(nèi)選擇要執(zhí)行的角度,同時在選擇“16位距離讀取”,然后點擊“啟動功能”,舵機便旋轉(zhuǎn)到相應(yīng)的角度上,同時超聲波測量該方向上障礙物的距離。由此URM37V3.2配合舵機就可以完成空間障礙物掃描功能。

樣例// # Editor    :Jiang from DFRobot// # Data      :18.09.2012//#PWM output mode Arduino sample code// # Product name:ultrasonic scanner // # Product SKU:SEN0001// # Version :  0.2 // # Description:// # The Sketch for scanning 180 degree area 4-500cm detecting range // # Connection:// #       Pin 1 VCC (URM V3.2) -> VCC (Arduino)// #       Pin 2 GND (URM V3.2) -> GND (Arduino)// #       Pin 4 PWM (URM V3.2) -> Pin 3 (Arduino)// #       Pin 6 COMP/TRIG (URM V3.2) -> Pin 5 (Arduino)// #// # Description:// # The Sketch for scanning 180 degree area 4-500cm detecting range // # Connection:// #       Pin 1 VCC (URM V3.2) -> VCC (Arduino)// #       Pin 2 GND (URM V3.2) -> GND (Arduino)// #       Pin 4 PWM (URM V3.2) -> Pin 3 (Arduino)// #       Pin 6 COMP/TRIG (URM V3.2) -> Pin 5 (Arduino)// #int URPWM = 3; // PWM Output 0-25000US,Every 50US represent 1cmint URTRIG=5; // PWM trigger pin unsigned int Distance=0;uint8_t EnPwmCmd[4]={0x44,0x02,0xbb,0x01};    // distance measure command void setup(){                                 // Serial initialization  Serial.begin(9600);                         // Sets the baud rate to 9600  PWM_Mode_Setup();} void loop(){ PWM_Mode(); delay(20);}                      //PWM mode setup function void PWM_Mode_Setup(){   pinMode(URTRIG,OUTPUT);                     // A low pull on pin COMP/TRIG  digitalWrite(URTRIG,HIGH);                  // Set to HIGH    pinMode(URPWM, INPUT);                      // Sending Enable PWM mode command    for(int i=0;i<4;i++)  {      Serial.write(EnPwmCmd);  } } void PWM_Mode(){                              // a low pull on pin COMP/TRIG  triggering a sensor reading    digitalWrite(URTRIG, LOW);    digitalWrite(URTRIG, HIGH);               // reading Pin PWM will output pulses         unsigned long DistanceMeasured=pulseIn(URPWM,LOW);         if(DistanceMeasured>=10200)    {              // the reading is invalid.      Serial.println("Invalid");        }    else    {      Distance=DistanceMeasured/50;           // every 50us low level stands for 1cm      Serial.print("Distance=");      Serial.print(Distance);      Serial.println("cm");    }}模塊的應(yīng)用
[size=14.1376px]
URM37 V3.2模塊的AVR評估板電路圖




[size=14.1376px]
由舵機組成的270度距離測量組合




AVR評估板的操作:電路通過74HC125三態(tài)門使單片機的一個串口分時復用來接收電腦輸入的指令和控制讀寫URM37 V3.2模塊。配置WINDOWS自帶的超級終端作為電腦端的控制平臺。
評估板除了可以通過串口控制還可以通過操作URM37 V3.2模塊PWM腳和COM\TRIG腳來進行數(shù)據(jù)的讀取。當設(shè)置為自動測量模式時評估板上的一個LED可以指示比較結(jié)果,當測量距離小于設(shè)置比較距離時LED亮
使用中常遇到的問題:
1.由于超聲波在空氣中衰減很厲害(與距離d的平方成反比),同時聲音在障礙物表面反射時會受很多因素 (如障礙物形狀、方向、質(zhì)地)的影響,因此超聲波測量的距離是有限的。
2.本系統(tǒng)遠距離測試被測物是一面墻,近距離測試被測物可以是一支筆。根據(jù)使用環(huán)境和被測物的質(zhì)地的不同,將可能造成測量結(jié)果與提供的數(shù)據(jù)不符。差距不大,屬于正常情況。
3.上述所提及的舵機是我們專用的舵機,可以旋轉(zhuǎn)270度。如果使用者自備舵機,可能控制時序就有所不同,請使用者注意(舵機旋轉(zhuǎn)角度參考表內(nèi)數(shù)據(jù)參考使用)。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日产欧产精品精品推荐蛮挑 | 精品福利一区二区三区 | 婷婷丁香在线视频 | 亚洲国产欧美国产综合一区 | 91精品国产乱码麻豆白嫩 | 欧美成人免费电影 | 99热精品国产| 一区二区在线看 | 亚洲视频一区在线观看 | 日韩精品一区二区在线观看 | 久久精品色欧美aⅴ一区二区 | 亚洲视频在线免费观看 | 91精品中文字幕一区二区三区 | 波多野结衣亚洲 | 国产成人免费 | 国产精品美女久久久久久免费 | 亚洲一区二区三区在线播放 | 日韩久久在线 | 久久精品视频免费观看 | 在线国产一区二区 | 一级在线观看 | 免费精品在线视频 | 国产精品亚洲二区 | 午夜www| 老司机狠狠爱 | 国产丝袜一区二区三区免费视频 | 国产精品一区二区三 | 91久久精品日日躁夜夜躁国产 | 伊人精品在线 | 欧美一区精品 | 国产精品国产三级国产aⅴ中文 | 国产亚洲精品久久久久动 | 国产欧美在线 | 久久久久久一区 | 欧美一区久久 | 日本成人在线播放 | 国产成人高清视频 | 九九久久久 | 久久99成人 | 四虎伊人| 亚洲一区二区三区桃乃木香奈 |