Mục lục:

Benewake LiDAR TFmini (Hướng dẫn đầy đủ): 5 bước (kèm hình ảnh)
Benewake LiDAR TFmini (Hướng dẫn đầy đủ): 5 bước (kèm hình ảnh)

Video: Benewake LiDAR TFmini (Hướng dẫn đầy đủ): 5 bước (kèm hình ảnh)

Video: Benewake LiDAR TFmini (Hướng dẫn đầy đủ): 5 bước (kèm hình ảnh)
Video: Mach3 CNC - Phần 4: Spindle Setup (Part 1/2) 2024, Tháng mười một
Anonim
Benewake LiDAR TFmini (Hướng dẫn đầy đủ)
Benewake LiDAR TFmini (Hướng dẫn đầy đủ)
Benewake LiDAR TFmini (Hướng dẫn đầy đủ)
Benewake LiDAR TFmini (Hướng dẫn đầy đủ)

Sự miêu tả

Mô-đun Benewake TFMINI Micro LIDAR có thiết kế quang học, cấu trúc và điện tử độc đáo. Sản phẩm sở hữu ba ưu điểm chính: giá thành rẻ, khối lượng siêu nhỏ và tiêu thụ điện năng thấp.

Thuật toán tích hợp được điều chỉnh phù hợp với môi trường trong nhà và ngoài trời có thể đảm bảo một hiệu suất đa dạng tuyệt vời với chi phí thấp và khối lượng nhỏ, giúp mở rộng đáng kể các lĩnh vực và kịch bản ứng dụng của LiDAR và đặt nền tảng vững chắc cho các “mắt” thông minh trong tương lai kỷ nguyên.

Thông số kỹ thuật

  • Điện áp đầu vào: 5v
  • Công suất trung bình: 0,12W
  • Giao thức truyền thông: UART (Tốc độ truyền: 115200)
  • Nhiệt độ hoạt động: -20 ℃ ~ 60 ℃
  • FOV: 2.3 °

Kích thước

  • Kích thước: 42mmx15mmx16mm
  • Trọng lượng: 6.1g

Hạn chế

Phạm vi "mù" 0cm-30cm

Nơi để mua

  • RobotShop
  • Amazon

Hướng dẫn này yêu cầu bạn phải nắm rõ những điều sau:

  • Điện tử cơ bản
  • Dụng cụ cầm tay như máy cắt dây và máy thoát y
  • Đọc sơ đồ và sơ đồ kết nối
  • Lập trình C / C ++ cho Arduino (tùy chọn)
  • Lập trình Python cho Raspberry Pi (tùy chọn)

Bước 1: Thu thập tài liệu

Thu thập tài liệu
Thu thập tài liệu
Thu thập tài liệu
Thu thập tài liệu
Thu thập tài liệu
Thu thập tài liệu

Tài liệu hướng dẫn này sẽ hướng dẫn bạn các cách triển khai TFmini LiDAR khác nhau bằng cách sử dụng Windows PC và Raspberry Pi. Mỗi phương pháp có các yêu cầu của nó và có thể khác nhau tùy theo nhu cầu của bạn.

** Bạn sẽ cần Benewake TFmini LiDAR cho từng trường hợp (tất nhiên) **

Đối với triển khai dựa trên PC:

  • Hệ điều hành: Windows
  • Bộ chuyển đổi USB-TTL
  • Dây nhảy

Để triển khai dựa trên Raspberry Pi:

  • Raspberry Pi
  • Dây nhảy
  • Đèn LED (tùy chọn)
  • Bộ chuyển đổi USB-TTL (tùy chọn)
  • Breadboard (tùy chọn)
  • Điện trở (giữa 100-1k Ohm) (tùy chọn)

Bước 2: Triển khai dựa trên PC bằng ứng dụng Benewake

Triển khai dựa trên PC bằng ứng dụng Benewake
Triển khai dựa trên PC bằng ứng dụng Benewake
Triển khai dựa trên PC bằng ứng dụng Benewake
Triển khai dựa trên PC bằng ứng dụng Benewake
  1. Kết nối TFmini LiDAR với bộ chuyển đổi USB-TTL bằng dây nhảy (đực-cái) theo sơ đồ được hiển thị

    • Dây đỏ 5V
    • Dây đen GND
    • Dây trắng / xanh lam Tx
    • Dây màu xanh lá cây Rx
  2. Cắm USB-TTL vào máy tính của bạn
  3. Đi tới Trình quản lý Thiết bị (Win + X) và tìm "Cổng kết nối USB-to-Serial sung mãn" trong Cổng (COM & LPT). Đảm bảo rằng Windows nhận ra thiết bị
  4. Tải xuống và giải nén.rar WINCC_TF
  5. Chạy WINCC_TFMini.exe từ các tệp được giải nén
  6. Chọn cổng COM tương ứng từ menu thả xuống trong Ứng dụng Benewake dưới tiêu đề Cổng nối tiếp
  7. Nhấp vào KẾT NỐI

Bước 3: Triển khai dựa trên PC bằng Python (PySerial)

Triển khai dựa trên PC bằng Python (PySerial)
Triển khai dựa trên PC bằng Python (PySerial)
  1. Kết nối TFmini LiDAR với PC bằng bộ chuyển đổi USB-TTL
  2. Tải xuống và mở PC_Benewake_TFmini_LiDAR.py bằng Python IDLE (đảm bảo bạn đã cài đặt PySerial và Python trên PC của mình)
  3. Chỉnh sửa cổng COM trong mã để khớp với cổng COM của bộ chuyển đổi USB-TTL trên PC của bạn (xem hình ảnh)
  4. Nhấp vào Run tab
  5. Nhấp vào Chạy mô-đun

