1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE

61 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đo Khoảng Cách Sử Dụng Cảm Biến Lidar Có Áp Dụng Phương Pháp Lọc Nhiễu Kalman, Có Code
Định dạng
Số trang 61
Dung lượng 11,37 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI (7)
    • 1.1. Giới thiệu đề tài (7)
    • 1.2. Mục đích nghiên cứu (7)
    • 1.3. Đối tượng nghiên cứu (7)
    • 1.4. Phạm vi nghiên cứu (7)
    • 1.5. Dự kiến kết quả (8)
  • CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH HỆ THỐNG (9)
    • 2.1. Các khối của hệ thống (9)
      • 2.1.1 Khối nguồn (9)
      • 2.1.2 Khối điều khiển trung tâm (9)
      • 2.1.3 Khối cảm biến (12)
      • 2.1.4 Khối hiển thị kết quả (19)
    • 2.2. Xây dựng mô hình hệ thống (22)
  • CHƯƠNG 3: CHƯƠNG TRÌNH GIẢI THUẬT (29)
    • 3.1. Lưu đồ giải thuật của hệ thống (29)
    • 3.2. Lọc nhiễu Kalman (30)
    • 3.3. Chương trình của hệ thống (31)
  • CHƯƠNG 4: THỰC NGHIỆM (32)
    • 4.1. Tiến trình thực nghiệm (32)
      • 4.1.1. Tiến trình hoạt động của mô hình hệ thống (32)
      • 4.1.2. Tiến trình thực nghiệm của sinh viên (37)
    • 4.2. Kết quả thực nghiệm (38)
    • 4.3. Kết luận thực nghiệm (50)
  • CHƯƠNG 5: KẾT LUẬN (52)
    • 5.1. Ưu điểm (52)
    • 5.2. Nhược điểm (52)

Nội dung

TỔNG QUAN VỀ ĐỀ TÀI

Giới thiệu đề tài

Đề tài "Đo khoảng cách sử dụng cảm biến lidar có áp dụng phương pháp lọc nhiễu Kalman" là một nghiên cứu mới mẻ, ứng dụng cảm biến đo khoảng cách bằng laser VL53L1X.

Cảm biến này có khoảng đo hạn chế nhưng nổi bật với tốc độ phản hồi nhanh và độ chính xác cao Nhờ vào những ưu điểm này, nó được ứng dụng rộng rãi trong các hộ gia đình và công trường nhỏ.

Mục đích nghiên cứu

Sau khi học về vi điều khiển và điều khiển quá trình, tôi nhận thấy sự cần thiết của công cụ đo khoảng cách Tôi quyết định áp dụng kiến thức đã học để kết hợp vi điều khiển Arduino với cảm biến đo khoảng cách laser VL53L1X, tạo ra một công cụ đo khoảng cách tiện lợi cho gia đình Dự án này cũng sẽ là nền tảng cho những nghiên cứu và dự án lớn hơn trong tương lai.

Đối tượng nghiên cứu

- Cảm biến khoảng cách bằng laser VL53L1X

- Cảm biến góc xoay SV01A103AEA01R00

- Cảm biến một chạm điện dung TTP223B Mini

Phạm vi nghiên cứu

Đề tài nghiên cứu này tập trung vào hộ gia đình, nhằm áp dụng thực tiễn một cách hiệu quả và nhanh chóng Sản phẩm được thiết kế nhỏ gọn với khả năng đo khoảng cách tối đa lên đến 4000mm.

Dự kiến kết quả

Sản phẩm dự kiến sẽ là một công cụ đo khoảng cách bằng laser, tích hợp nhiều chế độ mở rộng, bao gồm cảm ứng để chuyển đổi chế độ đo và khả năng đo khoảng cách giữa hai điểm mà không cần tiếp xúc.

THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH HỆ THỐNG

Các khối của hệ thống

Nguồn sử dụng cho mô hình được cấp từ 2 cell pin 18650

- Điện áp đầu ra khi mắc nốt tiếp 2 cell pin là:

3.7(VDC) + 3.7(VDC) = 7.4(VDC) (điện áp trung bình) hoặc

4.2(VDC) + 4.2(VDC) = 8.4(VDC) (điện áp khi pin được sạc đầy)

- Dung lượng mỗi cell pin là 2800mAh

=> dung lượng khi mắc mắc nối tiếp 2 cell pin là 2800mAh

2.1.2 Khối điều khiển trung tâm

Khối điều khiển trung tâm được cấu thành từ hai module Arduino Uno R3, một loại vi điều khiển dựa trên nền tảng vi xử lý AVR Atmel 8bit với chip ATmega328p.

Chip Atmega328p là sản phẩm của hãng Atmel sản xuất được giới thiệu lần đầu năm

1996, sau đó được hãng Microchip Technology mua lại vào năm 2016 Dòng vi điều khiển 8bit Atmel AVR:

Hình 2.1: 2 cell pin 18650 dung lượng 2800mAh

- Hiệu suất cao, công suất thấp

- Hoạt động hoàn toàn tĩnh

- Các phân đoạn bộ nhớ không biến động có độ bền cao

- 32KBytes của chương trình Flash tự lập trình trong hệ thống

- Chu kì ghi/xóa: 10.000 Flash/100.000 EEPROM

- Thời gian lưu trữ dữ liệu: 20 năm

Chip Atmega328p có 28 cổng kết nối gồm có:

- Cổng số 7(VCC): chân cấp nguồn VDC cho chip

- Cổng số 8, 22(GND): chân nối đất

- Cổng số 14, 15, 16, 17, 18, 19, 9, 10(PortB[0:7]): những cổng PortB[0:7] là những cổng I/O 2 chiều 8bit với các điện trở kéo lên bên trong.

- Cổng số 23, 24, 25, 26, 27, 28(PortC[0:5]): những cổng PortC[0:5] là những cổng I/O 2 chiều 7bit với các điện trở kéo lên bên trong.

- Cổng số 1(PC6): có thể dùng cổng này như một cổng I/O hoặc cổng Reset

- Cổng số 2, 3, 4, 5, 6, 11, 12, 13(PortD[0:7]): những cổng PortD[0:7] là những cổng I/O 2 chiều 8bit với các điện trở kéo lên bên trong

- Cổng số 20(AVCC): cổng cung cấp điện áp cho bộ chuyển đổi A/D

- Cổng số 21(AREF): cổng tham chiếu Analog cho bộ A/D

Hình 2.2: Hình ảnh thật ATMEGA328P

Hình 2.3: Thông tin các chân kết nối ATMEGA328P

Những model hiện tại của Arduino Uno R3 được trang bị:

- 1 cổng giao tiếp với máy tính thông qua cáp

- 14 cổng I/O Digital, trong đó có cổng số 0 và cổng số 1 có thể dùng đề giao tiếp UART.

- Cổng SCL, SDA dùng để giao tiếp I2C

- Và một số cổng có chức năng mở rộng khác

Khối cảm biến được chia làm 2 phần:

- Phần cảm biến chính: gồm 2 cảm biến đo khoảng cách bằng laser VL53L1X module GY-53L1.

Hình 2.4: Hình ảnh thực tế module Arduino Uno R3

Nguyên lý hoạt động của thiết bị dựa trên việc sử dụng đèn LED hồng ngoại phát ra ánh sáng Khi ánh sáng chiếu vào đối tượng đo, MCU sẽ nhận lại ánh sáng phản xạ và tính toán chênh lệch thời gian để xác định khoảng cách, từ đó xuất ra giá trị khoảng cách một cách trực tiếp.

Module đo khoảng cách bằng laser GY-53L1 hỗ trợ hai phương thức đọc dữ liệu: qua cổng nối tiếp UART (mức TTL) kết hợp với PWM, hoặc qua cổng giao tiếp I2C với tốc độ truyền dữ liệu có thể cấu hình từ 9600bps đến 115200bps, với hai chế độ đầu ra liên tục và truy vấn Module này có 12 cổng kết nối, bao gồm 2 cổng VCC để cấp nguồn (3VDC-5VDC), 2 cổng GND để nối đất, 1 cổng SCL SDA cho giao tiếp I2C với Arduino Uno R3, 1 cổng TX RX cho giao tiếp UART với Arduino Uno R3, và 1 cổng PWM để băm xung.

Hình 2.5: Hình ảnh thực tế module VL53L1X o 1 cổng PS

 PS= 1 (mức cao mặc định) Chế độ UART cổng nối tiếp, mức TTL, công việc đầu ra PWM hoặc công việc đầu ra chuyển đổi

Khi PS=0 (kết nối với GND) trong chế độ I2C, người dùng có thể tự vận hành chip, nhưng MCU tích hợp của module sẽ không hoạt động và đầu ra PWM cũng sẽ không khả dụng Module có 1 cổng CPIO1 và 1 cổng XSHUT, cho phép mở rộng các chức năng khác Cần lưu ý cách sử dụng và quy ước các bit để đảm bảo hoạt động hiệu quả.

Mặc định Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0

4 Trạng thái hiện tại do module trả về Giá trị từ 0~14:

 0: Chỉ ra rằng giá trị khoảng cách là đáng tin cậy

 1: Cho biết ảnh hưởng của ánh sáng xung quanh

 2: Cho biết tín hiệu trả về yếu;

 4: Cho biết phạm vi đo bị vượt quá;

 5: Cho biết lỗi phần cứng;

 7: Cho biết xung quanh có tiếng ồn gây nhiễu

 8: Tràn hoặc tràn thuật toán bên trong

 14: Phép đo không hợp lệ

2 Thời gian đo của module, thời gian đo càng lớn, phạm vi đo càng lớn

0 Cho biết chế độ đo:

 1: Chế độ khoảng cách ngắn, từ 40 đến 1300 mm, ± 25mm

 2: Chế độ khoảng cách trung bình, 40~3000 mm, ± 25mm

 3: Chế độ khoảng cách dài, từ 40 đến 3600 mm, ± 25mm

Cảm biến VL53L1X là một trong những cảm biến laser hiện đại nhất, thuộc dòng sản phẩm FlightSense của ST Với công nghệ ToF tiên tiến, cảm biến này có kích thước nhỏ gọn, độ chính xác lên đến 3600mm và tần số hoạt động nhanh chóng đạt 50Hz.

Bảng 2.1: Cách sử dụng và quy ước các Bit

Hình 2.6: Hình ảnh cảm biến VL53L1X

Hình 2.7: Thông tin chân của cảm biến VL53L1X

Hình 2.8: Sơ dồ khối của cảm biến VL53L1X

Hình 2.9: Datasheet của cảm biến VL53L1X

Cảm biến VL53L1X hỗ trợ ba chế độ đo khoảng cách: ngắn, trung bình và dài Chế độ đo xa có thể đo tối đa lên đến 4000mm, nhưng khoảng cách này sẽ bị ảnh hưởng bởi ánh sáng xung quanh Ngược lại, chế độ đo ngắn ít bị tác động bởi ánh sáng xung quanh, tuy nhiên, khoảng cách tối đa của nó chỉ đạt khoảng 1300mm.

- Phần cảm biến hỗ trợ: o Cảm biến đo góc xoay SV01A103AEA01R00

Cảm biến đo góc xoay SV01A103AEA01R00 là một thiết bị ít phổ biến do tính ứng dụng hạn chế Thiết bị này chủ yếu được sử dụng để tính toán góc quay tối đa.

Cảm biến này là một biến trở kiểu cầu phân áp, cho phép giá trị đầu ra là tín hiệu điện áp tuyến tính tương ứng với góc quay của biến trở bên trong.

Cảm biến có 3 chân kết nối:

 VCC: dùng để cấp nguồn cho cảm biến

Hình 2.10: Hình ảnh thực của cảm biến đo góc xoay

 Out: ngõ ra điện áp Analog tương ứng với góc quay hiện tại của cảm biến

 Dạng cấu tạo: biến trở

 Giá trị biến trở: 10K Ohm

 Điện áp cấp: 5VDC o Cảm biến 1 chạm điện dung TTP223B Mini

Cảm biến 1 chạm điện dung TTP223B Mini là một giải pháp hiệu quả nhờ kích thước nhỏ gọn và giá thành hợp lý, thường được áp dụng trong các thiết bị cảm ứng như bàn phím, công tắc cảm ứng và hệ thống báo động Với khả năng cảm ứng qua các chất liệu phi kim như kính, nhựa và acrylic, cảm biến này thể hiện tính sáng tạo cao, mang lại nhiều tiện ích cho người sử dụng.

Hình 2.11: Hình ảnh thực của cảm biến một chạm

Cảm biến có 3 chân kết nối:

 VCC: dùng để cấp nguồn cho cảm biến

 I/O: dùng để xuất giá trị Digital

Cảm biến được trang bị một cặp tiếp điểm A và một cặp tiếp điểm B, cho phép người dùng tùy chỉnh trạng thái ban đầu của cảm biến, phù hợp với nhu cầu và mục đích sử dụng của mình.

 Điện áp làm việc: 3VDC ~ 5VDC

 Dòng điện tiêu thụ: 0.025mA

2.1.4 Khối hiển thị kết quả

Khối hiển thị kết quả sử dụng màn hình LCD1602 với độ phân giải 16 cột và 2 hàng, kết hợp với module I2C để dễ dàng điều khiển màn hình.

Màn hình LCD1602, sử dụng driver HD44780, có khả năng hiển thị 2 dòng với 16 ký tự mỗi dòng Với độ bền cao và tính phổ biến, màn hình này cung cấp nhiều mã mẫu và dễ sử dụng, rất phù hợp cho những người mới học và làm đồ án môn học.

- Hình 2.12: Hình ảnh thực của LCD 1602

Chân Ký hiệu Mô tả Giá trị

3 V0 Độ tương phản Tùy chỉnh

4 RS Lựa chọn thanh ghi RS=0 (mức thấp) chọn thanh ghi lệnh

RS=1 (mức cao) chọn thanh ghi dữ liệu

R/W=0 thanh ghi viết R/W=1 thanh ghi đọc

Cổng truyền dữ liệu 8 bit: DB0:DB7

 Điện áp hoạt động là 5VDC

Bảng 2.2: Thông tin chân của LCD 1602

 Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để tiết kiệm điện năng hơn.

Module chuyển giao tiếp LCD1602 sang I2C cho phép kết nối với LCD1602 chỉ bằng 2 dây SCL và SDA Người dùng cũng có thể điều chỉnh độ phân giải của LCD trực tiếp trên module thông qua biến trở được gắn sẵn.

Module có 4 chân kết nối:

 VCC: cấp nguồn cho module 5VDC

LCD1602 được kết nối với module chuyển đổi I2C qua một mạch hàn chắc chắn và gọn gàng, đảm bảo tiếp điểm hoạt động hiệu quả, an toàn và bền bỉ.

Hình 2.13: Hình ảnh thực của module chuyển đổi I2C

Xây dựng mô hình hệ thống

Toàn bộ hệ thống được kết nối với nhau thành một khối thống nhất thông qua vít.

Khung sườn chính là 1 tấm gỗ thông được khoan lỗ, đảm bảo không xảy ra tĩnh điện, an toàn cho con người và thiết bị.

Các khối nguồn, khối cảm biến, khối xử lý trung tâm và khối hiển thị được gắn kết chặt chẽ với khung gỗ thông qua các trục đồng, đảm bảo sự kết nối bền bỉ và ổn định.

Các dây nối (jumper) kết nối giữa module Arduino Uno R3 và các khối cảm biến sẽ được sắp xếp một cách gọn gàng và chắc chắn, nhằm đảm bảo hoạt động an toàn và ổn định nhất.

Phần trục và các khớp xoay được hình thành bằng cách khoan lỗ vào gỗ với kích thước tương ứng của một thanh nhôm nhỏ, giúp đảm bảo chuyển động xoay ổn định, dễ dàng và linh hoạt.

Hình 2.14: Hình ảnh thực của module tích hợp I2C kết nối với LCD 1602

Hình 2.15: Hình ảnh thực thành phần các module trong hệ thống

Hình 2.16: Hình ảnh thực của bố cục hệ thống

Bố cục của hệ thống được bố trí như hình trên.

Ngõ ra của khối nguồn sẽ đặt cạnh khối điều khiển trung tâm để thuận tiện cho cấp nguồn.

Cổng giao tiếp USB của khối điều khiển trung tâm được thiết kế hướng về phía sau, trong khi các cổng giao tiếp và I/O được bố trí hướng vào trung tâm hệ thống mô hình Điều này giúp thuận tiện cho việc cập nhật chương trình, kiểm tra và thay đổi phần cứng của hệ thống.

Khối hiển thị được nâng cao nhờ các trục đồng, giúp người dùng dễ dàng quan sát kết quả hiển thị Thiết kế này cũng tạo ra khoảng trống phía dưới để đặt các đoạn dây nối (jumper) thừa một cách gọn gàng.

Hình 2.17: Hình ảnh thực của cụm cảm biến VL53L1X

Khối cảm biến được gắn chặt với phần cơ bằng ốc vít, đảm bảo sự cố định vững chắc và thuận tiện cho việc điều chỉnh hoặc thay đổi thiết kế khi cần.

Module đo khoảng cách VL53L1X sẽ được gắn cố định trên một trục xoay, trong khi trục xoay này sẽ được kết nối trực tiếp với cảm biến đo góc xoay SV01A103AEA01R00.

Cảm biến đo xoay SV01A103AEA01R00 sẽ được đặt vuông góc với module đo khoảng cách VL53L1X thứ hai.

Khối cảm biến hoạt động đạt tới góc độ 180 nhờ vào các khớp xoay linh hoạt, vì vậy hệ thống sẽ được phát huy tối đa khả năng.

Hình 2.18: Hình ảnh thực của mô hình hệ thống đã hoàn chỉnh

CHƯƠNG TRÌNH GIẢI THUẬT

Lưu đồ giải thuật của hệ thống

Tính toán khoảng cách đo tĩnh, đo động và đo

Arduino 2 nhận tín hiệu từ cảm biến đo khoảng cách 2 (b)

Arduino 1 nhận tín hiệu từ cảm biến đo khoảng cách 1 (a) Bắt đầu

Arduino 2 lọc nhiễu và xuất ra giá trị đã lọc nhiễu

Arduino 1 lọc nhiễu và truyền giá trị đã lọc nhiễu cho Arduino 2

Lọc nhiễu Kalman

Nhiễu là hiện tượng gây sai lệch kết quả của phép đo, làm cho kết quả thực tế không chính xác Trong mọi phép đo, luôn tồn tại nhiễu (sai số), dẫn đến sự khác biệt giữa giá trị đo được và giá trị thực cần xác định Mặc dù sai lệch này thường không lớn, việc loại bỏ hoàn toàn nhiễu khỏi phép đo là một thách thức Do đó, bộ lọc Kalman được phát triển để xử lý vấn đề này.

Bộ lọc Kalman, được phát triển bởi nhà khoa học Rudolf Kalman vào năm 1960, là một công cụ quan trọng trong việc lọc nhiễu từ các giá trị đo Đặc biệt, bộ lọc này đã được tích hợp vào thư viện dành riêng cho vi điều khiển Arduino, giúp người dùng dễ dàng tiếp cận và sử dụng.

Bộ lọc Kalman hoạt động dựa trên nguyên lý trung bình hóa kết quả của các phép đo trong một khoảng thời gian liên tục, giúp giảm thiểu sai số đo lường đáng kể Tuy nhiên, nhược điểm của bộ lọc này là thời gian đáp ứng chậm, do cần thời gian để tính toán giá trị trung bình của tất cả các dữ liệu đo được trong khoảng thời gian đó.

Cảm biến đo lưu lượng nước ghi nhận 5 kết quả trong 1 giây với các giá trị lần lượt là 20cm³/s, 22cm³/s, 21cm³/s, 19cm³/s và 21.5cm³/s Những kết quả này cho thấy sự nhiễu loạn và độ chính xác không đạt yêu cầu, điều này làm giảm độ tin cậy của cảm biến trong việc đo lưu lượng nước.

In ra LCD khoảng cách đo

In ra LCD khoảng cách đo động

Để cải thiện độ chính xác trong việc đo khoảng cách của LCD, bộ lọc Kalman được áp dụng nhằm giảm thiểu nhiễu từ cảm biến lưu lượng Kết quả sau khi sử dụng bộ lọc Kalman cho thấy giá trị đo đạt 20.7cm³/s, cho thấy sự chính xác cao hơn so với khi chưa áp dụng bộ lọc nhiễu.

Chương trình của hệ thống

Hệ thống điều khiển được lập trình bằng ngôn ngữ C thông qua phần mềm Arduino IDE, cho phép giao tiếp và nạp chương trình vào module Arduino Uno R3 qua cổng USB.

Chương trình có thể vận hành nhờ vào các thư viện được tích hợp sẵn trong phần mềm cùng với các thư viện mở rộng trên Internet

Do khối xử lí trung tâm gồm 2 module Arduino Uno R3 nên chương trình điều khiển cũng sẽ có 2 phần độc lập cho 2 module.

Chương trình điều khiển và chú thích ở phần CHƯƠNG 6 Phụ Lục.

Hình 3.1: Nhà khoa học Rudolf (Rudy) E Kálmán

THỰC NGHIỆM

Tiến trình thực nghiệm

4.1.1 Tiến trình hoạt động của mô hình hệ thống

Hệ thống hoạt động theo nguyên lí truyền nhận dữ liệu bằng giao tiếp UART.

Hệ thống chia ra làm hai phần:

- Phần 1: gồm 1 module Arduino Uno R3 và 1 module đo khoảng cách GY-53L1

- Phần 2: gồm 1 module Arduino Uno R3, 1 module đo khoảng cách GY-53L1,

1 module đo góc xoay SV01A103AEA01R00 và 1 module cảm ứng một chạm điện dung TTP223B Mini.

Hệ thống hoạt động như sau:

Hai Arduino hoạt động song song.

 Cấp nguồn cho Arduino 1 hoạt động, cấp nguồn cho module VL53L1X thứ nhất.

 Module VL53L1X thứ nhất sẽ hoạt động, một tia laser của module sẽ được phát ra và chiếu thẳng đến mục tiêu cần đo.

 Khi tia laser chạm tới vật thể cần đo, nó sẽ phản xạ lại và được cảm biến VL53L1X thứ nhất thu nhận.

Khi nhận được tia phản xạ, module sẽ đo thời gian phát ra và thời gian thu nhận, từ đó tính toán khoảng cách đến vật thể bằng cách sử dụng vận tốc ánh sáng khoảng 300.000 km/s.

 Khi đó, Arduino thứ nhất sẽ giao tiếp UART với module cảm biếnVL53L1X thứ nhất để đọc giá trị trả về của cảm biến.

 Sau khi nhận được tín hiệu, giá trị khoảng cách mà Arduino nhận được lúc này là một biến số nguyên dương kiểu Unsigned_16t có giá trị từ 0 đến

65535, sau đó được chương trình mã hóa lại thành số thực, đó cũng chính là giá trị khoảng cách đo được.

Arduino sử dụng thuật toán lọc nhiễu Kalman từ thư viện để loại bỏ hầu hết các tín hiệu nhiễu có biên độ sai lệch cao, mang lại kết quả là tín hiệu mượt mà hơn so với tín hiệu ban đầu trước khi áp dụng phương pháp lọc Kalman.

Arduino sẽ lấy giá trị khoảng cách và sử dụng thư viện hỗ trợ giao tiếp UART trong Arduino IDE để chuyển tiếp giá trị này đến module Arduino thứ hai Nếu không có thư viện hỗ trợ, Arduino thứ nhất sẽ không thể truyền giá trị khoảng cách vì giao thức UART cơ bản chỉ cho phép truyền tối đa 1 byte, tương đương 127 bits Do đó, khi giá trị khoảng cách vượt quá giới hạn 127 bits, hệ thống sẽ không hoạt động như mong đợi.

 Khi Arduino thứ 2 nhận được tín hiệu, nó sẽ lưu lại và để thực hiện một chức năng mở rộng của công cụ.

Cấp nguồn cho Arduino thứ hai, module VL53L1X, cảm biến đo góc xoay SV01A103AEA01R00 và module cảm ứng một chạm điện dung TTP223B Mini là các bước quan trọng để đảm bảo hoạt động ổn định của hệ thống.

 Module VL53L1X thứ hai sẽ hoạt động, 1 tia laser của module sẽ được phát ra và chiếu đến mục tiêu cần đo.

 Khi tia laser chạm tới vật thể cần đo, nó sẽ phản xạ lại và được cảm biến VL53L1X thứ hai thu nhận.

Khi nhận được tia phản xạ, module sẽ đo thời gian chênh lệch giữa thời điểm phát ra và thời điểm thu nhận Dựa vào vận tốc ánh sáng khoảng 300.000 km/s, module sẽ tính toán khoảng cách từ nó đến vật thể, thể hiện bằng đơn vị mm.

 Khi đó, Arduino thứ hai sẽ giao tiếp UART với module cảm biến VL53L1X thứ hai để đọc giá trị trả về của cảm biến.

Sau khi thu thập dữ liệu, Arduino nhận được một biến số nguyên dương kiểu Unsigned_16t với giá trị từ 0 đến 65535 Giá trị này sau đó được mã hóa thành số thực, đại diện cho khoảng cách đo được.

Arduino sử dụng thuật toán lọc nhiễu Kalman để loại bỏ các tín hiệu nhiễu có biên độ sai lệch cao, từ đó tạo ra một tín hiệu mượt mà hơn so với tín hiệu ban đầu trước khi áp dụng phương pháp lọc Kalman.

 Cùng thời điểm đó, Arduino thứ hai sẽ giao tiếp UART với Arduino thứ nhất thông qua 2 cổng TX RX trên cổng 0 và 1.

Arduino đầu tiên sẽ gửi dữ liệu khoảng cách từ cảm biến đến một điểm ngẫu nhiên cho Arduino thứ hai, và Arduino thứ hai sẽ nhận dữ liệu này.

Arduino thứ hai sẽ đọc giá trị từ cảm biến góc xoay, cụ thể là mức điện áp mà cảm biến cung cấp Chương trình sẽ thực hiện một phép tính đơn giản để chuyển đổi điện áp này thành giá trị góc xoay Giá trị góc xoay tính toán được sẽ đại diện cho góc chênh lệch giữa hai module đo khoảng cách VL53L1X.

Sau khi thu thập được ba giá trị quan trọng, bao gồm khoảng cách từ module đo khoảng cách VL53L1X thứ hai đến điểm A, khoảng cách đến điểm B, và góc chênh lệch giữa hai module cảm biến (gọi là góc C), chương trình sẽ sử dụng định lý hàm Cos để tính toán khoảng cách giữa hai điểm A và B.

Trong lượng giác, định lý Cos biểu diễn sự liên quan giữa chiều dài của các cạnh của một tam giác phẳng với Cosin của góc tương ứng:

Hình 4.2 Hình ảnh minh họa tam giác bất kì

AB 2 = CA 2 + CB 2 – 2*CA*CB*Cos(C)

- Cạnh AB là khoảng cách cần tìm giữa điểm A và điểm B

- Cạnh CA là khoảng cách giữa module cảm biến đo khoảng cách VL53L1X thứ nhất đến điểm A

- Cạnh CB là khoảng cách giữa module cảm biến đo khoảng cách VL53L1X thứ hai đến điểm B

- Góc C là góc chênh lệch giữa hai module đo khoảng cách

 Ta có thể tính được khoảng cách từ điểm A tới điểm B mà không cần di chuyển đến một trong hai điểm trên

 Áp dụng phương trình 3.1, chương trình sẽ tính toán ra được khoảng cách giữa 2 điểm A và B.

 Sau khi tính toán ra được khoảng cách giữa điểm A và B, Arduino thứ hai sẽ in ra màn hình LCD1602 kết quả tính được.

Khi cảm biến TTP223B Mini nhận tác động từ một lần chạm, hệ thống sẽ hiển thị lần lượt khoảng cách đã lọc nhiễu giữa module VL53L1X đến điểm A, khoảng cách chưa lọc nhiễu từ module VL53L1X đến điểm A và khoảng cách từ điểm A đến điểm B.

Quá trình lọc nhiễu Kalman yêu cầu thời gian để đạt trạng thái xác lập sau mỗi thay đổi vị trí đo Để đảm bảo độ chính xác và ổn định trong quá trình đo, cần chờ một khoảng thời gian cho bộ lọc hoạt động hiệu quả Do đó, khi áp dụng phương pháp lọc này, chỉ nên thực hiện đo khoảng cách tĩnh, tức là đo khoảng cách giữa hai điểm đứng yên.

Cảm biến VL53L1X nổi bật với tốc độ đáp ứng nhanh, cho phép ứng dụng trong việc đo khoảng cách giữa hai điểm di chuyển Tuy nhiên, cảm biến này cũng gặp phải nhược điểm là có thể xảy ra sai số và tín hiệu nhiễu cao.

4.1.2 Tiến trình thực nghiệm của sinh viên

Bước 1: Chuẩn bị mô hình hệ thống đã thiết kế hoàn chỉnh.

Bước 2: Kiểm tra lại các kết nối, các dây dẫn của toàn bộ hệ thống

Bước 3: Lắp pin đã sạc đầy đủ vào mô hình và tiến hành cấp nguồn cho mô hình hệ thống.

Bước 4: Tiến hành di chuyển đến khu vực thích hợp và đo theo các quy cách tự đặt ra:

Đo tĩnh là phương pháp đặt mô hình cố định ở một khoảng cách nhất định để kiểm tra độ chính xác của kết quả, sử dụng thước dây đo kèm theo và áp dụng phương pháp lọc Kalman Đo sáng được thực hiện trong điều kiện ánh sáng đầy đủ để đảm bảo độ chính xác của các phép đo.

 Đo khoảng cách gần < 1000mm và kiểm tra vùng tối của cảm biến.

 Đo khoảng cách xa > 3000mm và kiểm tra vùng tối của cảm biến. o Đo tối: đo ở điều kiện thiếu ánh sáng

 Đo khoảng cách gần < 1000mm và kiểm tra vùng tối của cảm biến.

 Đo khoảng cách xa > 3000mm và kiểm tra vùng tối của cảm biến.

Đo động là quá trình di chuyển mô hình liên tục nhằm kiểm tra độ đáp ứng và độ chính xác của hệ thống mà không sử dụng phương pháp lọc Kalman Đo sáng được thực hiện trong điều kiện ánh sáng đầy đủ để đảm bảo kết quả chính xác và đáng tin cậy.

 Đo khoảng cách gần < 1000mm và kiểm tra vùng tối của cảm biến.

 Đo khoảng cách xa > 3000mm và kiểm tra vùng tối của cảm biến. o Đo tối: đo ở điều kiện thiếu ánh sáng

 Đo khoảng cách gần < 1000mm và kiểm tra vùng tối của cảm biến.

 Đo khoảng cách xa > 3000mm và kiểm tra vùng tối của cảm biến.

Kết quả thực nghiệm

Sau khi hoàn thành quá trình thực hiện, kết quả thu được đáp ứng mong đợi:

- Mô hình hệ thống hoạt động ổn định, các module kết nối với nhau hiệu quả và đáp ứng tốt các yêu cầu đặt ra.

- Kết quả đo được: o Đo tĩnh:

 Kết quả đo khoảng cách gần < 2000mm

 Kết quả đo khoảng cách xa > 2000mm

 Kết quả đo khoảng cách gần < 2000mm

 Kết quả đo khoảng cách xa > 2000mm o o Đo động:

 Kết quả đo khoảng cách gần < 2000mm

 Kết quả đo khoảng cách xa > 2000mm

 Kết quả đo khoảng cách gần < 2000mm

 Kết quả đo khoảng cách xa > 2000mm o o Đo 2 điểm l

Kết quả đo lần 2 cho thấy tính hiệu quả của bộ lọc Kalman được kiểm tra thông qua Plotter trong phần mềm Arduino IDE Thử nghiệm đo vào chất lỏng, cụ thể là nước sạch, nhằm đánh giá khả năng xuyên qua chất lỏng của cảm biến đo bằng laser.

Thiết kế của mô hình hiện tại chưa được tối ưu hóa để đo chiều đứng, do đó không thể cung cấp minh chứng cụ thể, chỉ có thể đưa ra nhận xét dựa trên các thực nghiệm tương đối đã thực hiện.

 Kết quả đo khi trong chậu có nước

 Kết quả đo khi đổ hết nước trong chậu và tay vẫn cố định mô hình

Mặc dù việc cầm tay mô hình có thể ảnh hưởng đến độ chính xác của khoảng cách đo, nhưng hệ thống sử dụng cảm biến laser theo phương pháp TOF không thể đo được mức nước, vì tia laser sẽ xuyên qua nước và chiếu đến đáy của vật chứa.

Kết luận thực nghiệm

Qua quá trình thực nghiệm, mô hình hệ thống đã cho thấy rõ ưu điểm và nhược điểm Kết quả đạt được không chỉ đáp ứng yêu cầu mà còn thể hiện tính khả thi và độ ổn định cao.

Mô hình hệ thống đáp ứng tốt yêu cầu đặt ra cũng như thích hợp để sử dụng trong gia đình và một số công trình vừa và nhỏ.

Sai số của hệ thống là:

- Đo tĩnh (có áp dụng phương pháp lọc Kalman):

- Đo động (không áp dụng phương pháp lọc Kalman):

- Đo 2 điểm (có áp dụng phương pháp lọc Kalman): %

- Đo vào chất lỏng (có áp dụng phương pháp lọc Kalman): %

Ngày đăng: 16/05/2022, 16:21

HÌNH ẢNH LIÊN QUAN

CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH HỆ THỐNG - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
2 THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH HỆ THỐNG (Trang 8)
Hình 2.1: Data Sheet của ATMEGA328P - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.1 Data Sheet của ATMEGA328P (Trang 9)
Hình 2.3: Thông tin các chân kết nối ATMEGA328PHình 2.2: Hình ảnh thật ATMEGA328P - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.3 Thông tin các chân kết nối ATMEGA328PHình 2.2: Hình ảnh thật ATMEGA328P (Trang 10)
- Một buổi trưa hè: tương đối cụ thể có thể hình dung cảm xúc được - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
t buổi trưa hè: tương đối cụ thể có thể hình dung cảm xúc được (Trang 11)
Hình 2.4: Hình ảnh thực tế module Arduino Uno R3 - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.4 Hình ảnh thực tế module Arduino Uno R3 (Trang 11)
+ Ngoài ra chụp một số hình ảnh Văn Miếu- Quốc Tử Giám trình lên màn hình cho học sinh được biết, hướng dẫn học sinh hiểu nghĩa từ bằng trực quan cụ thể, giúp học sinh hiểu nghĩa từ:“Văn Miếu, Quốc Tử Giám : - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
go ài ra chụp một số hình ảnh Văn Miếu- Quốc Tử Giám trình lên màn hình cho học sinh được biết, hướng dẫn học sinh hiểu nghĩa từ bằng trực quan cụ thể, giúp học sinh hiểu nghĩa từ:“Văn Miếu, Quốc Tử Giám : (Trang 12)
Bảng 2.1: Cách sử dụng và quy ước các Bit - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Bảng 2.1 Cách sử dụng và quy ước các Bit (Trang 13)
Hình 2.7: Thông tin chân của cảm biến VL53L1XHình 2.6: Hình ảnh cảm biến VL53L1X - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.7 Thông tin chân của cảm biến VL53L1XHình 2.6: Hình ảnh cảm biến VL53L1X (Trang 14)
Hình 2.9: Datasheet của cảm biến VL53L1X Hình 2.8: Sơ dồ khối của cảm biến VL53L1X - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.9 Datasheet của cảm biến VL53L1X Hình 2.8: Sơ dồ khối của cảm biến VL53L1X (Trang 15)
Hình 2.10: Hình ảnh thực của cảm biến đo góc xoay - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.10 Hình ảnh thực của cảm biến đo góc xoay (Trang 16)
Giáo viên trình chiếu hình ảnh mà học sinh nêu trên để minh họa. Hình ảnh - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
i áo viên trình chiếu hình ảnh mà học sinh nêu trên để minh họa. Hình ảnh (Trang 17)
Hình 2.11: Hình ảnh thực của cảm biến một chạm - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
Hình 2.11 Hình ảnh thực của cảm biến một chạm (Trang 17)
Qua bảng tổng hợp kết quả của lớp thực nghiệm 4B do tụi chủ nhiệm so với 2 lớp đối chứng là 4A và 4C cho thấy: Chất lương phõn mụn kể chuyện của lớp thực nghiệm do tụi phụ trỏch cao hơn hẳn so với 2 lớp đối chứng.cả về tỉ lệ học sinh khỏ giỏi đến chất lượ - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
ua bảng tổng hợp kết quả của lớp thực nghiệm 4B do tụi chủ nhiệm so với 2 lớp đối chứng là 4A và 4C cho thấy: Chất lương phõn mụn kể chuyện của lớp thực nghiệm do tụi phụ trỏch cao hơn hẳn so với 2 lớp đối chứng.cả về tỉ lệ học sinh khỏ giỏi đến chất lượ (Trang 17)
Khối hiển thị kết quả bao gồm 1 màn hình LCD1602 có độ phân giải 16 cộ t2 hàng và một module I2C kết nối trực tiếp với màn hình LCD1602 để dễ dàng điều khiển. - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
h ối hiển thị kết quả bao gồm 1 màn hình LCD1602 có độ phân giải 16 cộ t2 hàng và một module I2C kết nối trực tiếp với màn hình LCD1602 để dễ dàng điều khiển (Trang 18)
 Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để tiết kiệm điện năng hơn. - ĐO KHOẢNG CÁCH sử DỤNG cảm BIẾN LIDAR có áp DỤNG PHƯƠNG PHÁP lọc NHIỄU KALMAN, có CODE
n led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để tiết kiệm điện năng hơn (Trang 19)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w