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

Ứng dụng kit ni myrio vào hệ thống giám sát và điều hướng trên xe

136 10 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 đề Ứng Dụng Kit Ni Myrio Vào Hệ Thống Giám Sát Và Điều Hướng Trên Xe
Tác giả Phạm Thanh Nhã, Nguyễn Hoàng Duy Khang
Người hướng dẫn ThS. Nguyễn Ngô Lâm
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Viễn Thông
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 136
Dung lượng 13,22 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (18)
    • 1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY (18)
    • 1.2 TÍNH CẤP THIẾT CỦA ĐỀ TÀI (18)
    • 1.3 MỤC TIÊU NGHIÊN CỨU (19)
    • 1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (19)
    • 1.6 PHƯƠNG PHÁP NGHIÊN CỨU (20)
    • 1.7 BỐ CỤC ĐỒ ÁN (20)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (21)
    • 2.1 HỆ THỐNG GIÁM SÁT TRÊN XE (21)
    • 2.2 GIỚI THIỆU VỀ LABVIEW [1][14] (22)
    • 2.3 GIỚI THIỆU DATA DASHBOARD [16] (25)
    • 2.4 KHÁI NIỆM VỀ GPS VÀ GNSS [2][3] (26)
    • 2.5 KHÁI NIỆM PID [4] (29)
    • 2.6 DÙNG LA BÀN KẾT HỢP GPS ĐỂ ĐIỀU HƯỚNG [18] (34)
    • 2.7 GIỚI THIỆU PHẦN CỨNG (35)
      • 2.7.1 Khối xử lý trung tâm Kit NI myRIO 1900 [23] (35)
      • 2.7.2 Arduino UNO R3 [24] (38)
      • 2.7.3 Module Buck XL4015 with Voltmeter [19] [25] (40)
      • 2.7.4 Module ổn áp LTC3780 [20][26] (41)
      • 2.7.5 Module la bàn số HMC5883L [27] (43)
      • 2.7.6 Module H – Bridge L298N [28] (46)
      • 2.7.7 Module LCD 20x4 [29] (49)
      • 2.7.8 Module I2C PCF8574 [30] (49)
      • 2.7.9 Cảm biến siêu âm HC-SR04 [31] (51)
      • 2.7.10 Module SIM800A [7][32] (53)
      • 2.7.11 Module GPS NEO-M8N-0-10 [33] (55)
      • 2.7.12 Động cơ tích hợp Encoder JGA25 371 280 RPM [8] [21] (56)
      • 2.7.13 Cảm biến điện áp 25VDC [11] (58)
    • 2.8 CÁC CHUẨN TRUYỀN DỮ LIỆU ĐƯỢC SỬ DỤNG (59)
      • 2.8.1 Truyền dữ liệu song song I2C [5] (59)
      • 2.8.2 Truyền dữ liệu nối tiếp UART [6] (60)
  • CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG (62)
    • 3.1. YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG (62)
      • 3.1.1 Yêu cầu của hệ thống (62)
      • 3.1.2 Sơ đồ khối và chức năng của mỗi khối (63)
      • 3.1.3 Hoạt động của hệ thống (64)
    • 3.2 THIẾT KẾ HỆ THỐNG (65)
      • 3.2.1 Khối đo điện áp [17][34] (65)
      • 3.2.2 Khối định vị GPS [22] (67)
      • 3.2.3 Khối điều hướng [36] (69)
      • 3.2.4 Khối đo tốc độ động cơ (71)
      • 3.2.5 Khối hiển thị (74)
      • 3.2.6 Khối cảnh báo [35][37] (75)
      • 3.2.7 Khối điều khiển tốc độ động cơ (76)
      • 3.2.8 Khối đo khoảng cách (77)
      • 3.2.9 Khối gửi tin nhắn [32] (78)
      • 3.2.10 Khối xử lý trung tâm 1 (79)
      • 3.2.11 Khối xử lý trung tâm 2 (81)
      • 3.2.12 Khối nguồn (82)
      • 3.2.13 Sơ đồ nguyên lý của toàn hệ thống (83)
    • 3.3 GIAO TIẾP NI MYRIO VỚI MÁY TÍNH [15] (85)
    • 3.4 GIAO TIẾP NI MYRIO VỚI ĐIỆN THOẠI [13] (86)
  • CHƯƠNG 4: THI CÔNG – TÍNH TOÁN – LẬP TRÌNH CHO HỆ THỐNG (88)
    • 4.1 THI CÔNG HỆ THỐNG THỰC TẾ (88)
    • 4.2 PHÂN TÍCH DỮ LIỆU ĐỂ XÂY DỰNG BẢN ĐỒ TRONG LABVIEW (89)
    • 4.3 THUẬT TOÁN ĐIỀU HƯỚNG DỰA VÀO TỌA ĐỘ ĐỊA LÝ VÀ LA BÀN (91)
      • 4.3.1 Xây dựng thuật toán điều hướng cho hệ thống dựa vào tọa độ địa lý [10][18] (0)
      • 4.3.2 Giải thuật điều chỉnh quỹ đạo theo la bàn (95)
    • 4.4 XÂY DỰNG BỘ ĐIỀU KHIỂN PID ĐIỀU KHIỂN ĐỘNG CƠ TRÊN (95)
      • 4.4.1 Thuật toán PID trên LabVIEW [12] (95)
      • 4.4.2 Áp dụng giải thuật PID cho hệ thống (98)
    • 4.5 LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG (100)
      • 4.5.1 Lưu đồ giải thuật của khối xử lý trung tâm 1 (100)
      • 4.5.2 Lưu đồ giải thuật quá trình phân tích dữ liệu và giao tiếp các Module (102)
      • 4.5.3 Lưu đồ giải thuật quá trình điều khiển động cơ (103)
      • 4.5.4 Lưu đồ giải thuật quá trình truyền dữ liệu sang khối xử lý trung tâm 2 (104)
      • 4.5.5 Lưu đồ giải thuật của khối xử lý trung tâm 2 (104)
      • 4.5.6 Lưu đồ giải thuật của máy tính chủ (106)
      • 4.5.7 Lưu đồ giải thuật quá trình phân tích chế độ cài đặt của hệ thống (107)
      • 4.5.8 Lưu đồ giải thuật quá trình ghi và phân tích dữ liệu Excel (109)
  • CHƯƠNG 5: KẾT QUẢ- KIỂM TRA – ĐÁNH GIÁ (110)
    • 5.1 CÁC KẾT QUẢ HIỂN THỊ VÀ GIAO TIẾP VỚI CÁC PHẦN CỨNG (110)
    • 5.2 KIỂM TRA KHẢ NĂNG ĐIỀU KHIỂN (113)
    • 5.3 KIỂM TRA ĐỘ ỔN ĐỊNH CỦA HỆ THỐNG (113)
    • 5.4 KIỂM TRA KHẢ NĂNG ĐIỀU HƯỚNG CỦA HỆ THỐNG (118)
    • 5.5 ĐÁNH GIÁ (122)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (123)
    • 6.1 KẾT LUẬN (123)
    • 6.2 HƯỚNG PHÁT TRIỂN (123)
  • TÀI LIỆU THAM KHẢO (124)

Nội dung

TỔNG QUAN

GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY

Các hệ thống giám sát và điều hướng trên xe đang được cải tiến liên tục nhằm tối ưu hóa hiệu suất và bảo vệ phần cứng Sự phát triển công nghệ hiện nay đã mang lại những hệ thống định vị với độ chính xác cao, cho phép phát triển các thuật toán điều hướng phù hợp Những hệ thống này thường được ứng dụng tại các khu vực rộng lớn như công viên hoặc sân bay, nơi có ít vật cản.

LabVIEW là ngôn ngữ lập trình do National Instruments phát triển, tối ưu hóa việc tính toán các thuật toán phức tạp và thiết kế giao diện, thích hợp cho các ứng dụng yêu cầu độ chính xác và dữ liệu cập nhật liên tục Một ví dụ điển hình là hệ thống giám sát và điều hướng trên xe, nơi mà các phép tính cần phải cung cấp số liệu liên tục và đưa ra phản hồi tức thời Để tối ưu hóa việc sử dụng LabVIEW, nhóm thực hiện đã chọn Kit NI myRIO 1900 do National Instruments sản xuất Mục tiêu của nhóm là nghiên cứu và áp dụng kiến thức vào ngôn ngữ lập trình mới này với tính ứng dụng cao, dẫn đến quyết định lựa chọn đề tài “ỨNG DỤNG KIT NI MYRIO VÀO”.

Hệ thống giám sát và điều hướng trên xe được thiết kế nhằm phát triển phần mềm theo dõi các thiết bị phần cứng trên xe, đồng thời triển khai thuật toán cho phép xe tự động điều hướng đến vị trí đã được chỉ định.

TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Hệ thống giám sát trên xe cần đảm bảo phản hồi nhanh chóng để khắc phục sự cố và dự đoán rủi ro khi hoạt động không bình thường.

LabVIEW là ngôn ngữ lập trình tối ưu hóa thời gian vận hành hệ thống, đặc biệt cho các ứng dụng yêu cầu xử lý song song và phản hồi ngay lập tức, như hệ thống giám sát trên xe Kit NI myRIO được thiết kế đặc biệt để hỗ trợ LabVIEW với cấu trúc FPGA, cho phép xử lý nhiều công việc đồng thời, giúp cải thiện thời gian đáp ứng của hệ thống, một vấn đề thường gặp với các vi điều khiển hiện tại.

Điểm mạnh của đồ án là tích hợp GPS để điều hướng trong khu vực đã thiết lập, sử dụng LabVIEW - ngôn ngữ lập trình cho phép thực hiện nhanh chóng các ứng dụng đồ họa và thống kê Các thuật toán điều hướng giúp xe xác định hướng di chuyển tối ưu đến vị trí đã được chỉ định.

MỤC TIÊU NGHIÊN CỨU

Nhóm nghiên cứu ngôn ngữ lập trình LabVIEW và giao tiếp phần cứng của Kit NI myRIO nhằm kiểm định và mở rộng kiến thức đã học Qua việc tìm hiểu từ nhiều nguồn khác nhau, nhóm đã phát triển một ứng dụng thực tiễn Việc kết nối NI myRIO với các phần cứng quen thuộc và vi điều khiển đã giúp nhóm xây dựng hệ thống giám sát và điều hướng GPS cho xe, từ đó nâng cao hiểu biết và định hướng cho phát triển xe tự hành.

Nghiên cứu nguyên tắc vận hành của hệ thống giám sát trên xe và ứng dụng GPS để tạo sơ đồ điều hướng Thi công phần cứng và mô hình xe thực tế nhằm kiểm nghiệm các lý thuyết đã nghiên cứu, đồng thời đưa ra giải pháp tối ưu cho thiết kế phần cứng và lập trình Sau khi hoàn thành, thống kê số liệu và thử nghiệm hệ thống để đánh giá tính ổn định và khả năng ứng dụng thực tế, từ đó đề xuất các giải pháp cải tiến cho đồ án.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

• Đề tài tập trung vào thiết kế và tối ưu hệ thống giám sát và điều hướng trên xe dựa vào lập trình bằng phần mềm LabVIEW

• Tính toán các hướng di chuyển dựa vào tọa độ GPS của điểm hiện tại so với điểm đến

• Ứng dụng Data Dashboard để giám sát hệ thống qua điện thoại

• Giải thuật PID ứng dụng vào trong hệ thống điều khiển

Các phần cứng nghiên cứu chủ yếu bao gồm:

• Kit NI myRIO 1900: Nghiên cứu phần cứng, cách hoạt động và điều khiển, lập trình LabVIEW trên kit, tối ưu hóa lại chương trình

• Động cơ tích hợp Encoder: Cách đọc tín hiệu Encoder trả về, điều khiển động cơ theo tốc độ mong muốn

• Module GPS NEO-M8N-0-10: Nghiên cứu về cấu tạo, cách đọc dữ liệu từ Module, công nghệ giúp Module cải thiện độ chính xác

• Module la bàn số HMC5883L: Nghiên cứu cấu tạo, cách đọc dữ liệu từ Module, các công thức tính toán phù hợp

• Arduino UNO: Cách giao tiếp dữ liệu giữa Arduino với kit NI myRIO, và các Module và cảm biến khác

• Module SIM800A: Tìm hiểu về phần cứng, cách thức giao tiếp với Module.

PHƯƠNG PHÁP NGHIÊN CỨU

Để thực hiện đề tài, cần nắm vững kiến thức về vi điều khiển, quy tắc hoạt động của phần cứng, ngôn ngữ lập trình LabVIEW, và quy tắc truyền nhận dữ liệu Ngoài ra, việc thống kê số liệu thu thập được và thiết kế hệ thống, chạy thực tế, kiểm nghiệm cũng rất quan trọng.

BỐ CỤC ĐỒ ÁN

Chương 1: Tổng quan: Đưa ra tình hình nghiên cứu hiện nay, tính cấp thiết của đề tài, đưa ra lý do chọn đề tài và những ứng dụng thực tiễn của đề tài

Chương 2: Cơ sở lý thuyết: Giới thiệu chi tiết về các phần cứng của hệ thống, các khái niệm và lý thuyết được vận dụng trong đề tài

Chương 3: Thiết kế và xây dựng hệ thống: Trình bày cách thiết kế của từng khối trong hệ thống qua việc tính toán, đưa ra sơ đồ hoàn thiện của hệ thống, xây dựng và đưa ra các cách vận hành hợp lý của hệ thống dựa trên những lý thuyết có sẵn

Chương 4: Thi công – Tính toán – Lập trình cho hệ thống: Dựa trên các số liệu đã tính toán và mô phỏng ở Chương 3 từ đó thi công phần cứng thực tế Phân tích các giải thuật để tìm hướng lập trình phù hợp cho hệ thống

Chương 5: Kết quả - Kiểm tra – Đánh giá: Sau khi đã thi công và vận hành phần cứng thực tế, sẽ kiểm tra và thống kê lại số liệu từ đó tìm ra được những điểm giống và khác nhau so với lý thuyết, cũng như đánh giá độ ổn định của hệ thống, những nhược điểm còn tồn tại

Chương 6: Kết luận và hướng phát triển: Nêu ra những gì đã thực hiện được, và hướng phát triển đề tài sau này

CƠ SỞ LÝ THUYẾT

HỆ THỐNG GIÁM SÁT TRÊN XE

Hệ thống giám sát trên xe hiện đại ngày càng phổ biến, với chức năng chính là thu thập dữ liệu về vị trí, hành trình và hướng di chuyển của xe Các thiết bị giám sát hành trình chuyên dụng được gắn trên ô tô giúp theo dõi không chỉ vị trí mà còn các thông số vận hành như vận tốc và năng lượng hiện tại.