** Tham khảo Bước-5 để biết giải thích về mã

Bước 4: Triển khai dựa trên Raspberry Pi

Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
Triển khai dựa trên Raspberry Pi
  1. Kết nối TFmini LiDAR với RPi bằng bộ chuyển đổi USB-TTL hoặc cổng UART bằng GPIO
  2. Tải xuống và mở Pi_benewake_LiDAR.py bằng Python IDLE
  3. Nếu bạn đang sử dụng bộ chuyển đổi USB-TTL với RPi, hãy mở Arduino IDE. Nhấp vào Công cụ -> Cổng nối tiếp và chỉnh sửa mã cho phù hợp. Nếu bạn đang sử dụng cổng UART GPIO, hãy ghi / dev / ttyAMA0
  4. Chạy mã

** Mã có thể được sử dụng để in khoảng cách, nhưng vì RPi không có nhiều năng lượng xử lý, nên thắp sáng đèn LED nếu khoảng cách được ghi dưới một phạm vi nhất định (sơ đồ cho đèn LED có gắn RPi)

Q. Tại sao sử dụng bộ chuyển đổi USB-TTL với RPi?

RPi chỉ có một cổng UART và đôi khi bạn cần đặt một vài mô-đun yêu cầu giao tiếp UART. USB-TTL cung cấp một cổng UART bổ sung cho RPi, tạo cơ hội cho chúng tôi kết nối nhiều thiết bị UART (như hai hoặc nhiều TFmini LiDAR) với RPi.

Bước 5: Giới thiệu về mã

Giới thiệu về mã
Giới thiệu về mã

Mã có thể được chia thành ba phần:

  • Thiết lập kết nối
  • Ghi dữ liệu
  • Đọc dữ liệu

Thiết lập kết nối:

Sau khi nhập các tệp tiêu đề cần thiết, chúng tôi thiết lập kết nối với TFmini LiDAR của chúng tôi bằng cách nêu rõ cổng COM, tốc độ truyền và thời gian chờ kết nối

ser = serial. Serial ('COM7', 115200, timeout = 1) #PC

ser = serial. Serial ('/ dev / ttyUSB1', 115200, timeout = 1) #Raspberry Pi

Ghi dữ liệu:

Mã có thể được chia thành hai phần, viết và nhận. Để nhận dữ liệu, bạn cần chuyển một lệnh nhất định tới TFmini LiDAR (một phần của quá trình khởi tạo). Trong trường hợp này, tôi đã chọn 4257020000000106. Mặc dù RPi chạy cùng một phiên bản Python nhưng có một chút thay đổi về cú pháp vì RPi không chấp nhận dữ liệu khác ngoài hệ nhị phân.

ser.write (0x42)

ser.write (0x57) ser.write (0x02) ser.write (0x00) ser.write (0x00) ser.write (0x00) ser.write (0x01) ser.write (0x06)

Đọc dữ liệu:

Biểu đồ được cung cấp trong bảng dữ liệu cung cấp cho chúng ta 'phân tích' của thông điệp 9 Byte UART. Hai byte đầu tiên là tiêu đề khung có giá trị là hex 0x59 (ký tự 'Y'). Chúng có thể được đọc và sử dụng để xác định thời điểm bắt đầu của thông điệp UART.

if (('Y' == ser.read ()) và ('Y' == ser.read ())):

Khi khung tiêu đề được đọc, hai byte tiếp theo, mang dữ liệu khoảng cách, có thể được đọc. Dữ liệu khoảng cách được chia thành hai gói 8 bit, Dist_L (Byte3) - 8 bit thấp hơn và Dist_H (Byte4) - 8 bit cao hơn.

Dist_L = ser.read () # Byte3Dist_H = ser.read () # Byte4

Bằng cách nhân Dist_H với 256, dữ liệu nhị phân được dịch sang trái bằng 8 (tương đương với "<< 8"). Bây giờ, dữ liệu khoảng cách 8 bit thấp hơn, Dist_L, có thể được thêm vào một cách đơn giản dẫn đến dữ liệu 16 bit của Dist_Total.

Dist_Total = (ord (Dist_H) * 256) + (ord (Dist_L))

Vì chúng ta có giá trị khoảng cách 'đã giải mã' với mình, nên có thể bỏ qua năm byte tiếp theo. Lưu ý rằng dữ liệu đã đọc không được lưu trữ ở bất kỳ đâu.

cho tôi trong phạm vi (0, 5): ser.read ()

** Ở một số nơi khác, bạn có thể thấy 'delay' (time.sleep trong Python) được kết hợp trước khi kết thúc vòng lặp vì lý do TFmini LiDAR có tần số hoạt động 100Hz. Sự chậm trễ này 'trì hoãn chương trình' và sẽ dẫn đến việc dữ liệu được CẬP NHẬT sau một thời gian trễ. Tôi tin rằng vì chúng tôi đã chờ dữ liệu chồng chất lên đến 9-byte, nên sẽ không có bất kỳ sự chậm trễ nào khác

# time.sleep (0,0005) # Độ trễ được nhận xét là đã xảy ra

while (ser.in_waiting> = 9):

Đề xuất: