亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: URM37V3.2超聲波測距傳感器 [打印本頁]

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




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




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




[size=14.1376px]
TTL模式




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





















注:NC代表任意數據,SUM代表效驗和。
1.PWM被動控制模式可以將多個模塊數據線并聯使用。
2.為了方便客戶使用模塊在出廠時可以根據客戶需要配置其相應的參數。URM37 V3.2超聲波測距模塊硬件也可以根據特殊的客戶定制改變軟件使他成為一個專用的模塊。
3.舵機旋轉角度參考表:
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
度數
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
度數
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


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
















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




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




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




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




軟件的使用極其簡單:先保證電腦上沒有其他軟件占用串口,然后運行伴侶,先選擇COM口,再點擊“打開串口”,右邊窗口選擇探測功能,選擇“16位溫度讀取”可以進行溫度測量,選擇“16位距離讀取”可以進行距離測量,“控制指令”窗口同時顯示將要發送的指令,點擊“啟動功能”便完成操作。此時,“返回數據”窗口中間兩位顯示的是16進制數據,軟件下方狀態欄內也會顯示出溫度及距離的10進制數據。該軟件使用方便、數據直觀。
如果您還購買了我們的專用舵機,便可以使用舵機控制部分。如圖所示,在“舵機角度”窗口內選擇要執行的角度,同時在選擇“16位距離讀取”,然后點擊“啟動功能”,舵機便旋轉到相應的角度上,同時超聲波測量該方向上障礙物的距離。由此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");    }}模塊的應用
[size=14.1376px]
URM37 V3.2模塊的AVR評估板電路圖




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




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






歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1