1.5.2 Giới hạn đề tài Do việc thiếu kinh nghiệm, chuyên môn của nhóm có hạn, nguồn kinh phí eo hẹp nên đề tài của nhóm có một số tồn đọng giới hạn như sau : - Hệ thống do nhóm tự thiết k
TỔNG QUAN
Đặt vấn đề
Công nghệ đang trải qua những bước phát triển đột phá, dần thay thế con người và nâng cao chất lượng cuộc sống trong lao động cũng như sinh hoạt hàng ngày Trong cuộc cách mạng 4.0, các ứng dụng đa dạng trong mọi lĩnh vực đang được cải tiến đáng kể Máy bay không người lái (UAV hay Drone) là một ví dụ tiêu biểu, ban đầu chỉ được ứng dụng trong lĩnh vực quân sự, nhưng nhờ sự tiến bộ của khoa học, chúng đã được ứng dụng rộng rãi trong các lĩnh vực như nông nghiệp, y tế, vận chuyển và cứu hộ cứu nạn.
Hình 1.1 Drone trong quân sự và trong nông nghiêp
Cấu tạo của Drone rất đa dạng về kích thước do nhu cầu sử dụng phong phú Về cơ bản, một Drone bao gồm các thành phần chính như động cơ, vi xử lý trung tâm, cánh tay, khung cánh và nguồn cấp năng lượng (pin) Drone có thể được điều khiển bằng tay cầm hoặc thông qua việc tạo ra lộ trình bay sẵn có, cho phép nó tự động bay theo đường đi đã định Thuật toán điều khiển Drone cũng không ngừng phát triển để cải thiện hiệu suất bay Trong đó, Quadcopter (Drone bốn động cơ) là một lựa chọn phổ biến và được nhóm nghiên cứu chọn làm đối tượng thiết kế và điều khiển máy bay tự động.
Tổng quan đề tài
1.2.1 Các nghiên cứu nước ngoài
Công nghệ máy bay không người lái đã có những bước phát triển quan trọng từ những thập niên 90 của thế kỷ XIX, bắt nguồn từ việc chế tạo quả bom bóng bay tấn công thành phố Venice Sự phát triển lâu đời của khoa học công nghệ đã tạo tiền đề cho việc phát triển những dự án mang tính đột phá cao ở mọi lĩnh vực ứng dụng cho máy bay không người lái Sự trỗi dậy của công nghệ AI, IOT, và định vị toàn cầu GPS đã làm cho Drone trở thành một thiết bị thông minh, có khả năng xử lý gần như một con người, từ tự động bảo vệ, tự động bay, đến tự động xử lý những sự cố trong quá trình bay.
Ngành công nghiệp máy bay không người lái trên thế giới đang phát triển mạnh mẽ nhờ những lợi ích kinh tế đáng kể mà nó mang lại Các công ty hàng đầu như DJI, Xiaomi và Hitek Drone đã đầu tư hàng chục đến hàng trăm năm vào công nghệ drone và đạt được hiệu quả kinh tế cao Những tính năng vượt trội và khả năng bay kéo dài của các sản phẩm này là một trong những ưu điểm nổi bật của các hãng trên, thể hiện qua các mẫu drone của DJI và Hitek Drone.
Hình 1.2 Drone của hãng DJI và Drone của hãng Hiteck Drone
1.2.2 Các nghiên cứu trong nước
Cùng với sự phát triển mạnh mẽ của công nghệ drone trên toàn cầu, Việt Nam cũng có một số công ty tiên tiến tự sản xuất và chế tạo drone, tiêu biểu như công ty Hera Tuy nhiên, do hạn chế về tiềm lực sản xuất, nhiều công ty về drone trong nước chủ yếu tập trung vào việc thương mại hóa sản phẩm từ các công ty nước ngoài.
Một số lĩnh vực như quân sự, nông nghiệp đang được ứng dụng phổ biến ở trong nước của các công ty như DJI, MiSamrt,
Việc nghiên cứu và phát triển drone luôn là chủ đề thu hút sự quan tâm của giảng viên và sinh viên Một đề tài nghiên cứu đáng chú ý là "An adaptive Pose Controller of 6DOF Quadcopter Using A State Obsever" được thực hiện bởi nhóm sinh viên và giảng viên trường Đại học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh vào năm 2022 Đề tài này tập trung vào việc phát triển bộ điều khiển thích nghi và bộ quan sát cho Quadcopter, đồng thời cũng đề cập đến mô hình hóa Quadcopter và ứng dụng bộ điều khiển vào thực tế.
Mặc dù nghiên cứu về Drone vẫn còn gặp phải một số khó khăn do thiếu kinh nghiệm, nhưng việc áp dụng các công nghệ hiện đại như IOT, AI đã giúp cho việc phát triển nghiên cứu Drone dần dần hoàn thiện hơn Sự tích hợp này đã mở ra nhiều cơ hội mới cho việc ứng dụng Drone trong các lĩnh vực khác nhau, từ giám sát môi trường đến vận chuyển hàng hóa.
Mục đích đề tài
Điều khiển mô hình Quadcopter không người lái ngoài trời.
Mục tiêu đề tài
Để hiểu rõ, tiếp cận và làm chủ việc thiết kế, xây dựng bộ điều khiển cho máy bay không người lái, nhóm đã đặt ra những mục tiêu cụ thể nhằm đảm bảo quá trình thực hiện hiệu quả và đạt được kết quả mong muốn.
- Xây dựng phương trình toán học cho mô hình Quadcopter
- Thử nghiệm mô phỏng Quadcopter với các bộ điều khiển
- Thiết kế mô hình và mạch điện cho Quacopter
- Sử dụng công nghệ định vị toàn cầu (GPS) xác định ví trí của Quadcopter
- Lập trình Quadcopter bay ở 2 chế độ, chế độ cầm tay và chế độ tự động bay ngoài trời
- Bán kính điều khiển 500m ngoài trời
- Quadcopter mang tải từ 0.3-0.5kg
- Xây dựng chương trình hỗ trợ điều khiển và giám sát hoạt động của Quadcopter bằng ngôn ngữ Python.
Đối tượng và phạm vi nghiên cứu
- Mô hình mô phỏng điều khiển Quadcopter
- Mô hình thực tế và điều khiển Quadcoper thực tế
- Phương pháp xác định tọa độ sử dụng công nghệ GPS
Do hạn chế về kinh nghiệm và chuyên môn của nhóm, cùng với nguồn kinh phí eo hẹp, đề tài của nhóm còn tồn đọng một số giới hạn nhất định, bao gồm cả những hạn chế về phạm vi nghiên cứu và khả năng thực hiện.
Hệ thống này được nhóm tự thiết kế và thi công, vì vậy vẫn chưa có cơ sở nào để đánh giá chính xác mức độ bền vững và ổn định của nó trong quá trình vận hành thực tế Điều này đòi hỏi cần có thêm thời gian và đánh giá chuyên sâu để xác định hiệu quả và độ tin cậy của hệ thống.
- Vật liệu chủ yếu là nhựa in 3D và một số vật liệu đơn giản khác
Nhóm nghiên cứu hiện tại chỉ tập trung vào việc điều khiển các thí nghiệm bay bằng bộ điều khiển PID Tuy nhiên, trong tương lai, nhóm sẽ tiếp tục phát triển và khám phá các bộ điều khiển khác để mở rộng khả năng và hiệu suất của hệ thống.
Nội dung nghiên cứu
Trong quyển luận văn này nhóm sẽ chia ra thành 7 chương chính :
Chương 1: Tổng quan - Sẽ trình bày ngắn gọn tổng quát về hệ thống, nói rõ về tính cấp thiết của đề tài, đối tượng và phạm vi nghiên cứu của đề tài
Chương 2: Cơ sở lý thuyết - Chương này sẽ trình bày sơ lược về nguyên lý hoạt động của hệ thống, những khái niệm, lý thuyết liên quan đến Quadcopter Sơ lược về các bộ điều khiển Một số lý thuyết cơ bản về các giao tiếp như UART, Lora và một số phần mềm sử dụng
Chương 3: Hệ thống định vị toàn cầu (GPS) - Trình bày tổng quan về hệ thống GPS, cách xác định vị trí tọa độ
Chương 4: Khảo sát mô hình toán và mô phỏng - Chương này sẽ trình bày các phương trình động học, động lực học của hệ thống và cách xây dựng bộ điều khiển cho mô hình toán
Chương 5: Thiết kế và thi công phần cứng - Chương này sẽ trình bày về trình tự thiết kế cũng như việc lựa chọn thiết bị cho phần cứng
Chương 6: Kết quả, nhận xét và đánh giá - Chương này sẽ trình bày các kết quả mà đề tài thu được, kiểm chứng và đánh giá kết quả
Chương 7: Kết luận và hướng phát triển - Chương này sẽ kết luận quá trình nghiên cứu và hướng phát triển sau này cho đề tài.
Công cụ đánh giá
Phân tích dữ liệu : sử dụng những công cụ tìm kiếm phổ biến như Google,
Phân tích mô phỏng đóng vai trò quan trọng trong việc thiết kế và phát triển Quadcopter Nhóm sử dụng phần mềm Soliworks để xây dựng mô hình Quadcopter chính xác, từ đó tạo nền tảng cho việc mô phỏng và thiết kế Công cụ Matlab-Simulink được ứng dụng để tiến hành mô phỏng và thiết kế bộ điều khiển cho Quadcopter, giúp tối ưu hóa hiệu suất và độ ổn định của thiết bị.
Để đánh giá hiệu quả của một phương pháp điều khiển, cần xem xét các tiêu chí quan trọng bao gồm sai số thấp, độ chính xác tương đối cao, khả năng thực hiện được các chế độ yêu cầu và hoạt động ổn định.
CỞ SỞ LÝ THUYẾT
Các khái niệm cơ bản về Quadcopter
Một quadcopter cơ bản có cấu trúc chắc chắn bao gồm bốn cánh quạt độc lập với các cánh quạt cố định, trong đó hai cánh quạt quay theo chiều kim đồng hồ và hai cánh quạt còn lại quay ngược chiều kim đồng hồ Điều khiển quadcopter được thực hiện bằng cách thay đổi tốc độ góc của các cánh quạt Chuyển động xoay của quadcopter theo các trục x, y, z có thể được mô tả bằng ba góc chính: góc roll (φ), góc pitch (θ) và góc yaw (ψ) Các lực và moment trên quadcopter có thể thay đổi bao gồm lực nâng của motor, moment quay góc roll quanh trục x, moment quay góc pitch quanh trục y và trọng lực, cũng như moment quay góc yaw quanh trục z.
Hình 2.1 Cấu hình Quadcopter với các hệ trục tọa độ
Chuyển động của Quadcopter
Chuyển động của Quadcopter trong không gian có thể được phân thành hai phần chính: chuyển động theo trục trung tâm và chuyển động quanh trục trung tâm, yêu cầu sáu bậc tự do để mô tả Ba bậc tự do trung tâm bao gồm chuyển động tịnh tiến theo các trục x, y, z, trong khi ba bậc tự do góc bao gồm chuyển động xoay quanh các trục tương ứng Việc điều khiển sáu bậc tự do này được thực hiện thông qua việc điều chỉnh tốc độ quay của các cánh quạt khác nhau, tạo ra lực đẩy và moment xoay tương ứng, từ đó làm thay đổi chuyển động của quadcopter trong không gian.
Quadcopter có khả năng thực hiện nhiều loại chuyển động phức tạp, bao gồm chuyển động tiến lùi, chuyển động ngang, chuyển động thẳng đứng và chuyển động xoay quanh các trục x, y, z Để thực hiện các chuyển động này, Quadcopter điều chỉnh tốc độ quay của các cánh quạt, tạo ra moment xoay cần thiết, chẳng hạn như chuyển động xoay quanh trục z.
Trong chuyển động thẳng đứng, việc đồng bộ hóa tốc độ quay của cánh quạt là cần thiết để đảm bảo Quadcopter di chuyển hướng lên hoặc xuống một cách ổn định Với khả năng di chuyển tịnh tiến theo các hướng khác nhau và thực hiện các chuyển động quay đa chiều trong không gian, Quadcopter trở thành một công cụ linh hoạt và đa năng trong các ứng dụng như giám sát môi trường, nhiếp ảnh và quay phim, vận chuyển hàng hóa và cứu hộ Để điều khiển hoàn toàn quadcopter, cần bốn loại tín hiệu điều khiển, giúp hệ thống phức tạp phi tuyến này hoạt động ổn định và hiệu quả.
Lực nâng (Thrust) của quadcopter được tạo ra bằng cách thay đổi tốc độ góc của cả bốn cánh quạt đồng thời với cùng một tốc độ Khi tăng tốc độ của tất cả các cánh quạt, máy bay sẽ tạo ra một chuyển động hướng lên, ngược lại, khi giảm tốc độ của tất cả các cánh quạt, máy bay sẽ tạo ra một chuyển động hướng xuống Điều này được minh họa rõ ràng qua tín hiệu điều khiển lực nâng của quadcopter, nơi tốc độ góc không đổi được biểu thị bằng ký hiệu H.
A biểu thị sự tăng tốc độ góc
Hình 2.2 Lực nâng ĐỒ ÁN TỐT NGHIỆP 7
Khi tất cả các cánh quạt của quadcopter quay với cùng một tốc độ góc và tạo ra lực đẩy bằng trọng lượng của nó, thiết bị sẽ đạt trạng thái ổn định được gọi là trạng thái hover Trong trạng thái này, lực đẩy tạo ra bởi cánh quạt cân bằng với trọng lực tác động lên quadcopter, giúp nó duy trì vị trí ổn định trong không gian.
Hình 2.3 Quadcopter ở trạng thái hover
Chuyển động quay góc Roll của Quadcopter là chuyển động quay quanh trục x theo chiều dọc, được thực hiện bằng cách điều chỉnh tốc độ góc của các cánh quạt Cụ thể, việc tăng tốc độ góc của cánh quạt bên phải và giảm tốc độ góc của cánh quạt bên trái sẽ tạo ra chuyển động Roll theo một hướng, và ngược lại Chuyển động này giúp Quadcopter thay đổi góc nghiêng và định hướng trong không gian.
Hình 2.4 Chuyển động quay góc Roll quanh trục x
Ở đây, A biểu thị sự tăng và B biểu thị sự giảm trong tốc độ góc của cánh quạt bên trái và bên phải tương ứng Hai đại lượng này có cùng độ lớn, thể hiện mối quan hệ tương quan giữa sự thay đổi tốc độ góc của hai cánh quạt.
Chuyển động quay góc Pitch là chuyển động quay của Quadcopter quanh trục y theo chiều ngang, được thực hiện bằng cách điều chỉnh tốc độ góc của cánh quạt phía trước và phía sau Cụ thể, Pitch được tạo ra khi tăng tốc độ góc của cánh quạt phía trước và giảm tốc độ góc của cánh quạt phía sau, hoặc ngược lại, giúp Quadcopter quay quanh trục y một cách linh hoạt.
Hình 2.5 Chuyển động góc Pitch quanh trục y
• Ở đây, A biểu thị sự tăng và B biểu thị sự giảm trong tốc độ góc của cánh quạt phía trước và phía sau tương ứng A và B có cùng độ lớn
Chuyển động quay góc Yaw của Quadcopter là chuyển động quay xung quanh trục z, theo chiều dọc Để thực hiện chuyển động này, tốc độ góc của cánh quạt phía trước và phía sau sẽ được tăng hoặc giảm, đồng thời giảm hoặc tăng tốc độ góc của cánh quạt phía trái và phải tương ứng Điều này cho phép Quadcopter quay quanh trục z một cách linh hoạt và chính xác.
Hình 2.6 Chuyển động quay góc Yaw quanh trục z
Khi điều chỉnh tốc độ góc của cánh quạt, tốc độ góc của cánh quạt phía trước và phía sau được giảm đi một lượng B, trong khi tốc độ góc của cánh quạt phía trái và phải được tăng lên một lượng A Sự chênh lệch này tạo ra một moment xoắn xung quanh trục đứng, gây ra sự xoay vòng của Quadcopter.
Góc Euler
Góc Euler là phương pháp mô tả hướng của một vật thể trong không gian, được đặt theo tên của nhà toán học Leonhard Euler Phương pháp này sử dụng ba góc quay độc lập để biểu diễn và biến đổi tọa độ của một điểm trong hệ tọa độ này thành tọa độ của cùng một điểm trong hệ tọa độ khác, cho phép mô tả chính xác vị trí và hướng của vật thể trong không gian.
Ba góc quay trong góc Euler bao gồm:
Góc roll là góc quay xung quanh trục x của hệ tọa độ, thể hiện sự xoay của vật thể xung quanh trục x này, tạo ra sự nghiêng sang trái hoặc sang phải.
Góc Pitch là góc quay quanh trục y của hệ tọa độ, thể hiện sự xoay của vật thể xung quanh trục này, tạo ra sự nghiêng lên trên hoặc xuống dưới, giúp định hướng không gian và tạo ra các chuyển động linh hoạt.
Yaw là góc quay xung quanh trục z của hệ tọa độ, thể hiện sự xoay của vật thể xung quanh trục này, tạo ra chuyển động quay theo phương ngang.
Kết hợp ba góc quay Euler cho phép xác định vị trí và hướng của vật thể trong không gian ba chiều một cách đầy đủ Đây là một phương pháp biểu diễn và điều khiển góc quay phổ biến, được áp dụng cho nhiều đối tượng, bao gồm cả Quadcopter Các phép quay này bắt đầu từ một hướng chuẩn đã biết và sự kết hợp này được mô tả bởi các ma trận xoay, giúp điều khiển và biểu diễn góc quay của các đối tượng một cách chính xác.
Các góc quay quanh trục x, y, z được ký hiệu lần lượt là , , , hay còn gọi là góc roll, pitch và yaw Các ký hiệu c, s, c, s, c, s tương ứng với cos(), sin(), cos(), sin(), cos(), sin() Dựa trên các ký hiệu này, ta có thể tính được ma trận xoay Rzyx(, , ) để mô tả chuyển động quay của đối tượng trong không gian 3D.
Ma trận này mô tả chuyển động quay từ hệ quy chiếu vật thể sang tham chiếu quán tính
Mô hình toán học của Quadcopter có thể được tham khảo từ các nghiên cứu trước đây [1], như sau:
Trong đó, U i = (1,2,3,4)là các giá trị đầu vào điều khiển cho hệ thống Quadcopter, có thể mô tả chi tiết như sau:
Với i= (1,2,3,4) là vận tốc góc của các động cơ, b là hệ số lực đẩy, d là hệ số lực cản
Từ phương trình (2.6) có thể biến đổi thu được phương trình như sau :
Lý thuyết về bộ điều khiển
2.5.1 Lý thuyết bộ điều khiển PID Đối với các hệ thống điều khiển quy trình hiện đại ngày nay thì PID được coi là một bộ phận điều khiển lý tưởng.Ở hầu hết các ứng dụng điều khiển đối với quá trình tự động trong công nghiệp thì đều dùng đến nó để điều chỉnh nhiệt độ, áp suất, lưu lượng,
Bộ điều khiển PID (Proportional Integral Derivative Controller) là một giải pháp điều khiển vòng kín được ứng dụng rộng rãi trong công nghiệp Sự kết hợp của ba thành phần chính: tỷ lệ, tích phân và vi phân, giúp bộ điều khiển PID có khả năng triệt tiêu sai số xác lập, tăng tốc độ đáp ứng của hệ thống và giảm độ vọt lố khi thông số được lựa chọn phù hợp.
Hình 2.8 Cấu trúc bộ điều khiển PID
Khâu tỉ lệ tạo ra tín hiệu điều khiển tỉ lệ với giá trị sai số, giúp hệ thống điều chỉnh và ổn định đầu ra Đáp ứng tỉ lệ có thể được điều chỉnh bằng cách nhân sai số với một hằng số KP gọi là hằng số tỉ lệ, từ đó tạo ra tín hiệu điều khiển phù hợp Công thức tính sai số e được xác định bằng giá trị tín hiệu đặt yd trừ đi giá trị tín hiệu đáp ứng y của hệ thống.
Khâu tích phân có mối quan hệ tỷ lệ thuận với cả biên độ sai số và khoảng thời gian xảy ra sai số Quá trình tích lũy sai số theo thời gian sẽ được nhân với độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển, từ đó ảnh hưởng đến kết quả đầu ra Độ lợi tích phân được điều chỉnh bằng hệ số Ki, quyết định biên độ của khâu tích phân.
Khâu vi phân đại diện cho tốc độ thay đổi sai số theo thời gian, được tính bằng đạo hàm bậc một theo thời gian của sai số Tốc độ này sau đó được nhân với độ lợi tỉ lệ Kd để tạo ra giá trị của khâu vi phân Mức độ lớn của khâu vi phân phụ thuộc vào độ lợi vi phân Kd, trong đó sai số e được tính bằng công thức e = yd - y.
2.5.2 Lý thuyết về bộ điều khiển LQR
Bộ điều khiển tối ưu LQR (Linear-Quadratic Regulator) là một phương pháp điều khiển phản hồi phổ biến trong lý thuyết điều khiển và tự động, được sử dụng để thiết kế bộ điều khiển tối ưu cho hệ thống điều khiển tuyến tính Đối tượng tuyến tính được mô tả bởi phương trình trạng thái, giúp bộ điều khiển LQR tối ưu hóa quá trình điều khiển và đạt được hiệu suất cao.
• x t( )= x t x t 1( ), 2( ), ,x t n ( ) T :vector trạng thái ĐỒ ÁN TỐT NGHIỆP 13
• u t( )= u t u t 1( ), 2( ), ,u t m ( ) T : vector tín hiều điều khiển
Bài toán ở đây đặt ra cần tìm ma trận K của vector điều khiển tối ưu (2.9) thỏa mãn hàm chỉ tiêu chất lượng J đạt giá trị cực tiểu (2.10)
Trong phương trình (2.10), Q là ma trận xác định dương hoặc bán xác định dương, còn R là ma trận xác định dương Phần còn lại của hàm J bên phải phương trình này đại diện cho năng lượng tiêu tốn của tín hiệu điều khiển.
Trong phương trình (2.9) K được xác định là K = R B P − 1 − 1
P là nghiệm của phương trình đại số Riccati được xác định bằng cách giải phương trình
2.5.3 Lý thuyết bộ điều khiển PID thích nghi
Bộ điều khiển thích nghi là một hướng tiếp cận hiện đại trong lĩnh vực điều khiển tự động, cho phép tự động điều chỉnh các thông số của hệ thống điều khiển dựa trên thông tin phản hồi từ hệ thống Với mục tiêu chính là thích ứng với sự biến thiên của các tham số hệ thống, động lực học và tải trọng, bộ điều khiển thích nghi giúp đảm bảo hiệu suất tốt hơn và ổn định hơn trong quá trình điều khiển.
Bộ điều khiển PID thích nghi là biến thể của bộ điều khiển PID thông thường, cho phép điều chỉnh tự động các thông số như tỷ lệ, tích phân và đạo hàm dựa trên thông tin phản hồi từ hệ thống Quá trình điều chỉnh tự động này thường được thực hiện thông qua các thuật toán như phương pháp Gradient Descent, Adaptive Gain Scheduling, nhằm so sánh giá trị đầu ra thực tế và giá trị đầu ra mong đợi Dựa trên sự sai khác này, thông số PID được điều chỉnh liên tục để cải thiện hiệu suất điều khiển, giúp bộ điều khiển thích nghi hoạt động hiệu quả hơn.
Lý thuyết giao tiếp UART
UART (Universal Asynchronous Receiver-Transmitter) is a widely used asynchronous serial data transmission protocol that allows for configurable speed settings This simple and popular protocol consists of two independent data transmission lines, namely TX (transmit) and RX (receive), enabling efficient data exchange.
Tốc độ truyền của UART thường được đặt ở một số chuẩn phổ biến, bao gồm 9600, 19200, 38400, 57600, 115200 baud và các tốc độ khác Tốc độ này quyết định số lượng bit được truyền qua mỗi giây, giúp đảm bảo truyền dữ liệu hiệu quả Các tốc độ truyền khác nhau thường được lựa chọn dựa trên yêu cầu của ứng dụng và hệ thống sử dụng, giúp tối ưu hóa quá trình truyền dữ liệu.
Quá trình giao tiếp UART được minh họa trong Hình 2.10, thể hiện quá trình chuyển đổi dữ liệu từ giao tiếp song song sang nối tiếp Dữ liệu từ vi điều khiển được truyền dưới dạng song song qua bus dữ liệu đến UART 1, nơi thêm các bit Start, Stop và chẵn lẻ để tạo thành gói dữ liệu Sau đó, gói dữ liệu này được xuất ra từng bit qua chân Tx để truyền đi dưới dạng nối tiếp Tại UART 2, dữ liệu được nhận theo từng bit qua chân Rx, sau đó loại bỏ các bit Start, Stop và chẵn lẻ để chuyển đổi thành dữ liệu song song, cuối cùng được truyền qua bus dữ liệu đến vi điều khiển.
Hình 2.10 Cách thức hoạt động của giao tiếp UART ĐỒ ÁN TỐT NGHIỆP 15
Tùy vào nhu cầu mục đích của người sẽ dụng sẽ có những giao tiếp khác nhau Giao tiếp nào cũng có ưu điểm và nhược điểm riêng
- Ưu điểm của giao tiếp UART:
• Tốc độ độ truyền nhanh
• Phương pháp chuyển đổi dễ dàng, chi phí thấp
- Nhược điểm của giao tiếp UART:
• Giao tiếp bất đồng bộ
• Không có kiểm tra lỗi tích hợp.
Giới thiệu công nghệ LoRa
Công nghệ LoRa, viết tắt của Long Range Radio, được phát triển bởi Cycleo và sau đó được Semtech mua lại vào năm 2012 Với khả năng truyền dữ liệu lên tới hàng ngàn mét mà không cần đến các mạch khuếch đại công suất, công nghệ LoRa giúp tiết kiệm năng lượng tiêu thụ khi truyền nhận dữ liệu, mang lại hiệu suất cao và độ tin cậy trong các ứng dụng truyền thông không dây.
Công nghệ LoRa hoạt động trên các băng tần không cấp phép, cho phép ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau Một số ứng dụng chính của công nghệ LoRa bao gồm đo lường từ xa, giám sát môi trường, quản lý năng lượng, quản lý giao thông và nông nghiệp thông minh Điều này giúp tối ưu hóa hiệu suất và giảm thiểu chi phí vận hành trong các ngành công nghiệp khác nhau.
LoRa sử dụng kỹ thuật điều chế Chirp Spread Spectrum, một phương pháp mã hóa dữ liệu bằng cách băm dữ liệu gốc với các xung cao tần để tạo ra tín hiệu có dãy tần số cao hơn Tín hiệu cao tần này sau đó được mã hóa theo các chuỗi tín hiệu hình sin có tần số thay đổi theo thời gian, được gọi là chuỗi chirp signal Có hai loại chuỗi chirp signal, bao gồm up-chirp có tần số tăng theo thời gian và down-chirp có tần số giảm theo thời gian Quá trình mã hóa được thực hiện theo nguyên tắc bit 1 sử dụng up-chirp và bit 0 sử dụng down-chirp trước khi truyền ra anten để gửi đi.
Theo Semtech, nguyên lý này giúp giảm độ phức tạp và độ chính xác cần thiết của mạch nhận, cho phép giải mã và điều chế lại dữ liệu hiệu quả hơn Đồng thời, công nghệ LoRa không yêu cầu công suất phát lớn để truyền tín hiệu xa, vì tín hiệu LoRa có thể được nhận ở khoảng cách xa ngay cả khi độ mạnh tín hiệu thấp hơn nhiễu môi trường xung quanh.
Băng tần làm việc của LoRa từ 430MHz đến 915MHz cho từng khu vực khác nhau trên thế giới:
• 433MHz hoặc 866MHz cho châu Âu
• 915MHz cho USA Ưu diểm của công nghệ LoRa :
• Khoảng cách truyền đi xa
• Tiêu thụ năng lượng thấp
• Khả năng phủ sóng rộng
Nhược điểm của công nghệ Lora:
• Tốc độ truyền dữ liệu thấp
Giới thiệu ngôn ngữ Python
Python là một ngôn ngữ lập trình bậc cao, đa năng, được tạo bởi Guido van Rossum và ra mắt lần đầu vào năm 1991 Ưu điểm của Python là dễ đọc, dễ học và dễ nhớ, giúp người lập trình tập trung vào việc giải quyết vấn đề mà không phải mất quá nhiều thời gian để hiểu mã nguồn Cú pháp rõ ràng và cấu trúc dễ hiểu của Python là những yếu tố quan trọng giúp ngôn ngữ lập trình này trở nên phổ biến và được ưa chuộng trong cộng đồng lập trình viên.
Hình 2.12 Biểu tượng ngôn ngữ Python
Các tính năng nổi bật của ngôn ngữ Python:
- Ngôn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng
Python dễ đọc và viết hơn nhiều so với các ngôn ngữ lập trình khác như C++, Java, C# Điều này làm cho việc lập trình trở nên thú vị và hấp dẫn hơn, cho phép người dùng tập trung vào việc tìm kiếm giải pháp thay vì lo lắng về cú pháp phức tạp.
Python là một ngôn ngữ lập trình miễn phí và mã nguồn mở, cho phép bạn tự do sử dụng và phân phối nó, bao gồm cả mục đích thương mại Với tính chất mã nguồn mở, bạn không chỉ có thể sử dụng các phần mềm và chương trình được viết bằng Python mà còn có thể thay đổi mã nguồn của chúng Điều này được hỗ trợ bởi cộng đồng Python rộng lớn, liên tục cải thiện và cập nhật ngôn ngữ này.
Python sở hữu một thư viện tiêu chuẩn lớn giúp giải quyết những tác vụ phổ biến, nhờ đó mà công việc lập trình trở nên dễ dàng hơn Thư viện tiêu chuẩn này cung cấp một số lượng lớn các chức năng có sẵn, giúp lập trình viên không phải tự viết tất cả code, tiết kiệm thời gian và công sức.
Lập trình hướng đối tượng (OOP) là nền tảng của ngôn ngữ lập trình Python, giúp giải quyết các vấn đề phức tạp một cách trực quan và hiệu quả Với OOP, bạn có thể phân chia các vấn đề phức tạp thành các tập nhỏ hơn bằng cách tạo ra các đối tượng, từ đó làm cho quá trình lập trình trở nên dễ dàng và quản lý hơn.
Hình 2.13 ứng dụng của ngôn ngữ Python
Các phần mềm sử dụng
SolidWorks là một phần mềm CAD 3D và CAE mạnh mẽ được phát triển bởi Dassault Systèmes, được ứng dụng rộng rãi trong lĩnh vực thiết kế cơ khí và là một trong những công cụ phổ biến nhất cho việc tạo mô hình 3D, vẽ kỹ thuật, mô phỏng và phân tích chuyển động.
Phần mềm Solidworks cung cấp cho người dùng những tính năng thiết kế vượt trội, cho phép tạo ra các chi tiết và khối 3D, lắp ráp chúng thành các bộ phận máy móc phức tạp Ngoài ra, phần mềm còn hỗ trợ xuất bản vẽ 2D chi tiết, giúp người dùng dễ dàng trình bày và chia sẻ thiết kế của mình Đặc biệt, Solidworks còn tích hợp các tính năng phân tích động học và động lực học, cho phép người dùng mô phỏng và phân tích các hệ thống phức tạp, giúp tối ưu hóa thiết kế và cải thiện hiệu suất.
Hình 2.14 Giao diện phần mềm SoliWorks 2021 ĐỒ ÁN TỐT NGHIỆP 19
SolidWorks là công cụ thiết kế và mô hình hóa 3D được ứng dụng rộng rãi trong nhiều ngành công nghiệp quan trọng như ô tô, hàng không, điện tử, máy móc và sản xuất Với khả năng tạo ra các sản phẩm mới, cải thiện hiệu suất và tối ưu hóa quy trình phát triển, SolidWorks đã trở thành lựa chọn hàng đầu của các kỹ sư và nhà thiết kế.
SolidWorks cung cấp nhiều phiên bản và gói sản phẩm đa dạng để đáp ứng nhu cầu của cả doanh nghiệp và cá nhân Với môi trường làm việc tích hợp và linh hoạt, phần mềm này cho phép cộng tác hiệu quả trong nhóm và tích hợp mượt mà với các công cụ và quy trình làm việc khác, giúp nâng cao hiệu suất và hiệu quả công việc.
Matlab là phần mềm cung cấp môi trường tính toán số và lập trình do công ty MathWorks thiết kế Với Matlab, người dùng có thể thực hiện các tính toán số với ma trận, vẽ đồ thị hàm số và biểu đồ thông tin, cũng như thực hiện các thuật toán phức tạp Ngoài ra, Matlab còn cho phép tạo các giao diện người dùng và liên kết với các chương trình máy tính khác được viết bằng nhiều ngôn ngữ lập trình khác nhau.
Matlab là công cụ mạnh mẽ giúp giải quyết các bài toán về giải tích số, xử lý tín hiệu số và xử lý đồ họa mà không cần phải lập trình cổ điển Với hàng ngàn lệnh và hàm tiện ích sẵn có, Matlab cung cấp một môi trường lập trình linh hoạt và hiệu quả Ngoài các hàm cài sẵn, Matlab còn có các lệnh và hàm ứng dụng chuyên biệt trong các Toolbox, giúp mở rộng khả năng giải quyết các bài toán thuộc các phạm trù riêng như toán sơ cấp, xử lý tín hiệu số, xử lý ảnh, xử lý âm thanh, ma trận thưa và logic mờ.
Simulink là một môi trường lập trình đồ họa mạnh mẽ dựa trên MATLAB, cho phép mô hình hóa, mô phỏng và phân tích các hệ thống động lực học đa miền Với giao diện chính là công cụ sơ đồ khối đồ họa và bộ thư viện khối có thể tùy chỉnh, Simulink cung cấp tích hợp chặt chẽ với môi trường MATLAB và cho phép điều khiển MATLAB hoặc được tập lệnh từ nó Đây là công cụ lý tưởng cho việc mô phỏng đa miền và thiết kế dựa trên mô hình, đặc biệt được ứng dụng rộng rãi trong điều khiển tự động và xử lý tín hiệu kỹ thuật số.
Hình 2.15 Giao diện phần mềm Matlab 2022b
Qt Designer là một công cụ thiết kế giao diện đồ họa (GUI) mạnh mẽ và trực quan được cung cấp bởi Qt, một nền tảng phát triển ứng dụng đa nền tảng Với Qt Designer, người dùng có thể dễ dàng xây dựng các ứng dụng đồ họa một cách hiệu quả và chuyên nghiệp.
Hình 2.17 Giao diện phần mềm QT Designer
Qt Designer là công cụ thiết kế giao diện người dùng mạnh mẽ cho các ứng dụng Qt, cho phép người dùng tạo và tùy chỉnh giao diện một cách trực quan thông qua tính năng kéo và thả Công cụ này cung cấp bộ công cụ đồ họa đa dạng để xây dựng các thành phần giao diện như cửa sổ, nút bấm, hộp thoại, thanh công cụ và danh sách Với Qt Designer, người dùng có thể dễ dàng thay đổi kích thước, vị trí và tính năng của các thành phần này, giúp tạo ra giao diện người dùng tùy chỉnh và chuyên nghiệp.
Qt Designer hỗ trợ tạo giao diện người dùng đa nền tảng một cách hiệu quả, đồng thời tự động tạo mã để triển khai thiết kế vào mã nguồn ứng dụng Qt Điều này giúp tiết kiệm thời gian và công sức phát triển giao diện người dùng, cho phép nhà phát triển tập trung vào việc xây dựng logic và chức năng cốt lõi của ứng dụng.
Qt Designer là một phần quan trọng trong bộ công cụ phát triển ứng dụng Qt, đóng vai trò then chốt trong việc thiết kế giao diện người dùng đồ họa cho các ứng dụng đa nền tảng.
PyCharm là một môi trường phát triển tích hợp (IDE) chuyên dụng cho việc phát triển ứng dụng Python, được phát triển bởi JetBrains Với các công cụ và tính năng hữu ích, PyCharm giúp tăng năng suất và sự tiện lợi trong quá trình phát triển phần mềm, mang lại trải nghiệm phát triển hiệu quả hơn.
Hình 2.18 Giao diện phần mềm Pycharm Dưới đây là một số tính năng quan trọng của PyCharm:
PyCharm cung cấp một trình soạn thảo mã Python mạnh mẽ, giúp người dùng viết mã hiệu quả hơn với các tính năng như kiểm tra lỗi cú pháp, gợi ý mã, định dạng mã tự động và kiểm tra chính tả.
PyCharm cung cấp khả năng quản lý dự án Python một cách dễ dàng và hiệu quả Với công cụ này, bạn có thể tạo và quản lý các tệp, thư mục, mô-đun và các gói trong dự án của mình một cách linh hoạt và tiện lợi.
PyCharm hỗ trợ tích hợp với các hệ thống kiểm soát phiên bản như Git, SVN và Mercurial, giúp bạn quản lý phiên bản mã nguồn một cách dễ dàng và hiệu quả Tính năng này cho phép bạn theo dõi và quản lý các thay đổi trong mã nguồn của mình, đảm bảo rằng dự án của bạn luôn được cập nhật và đồng bộ.
HỆ THỐNG ĐỊNH VỊ TOÀN CẦU GPS
Tổng quan về hệ thống định vị toàn cầu
3.1.1 Sơ lược về hệ thống định vị toàn cầu
Hệ thống định vị toàn cầu (GNSS) là tên gọi chung cho các hệ thống định vị trên thế giới, bao gồm GPS của Mỹ, GLONASS của Nga, GALILEO của Châu Âu, IRNSS của Ấn Độ, BEIDOU của Trung Quốc và QZSS của Nhật Bản Mặc dù được phát triển độc lập với một số khác biệt về mặt kỹ thuật, nhưng mục đích chính của các hệ thống này vẫn là xác định vị trí, vận tốc và thời gian của anten gắn liền với máy thu tín hiệu định vị.
Định vị (positioning) là khả năng xác định vị trí của một hoặc nhiều đối tượng gắn với hệ tọa độ trong không gian cụ thể, giúp xác định chính xác vị trí của chúng Dẫn đường (navigation) là khả năng dẫn dắt đối tượng di chuyển trong không gian từ điểm xuất phát A đến điểm đích B Để thực hiện dẫn đường hiệu quả, việc xác định vị trí tọa độ chính xác của điểm xuất phát và điểm đích là điều kiện tiên quyết.
Công nghệ định vị toàn cầu (GPS Technology) là tập hợp các phương pháp và kỹ thuật định vị, hệ thống vệ tinh định vị, máy thu tín hiệu định vị và các phần mềm xử lý liên quan, cho phép xác định vị trí chính xác trên toàn cầu Với vai trò quan trọng của vệ tinh, công nghệ này còn được gọi là công nghệ định vị nhờ vệ tinh, tạo nền tảng cho khả năng định vị toàn cầu hiện đại.
Trước đây, hệ thống định vị toàn cầu GNSS chủ yếu được ứng dụng trong lĩnh vực quân sự, nhưng hiện nay với sự phát triển công nghệ tiên tiến trên toàn cầu, các ứng dụng của GNSS đã trở nên đa dạng và phong phú hơn, mở rộng sang nhiều lĩnh vực khác như nông nghiệp, giao thông vận tải, địa chất và nhiều ngành nghề khác.
Hình 3.1 Ứng dụng GNSS trong đời sống ĐỒ ÁN TỐT NGHIỆP 24
3.1.2 Nguyên tắc chung của hệ thống định vị toàn cầu
Các hệ thống định vị toàn cầu hoạt động dựa trên nguyên tắc sử dụng phép đo khoảng cách từ vệ tinh đến máy thu, với giả thiết về sự đồng bộ hóa thời gian giữa các vệ tinh Các vệ tinh liên tục phát đi các tín hiệu chứa mã riêng biệt, thông tin vị trí và vận tốc của vệ tinh tại thời điểm truyền tín hiệu Để xác định vị trí, máy thu phải thu nhận được các tín hiệu vệ tinh này Đặc biệt, việc thu nhận tín hiệu vệ tinh cho các ứng dụng dân sự là hoàn toàn miễn phí, liên tục 24/7 và không bị ảnh hưởng nặng nề bởi thời tiết.
Hình 3.2 Mô tả việc thu nhận tín hiệu giữa vệ tinh và máy thu
Trong hệ thống định vị vệ tinh, vị trí của máy thu và máy phát thứ k được xác định bởi các tham số x, y, z Giả sử các đồng hồ vệ tinh và máy thu được đồng bộ hóa, máy thu có thể tính toán chính xác thời gian truyền tín hiệu dựa trên thông tin thời điểm bắt đầu phát tín hiệu và thời điểm thu nhận tín hiệu.
Để xác định vị trí của mình, máy thu cần nhận tín hiệu từ ít nhất 3 vệ tinh, và vị trí của 3 vệ tinh này sẽ là giao điểm duy nhất của 3 hình cầu có tâm là máy thu tín hiệu tương ứng Tuy nhiên, giả thiết ban đầu về sự đồng bộ hóa của các đồng hồ trên vệ tinh và máy thu là rất khó đạt được trong thực tế Sai số thời gian không được ước lượng tốt sẽ ảnh hưởng lớn đến độ chính xác của kết quả ước lượng vị trí máy thu, ví dụ sai số 1 nanô-giây sẽ gây ra sai số 30 cm trong vị trí ước lượng khoảng cách từ vệ tinh đến máy thu Do đó, cần ít nhất 4 vệ tinh để đồng bộ hóa tất cả thời gian từ máy thu với các vệ tinh.
Hình 3.3 Nguyên tắc định vị vị trí của hệ thống định vị
Trong đó X Y Z, , là hệ tọa độ của vật, x y z k , k , k lần lượt là vị trí thứ k của vệ tinh ở đây k=(1, 4).
Tổng quan về GPS
3.2.1 Tổng quan về hệ thống định vị GPS
Hệ thống GPS (Global Positioning System) là một phần của hệ thống định vị vệ tinh toàn cầu GNSS (Global Navigation Satellite System) được Bộ Quốc phòng Mỹ xây dựng và thiết kế từ những năm 1973, nhằm cung cấp thông tin vị trí và thời gian chính xác trên toàn thế giới.
Năm 1978, vệ tinh đầu tiên trong hệ thống định vị toàn cầu GPS đã được phóng thành công và bắt đầu thử nghiệm thu tín hiệu GPS với các máy thu đầu tiên, đánh dấu một bước ngoặt quan trọng trong việc xây dựng hệ thống này Ban đầu, mục đích chính của hệ thống GPS là hỗ trợ cho các hoạt động quân sự, nhưng sau đó nó đã mở rộng ra nhiều lĩnh vực khác trong cuộc sống.
Tín hiệu hệ thống GPS bao phủ toàn cầu và không bị ảnh hưởng của thời tiết
Hệ thống GPS được quản lý chặt chẽ, đảm bảo an ninh quốc gia cho nước Mỹ Từ năm 1995, Mỹ đã cho phép sử dụng hệ thống GPS ở mức độ dân sự nhất định, đồng thời giữ toàn quyền kiểm soát và có thể thay đổi chế độ hoạt động để hạn chế tín hiệu vệ tinh ở các khu vực cụ thể nếu cần thiết.
Hiện này GPS được ứng dụng đa dạng ở nhiều lĩnh vực như khoa học, quân sự, hàng không, nông nghiệp, ĐỒ ÁN TỐT NGHIỆP 26
3.2.2 Cơ cấu hệ thống GPS
3.2.2.1 Phần vũ trụ: chùm vệ tinh GPS
Hệ thống vệ tinh GPS bao gồm 30 vệ tinh, trong đó 27 vệ tinh hoạt động và 3 vệ tinh dự phòng, được đặt trên quỹ đạo quay quanh Trái Đất Với khoảng cách từ mặt đất là 20.200 km và bán kính quỹ đạo là 26.600 km, mỗi quỹ đạo có 4 vệ tinh chính được đánh số từ 1 đến 4, phân bố đều và di chuyển ổn định, hoàn thành hai vòng quỹ đạo trong một khoảng thời gian gần.
Quỹ đạo vệ tinh GPS cho phép các thiết bị trên bề mặt đất có thể "nhìn thấy" tối thiểu 4 vệ tinh vào bất kỳ thời điểm nào, nhờ vào cấu trúc quỹ đạo đặc biệt với vận tốc 7 nghìn dặm một giờ và chu kỳ quay quanh Trái Đất trong vòng 24 giờ.
Hình 3.4 Vệ tinh và quỹ đạo của vệ tinh GPS
3.2.2.2 Phần điều khiển: các trạm điều khiển mặt đất
Trạm điều khiển trung tâm đóng vai trò quan trọng trong việc theo dõi trạng thái của vệ tinh, quản lý quỹ đạo và duy trì thời gian GPS để dự đoán các thông số quỹ đạo Để thực hiện nhiệm vụ này, trạm trung tâm cần sự hỗ trợ của các trạm điều khiển khác trên toàn cầu, được trang bị máy thu GPS chất lượng cao để tính toán quỹ đạo chính xác của vệ tinh và sai số thời gian Quá trình đồng bộ hóa vệ tinh được mã hóa trong bảng thông tin định vị và truyền đi cùng tín hiệu vệ tinh, trong khi liên lạc giữa trạm trung tâm và vệ tinh được thực hiện thông qua anten mặt đất.
Hình 3.5 Cấu trúc bộ phận điều khiển của hệ thống định vị GPS
Máy thu GPS đầu tiên dành cho các ứng dụng định vị chính xác cao được sản xuất và bán vào năm 1980 với giá hàng trăm USD Ngày nay, các máy thu phát hiện đại có nhiều chức năng hơn và gọn nhẹ hơn, nhưng giá cả vẫn ở mức hàng ngàn USD Các tín hiệu thu phát GPS phổ biến hiện nay hỗ trợ tối đa người dùng thông qua các thiết bị thu phát hiện đại, cung cấp nhiều giao diện người dùng và các thiết bị giải mã tín hiệu.
Hình 3.6 Thiết bị nhu nhận GPS
3.2.3 Tín hiệu hệ thống GPS
Hệ thống GPS sử dụng tín hiệu bao gồm ba thành phần chính: sóng mang, mã và dữ liệu định vị Các vệ tinh GPS truyền tín hiệu liên tục trên hai tần số trong dải băng L, bao gồm L1 với tần số trung tâm 1575,42 MHz dành cho các lĩnh vực dân sự và L2 với tần số trung tâm 1227,60 MHz dành cho các ứng dụng quân sự.
Mã là một dãy duy nhất gồm giá trị -1 và 1 được tạo ra cho mỗi vệ tinh, cho phép tất cả các vệ tinh truyền tín hiệu đồng thời trên cùng một tần số mà không bị nhiễu Việc truyền các mã khác nhau cho phép máy thu nhận biết được vệ tinh cụ thể nào đang truyền tín hiệu Trong hệ thống định vị toàn cầu GPS, các dãy mã này còn được gọi là mã PRN, đóng vai trò quan trọng trong việc xác định vị trí và định hướng chính xác.
Mỗi vệ tinh truyền đi hai mã khác nhau, bao gồm mã C/A (Clear/Access) và mã P được mã hóa thành mã Y, ký hiệu là P(Y) Để kết hợp sóng mang truyền đi, các mã của vệ tinh được kết hợp với dữ liệu định vị bằng phép cộng Moduel 2, tạo ra tín hiệu nhị phân Tín hiệu này sau đó được trộn với sóng mang bằng kỹ thuật Binary Phase Shift Keying (BPSK), trong đó giá trị -1 không làm thay đổi sóng mang, còn giá trị 1 làm cho sóng mang phải nhân với -1.
1 ( điều này tương ứng với pha của sóng mang thay đổi một góc 180 )
Việc nhận biết mã C/A chủ yếu được sử dụng cho mục đích dân sự tương đối đơn giản do chiều dài mã chỉ khoảng 1023 bit Ngược lại, việc xác định mã P(Y) dành cho mục đích quân sự đòi hỏi nhiều thời gian hơn do mã có chiều dài lớn hơn đáng kể Khi tín hiệu tạo và tín hiệu thu được trùng khớp, máy thu sẽ xác nhận đã nhận được tín hiệu từ vệ tinh.
Máy thu GPS có khả năng tính toán và hiển thị vị trí, tốc độ và thời gian của mình trên màn hình Ngoài ra, các máy thu chất lượng cao còn cung cấp các giá trị đo khoảng cách từ vệ tinh tới máy thu, cho phép người dùng tính toán vị trí, tốc độ và thời gian bằng phần mềm độc lập Điều này mở ra cơ hội để thử nghiệm và áp dụng các thuật toán mới nhằm nâng cao độ chính xác của kết quả định vị.
3.2.4 Các nguồn sai số của phép đo tín hiệu vệ tinh định vị
Các nguồn sai số của tín hiệu vệ tinh định vị toàn cầu, ảnh hưởng đến kết quả định vị vị trí, vận tốc và thời gian của máy thu, có thể được chia thành 4 nguồn chính.
- Sai số do vệ tinh, tức là sai số đồng hồ vệ tinh và các nhiễu trong công nghệ định vị
Sai số tại các trạm điều khiển là một trong những yếu tố quan trọng ảnh hưởng đến độ chính xác của hệ thống vệ tinh Đặc biệt, sai số trong việc dự đoán và tính toán quỹ đạo của vệ tinh có thể gây ra những sai lệch đáng kể Những sai số này sẽ được truyền lên vệ tinh và mã hóa vào tín hiệu truyền xuống máy thu, do đó việc tối ưu hóa quá trình tính toán quỹ đạo vệ tinh là vô cùng quan trọng để đảm bảo độ chính xác của hệ thống.
Sai số trong quá trình truyền dữ liệu là một vấn đề quan trọng cần được xem xét Các nguồn gây sai số chính bao gồm tầng điện ly, tầng đối lưu và hiện tượng đa đường truyền do tín hiệu bị phản xạ, khiến máy thu nhận được những tín hiệu không mong muốn Ngoài ra, nhiễu gây ra bởi việc truyền phát các tín hiệu khác cũng là một yếu tố quan trọng cần được tính đến trong quá trình truyền dữ liệu.
- Sai số do máy thu, ví dụ như do nhiễu tại máy thu hay là sai số đồng hồ của máy thu ĐỒ ÁN TỐT NGHIỆP 29
Xác định vị trí tọa độ vật từ hệ thống GPS
Vĩ độ là góc tạo bởi mặt phẳng vĩ tuyến đi qua một điểm trên bề mặt trái đất và mặt phẳng vĩ tuyến gốc, với vĩ tuyến gốc là đường đi qua xích đạo có tham chiếu vĩ độ 0 trên toàn thế giới Các vĩ tuyến là những đường tròn đồng tâm trên bề mặt trái đất, và đường tạo bởi các điểm có cùng vĩ độ cũng được gọi là vĩ tuyến.
Vĩ tuyến sẽ dao động 90 Nvà 90 S
Kinh độ là góc tạo bởi mặt phẳng kinh tuyến đi qua một điểm trên bề mặt Trái đất và mặt phẳng kinh tuyến đi qua điểm gốc Một kinh tuyến là nửa đường trên bề mặt Trái đất nối hai cực, cực Bắc và cực Nam, đồng thời cắt thẳng góc với đường xích đạo Các điểm có cùng kinh độ tạo thành một đường gọi là kinh tuyến, và kinh tuyến gốc là đường đi qua Đài thiên văn Hoàng gia Greenwich, được lấy làm tham chiếu kinh độ 0° trên toàn thế giới Ngoài ra, kinh tuyến đối cực có kinh độ là 180° Tây và 180° Đông.
3.3.3 Phương pháp xác định tọa độ một điểm
3.3.3.1 Biểu diễn vĩ độ và kinh độ
Biểu diễn của kinh độ và vĩ độ tùy theo nhu cầu và mục đích sự dụng có một số cách biểu diễn như sau :
- DMS (Degree Minute Second): tức là biểu diễn theo độ phút giây ví dụ
- DM (Degree Minute): tức là biểu diễn theo độ phút ví dụ 48 4253.00 ' " N
- DD (Decemal Degree): tức là biểu diễn theo độ thập phân ví dụ 48.442N
3.3.3.2 Xác định tọa độ của một điểm
Ellipsoid, còn được gọi là hình cầu xoay, là một khái niệm quan trọng trong hình học không gian và địa lý Đây là một dạng hình học ba chiều có dạng tương tự như một quả cầu, nhưng được biến dạng bằng cách kéo dài hoặc nén theo các trục khác nhau Một ellipsoid được xác định bởi ba bán trục khác nhau, mỗi bán trục có thể có kích thước và hình dạng riêng biệt, tạo nên sự đa dạng trong hình dạng và kích thước của ellipsoid.
Trong địa lý và khoa học trái đất, ellipsoid đóng vai trò quan trọng trong việc mô hình hóa hình dạng của Trái Đất Trái Đất không phải là một quả cầu hoàn toàn mà là một ellipsoid, thường được gọi là "ellipsoid tham chiếu" (reference ellipsoid), được sử dụng làm mô hình ước lượng cho hình dạng bề mặt Trái Đất Ellipsoid tham chiếu này xác định đường xích đạo và đường kinh đạo thông qua các tham số, giúp biểu diễn tọa độ của một điểm theo thứ tự vĩ độ đến kinh độ một cách chính xác.
Trong hệ thống tọa độ WGS84, hình 3.7 thể hiện elipsoid tham chiếu với các tham số quan trọng Các tham số này được sử dụng rộng rãi trong các hệ thống định vị và bản đồ học, giúp định vị và đo lường vị trí trên bề mặt Trái Đất một cách chính xác và thống nhất.
Theo các nghiên cứu từ nước ngoài, việc tính toán chiều dài khi di chuyển của một độ có thể giúp xác định tọa độ của một điểm bằng cách phân tích sự thay đổi kinh độ và vĩ độ khi thay đổi vị trí.
Xác định tọa độ của một điểm bằng phương trình (3.3), (3.4)
111412.87cos( ) 93.5cos(3 ) 0.118cos(5 ) − + (3.4) Trong đó :
• là vĩ độ đơn vị là rad
• (3.3) là chiều dài tính bằng mét khi thay đổi 1 của vĩ độ dọc theo hướng Bắc- Nam đơn vị là m Deg/
• (3.4) là chiều dài tính bằng mét khi thay đổi 1 của kinh độ theo hướng Đông- Tây đơn vị là m Deg/ ĐỒ ÁN TỐT NGHIỆP 30
KHẢO SÁT MÔ HÌNH TOÁN VÀ MÔ PHỎNG
Mô phỏng mô hình trên Matlab-Simulink
Trong đề tài này, nhóm đã tập trung vào việc áp dụng bộ điều khiển PID làm phương pháp điều khiển chính Tuy nhiên, để nâng cao độ chính xác và ổn định của hệ thống trong tương lai, việc nghiên cứu và ứng dụng các phương pháp điều khiển khác là cần thiết Một số phương pháp điều khiển tiên tiến sẽ được nhóm nghiên cứu và mô phỏng để cải thiện chất lượng điều khiển của hệ thống.
4.2.1 Mô phỏng bộ điều khiển PID
Sơ đồ khối tổng thể của hệ thống điều khiển Quadcopter bằng bộ điều khiển PID ĐỒ ÁN TỐT NGHIỆP 32
Hình 4.3 Sơ đồ khối tổng thể của hệ thống điều khiển Quadcopter Đối với hệ thống điều khiển Quadcopter, bộ điều khiển của nó sẽ gồm 3 thành phần:
- Phương trình toán chuyển đổi giá trị điều khiển của bộ điều khiển vị trí thành bộ điều khiển cân bằng
- Bộ điều khiển vị trí cho Quadcopter
- Bộ điều khiển cân bằng cho Quadcopter
Hình 4.4 Mô phỏng bộ điều khiển PID trên Matlab Simulink ĐỒ ÁN TỐT NGHIỆP 33
Hình 4.5 Khối bộ điều khiển PID trên Matlab Simulink
Hình 4.6 Bộ điều khiển PID trên Matlab Simulink
Để tính phương trình chuyển đổi giá trị điều khiển của bộ điều khiển vị trí thành bộ điều khiển cân bằng, nhóm đã lấy các giá trị x, y, z từ phương trình (2.4) và các giá trị u_x, u_y, u_z tương ứng với các giá trị x, y, z từ phương trình (2.4), qua đó xây dựng phương trình chuyển đổi cần thiết.
Phương trình cũng có thể viết lại như sau :
Dựa vào phương trình (4.2) thực hiện biến đổi và một vài tính toán thu được công thức chuyển đổi sau:
Trong đó d , d , d lần lượt là các giá trị góc nghiêng roll đặt, pitch đặt và yaw đặt
4.2.2 Mô phỏng bộ điều khiển LQR
Dựa trên lý thuyết về bộ điều khiển LQR đã được trình bày, phương trình toán học (2.4) được sử dụng để xác định các biến trạng thái.
Tuyến tính hóa phương trình (4.4) quanh điểm cân bằng:
, 0, , 0, , 0, 0, 0, 0, 0, 0, 0 T eq eq eq eq x = x y z và u eq = mg , 0, 0, 0 T Sau đó phương trình trạng thái không gian tuyến tính thu được là:
Khi x t( )=x t( )−x eq ( )t là véc tơ trạng thái mới và u t ( ) = u t ( ) − u eq ( ) t là giá trị đầu vào biến thể, A và B được định nghĩa là:
Tín hiệu điều khiển phản hồi là : u t ( ) = − K t x t ( ) ( )
Với K t( )được xác định K t( )=R B P t − 1 − 1 ( )với P t( )là nghiệm của phương trình Riccati:
Các ma trận Q và R đóng vai trò quan trọng trong việc điều khiển hệ thống, khi chúng được chọn thủ công dựa trên ảnh hưởng của chúng đến hệ thống và tín hiệu điều khiển Cụ thể, ma trận Q tỷ lệ với thời gian xác lập, trong khi ma trận R tỷ lệ nghịch với năng lượng của tín hiệu điều khiển U Sự tương quan giữa các ma trận này quyết định phản ứng nhất thời và mức tiêu thụ năng lượng của hệ thống Đối với các mô hình phức tạp như Quadcopter, việc tìm ma trận K bằng phương trình (4.6) có thể gặp khó khăn, do đó, công cụ Matlab được sử dụng để giải quyết vấn đề này thông qua hàm lqr(A, B, Q, R).
Hình 4.8 Mô phỏng bộ điều khiển LQR trên Matlab Simulink ĐỒ ÁN TỐT NGHIỆP 37
Hình 4.9 Khối điều khiển LQR trên Matlab Simulink
Hình 4.10 Khối Quadcopter của bộ điều khiển LQR trên Matlab Simulink
4.2.3 Mô phỏng bộ điều khiển PID thích nghi
Cấu trúc của bộ điều khiển thích nghi dựa trên cấu trúc của bộ PID thông thường có phương trình: p D I u=K e+K e+K e (4.7) ĐỒ ÁN TỐT NGHIỆP 38
Bộ điều khiển sử dụng sai số điều khiển e = yd - y, trong đó yd là giá trị đặt trước và y là giá trị đáp ứng thực tế, để thực hiện các thay đổi thích hợp trên hệ số điều khiển KP, KI, D Việc chọn hệ số điều khiển phù hợp là rất quan trọng và phụ thuộc vào từng trường hợp làm việc cụ thể Luật thích nghi của bộ điều khiển sẽ đẩy các sai số điều khiển hội tụ về các vùng sai số mong muốn, giúp cải thiện hiệu suất điều khiển.
Trong đó P , I , D và P , I , D là hệ số học, e là sai số, K P ,K K I , D là hệ số PID khởi tạo ban đầu
Trong hệ phương trình này, hệ số điều khiển K P được điều chỉnh dựa trên giá trị của P khi sai số điều khiển vượt ra ngoài vùng sai số mong muốn, giúp tối ưu hóa quá trình điều khiển và đạt được kết quả chính xác hơn.
Hệ số điều khiển K i sẽ thay đổi dựa trên sai số cộng dồn, với sai số càng lớn thì I sẽ giúp điều chỉnh K i để giảm độ vọt lố và ngược lại Hệ số điều khiển K D sẽ được điều chỉnh dựa vào D khi sai số và đạo hàm theo thời gian của nó có dấu ngược nhau, cho thấy sự hội tụ của hệ thống vòng kín Tốc độ học tập của hệ số điều khiển cũng phụ thuộc vào sai số hiện tại so với sai số mong muốn, và các hệ số P, I, D sẽ hiệu chỉnh phần năng lượng thay đổi đột ngột khi K P, K I, D tăng đột ngột và dốc.
Hình 4.11 Mô phỏng bộ điều khiển PID thích nghi trên Matlab Simulink
Hình 4.12 Bộ điều khiển PID thích nghi trên Matlab Simulink ĐỒ ÁN TỐT NGHIỆP 40
THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
Lưu đồ điều khiển hệ thống
Hệ thống điều khiển Quadcopter nhóm chia thành 3 phần :
Điều khiển Quadcopter là một hệ thống phức tạp bao gồm các cảm biến đo tham số góc quay, truyền tín hiệu về vi điều khiển Master được cấp nguồn pin, từ đó điều khiển 4 động cơ thông qua mạch điều tốc ESC Các tín hiệu cảm biến được đọc và gửi về máy tính thông qua mạng không dây Module Lora, trong khi các tín hiệu điều khiển Quadcopter được gửi thông qua Module Radio, tạo nên một hệ thống điều khiển từ xa linh hoạt và chính xác.
Module thu tín hiệu GPS đóng vai trò quan trọng trong hệ thống định vị, hoạt động bằng cách đọc và truyền tín hiệu về vi điều khiển Slave thông qua nguồn cấp pin Sau khi thu thập thông tin, dữ liệu sẽ được truyền về vi điều khiển Master thông qua giao tiếp UART, cho phép hệ thống xử lý và phân tích thông tin một cách chính xác.
Quá trình thu thập dữ liệu được thực hiện thông qua việc gửi dữ liệu từ vi điều khiển Master về máy tính thông qua cổng USB to TTL, kết nối với Module mạng không dây Lora, cho phép truyền tải dữ liệu một cách hiệu quả và chính xác.
Hình 5.1 Lưu đồ điều khiển Quadcopter
Hình 5.2 Lưu đồ thu tín hiệu GPS ĐỒ ÁN TỐT NGHIỆP 41
Hình 5.3 Lưu đồ thu thập dữ liệu
Lựa chọn thiết bị
Với việc dễ dàng sử dụng, thư viện hỗ trợ, cộng đồng sử dụng lớn của Arduino
Vì vậy nhóm chọn Arduinio làm vi điều khiển điều khiển Quadcopter
Hình 5.4 Arduino Mega 2560 Thông số kỹ thuật :
• Bộ nhớ flash memory 256 KB ĐỒ ÁN TỐT NGHIỆP 42
• Điện áp hoạt động : 5 VDC
• Số chân Digital: 54 chân (15 chân PWM)
• Tần số xung clock : 16Mhz
• 4 cổng serial giao tiếp với phần cứng
• 1 thạch anh với tần số dao động 16MHz
5.2.2 Cảm biến Để hệ thống Quadcopter cân bằng thì cảm biến đóng một vai trò quan trọng trong việc điều khiển Để điều khiển được Quadcopter thì cần những thông tin cần có như gia tốc góc, vận tốc góc, góc nghiêng , độ cao, từ trường và một vài thông tin khác Với những thông tin trên thì cảm biến con quay hồi chuyển và gia tốc kết là tín hiệu hồi tiếp cho Quadcopter để điều khiển cân bằng Ngoài cảm biến trên, cũng cần cảm biến độ cao và cảm biến từ trường
Quadcopter lựa chọn 3 cảm biến: cảm biến MPU6050, HMC5883L và DFRobot
Bộ cảm biến trên Quadcopter bao gồm TF Mini Plus ToF Laser Range Sensor (TF mini), MPU6050 là cảm biến con quay hồi chuyển (Gyroscope) và gia tốc kế (Accelerometer), và cảm biến HMC5883L là cảm biến la bàn đo từ trường Cảm biến TF mini đóng vai trò quan trọng trong việc đo độ cao của Quadcopter Hai cảm biến MPU6050 và HMC5883L được kết nối với mạch điều khiển thông qua giao tiếp I2C, cho phép chúng giao tiếp với nhau một cách hiệu quả.
Hình 5.5 Cảm biến MPU6050 và cảm biến HMC5883L ĐỒ ÁN TỐT NGHIỆP 43
Bảng 5.1 Thông số kỹ thuật cảm biến MPU6050 và cảm biến HMC5883L
Ngưỡng đo con quay hồi chuyển (Deg/s):
Phạm vi đo gia tốc kế (g): 2, 4, 8, 16 Độ chính xác (Deg): 1-2
Kích thước (mm): 21x16 Kích thước (mm): 22x17
Hình 5.6 Cảm biến DFRobot TF Mini Plus
• Dòng điện tối đa: 500mA
• Phương thức giao tiếp: UART, I2C
5.2.3 Động cơ và ESC Động cơ đóng vai trò rất quan trọng và là cơ cấu chấp hành của hệ Quadcopter
Việc lựa chọn động cơ phù hợp đóng vai trò quan trọng trong việc điều khiển Quadcopter Động cơ không chổi than (BLDC) là lựa chọn lý tưởng nhờ sở hữu những ưu điểm vượt trội, bao gồm moment quán tính lớn, khả năng tăng giảm tốc nhanh chóng, hiệu suất cao lên đến 90% và tốc độ quay lớn Động cơ SunySky X2212 là lựa chọn phù hợp cho mô hình này, kết hợp với cánh quạt 7 inch 3 cánh để đảm bảo lực nâng tối ưu, dựa trên báo cáo kiểm tra của nhà sản xuất và phù hợp với tổng khối lượng của Quadcopter.
Động cơ không chổi than được điều khiển tốc độ thông qua bộ điều tốc điện tử (ESC), cho phép điều chỉnh tốc độ quay của động cơ một cách chính xác Cơ chế cấp xung PWM của ESC hoạt động dựa trên việc điều chỉnh độ lớn của xung điện, tương ứng với giá trị nhỏ nhất và lớn nhất, để cấp điện áp phù hợp cho động cơ không chổi than Nhờ đó, động cơ có thể quay với tốc độ tương ứng, đáp ứng nhu cầu sử dụng đa dạng.
Do vậy ESC mà nhóm chọn là ESC HOBBYWING 30A
Hình 5.7 Động cơ không chổi than SunnySky X2212 V3
Hình 5.8 Kích thước động cơ SunnySky X2212 V3 ĐỒ ÁN TỐT NGHIỆP 45
Hình 5.9 Báo cáo kiểm tra lực nâng của nhà sản xuất
Hình 5.10 Cánh quạt 7 inch ĐỒ ÁN TỐT NGHIỆP 46
Hình 5.11 là ESC HOBBYWING 30A Thông số kỹ thuật :
• Dòng chịu tải liên tục 30A
• Dòng chịu tải tức thời 40A
• Điện áp pin Lipo Cell 2-3S
5.2.4 Thiết bị truyền nhận không dây
5.2.4.1 Lựa chọn thiết bị cho tay cầm
Module thu phát NRF24L01P EO1-2G4M27D sở hữu thiết kế nhỏ gọn, cho phép kết nối không dây dễ dàng sử dụng, ổn định và tiết kiệm chi phí Ưu điểm của sản phẩm này còn nằm ở khả năng truyền tín hiệu xa lên đến 5000m trong điều kiện không có vật cản, đồng thời hoạt động trên dải tần 2.4GHz và sử dụng giao tiếp SPI, mang lại kết nối đáng tin cậy và ít bị ảnh hưởng bởi vật cản.
Hình 5.12 NRF24L01P EO1-2G4M27D ĐỒ ÁN TỐT NGHIỆP 47
• Truyền được 1000m trong môi trường mở với 250kbps baud
• Tốc độ truyền dữ liệu qua sóng: 250kbps to 2Mbps
• Tự động bắt tay (Auto Acknowledge)
• Tự động truyền lại khi bị lỗi (auto Re-Transmit)
• Bộ đệm dữ liệu riêng cho từng kênh truyền nhận: 32 Byte separate TX and RX FIFOs
• Các chân IO đều chịu được điện áp vào 5V
• Lập trình được kênh truyền sóng trong khoảng 2400MHz đến 2525MHz (chọn được 125 kênh)
5.2.4.2 Thiết bị truyền tín hiệu về máy tính
Module RF SX1278 Lora E32-433T20D 433Mhz là giải pháp kết nối không dây lý tưởng với chip SX1728 và chuẩn giao tiếp Lora, mang lại khả năng sử dụng dễ dàng, tiết kiệm năng lượng và kết nối ổn định Tín hiệu ổn định và mạnh mẽ cho phép module này đạt khoảng cách truyền tối đa lên tới 3000m trong điều kiện không có vật cản, đảm bảo kết nối đáng tin cậy.
Hình 5.13 E32-433T20D 433Mhz Thông số kỹ thuật: ĐỒ ÁN TỐT NGHIỆP 48
• Điện áp hoạt động : 2.3 ~5.5 VDC
• Tốc độ truyền: 0.3 – 19.2 Kbps (mặc định 2.4 Kbps)
• Giao tiếp UART Data bits 8, Stop bits 1, Parity none, tốc độ từ 1200-
• Dung lượng bộ nhớ đệm: 512 Bytes
• Hỗ trợ 65536 địa chỉ cấu hình
• Dòng điện làm việc: 110mA
Để truyền nhận dữ liệu về máy tính một cách đơn giản và hiệu quả, nhóm đã lựa chọn mạch chuyển đổi USB to TTL CP2102 Đây là thiết bị có chức năng chuyển đổi USB sang UART, sở hữu kích thước nhỏ gọn, dễ dàng thao tác và sử dụng Với trọng lượng chỉ 8g, mạch chuyển đổi này mang lại sự tiện lợi và linh hoạt trong quá trình sử dụng.
Hình 5.14 USB to TTL CP2102 Thông số kỹ thuật:
• Hỗ trợ tốc độ truyền trong khoảng 300bps ~ 1Mbps
• Kích thước chiều dài : 30mm ĐỒ ÁN TỐT NGHIỆP 49
Module NEO-ORC-20CM là một giải pháp GPS chất lượng cao, cung cấp nhiều tùy chọn cấu hình để đáp ứng nhu cầu sử dụng đa dạng Với 92 kênh, module này có khả năng nhận tín hiệu từ các hệ thống định vị toàn cầu khác, mang lại độ chính xác cao cho các ứng dụng định vị.
~20CM Điều này tối ưu hóa sự chính xác của vị trí trong điều kiện không lý tưởng Module có thể cấu hình bằng nhiều cách qua UART, I2C
Hình 5.15 Module NEO-ORC-20CM và anten thu GPS
• Giao thức: NEMA, UBX, RTCM3
• Phương thức giao tiếp: UART, USB, SPI, I2C
Module GPS NEO-ORC-20CM yêu cầu một vi điều khiển giao tiếp để đọc và xử lý tín hiệu thu về Do đó, việc thiết kế một hộp chứa module để gắn trên cùng là vô cùng cần thiết.
Quadcopter trong quá trình bay, hộp thiết kế cần chắc chắn và gọn nhẹ để giảm tải cho Quadcopter
Hình 5.16 Mặt dưới của hộp module GPS
Hình 5.17 Mặt trên của hộp module GPS Thông số kỹ thuật:
• Kích thước mặt dưới: 117x100x58mm
• Kích thước mặt trên: 117x100x5mm
• Độ dày của hộp : mặt trên 2mm, mặt dưới 2mm
Thiết kế phần cứng
Khung Quadcopter được thiết kế thành 2 phần chính là phần thân và phần cánh tay, phục vụ mục đích gắn các mạch điều khiển, mạch ESC và động cơ Để đảm bảo sự chắc chắn và dễ dàng thay thế, phần cánh tay và khung cần được thiết kế cẩn thận Nhóm đã lựa chọn chất liệu PLA có khả năng chịu nhiệt cao và chống va đập tốt cho khung Quadcopter Quá trình thiết kế khung được thực hiện trên phần mềm SolidWork, giúp tạo ra một thiết kế tối ưu và chính xác.
Hình 5.18 Khung và thân Quadcopter Thông số kỹ thuật:
• Chiều dài đường chéo : 470mm
• Độ dày cánh tay: 6mm
5.3.2 Thiết kế bảo vệ cánh
Bảo vệ cánh là một bộ phận quan trọng của Quadcopter, giúp ngăn chặn những va đập không mong muốn khi thiết bị bay vào tường hoặc các chướng ngại vật khác trong hành trình bay Với thiết kế tinh tế trên phần mềm SolidWork, bảo vệ cánh được in ấn bằng chất liệu nhựa PLA, mang lại độ bền và an toàn cao cho thiết bị.
Hình 5.19 Bảo vệ cánh ĐỒ ÁN TỐT NGHIỆP 52
• Độ dày : phần bảo vệ 5mm và phần đế là 3mm
5.3.3 Thiết kế tay cầm điều khiển Ở chế độ điều khiển cơ bản bằng tay, tay cầm là một phần quan trọng không thể thiếu trong việc điều khiển Quadcopter Tay cầm phải đảm bảo các chức năng như truyền nhận không dây với Quadcopter và điểu khiển Quadcopter ở vị trí mong muốn tay cầm được thiết kế trên SolidWorks và được in bằng chất liệu nhựa PLA
Hình 5.20 Mặt trên của tay cầm điều khiển
Hình 5.21 Mặt dưới của tay càm điều khiển Thông số kỹ thuật:
• Kích thước mặt trên: 166x86x6mm
• Kích thước mặt dưới: 166x86x26mm
5.3.4 Thiết kế hộp bảo vệ mạch điều khiển
Trong quá trình bay, thiết bị có thể gặp phải những va đập và thời tiết xấu không đáng có, do đó nhóm thiết kế đã tạo ra hộp bảo vệ mạch điều khiển bằng chất liệu PLA để đảm bảo an toàn và ổn định cho thiết bị.
Hình 5.22 Hộp bảo vệ mạch điều khiển Thông số kỹ thuật:
Nhóm đã thiết kế và lắp ráp các thành phần của Quadcopter trong môi trường Assem của SolidWorks, cho phép quan sát thiết kế từ nhiều góc độ khác nhau, bao gồm nhìn từ trên xuống theo phương thẳng đứng, nhìn từ dưới lên, nhìn từ phía bên phải và nhìn từ góc nghiêng từ trên xuống.
Hình 5.23 Mô hình trong Quadcopter hoàn chỉnh trong SolidWorks a) Toàn bộ tay cầm nhìn từ trên xuống b) Toàn bộ tay cầm nhìn từ dưới lên
Hình 5.24 Tay cầm điều khiển hoàn chỉnh trong SolidWorks
Thiết kế giao diện
Giao diện người dùng đóng vai trò quan trọng trong hệ thống điều khiển, nơi diễn ra sự tương tác giữa người vận hành và máy móc Để đảm bảo hiệu suất hoạt động tối ưu, giao diện cần được thiết kế với đầy đủ các chức năng cần thiết, cho phép người dùng có thể giám sát và kiểm soát toàn bộ hệ thống một cách dễ dàng và hiệu quả.
Trong đồ án này, nhóm đã tận dụng phần mềm Qt Designer để thiết kế giao diện người dùng và phát triển ứng dụng bằng ngôn ngữ lập trình Python với sự hỗ trợ của PyQt5 Giao diện được chia thành bốn khu vực chính, giúp người dùng dễ dàng tương tác và thực hiện các chức năng cần thiết.
- Thanh công cụ bên trái để chọn các chức năng, các màn hình của giao diện
- Khu vực điều khiển các chức năng của giao diện
- Khu vực hiển thị các thông số của Quadcopter
- Khu vực điều khiển giao diện ĐỒ ÁN TỐT NGHIỆP 55
Hình 5.25 Màn hình bắt đầu (Home)
Hình 5.26 Màn hình quan sát dữ liệu rpy (IMU) dưới dạng đồ thị ĐỒ ÁN TỐT NGHIỆP 56
Hình 5.27 Màn hình quan sát xyz (Position) dưới dạng đồ thị
Hình 5.28 Màn hình quan sát u (Force) dưới dạng đồ thị ĐỒ ÁN TỐT NGHIỆP 57
Hình 5.29 Màn hình quan sát omega (Velocity) dưới dạng đồ thị
Hình 5.30 Màn hình quan sát pin (Battery) và cảm biến dưới dạng Gauss ĐỒ ÁN TỐT NGHIỆP 58
Hình 5.31 Màn hình chọn đồ thị muốn hiển thị
Hình 5.32 Màn hình tổng quan và cài đặt giao diện (Settings)
Cụ thể chức năng của giao diện bao gồm:
- Màn hình Home: sẽ là phần màn hình bắt đầu hiển thị tên đề tài
- Màn hình Setings: sẽ chia ra từng khu vực như ở Hình 5.28 ĐỒ ÁN TỐT NGHIỆP 59
Khu vực 1 đóng vai trò quan trọng trong việc hiển thị thông tin về vị trí hiện tại của Quadcopter, bao gồm cả giá trị x hiện tại, y hiện tại và z hiện tại, được gửi về từ vi điều khiển Thông tin này cung cấp cái nhìn tổng quan về trạng thái hiện tại của thiết bị, giúp người dùng theo dõi và kiểm soát dễ dàng hơn.
Khu vực 2 đóng vai trò quan trọng trong việc hiển thị thông tin quan trọng được gửi về từ vi điều khiển, bao gồm các giá trị góc nghiêng hiện tại của Quadcopter như roll hiện tại, pitch hiện tại và yaw hiện tại, giúp người dùng theo dõi và kiểm soát tình trạng của thiết bị một cách chính xác.
Khu vực 3 là nơi kết nối với vi điều khiển, người dùng cần chọn cổng COM và tốc độ truyền dữ liệu (baurate) phù hợp Khi nhấn nút "Connect", vi điều khiển sẽ được kết nối với máy tính, ngược lại khi nhấn nút "Disconnect" Để gửi dữ liệu từ máy tính đã được thiết lập ở các khu vực 4 và khu vực khác, người dùng chỉ cần nhấn nút "Send".
• Khu vực 4: Để người dùng đặt các giá trị đặt góc nghiêng cho Quadcopter
Khu vực 5 cho phép người dùng đặt các giá trị vị trí mong muốn cho Quadcopter Để lưu trữ các giá trị này, người dùng cần nhấn nút "Set" để cài đặt các giá trị đặt ở khu vực 4 và khu vực 5, từ đó giúp thiết lập vị trí chính xác cho thiết bị.
“Start” để máy tính bắt đầu nhận dữ liệu từ vi điều khiển và nhấn nút
Khu vực 6 cho phép người dùng chuyển đổi linh hoạt giữa các màn hình hiển thị khác nhau, đáp ứng nhu cầu sử dụng đa dạng Tại đây, người dùng có thể quan sát và theo dõi các dữ liệu quan trọng như góc nghiêng, vị trí, lực, vận tốc và tình trạng pin, giúp họ nắm bắt thông tin một cách toàn diện và chính xác.
Các trang quan sát màn hình dữ liệu cung cấp thông tin chi tiết về các giá trị tương ứng, chẳng hạn như trang quan sát góc nghiêng hiển thị các giá trị góc như roll, pitch, yaw hiện tại và các giá trị góc đặt được vẽ theo thời gian, giúp người dùng theo dõi và phân tích dữ liệu một cách hiệu quả.
KẾT QUẢ ,NHẬN XÉT VÀ ĐÁNH GIÁ
Kết quả thi công mô hình
Sau khi hoàn thiện thiết kế và lựa chọn thiết bị như đã trình bày ở chương 5, nhóm đã tiến hành thi công mô hình Quadcopter và đạt được kết quả như mong đợi Mô hình Quadcopter hoàn thiện có thiết kế ấn tượng với hình ảnh được chụp từ nhiều góc độ khác nhau, bao gồm cả nhìn từ trên xuống và nhìn từ phía góc phải, thể hiện rõ ràng cấu trúc và chi tiết của mô hình Hình ảnh thực tế của mô hình Quadcopter được thể hiện ở hình 6.1, giúp người xem có cái nhìn tổng quan và chi tiết về sản phẩm cuối cùng.
Phần cứng được lắp ở trên khung Hình 6.1 bao gồm :
- Động cơ khổi chổi than X2212 1400kv và cánh quạt ba cánh 7 inch
- Bộ điều tốc ESC HOBBYWING 30A
- Cảm biến IMU bao gồm MPU6050 và HMC5883L
- Cảm biến lidar DFRobot TF Mini Plus
- Module thu tín hiệu GPS
- Module RF SX1278 Lora E32-433T20D 433Mhz
- Mạch hạ áp ĐỒ ÁN TỐT NGHIỆP 58
- Mạch chiết áp đo giá trị điện áp pin
Tay cầm được nhóm thi công theo thiết kế nhóm đã trình bày
Hình 6.2 Kết quả thi công tay cầm điều khiển Phần cứng của tay cầm bao gồm:
Các chức năng của tay cầm điều khiển
- Truyền nhận tín hiệu không dây, thao tác các nút nhấn “Start”, “Stop” và
“Emer” điều khiển trạng thái, công tắc gạt để chọn chế độ điều khiển bằng tay cầm hay tự động của quadcopter
- Gửi tín hiệu Joysticks về Quadcopter tính toán các giá trị đặt
- Có khả năng kết nối dữ liệu với máy tính: nhận các giá trị đặt được gửi từ giao diện điều khiển gửi đến Quadcopter
Module nhận tín hiệu LoRa:
- Kết nối với giao diện trên máy tính: ĐỒ ÁN TỐT NGHIỆP 59
• Gửi các giá trị đặt cho Quadcopter
• Nhận các giá trị trạng thái của Quadcopter như góc nghiêng, vị trí
Hình 6.3 Mô hình máy bay thực tế và tay cầm điều khiển
Kết quả mô phỏng
Trong phần mô phỏng này, nhóm sẽ trình bày các kết quả mô phỏng của bộ điều khiển PID, LQR và PID thích nghi với các tín hiệu đầu vào khác nhau để đánh giá và so sánh hiệu suất của từng bộ điều khiển Đồng thời, nhóm sẽ tiến hành mô phỏng từng bộ điều khiển trong hai trường hợp cụ thể là có nhiễu và không nhiễu, nhằm đánh giá khả năng chống nhiễu và độ ổn định của từng bộ điều khiển.
Dưới đây là bảng thông số mô hình mà nhóm đã lấy từ bài nghiên cứu trước đây
Bảng 6.1 Thông số mô hình Quadcopter
Nhóm tiến hành tạo nhiễu ở các tín hiệu x y z, , có biên độ là 4cm và có biên độ là 1 độ ĐỒ ÁN TỐT NGHIỆP 60
Hình 6.4 Khối tạo nhiễu trên Matlab Simulink
Hình 6.5 Nhiễu cho xyz (cm)
Hình 6.6 Nhiễu cho (Deg) ĐỒ ÁN TỐT NGHIỆP 61
6.2.2 Bộ điều khiển PID Ở bộ điều khiển này, nhóm tiến hành mô phỏng trong 2 trường hợp là không nhiễu và có nhiễu Mỗi trường hợp nhóm sẽ tiến hành làm 3 thí nghiệm:
- Đặt các biến giá trị đầu vào x, y, z, 𝜓 là các hằng số
- Đặt các biến giá trị đầu vào x, y, 𝜓 là hằng số Giá trị đầu vào của z là hàm Pulse có chu kỳ là 15s với biên độ từ 2 đến 12m
- Đặt các biến giá trị đầu vào z, 𝜓 là hằng số Các giá trị x, y sẽ là một đường tròn trên mặt phẳng x,y có tâm là (0,0) và đường kính là 50cm
Dưới đây là bảng thông số của bộ PID trong mô phỏng
Bảng 6.2 Thông số bộ điều khiển PID x y z
Thí nghiệm 1: Giá tri đặt là các hằng số ( , , , )x y z =(1.5, 1.5,5,0.5)−
Hình 6.7 Đáp ứng bộ điều khiển PID với tín hiệu là hằng số
Bảng 6.3 Đáp ứng của bộ điều khiển PID ĐỒ ÁN TỐT NGHIỆP 62
Giá trị ban đầu Giá trị đặt (m) Thời gian xác lập
Sai số xác lập Độ vọt lố (%) x 0 1.5 4 0.012 0.022 y 0 -1.5 4 0.01 0.02 z 0 5 4.5 0 0.035
Kết quả trên cho thấy hệ thống có phản ứng tốt với bộ điều khiển PID khi không có nhiễu, thể hiện qua sai số xác lập gần như bằng 0 và độ vọt lố thấp Tuy nhiên, thời gian xác lập vẫn còn khá lớn, cho thấy vẫn còn tiềm năng cải thiện hiệu suất của hệ thống.
Thí nghiệm 2: Giá tri đặt ( , , )x y =(1.5, 1.5,0.5)− Giá trị đầu vào của z là hàm Pulse có chu kỳ là 15s với biên độ từ 2m đến 12m
Hình 6.8 Đáp ứng bộ điều khiển PID với tín hiệu z là hàm Pulse
Kết quả thử nghiệm cho thấy hệ thống có phản ứng tốt với bộ điều khiển PID khi không có nhiễu, với giá trị đặt của z là hàm Pulse có chu kỳ 15s và biên độ từ 2m đến 12m thay đổi liên tục Kết quả cho thấy sai số xác lập gần như bằng 0, độ vọt lố trong phạm vi chấp nhận được, mặc dù thời gian xác lập vẫn còn khá lớn.
Kết quả thí nghiệm 3 cho thấy giá trị đặt vào của (z, 𝜓) là (5, 0.5), dẫn đến việc các giá trị x, y tạo thành một đường tròn trên mặt phẳng x,y với tâm tại (0,0) và đường kính là 50cm.
Hình 6.9 Đáp ứng bộ điều khiển PID với tín hiệu là đường tròn
Hình 6.10 Kết quả đáp ứng hình tròn của bộ điều khiển PID
Kết quả cho thấy hệ thống có bộ điều khiển PID hoạt động hiệu quả khi không có nhiễu, với giá trị đặt là đường tròn trên mặt phẳng x,y có tâm tại (0,0), cho ra kết quả đáp ứng chất lượng tốt và khả quan Sai số xác lập nhỏ và tín hiệu điều khiển đáp ứng bám sát giá trị đặt, thể hiện khả năng điều khiển chính xác của hệ thống.
Thí nghiệm 4: Giá tri đặt là các hằng số ( , , , )x y z =(1.5, 1.5,5,0.5)−
Hình 6.11 Đáp ứng bộ điều khiển PID với tín hiệu là hằng số khi có nhiễu
Bảng 6.4 Đáp ứng của bộ điều khiển PID khi có nhiễu Giá trị ban đầu Giá trị đặt (m) Thời gian xác lập
Sai số xác lập Độ vọt lố (%) x 0 1.5 4.7 0.012 0.12 y 0 -1.5 4.7 0.01 0.1 z 0 5 5 0 0.01
Kết quả cho thấy hệ thống có thể đáp ứng tốt với bộ điều khiển PID khi có nhiễu và giá trị đặt là hằng số, với sai số xác lập nhỏ Tuy nhiên, hệ thống vẫn còn tồn tại một số hạn chế, bao gồm độ vọt lố và thời gian xác lập còn lớn, cần được cải thiện để đạt được hiệu suất tốt hơn.
Thí nghiệm 5: Giá tri đặt ( , , )x y =(1.5, 1.5,0.5)− Giá trị đầu vào của z là hàm Pulse có chu kỳ là 15s với biên độ từ 2m đến 12m ĐỒ ÁN TỐT NGHIỆP 65
Hình 6.12 Đáp ứng bộ điều khiển PID với tín hiệu z là hàm Pulse khi có nhiễu
Kết quả trên cho thấy hệ thống có khả năng đáp ứng tốt với bộ điều khiển PID khi có nhiễu, đặc biệt là khi giá trị đặt của z là hàm Pulse có chu kỳ là 15s với biên độ từ 2m đến 5m Điều này chứng tỏ rằng bộ điều khiển PID có thể hiệu chỉnh và điều chỉnh hệ thống một cách linh hoạt để đạt được giá trị đặt mong muốn, ngay cả trong điều kiện có nhiễu.
Sau 12 phút, thiết bị đã trải qua những thay đổi liên tục và cho ra kết quả đáp ứng được chấp nhận với sai số xác lập nhỏ Tuy nhiên, vẫn còn tồn tại những hạn chế như độ vọt lố và thời gian xác lập còn tương đối lớn.
Thí nghiệm 6: Giá trị đặt vào của ( z, 𝜓) =(5, 0.5) Các giá trị x, y sẽ là một đường tròn trên mặt phẳng x,y có tâm là (0,0) và đường kính là 50cm
Hình 6.13 Đáp ứng điều khiển PID với tín hiệu là đường tròn khi có nhiễu ĐỒ ÁN TỐT NGHIỆP 66
Hình 6.14 Kết quả đáp ứng đường tròn bộ điều khiển PID có nhiễu
Kết quả thử nghiệm cho thấy hệ thống có khả năng đáp ứng tốt với bộ điều khiển PID khi có nhiễu, đặc biệt là khi giá trị đặt là đường tròn trên mặt phẳng x,y có tâm tại (0,0) Mặc dù tín hiệu điều khiển vẫn còn xuất hiện một số gai do ảnh hưởng của nhiễu, nhưng tín hiệu điều khiển vẫn có thể vẽ đường tròn một cách chính xác và bám sát giá trị đặt, cho thấy khả năng hoạt động ổn định và hiệu quả của hệ thống.
Kết quả từ 6 thí nghiệm cho thấy hệ thống với bộ điều khiển PID đáp ứng tốt trong cả trường hợp không nhiễu và có nhiễu với nhiều dạng tín hiệu đầu vào khác nhau Mặc dù vẫn còn xuất hiện một số gai nhiễu khi sử dụng bộ lọc thông thấp, nhưng kết quả đáp ứng vẫn khả quan và tín hiệu đáp ứng vẫn bám sát tín hiệu đặt.
6.2.3 Bộ điều khiển nâng cao LQR Ở bộ điều khiển này, nhóm cũng tiến hành thực hiện 2 trường hợp là không nhiễu và có nhiễu, mỗi trường hợp sẽ là 3 thí nghiệm:
- Đặt các biến giá trị đầu vào x, y, 𝑧, 𝜓 là hằng số ĐỒ ÁN TỐT NGHIỆP 67
- Đặt các biến giá trị đầu vào x, y, 𝜓 là hằng số Giá trị đầu vào của z là hàm Pulse có chu kỳ là 30s với biên độ từ 2 đến 12m
Trong phần thí nghiệm, các biến giá trị đầu vào z và 𝜓 được đặt là hằng số, trong khi giá trị x và y tạo thành một đường tròn trên mặt phẳng x-y với tâm tại (0,0) và đường kính là 50cm Nhóm nghiên cứu đã tiến hành thí nghiệm thay đổi ma trận Q và ma trận R để quan sát ảnh hưởng của chúng đến hệ thống Sử dụng công cụ của Matlab, nhóm đã tính toán ma trận K dựa trên ma trận Q và R, nhằm đánh giá hiệu suất của bộ điều khiển LQR trong hệ thống.
Thí nghiệm 1: Giá tri đặt là các hằng số ( , , , )x y z =(1.5, 2,3,0.1) ĐỒ ÁN TỐT NGHIỆP 68
Hình 6.15 Đáp ứng bộ điều khiển LQR với tín hiệu là hằng số
Bảng 6.5 Đáp ứng của bộ điều khiển LQR Giá trị ban đầu Giá trị đặt Thời gian xác lập
Sai số xác lập Độ vọt lố (%) x 0 1.5 4 0 0 y 0 -2 2 0 0 z 0 3 4 0 0
Kết quả thí nghiệm cho thấy bộ điều khiển LQR thể hiện khả năng đáp ứng ngõ ra vượt trội, với thời gian xác lập nhanh hơn đáng kể so với bộ điều khiển PID Đồng thời, sai số và độ vọt lố của bộ điều khiển LQR gần như bằng 0, chứng tỏ hiệu suất cao và độ ổn định tốt trong quá trình điều khiển.
Thí nghiệm 2: Giá tri đặt ( , , )x y =(1, 2,0.1) Giá trị đầu vào của z là hàm Pulse có chu kỳ là 30s với biên độ từ 2m đến 12m ĐỒ ÁN TỐT NGHIỆP 69
Hình 6.16 Đáp ứng bộ điều khiển LQR với tín hiệu z là hàm Pulse
Kết quả trên cho thấy hệ thống có đáp ứng rất tốt khi sử dụng bộ điều khiển LQR mà không có nhiễu với tín hiệu đầu vào là hàm Pulse Cụ thể, độ vọt lố và sai số xác lập gần như bằng 0, đồng thời tín hiệu điều khiển cũng bám sát tín hiệu đặt, chứng tỏ hiệu suất hoạt động của hệ thống rất ổn định và chính xác.
Thí nghiệm 3: Giá trị đầu vào ( z, 𝜓) =(3, 0.1) Các giá trị x, y sẽ là một đường tròn trên mặt phẳng x,y có tâm là (0,0) và đường kính là 50cm
Hình 6.17 Đáp ứng của bộ điều khiển LQR khi tín hiệu đặt là đường tròn ĐỒ ÁN TỐT NGHIỆP 70
Hình 6.18 Đáp ứng đường tròn của bộ điều khiển PID
Kết quả xác định vị trí Quadcopter ngoài trời
Nhóm nghiên cứu đã áp dụng công thức (3.3) và (3.4) để thiết lập hệ trục tọa độ cho Quadcopter, trong đó công thức (3.3) được sử dụng cho phương x và công thức (3.4) được sử dụng cho phương y Để xác minh vị trí, nhóm đã tiến hành thực nghiệm và ghi lại tọa độ, sau đó lưu trữ dữ liệu vào file Excel và sử dụng công cụ Matplotlib để tạo biểu đồ minh họa.
Nhóm thử nghiệm ở nhiều vị trí khác nhau để tính toán sai số vị trí
Bảng 6.7 Kết quả thí nghiệm tọa độ của Quadcopter bằng Module GPS
Tọa độ thực tế (m) Tọa độ tính toán(m) Sai số (m) x y x y dx dy
Hình 6.36 Thí nghiệm tọa độ x,y thu về từ Module GPS
Hình 6.37 Tọa độ x,y đáp ứng gửi về máy tính ĐỒ ÁN TỐT NGHIỆP 83
Kết quả thu được từ Module cho thấy sai số trung bình giữa tọa độ thực tế và tọa độ tính toán là tương đối chính xác, với sai số tương đối nhỏ dưới 10cm Điều này cho phép hệ thống hoạt động ổn định và đáng tin cậy ở ngoài trời, đáp ứng yêu cầu về độ chính xác trong nhiều ứng dụng thực tế.
Sau quá trình thử nghiệm và đánh giá nhiều ví trị tọa độ khác nhau, nhóm nghiên cứu đã xác định được tọa độ chính xác của vật thể dựa vào module GPS, đáp ứng được yêu cầu về độ chính xác cao.
Kết quả thiết kế giao diện
Trang "Settings" cho phép giao diện kết nối với vi điều khiển, gửi và nhận tín hiệu qua serial, đồng thời hiển thị các giá trị thực tế đọc về ở các khu vực tương ứng như vị trí hiện tại và góc nghiêng hiện tại Thông tin này được sử dụng để tạo mô phỏng 3D của Quadcopter, giúp người dùng hình dung rõ hơn về trạng thái hiện tại của thiết bị.
Khi xác định vị trí đặt, dấu “.” sẽ được hiển thị Hai nút quan trọng cần lưu ý là “Set” để cài đặt các giá trị gửi về vi điều khiển và “Home” để cài đặt vị trí đặt ban đầu, bao gồm cả tọa độ điểm và góc psi theo ý của người điều khiển.
Trang “IMU”, trang “Position” và trang “Battery” : là các trang hiển thị các giá trị đọc về từ vi điều khiển được hiển thị ở dạng đồ thị
Hình 6.38 Màn hình “Setting”hiển thị Quadcopter 3D ĐỒ ÁN TỐT NGHIỆP 84
Hình 6.39 Màn hình “IMU” quan sát dữ liệu góc nghiêng thực tế
Hình 6.40 Màn hình “Position” quan sát dữ liệu vị trí thực tế ĐỒ ÁN TỐT NGHIỆP 85
Hình 6.41 Màn hình “Battery” quan sát dữ liệu pin thực tế
6.5 Kết quả điều khiển thực tế
Hệ thống điều khiển được thiết kế với hai vi điều khiển Arduino Mega 2560, trong đó vi điều khiển chính sẽ đọc và xử lý tín hiệu từ cảm biến và tay cầm, sau đó tính toán giá trị điều khiển và xuất tín hiệu điều khiển cho 4 động cơ Ngoài ra, vi điều khiển chính cũng nhận tín hiệu đã xử lý từ Module GPS thông qua giao tiếp Uart từ vi điều khiển thứ hai, bao gồm các giá trị tọa độ x, y Dữ liệu này sẽ được sử dụng để tính toán và điều khiển hệ thống, đồng thời gửi dữ liệu lên máy tính để người dùng quan sát và theo dõi đáp ứng của hệ thống.
Hình 6.42 Lưu đồ chương trình điều khiển ĐỒ ÁN TỐT NGHIỆP 87
6.5.2 Kết quả điều khiển thực tế
Quá trình thực hiện bao gồm hai phương thức bay chính: bay bằng tay cầm và bay tự động Dữ liệu thu thập được sẽ được lưu trữ và ghi lại trong tệp tin Excel, sau đó được trình bày dưới dạng đồ thị thông qua công cụ Matplotlib của ngôn ngữ lập trình Python.
Thí nghiệm 1 cho phép quadcopter bay bằng tay trong không gian kín, sử dụng tay cầm điều khiển để thay đổi giá trị đặt góc quay roll và pitch, đồng thời điều khiển vị trí xy của thiết bị Dữ liệu thu thập được về góc quay (độ) và độ cao (cm) sẽ được gửi về, ghi lại và lưu trữ, sau đó được biểu diễn bằng công cụ Matplotlib của ngôn ngữ Python để phân tích và đánh giá kết quả.
Hình 6.43 Đáp ứng thực tế của góc nghiêng và độ cao z điều khiển bằng tay
Hình 6.44 Quadcopter bay trong nhà ĐỒ ÁN TỐT NGHIỆP 88
Hình 6.45 Dữ liệu gửi về giao diện ở thí nghiệm bay trong nhà
Khi điều khiển Quadcopter bằng tay cầm điều khiển, các giá trị góc nghiêng đáp ứng bám quanh giá trị đặt với độ cao tương đối ổn định
Thí nghiệm 2 được thực hiện bằng cách sử dụng tay cầm điều khiển để điều khiển Quadcopter bay ở ngoài trời trong điều kiện gió nhẹ Trong thí nghiệm này, giá trị đặt góc quay roll và pitch được thay đổi để kiểm tra khả năng điều khiển vị trí xy của thiết bị Dữ liệu thu thập được bao gồm góc nghiêng (độ) và độ cao (cm) sẽ được ghi lại và lưu trữ.
Hình 6.46 Đáp ứng thực tế góc roll, pitch điều khiển bằng tay ngoài trời ĐỒ ÁN TỐT NGHIỆP 89
Hình 6.47 Quadcopter bay ngoài trời
Kết quả thí nghiệm cho thấy khi điều khiển Quadcopter bay ở không gian ngoài trời với không gian lớn hơn, thiết bị vẫn có thể đáp ứng tốt với các tín hiệu bám quanh điểm đặt, ngay cả khi chịu tác động của gió, và giữ được độ cao ở mức chấp nhận được.
Thí nghiệm 3: Bay tự động ngoài trời sử dụng hệ tọa độ tính toán từ Module GPS, giá trị đặt là vị trí (0,0) Kết quả thu được được ghi và lưu lại dưới dạng file Excel, sau đó sử dụng công cụ Matplotlib của ngôn ngữ Python để vẽ đáp ứng và phân tích kết quả.
Hình 6.49 Đáp ứng thực tế x y z , , bay tự động ngoài trời điểm (0,0)
Kết quả thí nghiệm cho thấy vị trí đặt là (0,0) và đáp ứng vị trí của x, y có sai số khoảng 50cm~1m trong điều kiện thời tiết gió nhẹ.
Thí nghiệm 4 được thực hiện để kiểm tra khả năng bay tự động ngoài trời của thiết bị, với hai điểm đặt là vị trí (0,0) và vị trí (10,0) Kết quả của thí nghiệm này đã được ghi lại và lưu trữ trong file Excel, sau đó được sử dụng để tạo đồ thị đáp ứng bằng công cụ Matplotlib của ngôn ngữ Python.
Hình 6.51 Đáp ứng thực tế x y z , , bay tự động ngoài trời 2 điểm
Hình 6.52 Quadcopter bay qua 2 điểm
Nhận xét: Sau khi nhóm thực hiện điều khiển mô hình Quadcopter với 4 thí nghiệm trên:
- Điều khiển Quadcopter ở 2 chế độ điều khiển bằng tay và điều khiển tự động
Ở chế độ điều khiển bằng tay, Quadcopter có khả năng bám sát tín hiệu đặt và tín hiệu góc nghiêng thực tế, hoạt động trong vùng cho phép với sai số ở mức chấp nhận được, đảm bảo hiệu suất ổn định và chính xác.
Trong chế độ điều khiển tự động, nhóm đã thực hiện hai thí nghiệm để kiểm chứng độ chính xác của hệ thống Kết quả cho thấy quadcopter có thể bay quanh điểm đặt mục tiêu, mặc dù vẫn tồn tại một mức độ sai số nhất định Tuy nhiên, đối với môi trường hoạt động ngoài trời chịu ảnh hưởng của gió, mức độ sai số này vẫn nằm trong mức chấp nhận được.