STA-M Series Miniature Laser Rangefinder Module ใช้ส่วนประกอบเลเซอร์เซมิคอนดักเตอร์ 905Nm ด้วยการใช้พลังงานต่ำขนาดเล็กประสิทธิภาพที่มั่นคงและลักษณะอื่น ๆ ที่เหมาะสมสำหรับการถ่ายภาพความร้อนการมองเห็นตอนกลางคืนและอุปกรณ์เคลื่อนที่แบบพกพาอื่น ๆ
ช่วงการวัด: 5-1200meters
การวัดต้นไม้≥1000เมตร
ความแม่นยำในการวัด± 1m
น้ำหนัก≤14± 0.5 กรัม
แบบอย่าง | STA-M010X | |
ความยาวคลื่นเลเซอร์ | 905nm | |
ความสามารถในการจัดระเบียบ | อาคาร | 1200m |
ต้นไม้ | 1,000m | |
เกรดเลเซอร์ | ความปลอดภัยระดับ 1 ระดับ 1 | |
ช่วงขนาดเล็ก | 5m | |
ปณิธาน | ± 0.1m | |
การดำเนินงานในปัจจุบัน | ≤90ma | |
กระแสโหมดสแตนด์บาย | ≤20ma | |
การใช้พลังงาน | สแตนด์บาย≤0.09W | |
Peak≤0.23W | ||
อินเทอร์เฟซการสื่อสาร | TTL | |
อุณหภูมิการทำงาน | · -20 ℃ ~+55 ℃ | |
อุณหภูมิการจัดเก็บ | · -30 ℃ ~+60 ℃ | |
แรงดันไฟฟ้าอินพุต | 3-5V (แหล่งจ่ายไฟ 5V ที่แนะนำ) | |
มุมแตกต่างของลำแสง | 5 โรค | |
ความถี่ตั้งแต่ | 1-3Hz | |
พลัง | ≤1 mw ปลอดภัยสำหรับดวงตาของมนุษย์ | |
วิธีการต่าง ๆ | ชีพจร | |
น้ำหนัก | 14 ± 0.5 กรัม | |
ขนาด | φ23x47มม. |
อินเตอร์เฟส TTL | |||
เข็มหมุด | นิยามพิน | อธิบาย | ภาพวาดแผนผัง |
1 | gnd | แหล่งจ่ายไฟ - |
![]() |
2 | vin | แหล่งจ่ายไฟ + | |
3 | TXD | ส่งข้อมูล | |
4 | RXD | ข้อมูลที่ได้รับ | |
5 | eno | เปิดใช้งานพินสงวนไว้ | |
|
|
|
คำสั่งหลัก | ||
รหัสคำสั่ง | คำอธิบาย | เพิ่มออกอากาศ การตอบสนอง |
0x80 | อ่านสถานะ RangeFinder | เลขที่ |
0x81 | อ่านผลการวัด | เลขที่ |
0x83 | เริ่มตั้งแต่ | เลขที่ |
0x84 | หยุด | เลขที่ |
0x9e | โปรแกรมพารามิเตอร์การสื่อสาร | ใช่ |
0xbe | อ่านพารามิเตอร์การสื่อสาร | ใช่ |
0xc0 | การทดสอบการสื่อสาร | ใช่ |
0xc1 | อ่านเวอร์ชันเฟิร์มแวร์ | ใช่ |
|
|
|
การตอบสนองของทาส | ||
รหัสการรับรู้ | คำอธิบาย | |
0x60 | กรอบคำตอบง่ายๆ | |
0x01 | เฟรมข้อมูลช่วง | |
0x20 | เฟรมสถานะ rangefinder | |
0x21 | เฟรมพารามิเตอร์การสื่อสาร | |
0xe0 | กรอบข้อความแสดงข้อผิดพลาด |
1. รูปแบบกรอบการสื่อสาร:
SlaveId + คำสั่ง + พารามิเตอร์ + ตรวจสอบ
2. ช่วงเวลาระหว่างสองเฟรมที่อยู่ติดกันจะต้องมีเวลาอย่างน้อย 1.5 ไบต์เมื่อ
ส่งออกเมื่อมันน้อยกว่า 1ms จะถือเป็น 1ms;
600bps: 25ms
1200bps: 12.5ms
2400bps: 6.25ms
4800bps: 3.125ms
9600bps: 1.56ms
19200bps: 1ms (0.78ms <1ms ใช้ 1ms)
3. การส่งการคำนวณของเช็ค;
โมดูลนี้ใช้โหมดการตรวจสอบของไบต์โดยผลรวมการสะสมไบต์ slaveid ไม่ได้
รวมอยู่ในการตรวจสอบการส่งเช็คในที่สุด
เช่นการคำนวณการตรวจสอบผลรวมของคำสั่งโหมดสแกน "0x83 0x40":
A. คำนวณผลรวมการสะสม: 0x83 + 0x40 = 0xC3;
B.Take LSB [D7..D0]: 0xC3;
C.Calculate 2 ส่วนประกอบ: 0x100 - 0xc3 = 0x3d, 0x3d คือการตรวจสอบ;
เพิ่มที่อยู่ทาสเมื่อ Mater ส่ง: 0x10 0x83 0x40 0x3d
4. ใบเสร็จรับเงินการตรวจสอบ;
เช่นการรับเฟรมการสื่อสาร: 0x10 0x83 0x40 0x3d การตรวจสอบไม่รวมถึง
ที่อยู่ทาส 0x10
A.calculate การสะสมผลรวม: 0x83 + 0x40 + 0x3d = 0x100;
B.Take LSB ของการสะสมผลรวม: 0x00; 0x00 คือผลการตรวจสอบ
หากผลการตรวจสอบเป็น 0x00 นั่นหมายถึงข้อมูลที่ได้รับนั้นถูกต้อง หากผลการตรวจสอบ
ไม่ใช่ 0x00 นั่นหมายความว่าข้อมูลที่ได้รับนั้นไม่ถูกต้อง
หมายเหตุ: ในตัวอย่างที่อยู่ทาสของแต่ละคำสั่งคือ 0x10; ในแอปพลิเคชันที่อยู่ทาสจะเป็นที่ตั้งโปรแกรม
1、 ทดสอบการสื่อสาร (0xc0);;
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0xc0 | ไม่มี |
|
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
0x60 | ไม่มี |
|
ตัวอย่าง | ||
Master Sends: 0x10 0xc0 0x40; 0x40 คือการตรวจสอบ การตอบสนองของทาส: 0x10 0x60 0xa0; 0xa0 คือการตรวจสอบ |
2、 คำสั่งทาสเพื่อเริ่มตั้งแต่ (0x83);
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x83 | BYTE1 | D7: สำรอง |
D6: โหมดการเปลี่ยนแปลงอย่างต่อเนื่อง 0 = ปิด; 1 = เปิด; | ||
D5: โหมดหมอก, 0 = ปิด; 1 = เปิด; | ||
D4: หน่วยข้อมูล, 0 = เมตร; 1 = หลา; | ||
D3 - D0: โหมดการทำงาน, 0 = ตั้งแต่; 1 = ความเร็ว; 2 = โหมดเป้าหมายขนาดเล็ก | ||
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
0x60 | ไม่มี | หาก Slave ถูกตั้งค่าเป็นโหมดการส่งออกอัตโนมัติ Slave จะตอบกลับ 0x60 ก่อนหลังจากการรับเริ่มต้นคำสั่งเริ่มต้นหลังจากเสร็จสิ้นแล้วมันจะส่งผลออก |
ตัวอย่าง | ||
อาจารย์ส่ง: 0x10 0x83 0x00 0x7d: โหมด 0 สำหรับการวัดเดี่ยวหน่วยข้อมูลคือเมตร; 0x10 0x83 0x40 0x3d: โหมด 0 สำหรับ mesure ต่อเนื่องหน่วยข้อมูลคือเมตร; 0x10 0x83 0x10 0x6d: โหมด 0 สำหรับการวัดเดี่ยวหน่วยข้อมูลคือหลา; 0x10 0x83 0x20 0x2d: โหมด 0 สำหรับ mesure ต่อเนื่องหน่วยข้อมูลคือหลา; การตอบสนองของทาส: 0x10 0x60 0xa0; |
บันทึก:1、 หากวิธีการส่งออกข้อมูลโมดูลถูกตั้งค่าเป็นโหมดการสืบค้นจะสามารถวัดได้เพียงครั้งเดียว
2. ในโหมดความเร็วฟังก์ชั่นการจัดเรียงอย่างต่อเนื่องเป็นโมฆะซึ่งไม่มีการวัดความเร็วอย่างต่อเนื่อง
3. โหมดฟ็อกใช้ได้เฉพาะกับอุปกรณ์ที่มีฟังก์ชั่นโหมดหมอกเท่านั้น
4.Slave จะส่งเฟรมตอบสนอง 0x60 หลังจากการรับเริ่มต้นคำสั่งเริ่มต้นมันจะเริ่มส่งผลลัพธ์ที่หลากหลายหลังจากเสร็จสิ้น
3、 คำสั่ง Slave Stop ตั้งแต่ (0x84);
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x84 | ไม่มี |
|
หมายเหตุ: หลังจากมาสเตอร์ส่งคำสั่งให้ทาสต้องทำอย่างต่อเนื่องมันจำเป็นต้องส่งคำสั่งนี้ไปยังทาสเพื่อหยุดตั้งแต่ หาก Master ส่งคำสั่งให้ทาสทำครั้งเดียวตั้งแต่นั้นไม่จำเป็นต้องส่งคำสั่งนี้สาเหตุที่ทาสจะหยุดโดยอัตโนมัติหลังจากเสร็จสิ้นการแข่งขัน
4、 การอ่านสถานะทาส (0x80);
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x80 | ไม่มี |
|
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
0x20 | BYTE1 | D7: 1 = Rangefinder ไม่ว่าง; 0 = เสร็จแล้ว D6: 1 = ความผิดปกติของ Rangefinder; 0 = ไม่มีความผิดปกติ; D5-D2: สำรอง; D1: 0 = เซ็นเซอร์มุมห้าม; 1 = เปิดใช้งานเซ็นเซอร์มุม; D0: 0 = เซ็นเซอร์มุมเป็นปกติ 1 = เซ็นเซอร์มุมผิดปกติ |
Byte2 | จอง |
5、 ผลการค้นหาช่วงการค้นหา (0x81);
อาจารย์ส่ง | |
คำอธิบาย |
|
|
|
การตอบสนองของทาส | |
คำอธิบาย |
|
D7 :: ข้อมูลระยะทาง, 0 = ข้อมูลที่ถูกต้อง; 1 = ข้อมูลที่ไม่ถูกต้อง; D6 :: ข้อมูลมุม, 0 = ข้อมูลที่ถูกต้อง; 1 = ข้อมูลที่ไม่ถูกต้อง; D5: ความละเอียดของข้อมูล, 0 = 0.5/LSB; 1 = 0.1/LSB; D4: หน่วยข้อมูล, 0 = เมตร; 1 = หลา; D3 - D0: โหมดการทำงาน, 0 = ตั้งแต่; 1 = ความเร็ว; |
|
เมื่อระยะทางถูกต้อง: ระยะทาง [D15..D8]; เมื่อระยะทางไม่ถูกต้อง: 0x80 = ไม่ได้ผลลัพธ์ 0x81 = ข้อผิดพลาดของระบบ |
|
เมื่อมุมถูกต้อง: ระยะทาง [D7..D0]; เมื่อมุมไม่ถูกต้อง: สำรอง; |
|
|
|
ตัวอย่าง | |
1、 Slave ส่งเฟรมระยะทาง: 0x10 0x01 0x60 0x12 0xd7 0xb6 ค่าระยะทาง = 0x12d7 = 4823 = 482.3m 2、 Slave ส่งเฟรมความเร็ว: 0x10 0x01 0x21 0x03 0xd7 0x04 ค่าความเร็ว = 0x03d7 = 983 = 98.3km/h 3、 Slave ส่งเฟรมระยะทาง: 0x10 0x01 0xe0 0x80 0x00 0x9f ค่าระยะทางไม่ถูกต้อง (ไบต์แรกคือ 0xe0, d7 = 1) |
6、 เขียนอัตราการสื่อสารการสื่อสารทาส (0x9e) การตั้งค่าโรงงานคือ 19200bps;
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x9e | BYTE1 | จะต้องเป็น 0x90 |
Byte2 | จอง | |
Byte3 | จอง | |
Byte4 | การตั้งค่าอัตราการรับส่งข้อมูล: 0 = 1200bps; 1 = 2400bps; 2 = 4800bps; 3 = 9600bps; 4 = 19200bps (ค่าเริ่มต้น); |
|
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
(โปรดดูส่วนการตอบสนองของทาสของการอ่านพารามิเตอร์ Slave) | ||
ตัวอย่าง | ||
ถ้าต้นแบบส่งเฟรม: 0x10 0x9e 0x90 0x00 0x00 0x04 0xce; หมายถึง: กำหนดอัตราการรับเสียงของทาสเป็น 19200bps |
หมายเหตุ: อัตราการรับส่งข้อมูลใหม่นั้นใช้ได้หลังจากโมดูลรีสตาร์ทเท่านั้น
7、 เขียนที่อยู่ทาส (0x9e), การตั้งค่าจากโรงงาน: 0x10;
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x9e | BYTE1 | ต้องเป็น 0x91 |
Byte2 | จอง | |
Byte3 | จอง | |
Byte4 | ที่อยู่ใหม่ของทาส | |
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
(โปรดดูส่วนการตอบสนองของทาสของการอ่านพารามิเตอร์ Slave) | ||
ตัวอย่าง | ||
ในการเขียนที่อยู่ทาสเป็น 0x20 จากนั้นอาจารย์ใหญ่ส่ง: 0x10 0x9e 0x91 0x00 0x00 0x20 0xb1 |
บันทึก:1. ที่อยู่ทาสใหม่ใช้ได้หลังจากเริ่มอุปกรณ์ใหม่
2. 0x00 เป็นที่อยู่ออกอากาศดังนั้นที่อยู่ทาสจึงไม่สามารถตั้งค่าเป็น 0x00;
3. ที่อยู่ทาสเริ่มต้นคือ 0x10;
8、 เขียนวิธีการส่งออกผลลัพธ์ที่วัดได้ (0x9e);
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x9e | BYTE1 | ต้องเป็น 0x92 |
Byte2 | จอง | |
Byte3 | จอง | |
Byte4 | วิธีการส่งออกผลลัพธ์การเลือกใช้: 0 = โหมดสอบถาม (Slave สามารถส่งออกข้อมูลได้เฉพาะเมื่อ Master ส่งคำสั่งการอ่าน) 1 (ค่าเริ่มต้น) = โหมดอัตโนมัติ (หลังจากเสร็จสิ้นแล้วมันจะส่งข้อมูลโดยอัตโนมัติ); |
|
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
(โปรดดูส่วนการตอบสนองของทาสของการอ่านพารามิเตอร์ Slave) | ||
ตัวอย่าง | ||
หากต้องการเปลี่ยนการส่งออกข้อมูลเป็นการส่งออกอัตโนมัติจากนั้น Master จะส่ง: 0x10 0x9e 0x92 0x00 0x00 0x01 0xcf |
9、 ตั้งค่าแรงดันไฟฟ้า UART IO (0x9e), การตั้งค่าจากโรงงาน: 3.3V;
ตัวอย่าง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0x9e | BYTE1 | ต้องเป็น 0x93 |
Byte2 | จอง | |
Byte3 | จอง | |
Byte4 | การตั้งค่าแรงดันไฟฟ้า UART IO: 72 - 199, 0.025V/LSB; | |
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
(โปรดดูส่วนการตอบสนองของทาสของการอ่านพารามิเตอร์ Slave) | ||
ตัวอย่าง | ||
เปลี่ยนแรงดันไฟฟ้า UART IO เป็น 3.3V จากนั้น Master ส่ง: 0x10 0x9e 0x93 0x00 0x00 0x84 0x4b |
หมายเหตุ: vio = การตั้งค่า * 0.025V, ค่าเริ่มต้น vio = 3.3V
10、 การอ่านพารามิเตอร์การสื่อสาร (0xbe);
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ | คำอธิบาย |
0xbe | BYTE1 | ต้องเป็น 0x91 หรือ 0x92 |
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | คำอธิบาย |
0x21 | BYTE1 | ที่อยู่ทาส: 0x01 - 0xff |
Byte2 | D4: วิธีการส่งออกข้อมูล D3 - D0: การตั้งค่าอัตราการรับส่งข้อมูล; |
|
Byte3 | การตั้งค่าแรงดันไฟฟ้า uart io |
11、 Slave ส่งข้อมูลที่ไม่ถูกต้อง (0xe0);
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ |
|
0xe0 | BYTE1 | D7 - D3: สำรอง; D2: 1 = ข้อผิดพลาดพารามิเตอร์การสื่อสาร; D1: 1 = commmand ที่ไม่สามารถจดจำได้; D0: 1 = ข้อผิดพลาดในการตรวจสอบ; |
12、 อ่านเวอร์ชันเฟิร์มแวร์ (คำสั่งนี้รองรับเฉพาะใน v7.00 หรือรุ่นใหม่กว่า;);
อาจารย์ส่ง | ||
รหัสคำสั่ง | พารามิเตอร์ |
|
0xc1 | ไม่มี |
|
การตอบสนองของทาส | ||
รหัสการรับรู้ | พารามิเตอร์ | หมายเหตุ |
0x61 | Byte0 | เวอร์ชันพฤษภาคม (BCD) |
BYTE1 | รุ่นรอง (BCD) | |
ตัวอย่าง | ||
การตอบสนองของทาส: 0x10 0x61 0x07 0x00 0x98 ข้อมูล "0x07 0x00" หมายถึงเวอร์ชันเฟิร์มแวร์คือ V7.00 |