Hệ thống giám sát trên xe không chỉ cần hiển thị và cài đặt mà còn phải áp dụng các thuật toán phù hợp để đảm bảo an toàn cho thiết bị Một hệ thống giám sát hoàn chỉnh không chỉ cập nhật giá trị hiện tại mà còn ghi lại hành trình vận hành của thiết bị.

Trong phạm vi đề tài nhóm sẽ tập trung nghiên cứu tạo nên một hệ thống giám sát bao gồm các việc:

➢ Giám sát tốc độ và điều khiển tốc độ động cơ

➢ Giám sát mức năng lượng còn lại trong xe để duy trì hoạt động

➢ Giám sát các đối tượng xung quanh xe để đưa ra cảnh báo khi đối tượng đến gần

➢ Giám sát hành trình, tọa độ vị trí hiện tại của xe, thu thập, ghi lại các thông số trong suốt quá trình hoạt động

➢ Cho phép điều hướng đưa ra hướng di chuyển tối ưu tới điểm đến đã được biết trước.

GIỚI THIỆU VỀ LABVIEW [1][14]

LabVIEW là phần mềm lập trình đồ họa, hay còn gọi là lập trình G (Graphical), được phát triển bởi National Instruments, phục vụ cho các ứng dụng mô phỏng, đo lường và điều khiển Khác với các ngôn ngữ lập trình truyền thống như C, LabVIEW sử dụng các khối hình ảnh để giao tiếp dữ liệu, cho phép lập trình kéo thả và thực hiện nhiều vòng lặp đồng thời, giúp giải quyết hiệu quả các bài toán phức tạp cần kết quả ngay lập tức Hiện tại, LabVIEW có thể chạy trên các hệ điều hành như Windows, Mac OS và Linux.

Hình 2.2: Phần mềm lập trình LabVIEW

LabVIEW cho phép người dùng phát triển ứng dụng nhanh chóng hơn so với Visual Basic và Matlab Ngoài ra, LabVIEW cũng hỗ trợ hiệu quả trong việc tạo các file ghi nhận dữ liệu thu thập được trong quá trình thực hiện các tác vụ.

LabVIEW là một công cụ mạnh mẽ được sử dụng rộng rãi trong các ứng dụng điều khiển và giám sát, đặc biệt trong lĩnh vực xử lý ảnh Bài viết này sẽ tập trung vào những ứng dụng điều khiển và giám sát mà LabVIEW cung cấp, bao gồm các thuật toán điều khiển phổ biến như PID và Logic mờ (Fuzzy) Ngoài ra, LabVIEW còn hỗ trợ giao tiếp với nhiều chuẩn truyền thông công nghiệp như RS232, RS485 và PCI, giúp tăng cường khả năng kết nối và tương tác trong các hệ thống tự động hóa.

Đồ án này sẽ tập trung vào việc nghiên cứu những lợi thế mà LabVIEW mang lại cho các ứng dụng trên nền tảng thời gian thực và lập trình FPGA.

Hình 2.3: Các phần cứng sử dụng LabVIEW

Hình 2.4: Ứng dụng LabVIEW trong điều khiển PID

Một số thuật ngữ thường gặp khi lập trình trên LabVIEW

VI (Thiết bị Ảo): Là một chương trình LabVIEW mô phỏng giao diện và chức năng của các thiết bị thực, LabVIEW được biết đến như là thiết bị ảo (Virtual Instrument).

Một VI cơ bản sẽ bao gồm 2 phần chính là cửa sổ front panel (là giao diện người dùng) và cửa sổ block diagram (nơi để lập trình)

Cửa sổ front panel là nơi người dùng theo dõi kết quả sau khi thực thi chương trình Kết quả này có thể được điều chỉnh thông qua các bộ điều khiển, cung cấp dữ liệu cần thiết cho chương trình Đồng thời, các bộ hiển thị sẽ trình bày các dữ liệu đã được tính toán một cách rõ ràng.

Hình 2.5: Cửa số Front Panel của LabVIEW

Cửa sổ block diagram cho phép lập trình thông qua các hình ảnh đồ họa, đại diện cho chức năng cụ thể hoặc các ngõ vào, ngõ ra nhất định.

Hình 2.6: Cửa sổ Block diagram của LabVIEW

Icon là biểu tượng đồ họa đại diện cho một VI, có thể bao gồm cả văn bản và hình ảnh Thuật ngữ này thường được sử dụng khi muốn gọi một VI khác trong VI, hay còn gọi là SubVI, tương tự như chương trình con trong ngôn ngữ lập trình truyền thống Mỗi VI sẽ hiển thị một icon ở góc trên bên phải của cửa sổ front panel và cửa sổ block diagram.

Hình 2.7: Xây dựng Icon của một Sub VI trong LabVIEW

Connector Pane là một phần quan trọng trong việc xây dựng VI, cho phép sử dụng VI như một Sub VI Nó bao gồm các đầu nối trên biểu tượng, tương ứng với các điều khiển và hiển thị của VI Connector pane được hiển thị bên cạnh biểu tượng của VI, giúp dễ dàng kết nối và quản lý các tham số đầu vào và đầu ra.

VI ở góc trên bên phải của cửa sổ front panel

Hình 2.8: Xây dựng connector pane của VI trong LabVIEW

LabVIEW cho phép lập trình viên nhanh chóng và hiệu quả xây dựng ứng dụng EXE Sau khi hoàn thiện VI, bước cuối cùng là đóng gói ứng dụng EXE trên LabVIEW.

GIỚI THIỆU DATA DASHBOARD [16]

Data Dashboard là ứng dụng giúp người dùng theo dõi thông số qua các thiết bị di động và tùy chỉnh các thông số của ứng dụng NI LabVIEW Ứng dụng này cho phép triển khai giám sát và điều khiển từ xa, tương thích với các nền tảng Windows, Android và iOS.

Hình 2.9: Ứng dụng Data Dashboard

Có 9 ứng dụng giúp người dùng kết nối các biến shared variable hoặc Web Service trong LabVIEW, cho phép hiển thị dữ liệu dưới nhiều dạng như bảng, biểu đồ và văn bản.

Giao diện cơ bản của Data Dashboard bao gồm các mục:

Hình 2.10: Giao diện cơ bản của Data Dashboard

➢ Pages: Cho phép người dùng tạo thêm hoặc xóa bớt trang trong một project

➢ Palette: Cung cấp cho người dùng các kết nối, hiển thị, xây dựng giao diện của project hiện có

Properties cho phép người dùng thay đổi nền của dự án và thêm các địa chỉ IP kết nối đến máy chủ chạy LabVIEW, nhằm đảm bảo kết nối ổn định trong trường hợp địa chỉ IP của máy chủ bị thay đổi.

➢ Run dashboard: Dùng để chạy project hiện có

➢ Help and Support: Chú thích các mục tiện ích

➢ Browse dashboards: Tìm các project trong ứng dụng

➢ Undo: Quay lại trạng thái thay đổi trước đó.

KHÁI NIỆM VỀ GPS VÀ GNSS [2][3]

GPS là hệ thống định vị toàn cầu, được phát triển bởi Bộ Quốc phòng Hoa Kỳ

Hình 2.11: Hình ảnh về vệ tinh GPS

Hệ thống GPS được cấu thành 3 bộ phận:

• Phần không gian: Gồm các vệ tinh bay trên quỹ đạo ngoài Trái Đất và gửi dữ liệu vị trí địa lý về người dùng

Phần điều khiển bao gồm các trạm quan sát trung tâm có nhiệm vụ theo dõi và giám sát quỹ đạo vệ tinh, cũng như phân tích dữ liệu thu thập từ vệ tinh.

• Người dùng: Bao gồm đối tượng sử dụng máy thu tương ứng để sử dụng được các dữ liệu thu thập được từ hệ thống GPS

Nguyên tắc xác định vị trí của GPS:

Các vệ tinh GPS phát ra tín hiệu vị trí và thời gian, sau đó các máy thu GPS nhận và giải mã tín hiệu này để tính toán và hiển thị vị trí của người sử dụng.

Mỗi vệ tinh phát ra tín hiệu riêng biệt, dẫn đến việc thu thập dữ liệu về vị trí người dùng không giống nhau Các vị trí nhận được sẽ tương ứng với từng điểm cụ thể.

Vị trí chính xác được xác định tại giao điểm của các đường tròn có tâm là vị trí của các vệ tinh Giao điểm gần Trái Đất nhất sẽ được chọn, cho thấy rằng số lượng vệ tinh càng nhiều thì độ chính xác của vị trí càng cao.

Hệ thống Vệ tinh Điều hướng Toàn cầu GNSS là một hệ thống định vị vệ tinh toàn cầu, bao gồm tất cả các vệ tinh nhân tạo trên quỹ đạo ngoài Trái Đất Các hệ thống vệ tinh dẫn đường hiện đang hoạt động bao gồm GPS (NAVSTAR) của Mỹ, GLONASS của Nga, Galileo của Liên minh Châu Âu, và BeiDou của Trung Quốc.

Hình 2.12: Hình ảnh về mô hình của GNSS

Hệ thống định vị vệ tinh toàn cầu (GNSS) bao gồm nhiều hệ thống định vị khác nhau, trong đó có GPS GPS là một phần của GNSS, vì vậy nó có cơ cấu và nguyên lý hoạt động tương tự Tuy nhiên, GNSS cung cấp kết quả vị trí chính xác hơn và độ tin cậy cao hơn so với GPS thông thường.

Chính vì những ưu điểm như vậy mà hiện nay các sản phẩm của hãng

Ublox được trang bị công nghệ cho phép nhận dữ liệu từ GNSS điển hình như mã sản phẩm NEO-M8N-0

Hình 2.13: Sản phẩm NEO-M8N-0 của hãng Ublox

NMEA là định dạng dữ liệu tiêu chuẩn cho các thiết bị nhận tín hiệu, thường được gọi là NMEA Message Nó được sử dụng để truyền dữ liệu từ thiết bị GPS đến máy tính hoặc các module khác Có 14 loại Header tương ứng với 14 Output messages phục vụ cho các mục đích khác nhau Để xác định tọa độ vị trí và thời gian, cần sử dụng hai gói tin là GPGGA và GPRMC cho GPS, cũng như GNGGA và GNRMC cho GNSS.

Hình 2.14: Dữ liệu định dạng NMEA

Hệ thống GNSS và GPS được ứng dụng rộng rãi trong cuộc sống hàng ngày, có thể kể đến như:

• Dẫn đường tự động cho các phương tiện di chuyển như máy bay, ô tô

• Ứng dụng vào ngành đo đạc bản đồ, khảo sát địa hình

• Xác định vị trí phục vụ cho các mục đích cứu hộ, cứu nạn, tìm kiếm đối tượng

• Ứng dụng vào các thiết bị trong quân sự

Hình 2.15: Ứng dụng định vị bằng GPS trên xe hơi

KHÁI NIỆM PID [4]

Bộ điều khiển PID là loại bộ điều khiển phổ biến nhất trong các hệ thống điều khiển phản hồi SISO (một ngõ vào, một ngõ ra) Nó hoạt động bằng cách tính toán sai số, tức là chênh lệch giữa giá trị đo được và giá trị đặt (Setpoint) Mục tiêu của bộ điều khiển PID là giảm thiểu sai số bằng cách điều chỉnh giá trị điều khiển đầu vào một cách hiệu quả.

Hình 2.16: Ứng dụng bộ điều khiển PID trong thực tế

Bộ điều khiển PID là một giải thuật tính toán bao gồm ba thông số riêng biệt, thường được gọi là điều khiển ba khâu, bao gồm các giá trị tỉ lệ (P), tích phân (I) và vi phân (D).

P (proportional): là khâu điều chỉnh tỷ lệ giúp tạo ra tín hiệu điều chỉnh tỷ lệ với sai lệch đầu vào theo thời gian lấy mẫu

➢ P(OUT): là thừa số tỷ lệ đầu ra

➢ Kp: là hệ số tỷ lệ

Thời gian xác lập là khoảng thời gian tức thời trong hệ thống điều khiển KP, luôn tồn tại sai số Khi KP tăng, sai số xác lập sẽ giảm và thời gian xác lập cũng sẽ giảm nếu không xảy ra hiện tượng vọt lố Tuy nhiên, nếu hệ thống gặp phải vọt lố, thời gian xác lập sẽ tăng lên.

Nếu KP tăng quá lớn hệ mất ổn định

Hình 2.17: Ảnh hưởng của KP đến tín hiệu ngõ ra

I (integral) là quá trình tích phân của sai lệch theo thời gian lấy mẫu Phương pháp điều khiển tích phân giúp điều chỉnh tín hiệu để giảm thiểu độ sai lệch về 0.

➢ I(OUT): là thừa số tích phân đầu ra

➢ Ki: là độ lợi tích phân

➢ t: là khoảng thời gian tức thời

Hầu hết các hệ điều khiển hiện nay là hệ rời rạc, nhưng nếu thời gian lấy mẫu đủ nhỏ, chúng sẽ hoạt động gần như liên tục Việc tăng cường kiểm soát KI giúp giảm sai số xác lập, tuy nhiên, nếu tăng quá mức, hệ thống có thể bắt đầu xuất hiện dao động.

KI tăng quá cao hệ mất ổn định

Hình 2.18: Ảnh hưởng của KI đến tín hiệu ngõ ra

D (derivative) là phần vi phân của sai lệch, giúp tạo ra tín hiệu điều chỉnh tỷ lệ với tốc độ thay đổi của sai lệch đầu vào Thời gian càng lớn, phạm vi điều chỉnh vi phân càng mạnh, dẫn đến bộ điều chỉnh phản ứng nhanh hơn với sự thay đổi đầu vào.

➢ D(OUT): là thừa số vi phân của ngõ ra

➢ Kd: là độ lợi vi phân

➢ t: là khoảng thời gian thức thời Điều chỉnh KD có tác dụng cải thiện ổn định của hệ thống, giảm độ vọt lố

Hình 2.19: Ảnh hưởng của KD đến tín hiệu ngõ ra

Bảng 2.1: Ảnh hưởng của hệ thống khi thay đổi thông số của điều khiển PID

Thông số đáp ứng vòng kín

Vọt lố Thời gian xác lập

Sai số xác lập Độ ổn định

KP Giảm Tăng Thay đổi nhỏ

Ki Giảm Tăng Tăng Giảm đáng kể

KD Giảm ít Giảm ít Giảm ít Không tác động

Cải thiện nếu KD nhỏ

Công thức chung cho một bộ điều khiển PID:

Hình 2.20: Giải thuật PID đầy đủ Để đánh giá một bộ PID tốt sẽ dựa trên các tiêu chí sau:

• Sai số xác lập là sai số giữa giá trị thực tế và giá trị thiết lập, càng nhỏ càng tốt

• Thời gian xác lập là thời gian hệ thống khi đạt giá trị thực tế bằng với giá trị thiết lập, càng nhỏ càng tốt

• Độ vọt lố (%) xảy ra khi giá trị thực tế lớn hơn so với giá trị đặt, càng nhỏ càng tốt

Trên thực tế việc kết hợp hay loại bỏ các khâu sẽ cho ra các bộ điều khiển khác nhau:

• Bộ điều khiển tỷ lệ chỉ bao gồm P khâu điều chỉnh tỷ lệ

• Bộ điều khiển PI được gọi là bộ điều khiển tỷ lệ và tích phân

• Bộ điều khiển PD được gọi là bộ điều khiển tỷ lệ và đạo hàm

• Bộ điều khiển đầy đủ PID là bộ điều khiển tỷ lệ, tích phân, đạo hàm

Bằng cách điều chỉnh ba hằng số của bộ điều khiển PID, người dùng có thể tùy chỉnh thiết kế cho các yêu cầu cụ thể Mỗi hệ thống sẽ yêu cầu các hằng số PID khác nhau, do đó, khi thay đổi phần cứng trong hệ thống, cần phải điều chỉnh lại thông số PID để đảm bảo hiệu suất tối ưu.

Hình 2.21: So sánh về độ đáp ứng của từng phương pháp điều khiển

DÙNG LA BÀN KẾT HỢP GPS ĐỂ ĐIỀU HƯỚNG [18]

Các hệ thống chuyển động như mô hình xe và thiết bị bay thường sẽ lệch khỏi quỹ đạo định sẵn sau một thời gian Để khắc phục tình trạng này, cần có một cơ cấu hỗ trợ giúp hệ thống duy trì quỹ đạo La bàn là một giải pháp điều hướng hiệu quả, phù hợp cho các thử nghiệm trong khu vực địa hình nhất định với ít vật cản xung quanh.

Hệ thống điều hướng hiện đại ngày nay kết hợp giữa GPS và la bàn để xác định quỹ đạo chuyển động chính xác Phương pháp này được sử dụng rộng rãi cho các thiết bị lái trong công viên, sân bay và hỗ trợ hệ thống tự lái trên xe hơi Đặc biệt, đối với thiết bị bay và tàu thủy, đây là phương pháp hiệu quả nhất hiện nay.

Hình 2.22: Ứng dụng GPS và la bàn để tính toán hướng đi cho phù hợp

Quỹ đạo di chuyển được xác định thông qua việc tính toán góc giữa vị trí hiện tại và điểm đến, từ đó xác định góc lệch để thiết bị có thể di chuyển theo hướng đã được tính toán.

Việc tính toán tọa độ GPS thông thường bao gồm hai giá trị chính là vĩ độ (latitude) và kinh độ (longitude) Các thông số này cần được chuẩn hóa về hệ góc (độ).

Công thức chung để tính toán được góc lệch giữa 2 tọa độ theo như công thức tính toán góc của 2 tọa độ từ trang igismap.com [18]:

➢ Alpha: là góc lệch giữa 2 điểm, đơn vị (°)

➢ Lat1: vĩ độ điểm đầu, đơn vị (°)

➢ Long1: kinh độ điểm đầu, đơn vị (°)

➢ Lat2: vĩ độ điểm đến, đơn vị (°)

➢ Long2: kinh độ điểm đến, đơn vị (°)

Phương pháp điều hướng này xác định hướng di chuyển nhanh nhất từ vị trí hiện tại đến điểm đến, đặc biệt phù hợp cho các địa hình rộng và ít vật cản.

GIỚI THIỆU PHẦN CỨNG

2.7.1 Khối xử lý trung tâm Kit NI myRIO 1900 [23]

Kit NI myRIO 1900, sản phẩm của National Instruments, được thiết kế để tích hợp đầy đủ các tính năng cần thiết cho board mạch nhúng Với khả năng lập trình FPGA và Realtime chủ yếu qua ngôn ngữ LabVIEW, thiết bị còn hỗ trợ kết nối không dây nhờ vào IC Wifi tích hợp sẵn Đây là lựa chọn hàng đầu cho những ai muốn tận dụng tối đa lợi ích từ LabVIEW, cho phép người dùng điều khiển, lập trình và nạp chương trình mà không cần kết nối dây.

Hình 2.23: Hình ảnh Kit Ni myRIO 1900 thực tế

Các thông số kỹ thuật của Kit Ni myRIO 1900 dựa vào tài liệu Datasheet NI myRIO 1900 [23]:

Bảng 2.2: Các thông số kỹ thuật của Kit Ni myRIO 1900

STT Thông số Giá trị/Đặc điểm

2 Tốc độ xử lý 667 MHz

3 Điện áp khuyên dùng 6 - 16 VDC

4 Tổng công suất tiêu thụ tối đa 16W

7 Tần số hoạt động 16MHz

8 Dòng tối đa trên mỗi chân I/O 40mA

9 Kết nối không dây IEEE 802.11

ISM 2.4 GHz Channel Width 20MHz

10 Dòng ra tối đa (5V) 100mA

11 Dòng ra tối đa (3.3V) 150mA

12 Dòng ra tối đa (15V) 32 mA

Mô tả chân MXP ở Connectors A và B:

Hình 2.24: Sơ đồ chân MXP ở Connectors A và B

Bảng điều khiển có 16 chân Digital từ DIO0 đến DIO15, trong đó DIO8, DIO9 và DIO10 được sử dụng để tạo ra xung PWM (PWM0, PWM1, PWM2) Hai chân DIO14 (I2C.SCL) và DIO15 (I2C.SDA) thường dùng cho truyền dữ liệu I2C song song Ngoài ra, chân D2 và D3 được sử dụng làm ngắt ngoài, trong khi chân DIO5 (SPI.SCK) phục vụ cho giao thức SPI.

Chân DIO6(SPI.MISO), Chân DIO7 (SPI.MOSI), được sử dụng cho SPI Giao diện ngoại vi nối tiếp

➢ Các chân Analog bao gồm ngõ vào Analog từ AI0 đến AI3 và các ngõ ra Analog AO0, AO1

➢ Chân UART.RX và chân UART.TX được sử dụng truyền dữ liệu nối tiếp UART

➢ Chân + 5V: Cung cấp ngõ ra mức điện áp +4.75 đến +5.25 VDC với dòng tối đa 100mA

➢ Chân 3.3V: Cung cấp ngõ ra mức điện áp +3.0 đến +3.6VDC với dòng tối đa 100mA

➢ Các chân GND: Chân nối mass cho Ni myRIO

Mô tả chân MXP ở Connectors C:

Hình 2.25: Sơ đồ chân MXP ở Connector C

Bảng điều khiển có 8 chân Digital từ DIO0 đến DIO7, trong đó DIO3 và DIO7 được sử dụng để tạo ra xung PWM, tương ứng với PWM0 và PWM1.

➢ Các chân Analog bao gồm ngõ vào Analog từ AI0+, AI0-, AI1+, AI1-và các ngõ ra Analog AO0, AO1

➢ Chân ENCA và ENCB lần lượt đo các tín hiệu trả về từ Encoder thường được ứng dụng trong việc đo tốc độ của động cơ

➢ Chân +15V: Cung cấp ngõ ra mức điện áp +15 đến +16 với dòng tối đa 32mA

➢ Chân -15V: Cung cấp ngõ ra mức điện áp -15 đến -16 với dòng tối đa 32mA

➢ AUDIO IN: Đầu vào trái và phải của cổng Audio

➢ AUDIO OUT: Đầu ra trái và phải của cổng Audio

2.7.2 Arduino UNO R3 [24] Đối với các nhiệm vụ thu thập dữ liệu từ cảm biến thì việc lựa chọn 1 vi điều khiển làm nhiệm vụ chuyên biệt này sẽ thuận tiện trong việc tính toán và tăng thời gian xử lý và phản hồi từ khối xử lý trung tâm chính

LabVIEW cung cấp khả năng giao tiếp dữ liệu hiệu quả giữa các phần cứng, giúp kết nối NI myRIO với vi điều khiển trở nên dễ dàng và tối ưu hóa tốc độ truyền dữ liệu.

Arduino UNO R3 được trang bị vi điều khiển Atmega328, cho phép mạch này giải mã các giá trị phản hồi từ cảm biến và truyền chúng về khối xử lý trung tâm, tối ưu hóa chức năng của Arduino.

Hình 2.26: Hình ảnh Aruino UNO R3 thực tế

Thông số kỹ thuật của Arduino UNO R3 dựa vào tài liệu Datasheet của Arduino UNO R3 [24]:

Bảng 2.3: Các thông số kỹ thuật của Arduino UNO R3

STT Thông số Giá trị/Đặc điểm

1 Vi điều khiển chính Atmega328

2 Điện áp hoạt động 7 – 12 VDC

3 Dòng điện tiêu thụ 200 mA

6 Dòng ra tối đa mỗi I/O 40 mA

Bảng điều khiển có 14 chân Digital từ D0 đến D13, trong đó 6 chân được sử dụng để tạo ra xung PWM, bao gồm D3, D5, D6, D9, D10 và D11 Chân D0 (RX0) và D1 (TX1) thường được sử dụng cho truyền dữ liệu UART, trong khi chân D2 và D3 được sử dụng làm ngắt ngoài.

Các chân Analog từ A0 đến A5 có khả năng hoạt động như bộ chuyển đổi Analog sang Digital, trong khi giao tiếp I2C sử dụng chân A4 (SDA) và A5 (SCL).

➢ Chân Vin: Đây là chân cung cấp điện áp đầu vào cho mạch Arduino

Chân 5V của Arduino cung cấp mức điện áp quy định, dùng để cấp nguồn cho vi điều khiển và các linh kiện khác trên bo mạch Arduino.

➢ Chân 3.3V: Đây là một mức điện áp tối thiểu được tạo ra bởi bộ điều chỉnh điện áp trên board 3.3 V

➢ Chân GND: Chân nối mass cho Arduino

➢ Khi tác động nút nhấn reset, Arduino sẽ khởi động và chạy chương trình lại từ đầu

➢ Chân AREF: Chân này được sử dụng lấy điện áp tham chiếu cho điện áp đầu vào

➢ Chân 10(SS), Chân 11(MOSI), Chân 12(MISO), Chân 13(SCK) được sử dụng cho SPI Giao diện ngoại vi nối tiếp

Hình 2 27: Sơ đồ nguyên lý của Arduino UNO R3

2.7.3 Module Buck XL4015 with Voltmeter [19] [25]

Module sử dụng IC Buck XL4015 nhằm giảm điện áp cao xuống thấp với hiệu suất cao, nhưng có nhược điểm là điện áp ngõ ra sẽ thay đổi khi điện áp đầu vào biến động Điều này có thể dẫn đến việc các Module khác không hoạt động hoặc hoạt động không ổn định Do đó, để đảm bảo hệ thống sử dụng mạch Buck hoạt động hiệu quả, cần phải ổn định điện áp đầu vào trước khi cung cấp nguồn cho các Module.

Hình 2 28: Hình ảnh Module Buck XL4015 with Voltmeter thực tế

Các thông số kỹ thuật của Module Buck XL4015 with Voltmeter dựa vào tài liệu thông số kỹ thuật của Module Buck XL4015 [19] [25]:

Bảng 2.4: Thông số kỹ thuật của Module Buck XL4015 with Voltmeter

STT Thông số Min Typ Max Đợn vị

Phương pháp điều chỉnh Điều chỉnh biến trở để thay đổi điện áp ngõ ra

Hình 2.29: Mô tả kết nối Module Buck XL4015 with Voltmeter

Bảng 2.5: Mô tả kết nối Module Buck XL4015 with Voltmeter

Hình 2.30: Sơ đồ nguyên lý của Module Buck XL4015 with Voltmeter

Trong một hệ thống có nguồn đầu vào không ổn định, việc duy trì ổn định điện áp là rất cần thiết Khi các module hoạt động với dòng tải cao, điện áp đầu vào có thể thay đổi đột ngột nếu không được kiểm soát Do đó, việc ổn định điện áp là điều kiện tiên quyết để đảm bảo hiệu suất hoạt động của hệ thống.

STT Tên kết nối Mô tả

1 IN+ Kết nối với VCC nguồn vào

2 IN- Kết nối với GND nguồn vào

3 OUT+ Kết nối với VCC thiết bị muốn cấp

4 OUT- Kết nối với GND thiết bị muốn cấp

5 Left button Nhấn để xem điện áp ngõ vào

6 Right button Nhấn để xem điện áp ngõ ra

7 Biến trở Điều chỉnh điện áp ngõ ra

25 quá trình dài lặp đi lặp lại việc thay đổi điện áp sẽ khiến hệ thống không ổn định và dễ gây hư hỏng các thiết bị

Các thiết bị ổn áp được phát triển để giải quyết vấn đề ổn định điện áp Trong số đó, Module LTC3780 nổi bật với khả năng duy trì ổn định điện áp đầu ra bất chấp sự thay đổi của điện áp đầu vào Module này được thiết kế cho các ứng dụng di động và yêu cầu công suất hoạt động cao.

Hình 2.31: Module ổn áp LTC3780 thực tế

Các thông số kỹ thuật của Module ổn áp LTC3780 dựa vào tài liệu thông số kỹ thuật của Module LTC3780 [20] [26]:

Bảng 2.6: Thông số kỹ thuật của Module ổn áp LTC3780

STT Thông số Min Typ Max Đơn vị

Phương pháp điều chỉnh Điều chỉnh biến trở để thay đổi điện áp ngõ vào cho phép, điện áp ngõ ra, dòng điện ngõ ra tối đa

Hình 2.32: Mô tả kết nối Module ổn áp LTC3780 Bảng 2.7: Mô tả kết nối Module ổn áp LTC3780

STT Tên kết nối Mô tả

1 IN+ Nối với VCC nguồn vào

2 IN- Nối với GND nguồn vào

3 OUT+ Ngõ ra VCC nối với thiết bị muốn cấp

4 OUT- Ngõ ra nối với GND thiết bị muốn cấp

5 UV Điều chỉnh cài đặt điện áp để bảo vệ điện áp ngõ vào

6 CC Điều chỉnh để bảo vệ nếu tải quá dòng

7 CV Điều chỉnh điện áp cố định ngõ ra

Hình 2 33: Sơ đồ nguyên lý của LTC3780

2.7.5 Module la bàn số HMC5883L [27]

Để đảm bảo hiệu quả trong việc điều hướng, cần kết hợp giá trị tính toán từ thông số GPS với giá trị hiện tại từ la bàn Do đó, một hệ thống điều hướng không thể thiếu Module la bàn số, cung cấp các giá trị cần thiết cho quá trình này.

27 hướng đi hiện tại Module cảm biến la bàn số HMC5883L là một lựa chọn phù hợp cho công việc này

Hình 2.34: Module la bàn số HMC5883L thực tế

Thông số kỹ thuật của Module la bàn số HMC5883L:

Bảng 2.8: Thông số kỹ thuật của Module la bàn số HMC5883L

STT Thông số Min Typ Max Đơn vị

2 Dũng điện tiờu thụ 100 àA

Module được cấu tạo từ IC trung tâm là HMC5883L và sử dụng giao tiếp chuẩn I2C với MCU

Bảng 2.9: Mô tả kết nối của Module la bàn số HMC5883L

STT Tên kết nối Mô tả

1 VCC Nối với 2.7 – 6.5 V nguồn cấp

2 GND Nối với GND nguồn cấp

3 SCL Nối với SCL của MCU chuẩn giao tiếp I2C

4 SDA Nối với SDA của MCU chuẩn giao tiếp I2C

Module DRDY cho phép truy cập dữ liệu nhanh chóng, lên đến 100 lần mỗi giây, nhưng không cần thiết trong trường hợp không yêu cầu tốc độ cao Để giao tiếp với Module, cần thiết lập các địa chỉ từ MCU và truyền đến Module theo hướng dẫn trong Datasheet của HMC5883L.

Hình 2.35: Cấu hình thanh ghi A Bảng 2.10: Mô tả chức năng của thanh ghi A

Vị trí Tên gọi Chức năng

CRA7 CRA7 Bit này phải được xóa để hoạt động chính xác CRA6 đến CRA5 MA(1) đến

Chọn số mẫu trung bình (1 đến 8) trên đơn vị đo lường

00 = 1; 01 =2; 10 = 4; 11 = 8, CRA4 đến CRA2 DO2 đến DO0 Thiết lập tốc độ Bit đầu ra

CRA1 đến CRA0 MS1 đến MS0 Cấu hình chiều của phép đo của các giá trị trả về mặc định là 00 (Normal) Cấu hình thanh ghi B

Hình 2.36: Cấu hình thanh ghi B Bảng 2.11: Mô tả chức năng của thanh ghi B

Vị trí Tên gọi Chức năng

CRB7 đến CRB5 GN2 đến GN0 Bit cấu hình Gain LSB/Gauss

Mặc định là 001 (1090) CRB4 đến CRB0 0 Những Bit này phải được xóa để hoạt động chính xác Cấu hình chế độ ghi

Hình 2.37: Cấu hình chế độ ghi Bảng 2.12: Mô tả chế độ ghi

Vị trí Tên gọi Chức năng

MR7 đến MR2 0 Những Bit này phải được xóa để hoạt động chính xác CRB4 đến

Chế độ chọn bit 00 (tiếp tục đọc dữ liệu) 01 (đọc dữ liệu đơn lẻ) 01 hoặc 11 (chế độ Idle)

Các thanh ghi đầu ra dữ liệu X, Y, Z bao gồm hai thanh ghi 8 bit, cùng với thanh ghi A và B Thanh ghi A lưu trữ MSB từ kết quả đo, trong khi thanh ghi B lưu trữ LSB Hai thanh ghi này chứa giá trị 16 bit theo dạng bù 2, với phạm vi từ 0xF800 đến 0x07FF Nếu có hiện tượng tràn hoặc lỗi trong quá trình đọc ADC, giá trị trả về sẽ là 4096.

Hình 2.38: Sơ đồ nguyên lý của Module la bàn số HMC5883L

Module được cấu tạo từ IC L298N thường được dung trong các ứng dụng điều khiển tốc độ động cơ qua xung PWM lấy từ vi điều khiển

Hình 2.39: Hình ảnh Module H – Bridge L298N thực tế

Thông số kỹ thuật Module H – Bridge L298N dựa vào tài liệu thông số kỹ thuật của Module H – Bridge L298N [28]:

Bảng 2.13: Thông số kỹ thuật của Module H – Bridge L298N

STT Thông số Min Typ Max Đơn vị

2 Dòng điều khiển động cơ 2 A

3 Điện áp điều khiển động cơ 48 V

4 Công suất tiêu thụ tối đa 25 W

Mô tả kết nối Module H – Bridge L298N:

Hình 2.40: Mô tả kết nối của Module H – Bridge L298N Bảng 2.14: Mô tả kết nối của Module H – Bridge L298N

STT Tên kết nối Mô tả

1 +12V Nối với nguồn điện áp cấp

2 GND Nối với GND nguồn điện áp cấp

3 +5V Cung cấp 5VDC đầu ra

5 A Enable Cho phép động cơ bên A hoạt động, thường điều khiển bằng PWM

6 B Enable Cho phép động cơ bên A hoạt động, thường điều khiển bằng PWM

Theo thứ tự từ trái qua phải 2 chân đầu tiên điểu khiển cho động cơ bên A, 2 chân tiếp theo điều khiển cho động cơ bên B

8 Output A Kết nối với động cơ 1

9 Output B Kết nối với động cơ 2

Quy tắc điều khiển động cơ của L298N (lưu ý bảng sau đây chỉ áp đụng khi chân Enable có tín hiệu cho phép)

Bảng 2.15: Mô tả Quy tắc điều khiển động cơ của L298N

IN1 IN2 Trạng thái động cơ

Hình 2.41: Sơ đồ nguyên lý của Module H – Bridge L298N

LCD 20x4 thường được dùng để hiển thị các ký tự, với 4 hàng ký tự và mỗi hàng chứa tối đa 20 ký tự

Hình 2.42: Sơ đồ chân LCD 20x4

Mô tả kết nối Module LCD 20x4:

• Từ D0 đến D1: Là các chân truyền dữ liệu cho LCD

• VDD: Chân kết nối lên nguồn VCC

• VEE: thường được kết nối vào biến trở điều khiển độ sáng LCD

• Các chân RS, R/W và E là các chân cho phép ghi dữ liệu

• Chân LED+ (A) và chân LED- (K) lần lượt cấp vào chân nguồn và chân GND để sáng LED LCD

Thông số kỹ thuật của Module LCD 20x4 dựa vào Datasheet của LCD 20x4 [29]:

Bảng 2.16: Thông số kỹ thuật của Module LCD 20x4

STT Thông số Min Typ Max Đơn vị

2 Dòng điện tiêu thụ 8 10 mA

CÁC CHUẨN TRUYỀN DỮ LIỆU ĐƯỢC SỬ DỤNG

2.8.1 Truyền dữ liệu song song I2C [5]

Hình 2.58: Hình ảnh về truyền dữ liệu I2C

I2C là giao thức truyền dữ liệu hiệu quả, cho phép kết nối một bộ xử lý trung tâm với nhiều IC trên cùng một bảng mạch thông qua chỉ hai đường tín hiệu.

I2C sử dụng 2 đường truyền tín hiệu:

• SCL - Serial Clock Line: Tạo xung nhịp đồng hồ do Master phát đi (thông thường ở 100kHz và 400kHz Mức cao nhất là 1Mhz và 3.4MHz)

• SDA - Serial Data Line: Đường truyền nhận dữ liệu

Khi thiết kế SCL và SDA, việc sử dụng một điện trở kéo lên (pull-up) là cần thiết để tạo mức logic HIGH trong giao tiếp dữ liệu Lựa chọn giá trị điện trở phù hợp với mức logic của tín hiệu là rất quan trọng; nếu chọn sai, có thể dẫn đến mất dữ liệu.

Cách thức hoạt động của truyền dữ liệu I2C:

Dữ liệu được truyền giữa thiết bị Master và các thiết bị Slave qua một đường dữ liệu SDA duy nhất, sử dụng các chuỗi bit được cấu trúc từ các số 0 và 1.

Hình 2.59: Cách hoạt động của truyền dữ liệu I2C

Bảng 2.27: Giải thích từng giai đoạn của truyền dữ liệu I2C

STT Giai đoạn Giải thích

Khi thiết bị Master khởi động quá trình truyền và nhận dữ liệu, đường SDA và SCL sẽ lần lượt chuyển từ mức điện áp cao xuống thấp, kích hoạt tất cả các thiết bị Slave.

Địa chỉ Frame là một chuỗi 7 hoặc 10 bit đặc trưng cho mỗi thiết bị Slave, giúp Master xác định thiết bị muốn giao tiếp Tất cả các thiết bị Slave trên bus I2C sẽ so sánh các bit địa chỉ này với địa chỉ của chúng để xác định xem có phải là thiết bị cần giao tiếp hay không.

3 Bit Read / Write Bit này dùng để xác định hướng truyền dữ liệu

Khi thiết bị Master cần gửi dữ liệu đến thiết bị Slave, bit điều khiển sẽ được thiết lập là 0 Ngược lại, nếu thiết bị Master nhận dữ liệu từ thiết bị Slave, bit này sẽ được thiết lập là 1.

4 Bit ACK / NACK Mặc định là ở mức 1, nếu khung dữ liệu đã truyền đi thành công, giá trị của bit này là 0

Sau khi dữ liệu được truyền thành công qua đường SDA, thiết bị Master sẽ lần lượt nâng mức điện áp của đường SCL và SDA từ thấp lên cao.

2.8.2 Truyền dữ liệu nối tiếp UART [6]

Hình 2.60: Hình ảnh về truyền dữ liệu UART

Chuẩn giao tiếp UART sử dụng 2 dây để truyền và nhận dữ liệu giữa các thiết bị:

TX (Transmiter): truyền dữ liệu

RX (Receiver): nhận dữ liệu

Chân TX (truyền) của một thiết bị kết nối trực tiếp với chân RX (nhận) của thiết bị khác, và ngược lại Giao thức UART hoạt động theo mô hình một master và một slave, cho phép một thiết bị giao tiếp với một thiết bị duy nhất khác Khi tiến hành gửi dữ liệu qua chân kết nối, quá trình truyền thông diễn ra một cách hiệu quả.

TX, UART đầu tiên chuyển đổi thông tin song song thành dạng nối tiếp và truyền đến thiết bị nhận UART thứ hai nhận dữ liệu qua chân Rx và chuyển đổi lại thành dạng song song để giao tiếp với thiết bị điều khiển của nó.

Dữ liệu được truyền qua giao thức UART được cấu trúc thành các gói (Packet) Mỗi gói bao gồm 1 bit bắt đầu, từ 5 đến 9 bit dữ liệu, một bit kiểm tra chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng.

Hình 2.61: Cách thức truyền dữ liệu UART Bảng 2.28: Giải thích từng giai đoạn của truyền dữ liệu UART

STT Giai đoạn Giải thích

Đường truyền dữ liệu UART thường duy trì mức điện áp cao khi không có dữ liệu được truyền Để bắt đầu quá trình truyền dữ liệu, một bit start sẽ được gửi bằng cách kéo mức điện áp xuống thấp.

Khung dữ liệu có thể chứa các bit dữ liệu từ 5 đến 8 bit khi sử dụng bit chẵn lẻ, và lên đến 9 bit nếu không sử dụng bit chẵn lẻ Thông thường, dữ liệu được truyền theo thứ tự từ bit có trọng số nhỏ nhất trước.

Parity Bit là một phương pháp kiểm tra tính chính xác của dữ liệu truyền Có hai loại Parity: Parity chẵn và Parity lẻ Khi UART nhận khung dữ liệu, nó sẽ đếm số bit có giá trị 1 và xác định xem tổng số đó là chẵn hay lẻ để đảm bảo tính toàn vẹn của dữ liệu.

Bit dừng 4 là một hoặc nhiều bit dùng để báo hiệu rằng các bit đã được gửi Thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu nhận được từ thiết bị gửi.

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

YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG

3.1.1 Yêu cầu của hệ thống

Hệ thống có các chức năng sau:

Khả năng định vị GPS và cung cấp gợi ý điều hướng cho xe là rất quan trọng, giúp tính toán các thông số để xác định lộ trình di chuyển tối ưu cho hệ thống.

Hệ thống đo và điều khiển tốc độ động cơ sử dụng thuật toán PID, tự động điều chỉnh theo tốc độ mong muốn của người dùng Dựa vào tín hiệu phản hồi từ vòng quay hiện tại của động cơ, hệ thống tối ưu hóa sai số giữa tốc độ thực tế và điểm đặt, với mục tiêu giảm thiểu sai số càng thấp càng tốt.

Hệ thống sẽ đo các giá trị từ cảm biến khi phát hiện vật cản và đưa ra cảnh báo Khoảng cách với vật cản có thể được người dùng cài đặt, nhưng để đảm bảo cảnh báo kịp thời, quá trình thiết kế sẽ kiểm nghiệm và xác định thông số cài đặt phù hợp.

Đo dung lượng PIN hiện tại của hệ thống giám sát là rất quan trọng, vì nguồn cấp điện là yếu tố then chốt Việc theo dõi và kiểm tra dung lượng PIN còn lại giúp ngăn ngừa tình trạng xả sâu, điều này có thể gây hại cho tuổi thọ của PIN.

Dữ liệu sẽ được gửi về máy tính để xử lý, cho phép tự động di chuyển theo quỹ đạo hoặc cho phép người dùng điều khiển khi các thông số trả về không chính xác so với địa hình thực tế.

Dữ liệu từ khối xử lý chính của máy tính chủ được thống kê và lưu trữ trong file Excel, nhằm giám sát hành trình di chuyển và trạng thái của hệ thống Việc này giúp dễ dàng đánh giá và sửa chữa kịp thời khi phát sinh lỗi.

Mục tiêu đề ra ban đầu:

➢ Hệ thống phải hoạt động ổn định, có tốc độ phản hồi nhanh

➢ Giảm tối thiểu các trường hợp nhiễu khi giao tiếp với nhiều phần cứng cùng một lúc

➢ Phải đảm bảo được phần cứng hoạt động được trong thời gian dài, tránh xảy ra các lỗi không mong muốn khi hoạt động lâu

➢ Dễ dàng thiết lập và sử dụng với mọi người dùng

3.1.2 Sơ đồ khối và chức năng của mỗi khối

Hình 3.1: Sơ đồ khối của hệ thống

Chức năng của từng khối trong hệ thống:

Cung cấp nguồn ổn định cho hệ thống là yếu tố quan trọng, bao gồm các mức điện áp khác nhau như 12VDC, 9VDC và 5VDC Đối với một hệ thống lớn, việc phân chia các mức điện áp là cần thiết, vì mỗi phần cứng yêu cầu một mức điện áp nhất định Khối nguồn cần đảm bảo ổn định điện áp, vì sự thay đổi điện áp có thể dẫn đến sai lệch dữ liệu và gây ra lỗi trong toàn bộ quá trình hoạt động.

Dữ liệu kinh độ và vĩ độ được gửi đến khối xử lý trung tâm 1 cần có độ chính xác cao Mục tiêu là sử dụng các thông số này để tính toán quỹ đạo di chuyển của hệ thống.

Hệ thống cần bám sát hướng di chuyển đã được tính toán, vì vậy yêu cầu dữ liệu từ khối này là phải có độ chính xác cao Mục tiêu chính là đảm bảo độ chính xác của hướng di chuyển.

47 di chuyển hiện tại so sánh với hướng di chuyển sau khi tính toán giảm thiểu độ sai lệch

Khối đo tốc độ động cơ:

Khi động cơ quay, nó gửi tín hiệu về khối xử lý trung tâm, từ đó áp dụng các thuật toán tính toán phù hợp Các tín hiệu này cần đảm bảo độ ổn định cao và độ chính xác tương đối, nhưng điều quan trọng nhất là phải duy trì sự ổn định để khối xử lý có thể đưa ra giải thuật chính xác cho toàn bộ quá trình hoạt động.

Khối đo điện áp có chức năng đo điện áp của nguồn cấp hiện tại và truyền dữ liệu về khối xử lý trung tâm 1 Từ đó, nó tính toán mức phần trăm dung lượng PIN để đưa ra các lệnh cảnh báo cho hệ thống.

Thông tin hiển thị bao gồm dữ liệu GPS đã thu thập, vận tốc, dung lượng pin hiện tại và trạng thái điều khiển.

Khối điều khiển tốc độ động cơ:

Nhận các tín hiệu từ khối xử lý trung tâm 1 sau đó điều khiển tốc độ các hướng quay động cơ qua các giải thuật điều khiển

Khối cảnh báo: Đưa ra các tín hiệu cảnh báo khi quá gần các vật cản đã được thiết lập từ trước

Khối xử lý trung tâm 1:

Nhận dữ liệu từ khối xử lý trung tâm, khối định vị GPS, khối điều hướng, khối đo tốc độ động cơ và khối đo điện áp để tính toán và gửi tín hiệu đến khối điều khiển tốc độ động cơ Hệ thống cũng thực hiện việc truyền và nhận dữ liệu từ máy tính chủ hoặc điện thoại, hiển thị thông tin trên khối hiển thị và phát tín hiệu cảnh báo khi cần thiết.

Giúp thu thập các dữ liệu về khoảng cách từ đó đưa ra những giải thuật điều khiển phù hợp

Khi người dùng cần biết vị trí chính xác của thiết bị sẽ gửi tin nhắn về điện thoại người dùng

Khối xử lý trung tâm 2:

Nhận giá trị từ khối đo khoảng cách truyền dữ liệu về khối xử lý trung tâm 1 và gửi các câu lệnh phù hợp xuống khối gửi tin nhắn.

3.1.3 Hoạt động của hệ thống

Hệ thống bao gồm 2 chế độ điều khiển và tự động:

• Ở chế độ điểu khiển hệ thống sẽ cho phép người dùng điều khiển qua bàn phím máy tính và đi chuyển theo từng phím đã được thiết lập sẵn

Trong chế độ tự động, hệ thống hoạt động dựa trên quỹ đạo đã được tính toán, với trạng thái di chuyển được quyết định bằng cách so sánh hướng di chuyển hiện tại và hướng di chuyển đã lập kế hoạch Nếu người dùng đưa ra lệnh điều khiển, hệ thống sẽ ưu tiên thực hiện lệnh đó để đảm bảo an toàn Tuy nhiên, do sai số lớn từ hệ thống định vị GPS, hướng di chuyển có thể bị lệch, đặc biệt trong môi trường có nhiều vật cản Khi gặp vật cản nhỏ hơn vùng cho phép, hệ thống sẽ tự động dừng lại và phát tín hiệu cảnh báo.

THIẾT KẾ HỆ THỐNG

Trong thiết kế hệ thống giám sát, điều quan trọng đầu tiên là đảm bảo việc hiển thị và bảo vệ nguồn đầu vào cũng như đầu ra của hệ thống Việc này giúp tăng cường tính bảo mật và hiệu quả hoạt động của toàn bộ hệ thống.

49 mang tính chất di động như các mô hình xe thì nhiệm vụ khối đo điện áp ở đây là giúp bảo vệ và tang tuổi thọ cho PIN

Hình 3.2: Đường đặc tuyến của PIN 18650

Dựa vào đường đặc tuyến của 1 viên PIN 18650 dựa theo Datasheet của PIN 18650

Khi pin được sạc đầy, điện áp tối đa đạt 4.2V, nhưng thực tế thường chỉ ở mức 4 đến 4.1V Mức điện áp 4.1V là lựa chọn tối ưu cho dung lượng pin khi đầy Khi pin xả đến mức 2.5V, nó sẽ ngừng xả, vì vậy mức xả thấp nhất nên được chọn là 2.5V để bảo vệ pin khỏi hư hỏng nhanh chóng.

Sau khi đã chọn được 2 thông số khi đầy và xả tối đa cho phép của 1 PIN thì việc tiếp theo sẽ tính toán %PIN trong hệ thống

Công thức để suy ra % PIN hiện tại sẽ được tính bằng biểu thức [17]:

➢ VB: mức điện áp PIN hiện tại

➢ VB High: mức điện áp PIN khi đầy

➢ VB Low: mức điện áp khi xả tối đa cho phép

Trong hệ thống sử dụng 4 PIN 18650 để làm nguồn cấp chính do vậy sẽ có:

𝑉 𝐵 𝐿𝑜𝑤 = 4 ∗ 2.5 = 10 V Áp dụng vào công thức tính % PIN sẽ được công thức tổng quát áp dụng cho hệ thống

6.4 ∗ 100% (𝟑 𝟐) (Nếu điện áp đo được trên 16.4V thì mức PIN sẽ là 100%)

Công việc tiếp theo cần phải lấy tín hiệu về khối xử lý trung tâm chính để tính toán ra giá trị điện điện áp hiện tại của PIN

Hình 3.3: Sơ đồ nguyên lý của khối đo điện áp

Đưa trực tiếp điện áp quá lớn từ PIN vào IO có thể gây hỏng thiết bị, do đó cần sử dụng điện trở để chia áp, hình thành sơ đồ khối đo điện áp Thiết kế này với các điện trở nhằm giảm điện áp trước khi đưa vào chân IO của khối xử lý trung tâm.

Với nhiệm vụ giảm điện áp từ nguồn PIN về IO khối xử lý chính, công thức tính toán tín hiệu ngõ ra

7.5 𝐾 + 30 𝐾∗ 𝑉 𝑖𝑛 = 0.2 ∗ 𝑉 𝑖𝑛 (𝟑 𝟑) Với điện áp tối đa mà IO của khối xử lý trung tâm cho phép là 5V thì Vin = 25

V là giới hạn cho phép

Với hệ thống hiện tại mỗi PIN 18650 tối đa cho ra 4.2V, với 4 PIN điện áp tối đa cho ra là 16.8V thì thiết kế này hoàn toàn phù hợp

Khi động cơ khởi động đột ngột, điện áp đầu vào sẽ giảm do mạch ổn áp cần tăng công suất Sau khi động cơ đã khởi động, điện áp từ PIN sẽ ổn định trở lại Để đảm bảo hệ thống hoạt động bình thường, giải pháp là sử dụng giá trị điện áp thấp nhất trong các lần đọc được làm giá trị điện áp hiện tại.

Để ghi nhận chính xác các dữ liệu tọa độ như kinh độ và vĩ độ địa lý, việc sử dụng thiết bị nhận dữ liệu từ GNSS là cần thiết Các thiết bị chỉ sử dụng GPS đơn giản có thể gặp phải sai số lớn, dẫn đến việc số liệu không thể sử dụng được trong nhiều trường hợp Do đó, việc chuyển sang sử dụng thiết bị GNSS sẽ cải thiện độ chính xác và độ tin cậy của dữ liệu tọa độ.

M8N-0-10 sử dụng chuẩn giao tiếp là UART vì vậy sẽ kết nối 2 chân dữ liệu

RX TX của module theo thứ tự vào 2 chân TX và

RX của khối xử lý trung tâm Kết nối sẽ được thể hiện rõ dựa vào sơ đồ nguyên lý sau:

Hình 3.4: Sơ đồ nguyên lý của khối định vị GPS

Giá trị trả về từ GNSS thường là gói tin NMEA, trong đó bao gồm các mục thông tin như thời gian, tọa độ vị trí hiện tại và số lượng vệ tinh được nhận.

Để đảm bảo tính chính xác của dữ liệu, việc phân tích vị trí tọa độ hiện tại nên được thực hiện bằng cách sử dụng dữ liệu từ gói GNRMC.

Phân tích dữ liệu từ GNRMC sẽ tương tự như phân tích từ GNGGA, vì hai gói tin này có cấu trúc gần như giống nhau.

Hình 3.5: Phân tích dữ liệu kinh độ và vĩ độ từ GNRMC

Dữ liệu từ Header GNRMC bao gồm thông tin về kinh độ và vĩ độ Để chuyển đổi dữ liệu này, cần tuân theo các bước theo quy tắc từ trang phân tích dữ liệu NMEA.

• Phân tích dữ liệu theo như lý thuyết để cho ra thông số tọa độ

• Chuyển dữ liệu đọc về từ dạng chuỗi thành số thực

• Dùng công thức để chuyển đổi dữ liệu của tọa độ về hệ góc (deg)

• Đối với vĩ độ Latitude:

• Đối với kinh độ (Longitude) áp dụng tương tự như vĩ độ (Latitude)

Chuyển công thức toán học vào lập trình LabVIEW để phân tích dữ liệu từ module GPS

Hình 3.6: Lập trình LabVIEW để phân tích liệu từ Module GPS

Khi xác định hướng di chuyển cho hệ thống dựa trên kinh độ và vĩ độ, việc kiểm tra trạng thái di chuyển hiện tại so với quỹ đạo đã đặt ra là rất quan trọng La bàn số là thiết bị cần thiết để giám sát và đảm bảo rằng hệ thống di chuyển đúng theo quỹ đạo mong muốn.

HMC5883L sử dụng chuẩn giao tiếp I2C nên 2 chân

SLC và SDA của module sẽ lần lượt kết nối đến SCL và

SDA của khối xử lý trung tâm Kết nối sẽ được hiển thị rõ ở sơ đồ nguyên lý sau:

Hình 3.7: Sơ đồ nguyên lý của khối điều hướng

Khi giao tiếp với module đầu tiên cần phải cấu hình Module Dựa trên lý thuyết được nêu trước đó

• Cấu hình thanh ghi A là 0b00010000 (chọn số mẫu trung bình là 1, tốc độ bit mặc định và chiều phép đo mặc định)

• Cấu hình thanh ghi B là 0b00100000 (Bit cấu hình Gain LSB/Gauss mặc định)

• Cấu hình chế độ ghi là 0b00000000 (tiếp tục đọc dữ liệu)

• Sau khi đã cấu hình xong cho module tiến hành phân tích dữ liệu trả về

• La bàn số sẽ trả về thông số 3 trục X Y Z, thực tế chỉ cần sử dụng 2 thông số trục X và Y

Dữ liệu trả về vẫn chưa sử dụng được cần phải qua bước để biến đổi thành góc

Công thức biến đổi góc sử dụng với Module la bàn dựa vào quy tắc phân tích dữ liệu la bàn số từ trang electronicwings.com [36]:

➢ Angle: là kết quả góc phương vị của la bàn, đơn vị (°)

➢ Alpha: là góc phương vị của la bàn, đơn vị (Radian)

Giá trị tính toán sẽ từ 0 đến 360°

Chuyển công thức toán học vào lập trình LabVIEW phân tích dữ liệu từ module la bàn số HMC5883L

Hình 3.8: Lập trình LabVIEW để phân tích liệu từ Module HMC5883L

Tìm sai số từ trường địa lý để chuẩn hóa thông số của la bàn

Truy cập cập vào trang Web magnetic declination để biết sai số từ trường khu vực

Hình 3.9: Sai số về từ tường tại Thành phố Hồ Chí Minh

Sai số tại Thành phố Hồ Chí Minh là -0°46’, được quy đổi sang đơn vị Radian theo quy tắc phân tích dữ liệu la bàn số từ trang electronicwings.com.

Sai số từ trường cần cộng thêm khi quy đổi về Radian là -0.0134, đây là điểm mốc để điều chỉnh sai số Tuy nhiên, không có thông số sai số chính thức cho các khu vực địa lý đặc thù, và mỗi module la bàn số sản xuất đều có sai số nhất định Do đó, cần sử dụng thêm các thiết bị la bàn để kiểm tra và đối chiếu số liệu.

3.2.4 Khối đo tốc độ động cơ

Trong một hệ thống tích hợp động cơ, tín hiệu phản hồi là cần thiết để xác định trạng thái hoạt động của phần cứng có đúng với lệnh điều khiển hay không Để xây dựng mô hình điều khiển động cơ cơ bản, cần có động cơ và Encoder để cung cấp tín hiệu phản hồi.

Encoder thông thường cung cấp 2 kênh A và B để xác định chiều quay của động cơ Một số loại Encoder bổ sung thêm kênh thứ ba để theo dõi vòng quay hiện tại Tuy nhiên, hệ thống hiện tại chỉ sử dụng 2 kênh A và B, nhưng vẫn đủ để xác định vòng quay hiện tại của động cơ.

Encoder sẽ trả về 2 tín hiệu kênh

Kênh A và B sẽ được kết nối với các chân giải mã tín hiệu Encoder của khối xử lý trung tâm chính, và sự kết nối này sẽ được minh họa rõ ràng trong sơ đồ nguyên lý.

Hình 3.10: Sơ đồ nguyên lý của khối đo tốc độ động cơ

Quy tắc đọc tín hiệu trả về từ Encoder:

GIAO TIẾP NI MYRIO VỚI MÁY TÍNH [15]

LabVIEW cung cấp các khối giao tiếp giữa phần cứng thông qua nhiều giao thức, trong đó mô hình TCP/IP là đơn giản nhất, giúp truyền dữ liệu nhanh chóng Để thiết lập giao tiếp giữa hai phần cứng, cần xác định phần cứng nào là Server và phần cứng nào là Client Phần cứng Server sẽ kết nối dựa trên địa chỉ IP và cổng của phần cứng Client để thực hiện việc truyền và nhận dữ liệu.

Trong khối TCP Read sẽ cho phép đọc chuỗi nhận được theo từng định dạng dựa vào tài liệu từ trang chủ NI về truyền dữ liệu TCP/IP [15]:

Chờ cho đến khi tất cả các byte được đọc đạt đến số lượng chỉ định hoặc hết thời gian chờ Kết quả trả về là số byte đã được đọc cho đến thời điểm hiện tại.

Buffered là quá trình chờ cho đến khi tất cả các byte được chỉ định được đọc hoặc hết thời gian chờ tính bằng mili giây Nếu số byte nhận được ít hơn yêu cầu, hệ thống sẽ không trả về byte nào và thông báo lỗi hết thời gian chờ.

Hàm CRLF chờ cho đến khi nhận đủ các byte chỉ định hoặc phát hiện ký tự CR theo sau là LF trong số byte đã chỉ định, hoặc cho đến khi hết thời gian chờ Kết quả trả về bao gồm tối đa các byte, bao gồm cả ký tự CR và LF nếu định dạng này được tìm thấy trong chuỗi.

Hàm sẽ chờ nhận bất kỳ byte nào từ các byte chỉ định để đọc, và sẽ đợi hết thời gian chờ nếu không nhận được byte nào Kết quả trả về là số byte đã nhận cho đến thời điểm hiện tại.

Như vậy việc chọn Mode CRLF sẽ cho phép dễ dàng giao tiếp hơn với điều kiện dữ liệu phải được chuẩn hóa theo định dạng này

Trong mô hình giao tiếp này Server sẽ là máy tính của người dùng, Client sẽ là NI myRIO

Hình 3.25: Lập trình LabVIEW giao tiếp giữa máy tính và NI myRIO

Hình 3.26: Giao tiếp dữ liệu giữa máy tính chủ và NI myRIO

Như kết quả trên dữ liệu đã giao tiếp thành công.

GIAO TIẾP NI MYRIO VỚI ĐIỆN THOẠI [13]

Data Dashboard cho phép người dùng kết nối thiết bị di động như máy tính bảng với các phần cứng đa dạng trong LabVIEW, dựa trên quy tắc liên kết các biến.

Các biến Shared variable cho phép liên kết dữ liệu giữa các phần cứng đang chạy LabVIEW với nhau trong cùng một mạng nội bộ

Hình 3.27: Tạo biến Shared variable trên LabVIEW

Tạo 1 chương trình để kiểm tra cách hoạt động của Data Dashboard

Yêu cầu của chương trình cho phép điều khiển LED trên phần mềm LabVIEW và hiển thị thông số 1 cảm biến mô phỏng LabVIEW trên điện thoại

Hình 3.28: Chương trình kiểm tra hoạt động Data Dashboard

Hình 3.29: Thiết lập Data Dashboard trên diện thoại

Hình 3.30: Kết quả thực hiện

Kết quả cho thấy việc bật tắt LED và hiển thị thông số trên điện thoại đã thành công, từ đó mở ra khả năng phát triển nhiều ứng dụng khác nhau từ Data Dashboard.

THI CÔNG – TÍNH TOÁN – LẬP TRÌNH CHO HỆ THỐNG

THI CÔNG HỆ THỐNG THỰC TẾ

Sau khi hoàn tất việc tính toán các thông số và thiết kế sơ đồ nguyên lý phần cứng, chúng tôi sẽ tiến hành thi công phần cứng cho hệ thống Hình ảnh dưới đây minh họa mô hình sau khi đã hoàn thành thi công.

Hình 4.1: Hệ thống sau khi thi công

Hình 4.2: Mô tả mô hình tổng quan

Bảng 4.1: Mô tả về mô hình tổng quan

STT Mô tả Ghi chú

1 Vị trí điều hướng Nơi đặt Module la bàn số

2 Vị trí hiển thị Hiển thị qua LCD 20x4

3 Vị trí thu sóng GPS Ăng ten GPS

4 Vị trí đặt cảm biến siêu âm Bao gồm 6 cảm biến siêu âm xung quanh xe

5 Hệ thống bánh xích và động cơ Bao gồm động cơ, bánh lái, bánh chịu lực, xích

6 Nơi đặt khối xử lý trung tâm chính

Khối xử lý trung tâm NI myRIO

7 Nơi đặt các Module và các phần cứng

Nơi đặt các phần cứng bao gồm các Module, mạch thiết kế, dây kết nối.

PHÂN TÍCH DỮ LIỆU ĐỂ XÂY DỰNG BẢN ĐỒ TRONG LABVIEW

Để xây dựng bản đồ cho trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh, chúng ta sẽ ghi lại dữ liệu từ Google Maps Điểm khởi đầu là xưởng gỗ, sau đó di chuyển qua xưởng ô tô, khu F, Việt Đức, mái vòm, sân bóng và quay trở lại xưởng gỗ.

Để xây dựng một bản đồ đơn giản, cần biểu diễn dưới dạng hệ trục tọa độ xy, trong đó kinh độ được đặt trên trục x và vĩ độ trên trục y để thuận tiện cho việc quan sát Qua khảo sát thực tế và ghi nhận từng điểm tọa độ, nhóm đã tổng hợp kết quả vào file Excel.

Hình 4.3: Dữ liệu tọa độ được thống kê lại trong Excel

Hình 4.4: Bản đồ xây dựng được

Bước tiếp sẽ đưa dữ liệu này vào trong LabVIEW và xây dựng một bản đồ từ LabVIEW

Để đảm bảo độ chính xác của dữ liệu tọa độ tại một vị trí, nhóm sẽ thực hiện nhiều lần đo lặp lại Sau đó, họ sẽ chọn ra 3 tọa độ có mức tương đồng cao nhất và tính trung bình của chúng để xác định tọa độ chính xác của vị trí đó.

Bản đồ không gian được biểu diễn trong hệ trục tọa độ xy yêu cầu sử dụng các công thức tính toán chuyên biệt cho tọa độ địa lý, thay vì áp dụng các công thức thông thường về khoảng cách và góc giữa hai tọa độ.

THUẬT TOÁN ĐIỀU HƯỚNG DỰA VÀO TỌA ĐỘ ĐỊA LÝ VÀ LA BÀN

Một quỹ đạo chuyển động đơn giản yêu cầu bao gồm 2 yếu tố:

• Hướng di chuyển hay góc di chuyển so với vị trí hiện tại

• Khoảng cách cần di chuyển

Hệ tọa độ địa lý khác biệt so với hệ tọa độ xy trong không gian 2 chiều, vì vậy không thể sử dụng các công thức tính toán cơ bản để xác định thông số một cách chính xác.

Hình 4.6: Tọa độ được biểu diễn trên bề mặt hình cầu Trái Đất

Dựa vào tọa độ vị trí hiện tại và điểm đến, việc ứng dụng GPS và la bàn để điều hướng sẽ sử dụng công thức (2.5), được điều chỉnh phù hợp cho lập trình.

Quy đổi các hệ tọa độ về đơn vị (Radian)

➢ 𝛼 : góc lệch giữa 2 điểm, đơn vị (°)

➢ 𝜃 : góc lệch giữa 2 điểm, đơn vị (Radian)

➢ Lat1: vĩ độ điểm đầu, đơn vị (Radian)

➢ Long1: kinh độ điểm đầu, đơn vị (Radian)

➢ Lat2: vĩ độ điểm đến, đơn vị (Radian)

➢ Long2: kinh độ điểm đến, đơn vị (Radian)

Tuy nhiên công thức này chỉ thỏa yếu tố là hướng di chuyển của hệ thống, còn lại một yếu tố là khoảng cách cần di chuyển

Để tính toán khoảng cách giữa hai tọa độ, bạn có thể áp dụng công thức được hướng dẫn trên trang exceldemy.com Công thức này giúp xác định khoảng cách chính xác giữa hai điểm trong không gian.

Các hệ tọa độ đều quy đổi về đơn vị (°)

➢ D: khoảng cách 2 điểm, đơn vị (mil)

➢ Lat1: vĩ độ điểm đầu, đơn vị (°)

➢ Long1: kinh độ điểm đầu, đơn vị (°)

➢ Lat2: vĩ độ điểm đến, đơn vị (°)

➢ Long2: kinh độ điểm đến, đơn vị (°)

Quy đổi về đơn vị km:

𝐷 1 = 𝐷 ∗ 1.609344 (𝑘𝑚) Quy đổi về đơn vị m:

𝐷 2 = 𝐷 ∗ 1609.344 (𝑚) Lập trình trên LabVIEW và đối chứng kết quả sau khi tính toán

Hình 4.7: Lập trình giải thuật điều hướng trên LabVIEW

Dữ liệu tính toán sẽ được so sánh với trang web www.omnicalculator.com, một công cụ chuyên dụng để xác định hướng di chuyển giữa các vị trí địa lý.

Kiểm nghiệm sẽ lấy tọa độ của khu F và trung tâm Việt Đức để tính toán khoảng cách và góc di chuyển

Hình 4.8: Dữ liệu từ trang Web sau khi tính toán được

Hình 4.9: Kết quả tính toán từ LabVIEW

Để di chuyển từ khu F đến trung tâm Việt Đức, bạn cần đi theo hướng 187.36 độ và quãng đường cần di chuyển là 30 mét.

Vì vậy việc la bàn cần phải đảm bảo được độ chính xác rất quan trọng, nếu không hệ thống sẽ đi sai quỹ đạo tính toán được

Hình 4.10: Mô hình chuyển động dựa vào điều hướng của GPS và la bàn

Việc xác định khoảng cách giữa các điểm thông qua module GPS chỉ mang tính chất tương đối, do sai số thường tính bằng mét Sự di chuyển theo khoảng cách đã tính toán có thể dẫn đến sự mất ổn định cao, vì giá trị từ vệ tinh luôn thay đổi.

Giải pháp tạo ra một đường tròn với tâm là tọa độ điểm đến và bán kính tương ứng với khoảng cách từ tọa độ hiện tại đến điểm đến Khoảng cách này được gọi là sai số thiết lập cho GPS Khi hệ thống đạt đến vị trí trong khu vực của đường tròn này, nó sẽ dừng lại.

Hình 4.11: Đường tròn có tâm là điểm đến và bán kính là khoảng cách thiết lập giữa 2 điểm

Khi xác định được hướng di chuyển và khoảng cách dừng lại tại điểm đến, chúng ta đã xây dựng một mô hình xe tự lái cơ bản trên một đoạn đường để kiểm nghiệm thuật toán điều hướng.

4.3.2 Giải thuật điều chỉnh quỹ đạo theo la bàn

Dữ liệu la bàn khi dưa vào hệ thống tính toán sẽ được đưa về hệ góc phương vị (deg)

Hình 4.12: Hệ số góc phương vị của la bàn

Theo quy tắc di chuyển theo một hướng xác định, khi góc phương vị tăng, hệ thống sẽ hướng về bên trái để cân bằng, và ngược lại Tuy nhiên, với góc 360° và 0°, quy luật này không áp dụng Khi góc phương vị đạt 360°, nó sẽ trở về 0°, do đó cần thiết phải phát triển một giải thuật để duy trì sự ổn định của hệ thống, tránh tình trạng xoay vòng.

Gọi 𝛼 là góc phương vị tính toán trong hệ thống, 𝛽 là góc phương vị hiện tại,

𝛾 là góc phương vị sau khi xử lý

Thuật toán này sử dụng phương pháp bù trừ góc phương vị để đảm bảo quy luật điều khiển, thông qua việc lựa chọn khoảng góc và điều chỉnh giá trị góc tối đa là 360° Việc lựa chọn các thông số được thực hiện dựa trên góc phần tư của đường tròn.

XÂY DỰNG BỘ ĐIỀU KHIỂN PID ĐIỀU KHIỂN ĐỘNG CƠ TRÊN

4.4.1 Thuật toán PID trên LabVIEW [12]

Để xây dựng mô hình điều khiển tốc độ động cơ hiệu quả, thuật toán PID là lựa chọn đơn giản nhất Trong hệ xử lý không liên tục, việc nắm rõ thời gian phản hồi của tín hiệu phản hồi là rất quan trọng Đối với hệ rời rạc, cần xác định thời gian lấy mẫu cố định phù hợp, đảm bảo rằng hệ thống đưa ra kết quả nhanh chóng mà không ảnh hưởng đến các công việc khác.

Do động cơ có hộp số giảm tốc không ổn định, việc xây dựng một phương trình toán học gặp nhiều khó khăn Vì vậy, nhóm đã quyết định áp dụng phương pháp thử sai để tìm ra giải pháp hiệu quả.

79 tìm ra thông số PID phù hợp khi muốn điều chỉnh thông số PID dựa vào phương pháp thủ công

Quy tắc của phương pháp thử sai (thủ công)

Quy tắc cho phép điều chỉnh ngay cả khi hệ thống hoạt động:

Để bắt đầu, thiết lập hai thông số KI và KD bằng 0, sau đó điều chỉnh thông số KP cho đến khi hệ thống bắt đầu xuất hiện dao động hoặc đạt giá trị gần đúng với Setpoint.

• Thay đổi thông số KI cho đến khi hệ thống bắt đầu xuất hiện dao động hay đạt gần đúng với Setpoint

Để cải thiện sự ổn định của hệ thống, cần thay đổi thông số KD Tuy nhiên, thông số này thường không được áp dụng khi hệ thống đang gặp tín hiệu không ổn định.

LabVIEW cho phép lập trình viên theo dõi đồ thị hoạt động trong thời gian thực, là lựa chọn tối ưu cho việc phát triển hệ thống Để đảm bảo NI myRIO đọc chính xác tín hiệu từ Encoder và tính toán xung PWM điều khiển, thời gian lấy mẫu được xác định là 10 ms.

The PID algorithm in LabVIEW is based on the principles outlined by F Haugen in his document "Guidelines to PID Control with LabVIEW" (October 14, 2008) This algorithm employs proportional, integral, and derivative components to enhance control system performance, ensuring stability and responsiveness in various applications By understanding these fundamental concepts, users can effectively implement PID control in LabVIEW to optimize their systems.

Hình 4.13: Thuật toán điều khiển PID trong LabVIEW

Giải thức chức năng của các ngõ sử dụng:

• Output range: Cho phép thiết lập giá trị ngõ ra

• Setpoint: Giá trị thiết lập hiện tại cho hệ thống

• Process variable: Giá trị hiện tại của hệ thống đang hoạt động

• PID gains: Thông số PID bao gồm Kc, Ti, Td

• dt(s): Chỉ định thời gian mà VI này sẽ được gọi

• Reinitialize: Chỉ định có khởi tạo lại các thông số bên trong bộ điều khiển

• Output: Giá trị ngõ ra sau khi tính toán được

• dt out (s): Trả về khoảng thời gian thực tính bằng giây

Dựa vào thông số của động cơ sử dụng hiện tại thì sẽ được các thông số thiết lập như sau

Động cơ có vòng quay tối đa là 280 RPM, do đó, khoảng giá trị ra sẽ từ 0 đến 280 Giá trị đặt (setpoint) luôn nhỏ hơn 280 để đảm bảo hệ thống hoạt động hiệu quả trong khoảng cài đặt rộng nhất, với điểm kiểm tra tối đa là 140 Các thông số như Reinitialize và dt out (s) được giữ ở giá trị mặc định của hệ thống Sau khi lập trình và phân tích các thông số, chúng tôi đã thu được kết quả như mong đợi.

Đường màu đỏ biểu thị Setpoint, trong khi đường màu xanh đại diện cho giá trị hiện tại Có thể nhận thấy rằng giá trị hiện tại luôn dao động xung quanh Setpoint Do động cơ này có hộp số, nên tín hiệu trả về sẽ có sự không ổn định.

Phân tích trên Excel về các giá trị trả về:

Hình 4.14:Giá trị RPM phân tích trên Excel

Hình 4.15: Đồ thị về dữ liệu RPM ghi nhận được

Theo đồ thị, thời gian từ khi khởi động đến khi đạt độ ổn định là 3 giây, cho thấy không có hiện tượng vọt lố cao trong hệ thống Mặc dù 3 giây không phải là thời gian nhanh, nhưng hệ thống vẫn ổn định hơn, điều này được xem là thông số chấp nhận được cho một mô hình xe.

Trong quá trình điều chỉnh thông số của bộ PID, việc thay đổi nhỏ ở Td có thể dẫn đến hiện tượng vọt lố cho hệ thống Do tín hiệu trả về không ổn định, nên việc sử dụng bộ PI là lựa chọn phù hợp cho hệ thống này.

Tiến hành kiểm tra thi thay đổi Setpoint liên tục, sau đây là kết quả trả về:

Hình 4.16: Đồ thị thay đổi Setpoint liên tục

Hệ thống chỉ chậm trong giai đoạn khởi động ban đầu, nhưng sau đó phản hồi nhanh chóng với những thay đổi nhỏ trong Setpoint, như thể hiện qua đồ thị.

Sau quá trình lập trình và kiểm tra, chúng tôi đã thành công trong việc điều khiển tốc độ động cơ bằng thuật toán PID trên LabVIEW Tuy nhiên, đây chỉ là phương pháp điều khiển động cơ cơ bản; khi áp dụng thuật toán vào các mô hình phức tạp hơn, các hệ số của bộ PID sẽ cần được điều chỉnh.

4.4.2 Áp dụng giải thuật PID cho hệ thống

Để tối ưu hóa hiệu suất của hệ thống với hai động cơ riêng biệt, cần thiết phải xây dựng hai bộ điều khiển PID Mỗi bộ PID sẽ đảm nhận nhiệm vụ điều khiển và tính toán cho một động cơ cụ thể trong hệ thống.

Mục tiêu điều khiển, giảm thiểu độ lệch giữa 2 động cơ làm hệ thống chạy lệch hoặc thiếu ổn định, đạt được điểm Setpoint

Theo thực nghiệm, khi vận hành hệ thống, sự khác biệt giữa chế độ tiến và lùi dẫn đến sự thay đổi trong các thông số Kc, Ti, Td của hai bộ PID.

Bảng 4.2: Số liệu ghi nhận các thông số PID của hệ thống

PID động cơ 1 (trái) PID động cơ 2 (Phải)

Tiến KC=1.5 Ti= 0.025 Td=0 KC= 1.1 Ti=0.015 Td=0 Lùi KC=1.25 Ti= 0.015 Td=0 KC= 1.32 Ti=0.02 Td=0 Quan sát các kết quả thu được và nhận xét:

Hình 4.17: Kết quả điều khiển khi cho hệ thống chạy tiến

Hình 4.18: Kết quả điều khiển khi cho hệ thống chạy lùi

Nhận xét cho thấy rằng đường màu đỏ biểu thị Setpoint, trong khi màu xanh đại diện cho RPM của động cơ 1 và màu xanh lá cho RPM của động cơ 2 Quan sát cho thấy khi dao động của hai động cơ gần như tương đồng trong điều kiện chạy thực tế Do địa hình phẳng, sự khác biệt giữa hai động cơ ít được nhận thấy Tuy nhiên, khi hoạt động trên địa hình phức tạp, hiệu quả của việc điều chỉnh PID sẽ trở nên rõ ràng hơn.

LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG

4.5.1 Lưu đồ giải thuật của khối xử lý trung tâm 1

Nếu %PIN < giá trị cài mặc định hệ thống? Điều khiển động cơ theo điểm đặt

Nhận dữ liệu từ máy tính chủ

Phân tích dữ liệu từ máy tính chủ Đọc dữ liệu cài đặt tốc độ động cơ

Dữ liệu thiết lập PIN Đưa ra lệnh dừng động cơ

Cập nhật trạng thái hiện tại của hệ thống

Nhận giá trị thiết lập %PIN của hệ thống

Phân tích lệnh điều khiển

Tổng hợp lại toàn bộ dữ liệu Đóng tất cả các kết nối

Tái thiết lập lại ban đầu

Nhấn STOP để kết thúc?

Gửi dữ liệu lên máy chủ để xử lý II

Gửi dữ liệu lên điện thoại để hiển thị

Dữ liệu cài đặt mức cảnh báo Điều chỉnh âm cảnh báo

Thiết lập các các phần cứng, các cổng giao tiếp, trạng thái ban đầu

Phân tích dữ liệu và giao tiếp các

Truyền dữ liệu sang khối xử lý trung tâm 2

Hình 4.19: Lưu đồ giải thuật của khối xử lý trung tâm 1

Khi nạp chương trình, hệ thống sẽ bắt đầu hoạt động bằng cách thiết lập các giao tiếp và khởi tạo kết nối với máy tính chủ Hệ thống phân tích dữ liệu từ các Module để đưa ra thông số và lưu trữ để xử lý Sau đó, hệ thống nhận dữ liệu từ máy chủ và phân tích để thực thi Các công việc sẽ được thực hiện đồng thời trong quá trình này.

Công việc phân tích cảnh báo là quá trình quan trọng khi máy chủ gửi lệnh cảnh báo xuống hệ thống Hệ thống sẽ ngừng động cơ và kiểm tra thiết lập gốc từ người dùng để xác định xem có cho phép bật cảnh báo hay không Nếu được phép, hệ thống sẽ phát cảnh báo theo mức thiết lập đã chỉ định.

Công việc phân tích dung lượng PIN hiện tại là cần thiết để bảo vệ phần cứng trong hệ thống Hệ thống sẽ so sánh dung lượng PIN hiện tại với mức thiết lập gốc Nếu dung lượng PIN hiện tại nhỏ hơn mức thiết lập, hệ thống sẽ dừng động cơ Ngược lại, nếu dung lượng PIN đủ, hệ thống sẽ cho phép nhận lệnh điều khiển.

Hệ thống cho phép phân tích lệnh điều khiển từ máy chủ, đưa dữ liệu vào quá trình điều khiển động cơ theo lệnh đã được cung cấp Trạng thái hiện tại sẽ được hệ thống ghi lại.

• Kiểm tra trạng thái hiện tại của động cơ, và tiến hành quá trình truyền dữ liệu sang khối xử lý trung tâm 2

Hệ thống sẽ tổng hợp dữ liệu và gửi đến máy tính chủ để xử lý, sau đó hiển thị trên điện thoại Nếu người dùng nhấn STOP, tất cả hoạt động giao tiếp sẽ dừng lại, các thiết lập sẽ được khởi tạo lại và chương trình sẽ ngừng hoạt động Nếu không nhấn STOP, hệ thống sẽ bắt đầu lại chu kỳ tiếp theo.

4.5.2 Lưu đồ giải thuật quá trình phân tích dữ liệu và giao tiếp các Module

Phân tích dữ liệu từ khối xử lý trung tâm 2

Có dữ liệu từ khối xử lý trung tâm 2?

Phân tích dữ liệu 6 cảm biến Đọc dữ liệu từ la bàn số

Quy đổi dữ liệu từ la bàn số

Lưu vào hệ thống Đọc dữ liệu GPS trả về

Quy đổi dữ liệu từ GPS

Lưu vào hệ thống Đọc giá trị trả về từ cảm biến điện áp

Tính toán ra dung lượng % PIN hiện tại

Quy đổi thông số từ Encoder Đọc dữ liệu điều khiển hiển thị trên điện thoại

Hiển thị các thông số lên LCD Đúng

Nhận dữ liệu từ các Module

Hình 4.20: Lưu đồ giải thuật quá trình phân tích dữ liệu và giao tiếp các Module

Dựa vào lưu đồ sẽ thấy bao gồm các công việc thực thi song song như sau:

Hệ thống sẽ phân tích dữ liệu từ khối xử lý trung tâm 2, nếu có dữ liệu từ khối này Kết quả phân tích sẽ bao gồm thông tin từ 6 cảm biến và các thông số phân tích sẽ được lưu trữ vào bộ nhớ hệ thống.

Phân tích dữ liệu từ cảm biến điện áp giúp tính toán và chuyển đổi mức điện áp hiện tại thành tỷ lệ phần trăm PIN Giá trị này sau đó được lưu trữ vào bộ nhớ hệ thống để sử dụng trong các ứng dụng tiếp theo.

• Đọc dữ liệu la bàn số, tính toán ra thông số góc hiện tại và lưu vào bộ nhớ hệ thống

• Đọc dữ liệu từ Module GPS, quy đổi ra tọa độ vị trí hiện tại và lưu vào bộ nhớ hệ thống

• Nhận xung từ Encoder của động cơ, quy đổi sang vận tốc hiện tại và lưu vào bộ nhớ hệ thống

• Nhận dữ liệu thiết lập hiển thị LCD, từ đó cho phép hiển thị LCD các thông số hiện tại có trong bộ nhớ

4.5.3 Lưu đồ giải thuật quá trình điều khiển động cơ

Phân tích tín hiệu từ 2 Encoder Đưa dữ liệu vào bộ PID

Nhận lệnh điều khiển từ hệ thống

Phân tích giá trị tính toán từ bộ PID

STOP? Dừng động cơ Điều khiển trạng thái và tốc độ động cơ Đúng

Hình 4.21: Lưu đồ giải thuật quá trình điều khiển động cơ

Hệ thống bắt đầu hoạt động khi nhận được xung từ 2 Encoder, tiến hành phân tích và chuyển đổi thông số vào bộ PID Các lệnh điều khiển được tính toán và phân tích; nếu lệnh toàn hệ thống là STOP, động cơ sẽ dừng lại Ngược lại, hệ thống sẽ sử dụng dữ liệu từ bộ PID để điều chỉnh tốc độ và trạng thái động cơ theo điểm đặt.

4.5.4 Lưu đồ giải thuật quá trình truyền dữ liệu sang khối xử lý trung tâm 2 Đưa ra dữ liệu cho phép gửi tin nhắn

Nhận dữ liệu số điện thoại cài đặt từ máy tính chủ

Gửi dữ liệu cho phép gửi tin nhắn sang khối xử lý trung tâm

Kiểm tra trạng thái hiện tại của hệ thống

Nếu hệ thống dừng động cơ? Đưa ra dữ liệu không cho phép gửi tin nhắn

Hình 4.22: Lưu đồ giải thuật quá trình truyền dữ liệu sang khối xử lý trung tâm 2

Kiểm tra trạng thái hiện tại của động cơ và gửi lệnh xuống khối xử lý trung tâm 2:

Khi động cơ ngừng hoạt động, dữ liệu tin nhắn sẽ được gửi xuống khối xử lý trung tâm 2 để thực hiện xử lý Dữ liệu này bao gồm lệnh cho phép, số điện thoại mà người dùng đã thiết lập, cấu trúc tin nhắn và thông tin về tọa độ vị trí hiện tại.

+ Nếu động cơ hoạt động sẽ gửi lệnh không cho phép gửi tin nhắn xuống khối xử lý trung tâm 2

4.5.5 Lưu đồ giải thuật của khối xử lý trung tâm 2

Thiết lập các kết nối

Gửi dữ liệu cảm biến về lý trung tâm 1

Phân tích dữ liệu từ khối xử lý trung tâm 1 Kết thúc cuộc gọi

Gửi lệnh nhắn tin về Module SIM

Chờ Module SIM phản hồi

Gửi dữ liệu tin nhắn về module SIM

Gửi lệnh gửi tin nhắn đi về Module SIM Đúng Sai Đúng

Có dữ liệu từ khối xử lý trung tâm 1?

Có lệnh cho phép và sđt trùng sđt thiết lập?

Có dữ liệu cuộc gọi đến từ Module SIM? Đúng Đọc dữ liệu từ

Hình 4.23: Lưu đồ giải thuật của khối xử lý trung tâm 2

Sau khi khởi động, hệ thống sẽ thiết lập kết nối và cấu hình Module SIM để gửi tin nhắn dạng Text và hiển thị thông tin cuộc gọi đến Khối xử lý trung tâm 2 sẽ đọc dữ liệu từ 6 cảm biến siêu âm và gửi về khối xử lý trung tâm 1 Sau khi nhận được phản hồi từ khối xử lý trung tâm 1, khối xử lý trung tâm 2 sẽ phân tích dữ liệu Nếu có cuộc gọi đến từ Module SIM, khối xử lý trung tâm 2 sẽ kiểm tra dữ liệu đã phân tích từ khối xử lý trung tâm 1 để xác định xem có lệnh cho phép thực hiện công việc tiếp theo hay không.

Nếu lệnh cho phép số điện thoại gọi đến trùng với dữ liệu đã thiết lập, khối xử lý trung tâm 2 sẽ gửi lệnh kết thúc cuộc gọi và tiến hành gửi dữ liệu tin nhắn từ khối xử lý trung tâm 1 đến Module SIM Ngược lại, nếu một trong hai điều kiện không thỏa mãn, khối xử lý trung tâm 2 chỉ gửi lệnh kết thúc cuộc gọi Nếu không nhấn Reset để kết thúc hoặc khởi động lại, khối xử lý trung tâm 2 sẽ bắt đầu một chu kỳ mới.

4.5.6 Lưu đồ giải thuật của máy tính chủ

Nếu đăng nhập thành công?

Thiết lập các kết nối, đọc dữ liệu đã thiết lập Đưa về màn hình giao diện chính

Phân tích dữ liệu từ khối xử lý trung tâm 1 Đưa ra trạng thái điều khiển

Phân tích dữ liệu điều khiển từ bàn phím máy tính

Chuyển đổi dữ liệu cảm biến siêu âm

Nếu khoảng cách < khoảng cách cài?

Cập nhật lệnh vào hệ thống

Cập nhật giá trị từ các module

Thống kê lại thành biểu đồ

Lưu lại các tọa độ GPS

Vẽ lại đoạn đường đi được trên Map

Dừng động cơ và đưa cảnh báo Mức độ lệnh ưu tiên 0

Mức độ lệnh ưu tiên 1

Nếu lệnh là STOP? Đúng

Ghi và phân tích dữ liệu Excel

Kiểm tra chế độ cài đặt của hệ thống

Phân tích chế độ Đưa ra mức độ ưu tiên

Lựa chọn lệnh ưu tiên

Truyền dữ liệu xuống khối xử lý trung tâm 1

Tổng hợp dữ liệu Đúng

Nhận giá trị cài khoảng cách

Sai Đúng Đúng Sai Đăng nhập từ người dùng

Dữ liệu từ các thiết bị Đưa dữ liệu vào bộ nhớ

Hình 4.24: Lưu đồ giải thuật của máy tính chủ

Sau khi khởi chạy và thiết lập kết nối, người dùng sẽ kiểm tra đăng nhập Nếu đăng nhập thành công, phần mềm sẽ hiển thị giao diện chính Ngược lại, nếu người dùng chọn đăng xuất, phần mềm sẽ quay lại màn hình đăng nhập.

Sau khi đăng nhập thành công, phần mềm hệ thống sẽ thu thập dữ liệu từ các thiết bị phần cứng, bao gồm dữ liệu nhập từ bàn phím và dữ liệu từ NI myRIO.

Các dữ liệu được lưu vào bộ nhớ, tiếp theo sẽ có 2 công việc thực thi chính bao gồm:

Khi không có bất kỳ thao tác nào từ bàn phím máy tính, lệnh điều khiển sẽ tự động chuyển sang trạng thái STOP và nhường ưu tiên cho các lệnh khác Ngược lại, nếu có lệnh điều khiển được thực hiện, lệnh đó sẽ được cấp ưu tiên 0.

➢ Phân tích dữ liệu từ khối xử lý trung tâm 1 sẽ bao gồm các lệnh được thực thi song song:

Chuyển đổi dữ liệu từ cảm biến siêu âm và so sánh với khoảng cách đã cài đặt để đưa ra cảnh báo Khi cảnh báo được kích hoạt, hệ thống sẽ ưu tiên thực hiện lệnh dừng động cơ nhằm đảm bảo an toàn.

• Kiểm tra chế độ cài đặt của hệ thống, sau đó sẽ qua khâu phân tích chế độ và đưa ra mức độ ưu tiên

KẾT QUẢ- KIỂM TRA – ĐÁNH GIÁ

CÁC KẾT QUẢ HIỂN THỊ VÀ GIAO TIẾP VỚI CÁC PHẦN CỨNG

Sau quá trình lập trình, tối ưu hóa hệ thống dựa theo những lý thuyết đã đề ra đây là một số kết quả đã đạt được

Phần cứng hệ thống khi hoàn thiện thực tế:

Hình 5.1: Mô hình của hệ thống sau khi thi công

Kết quả hiển thị các thông số của phần cứng qua màn hình LCD:

Hình 5.2: Kết quả các thông số phần cứng được hiển thị lên màn hình LCD

Thông số phần cứng được hiển thị lên màn hình LCD bao gồm:

• Trang thái hệ thống, cảnh báo, tốc độ 2 động cơ

• Thông số của la bàn số

• Thông số về ngày giờ và tọa độ GPS hiện tại

Các thông số được hiển thị trên điện thoại

Hình 5.3: Điều khiển hiển thị trên LCD qua điện thoại

Hình 5.4: Các thông số của hệ thống được hiển thị trên điện thoại

Tương tự như LCD các thông số của hệ thống được hiển thị trên điện thoại bao gồm:

• Giao diện chính cho phép điều chỉnh các thông số hiển thị trên LCD

• Trạng thái hệ thống, cảnh báo, tốc độ 2 động cơ được vẽ lại thành đồ thị để quan sát được độ ổn định

• Thông số của la bàn số, các giá trị tính toán về quỹ đạo cần di chuyển

• Thông số về ngày giờ và tọa độ GPS hiện tại

Kết quả tin nhắn về tọa độ được gửi về điện thoại người dùng

Hình 5.5: Kết quả tin nhắn tọa độ được gửi về người dùng

Khi số điện thoại gọi đến trùng với số đã thiết lập, hệ thống sẽ dừng động cơ và gửi tin nhắn về tọa độ vị trí đến điện thoại của người dùng Nếu không đáp ứng đủ hai điều kiện này, hệ thống sẽ tự động kết thúc cuộc gọi.

KIỂM TRA KHẢ NĂNG ĐIỀU KHIỂN

Hình 5.6: Giao diện điều khiển của hệ thống

Kiểm tra chức năng điều khiển qua bàn phím máy tính:

Hình 5.7: Kiểm tra chức năng điều khiển qua máy tính của hệ thống

Hệ thống điều khiển sử dụng các phím mũi tên ↑, ←, →, ↓ trên bàn phím để điều chỉnh trạng thái UP, LEFT, RIGHT, DOWN Ngoài ra, các phím + và - cho phép người dùng tăng hoặc giảm tốc độ của động cơ.

KIỂM TRA ĐỘ ỔN ĐỊNH CỦA HỆ THỐNG

Sẽ sử dụng 3 bài kiểm tra, các bài kiểm tra được thực hiện trên chế độ Test của hệ thống

Hình 5.8: Giao diện thiết lập và kiểm tra của hệ thống

Kiểm tra độ ổn định của 2 động cơ dựa vào giải thuật điều hướng và PID Thiết lập điểm đặt là 1.5 km/h, hướng di chuyển 97°

Kết quả tốc độ động cơ ở 3 bài kiểm tra được thống kê lại bảng sau:

Bảng 5.1: Số liệu 3 lần kiểm tra độ ổn định của hệ thống

Motor 1 Motor 2 Motor 1 Motor 2 Motor 1 Motor 2

Hình 5.9: Biểu đồ tốc độ 2 động cơ ở bài kiểm tra 1

Tốc độ động cơ dao động ở mức 1.5 km/h, và khi có sự lệch góc, hệ thống sẽ tự động điều chỉnh để cân bằng Biểu đồ cho thấy tại một thời điểm, chỉ có một động cơ dao động để duy trì sự cân bằng góc, do đó hệ thống vẫn được coi là ổn định.

Hệ được đánh giá là mất ổn định khi cả 2 động cơ đều dao động nhiều tại 1 thời điểm và liên tục

Hình 5.10: Biểu đồ tốc độ 2 động cơ ở bài kiểm tra 2

Nhận xét: Ở bài kiểm tra này độ ổn định xem như là hoàn hảo, độ dao động rất ít và luôn quanh vị trí 1.5 km/h

Hình 5.11: Biểu đồ tốc độ 2 động cơ ở bài kiểm tra 3

Nhận xét: Giống với với bài kiểm tra 2, ở bài kiểm tra này độ ổn định xem như là hoàn hảo

Xem độ ổn định của góc chỉ phương la bàn khi hệ thống vận hành, dựa vào bảng số liệu ghi nhận dưới đây

Bảng 5.2: Thống kê dữ liệu của la bàn qua 3 bài kiểm tra

Vẽ lại biểu đồ để xem được độ ổn định:

Hình 5.12: Biểu đồ giá trị góc chỉ phương ở 3 bài kiểm tra

Trong ba bài kiểm tra, góc chỉ phương của la bàn luôn ổn định ở 97°, cho thấy đây là điểm đặt chính Biểu đồ cho thấy bài kiểm tra 1 kém ổn định hơn so với hai bài còn lại, do sự dao động lớn ở góc chỉ phương khiến hai động cơ phải điều chỉnh để cân bằng Nguyên nhân có thể là do bánh xích hoặc vật cản trong địa hình làm lệch quỹ đạo hệ thống.

Hệ thống được đánh giá có độ ổn định tốt, điều này giúp nâng cao độ tin cậy khi sử dụng địa hình thực tế để kiểm tra tính năng điều hướng Việc cho hệ thống tự lái trong các điều kiện thực tế là một phương pháp hiệu quả để xác nhận khả năng hoạt động của nó.

KIỂM TRA KHẢ NĂNG ĐIỀU HƯỚNG CỦA HỆ THỐNG

Để kiểm tra tính năng điều hướng của hệ thống, cần cho hệ thống tự lái trong một địa hình thực tế Độ ổn định của tọa độ GPS đóng vai trò quan trọng, vì nếu tọa độ GPS bị lệch nhiều, khả năng điều hướng sẽ không hoạt động hiệu quả.

Hình 5.13: Giao diện điều khiển chính của hệ thống

Bật tính năng Self Driving để hệ thống tiến hành tự lái đến điểm đến đã được thiết lập

Bản đồ đã được phân tích và tích hợp vào hệ thống, hiển thị trên giao diện với tọa độ hiện tại được đánh dấu bằng một dấu chấm màu đỏ, trong khi điểm đến được biểu thị bằng dấu X trên bản đồ.

Bài kiểm tra đầu tiên sẽ cho hệ thống tự lái từ khu F đến Trung tâm Việt Đức:

Hình 5.14: Quá trình kiểm tra chức năng điều hướng của hệ thống

Bằng cách kết hợp thuật toán điều hướng dựa trên tọa độ và la bàn để kiểm soát quỹ đạo, hệ thống tính toán khoảng cách giữa các tọa độ, từ đó đưa ra hướng di chuyển phù hợp đến điểm đến.

Hệ thống đã được kiểm tra độ ổn định trước khi đưa vào thực tế, đảm bảo hoạt động ổn định với tốc độ của hai động cơ luôn duy trì ở mức 1.5 km/h nhờ vào việc áp dụng thuật toán PID.

Phần mềm tự động tổng hợp tọa độ điểm để vẽ lại hành trình đã đi Để tiết kiệm bộ nhớ cho hệ thống, hành trình này sẽ tự động xóa sau 10 phút.

Hình 5.15: Đoạn đường hành trình được hệ thống vẽ lại

Khi đến vị trí cách điểm đến khoảng cách đã thiết lập hệ thống sẽ dừng động cơ lại

Bài kiểm tra hệ thống tự lái từ khu F đến trung tâm Việt Đức đã thành công như mong đợi, nhờ vào địa hình ít vật cản giúp tín hiệu GPS ổn định cho chức năng điều hướng Để đánh giá khả năng điều hướng của hệ thống, một bài kiểm tra bổ sung sẽ được thực hiện, chạy từ sân Mái Vòm đến khu F, nơi có nhiều vật cản ảnh hưởng đến tín hiệu GPS.

Hình 5.16: Quá trình kiểm tra chức năng điều hướng của hệ thống ở địa hình phức tạp

Hệ thống điều hướng bị ảnh hưởng nghiêm trọng khi tọa độ GPS không ổn định, dẫn đến việc vẽ lại đoạn đường bị lệch Trong các địa hình phức tạp với nhiều ngã rẽ, khả năng tự lái của hệ thống vẫn chưa đáp ứng được yêu cầu, vì cần độ chính xác cao từ GPS để tính toán quỹ đạo phù hợp.

Khả năng tự lái của hệ thống được tối ưu hóa cho các địa hình rộng rãi với ít vật cản, tập trung vào việc tìm ra lộ trình nhanh nhất đến điểm đến Bài kiểm tra tính năng điều hướng yêu cầu độ chính xác cao, cho phép hệ thống tự lái hoạt động hiệu quả trên một đoạn đường cụ thể Trong thực tế, người dùng chỉ cần so sánh hướng mà hệ thống tính toán với hướng la bàn hiện tại để điều khiển hệ thống một cách chính xác.

ĐÁNH GIÁ

Sau quá trình thực nghiệm và kiểm tra thông qua các số liệu đã thống kê có thể đưa ra đánh giá chung như sau:

• Hiểu được nguyên tắc giao tiếp giữa khối xử lý trung tâm NI myRIO 1900 với các phần cứng trong hệ thống

• Hiểu được quy tắc điều hướng dựa vào giải thuật điều hướng kết giữa GPS và la bàn số

• Điều chỉnh thông số của bộ điều khiển PID giúp tăng độ ổn định của hệ thống

Lập trình LabVIEW giúp tối ưu hóa hệ thống bằng cách cải thiện khả năng giao tiếp và phân chia công việc xử lý giữa máy tính và các khối xử lý trung tâm, từ đó tăng tốc độ tính toán một cách hiệu quả.

• Phân tích và thống kê lại dữ liệu từ Excel trên LabVIEW từ đó giúp tăng hiệu quả trong việc tối ưu hệ thống

• Giao tiếp thành công NI myRIO 1900 với các phần cứng và hiển các thông số qua LCD, điện thoại, máy tính

• Đảm bảo độ ổn định của động cơ khi kết hợp với giải thuật PID, dựa theo các số liệu đã thống kê lại được

Áp dụng thuật toán điều hướng vào hệ thống và kiểm tra độ chính xác của nó thông qua việc cho hệ thống tự lái theo quỹ đạo đã được tính toán Tuy nhiên, vẫn còn một số hạn chế cần khắc phục.

• Trong quá trình hoạt động, nếu như nhận cuộc gọi đến đôi khi Module SIM sẽ làm nhiễu dữ liệu giao tiếp giữa các phần cứng trong hệ thống

Do sự biến đổi của sai số từ trường ở từng khu vực và theo thời gian, việc hiệu chỉnh la bàn số trước khi hệ thống tự lái hoạt động là cần thiết.

• Do tín hiệu từ GPS có độ chính xác và độ ổn định không cao nên chưa thể đưa ra giải thuật tự lái ở địa hình có ngã rẽ.

Ngày đăng: 07/12/2023, 21:39

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

TÀI LIỆU LIÊN QUAN

w