TỔNG QUAN
Đặt vấn đề
Trong thời đại công nghiệp hóa và hiện đại hóa, sự bùng nổ của khoa học công nghệ đã thúc đẩy nền kinh tế phát triển nhanh chóng và cải thiện đời sống con người Việc ứng dụng rộng rãi các thiết bị máy móc công nghiệp, công trình nghiên cứu khoa học và tự động hóa đã nâng cao năng suất và hiệu quả lao động trong nhiều lĩnh vực như giao thông, xây dựng, sản xuất công nghiệp, thiết bị y tế và quân sự.
Ngoài các ứng dụng trên mặt đất, con người còn nghiên cứu nhiều ứng dụng trên không, bao gồm việc phát triển các thiết bị bay nhằm chinh phục không trung và vũ trụ Những thiết bị này có khả năng di chuyển vào các địa hình nguy hiểm như hang động và vực sâu, cho phép thu thập và giám sát dữ liệu từ camera gửi về máy tính Nhiều quốc gia đã ứng dụng các vật thể bay này trong nông nghiệp để phun thuốc trừ sâu, trong khi trong lĩnh vực quân sự, máy bay không người lái được chế tạo với mục đích do thám, thám hiểm và vẽ bản đồ.
Nhằm hỗ trợ và cứu trợ đồng bào vùng lũ lụt, nhóm đã nghiên cứu và chế tạo "Robot bay 4 cánh" với khả năng bay ổn định Sản phẩm này được thiết kế để vận chuyển lương thực và thực phẩm đến những khu vực bị ảnh hưởng nặng nề, nơi không có phương tiện di chuyển.
NHỮNG VẤN ĐỀ CỦA NHỮNG NGHIÊN CỨU TRƯỚC:
Tìm hiểu được cách lập trình trên board Arduino
Tìm hiểu được nguyên lý bay và nguyên lý điều khiển quadcopter
Xây dựng được mô hình giải thuật điều khiển
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2
Mô hình đã giải quyết được vấn đề cân bằng, cho phép cất cánh và bay trên không, tuy nhiên, mức độ dao động vẫn còn và độ ổn định chưa đạt yêu cầu.
Nhóm cải thiện và phát triển thêm đang tập trung vào việc cân bằng vị trí trong không gian, giúp mô hình đứng yên tại một điểm Nếu có đủ thời gian, nhóm sẽ nghiên cứu việc sử dụng camera để truyền hình ảnh trực tiếp về máy tính và tích hợp định vị GPS.
Mục tiêu
• Tìm hiểu nguyên lý cân bằng, nghiên cứu động học, động lực học thiết bị bay dạng quadcopter
• Xây dựng mô hình thực tế
• Tìm hiểu cảm biến và các bộ phận của máy bay bốn cánh
• Tính toán thiết kế mạch điều khiển
• Xây dựng thuật toán điều khiển và phương pháp cân bằng cho robot bay 4 cánh (Quadcopter)
• Thi công hoàn thiện và điều khiển được mô hình robot bay 4 cánh Quadcopter
Linh kiện chính cho dự án bao gồm cảm biến cân bằng L3G4200D, board Arduino UNO, mô hình mô phỏng, bộ điều khiển, bộ thu phát sóng RF, động cơ, ESC và một số linh kiện khác.
Nội dung nghiên cứu
NỘI DUNG 1: Tìm hiểu đề tài mô hình robot bay 4 cánh, các tài liệu liên quan
NỘI DUNG 2: Liệt kê danh sách các linh kiện và tìm hiểu nguyên lý hoạt động của chúng
NỘI DUNG 3: Thiết kế, lắp ráp mô hình robot bay 4 cánh
NỘI DUNG 4: Thiết kế, thi công mạch điều khiển trung tâm cho robot
NỘI DUNG 5: Lập trình cho mạch điều khiển trung tâm và tay cầm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3
NỘI DUNG 6: Chạy thử mô hình và cân chỉnh hệ thống
NỘI DUNG 7: Đánh giá kết quả và viết báo cáo.
Giới hạn
Kích thước của robot bay 4 cánh: dài 50cm, rộng 50cm, cao 10cm
Sử dụng ứng dụng board Arduino giúp tiết kiệm thời gian trong việc thiết kế mạch điều khiển mới, đồng thời cung cấp cơ hội tìm hiểu về một board phổ biến được áp dụng rộng rãi trong nhiều lĩnh vực.
Thiết kế xây dựng được bộ điều khiển cân bằng cho robot bay 4 cánh bằng giải thuật điều khiển PID
Nhúng giải thuật điều khiển vào mô hình thực nghiệm và đánh giá chất lượng bộ điều khiển
Cân bằng vị trí trong không gian là yếu tố quan trọng giúp mô hình bay không bị trôi, từ đó cho phép mô hình duy trì trạng thái đứng yên tại một điểm cụ thể trong không gian.
Bố cục
Chương 1 Tổng Quan: Bài viết sẽ giới thiệu vấn đề nghiên cứu, lý do lựa chọn đề tài, mục tiêu cụ thể, nội dung nghiên cứu, các giới hạn thông số và cấu trúc của đồ án.
Chương 2 Cơ Sở Lý Thuyết: Trình bày cơ sở lý thuyết về các linh kiện, lý thuyết động học, động lực học, điện tử cơ bản
Chương 3 Thiết Kế và Tính Toán: Thiết kế mạch nguyên lý, mạch trung tâm cho robot, và tính toán các thuật toán PID
Chương 4 Thi công hệ thống: Lắp ráp phần cứng và xây dựng phần mềm, vẽ lưu đồ giải thuật và hướng dẫn sử dụng
Chương 5 Kết Quả, Nhận Xét và Đánh Giá: Trình bày kết quả thực hiện được, nhận xét robot đã hoàn chỉnh hay chưa, cần cải tiến vấn đề nào
Chương 6 Kết Luận và Hướng Phát Triển: Đưa ra kết luận, trình bày hướng phát triển và ứng dụng của robot
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4
CƠ SỞ LÝ THUYẾT
Lý thuyết bay, điều khiển của quadcopter
Quadcopter, hay còn gọi là UAV (Unmanned Aerial Vehicles), là thiết bị bay không người lái với cấu trúc gồm 4 động cơ chính và 4 ESC để điều khiển Bốn cánh quạt gắn trên 4 rotors giúp tạo lực nâng, cho phép quadcopter cất cánh khi cánh quạt quay theo một chiều xác định.
Các chế độ bay chung cho các quadcopter hay multi-copter:
Bay lên trên (cất cánh)
Bay xuống dưới(hạ cánh)
Bay sang phải (rẽ phải)
Bay sang trái (rẽ trái)
Để điều khiển quadcopter bay theo nhiều hướng, ta cần điều chỉnh tốc độ quay của bốn động cơ Để nâng quadcopter lên, tăng đều tốc độ quay của các động cơ nhằm tăng lực nâng theo phương thẳng đứng (trục Z), và để hạ cánh, chỉ cần giảm tốc độ quay Điều khiển bay về phía trước hoặc phía sau (Pitch-control) liên quan đến việc điều chỉnh lực nâng theo phương dọc (trục X) bằng cách tăng tốc độ quay của rotor bên phải và giảm ở rotor đuôi, hoặc ngược lại Điều khiển bay rẽ trái phải (Roll-control) được thực hiện bằng cách tăng tốc độ quay của rotor trái và giảm ở rotor phải, hoặc ngược lại để điều chỉnh lực kéo theo phương ngang (trục Y) Cuối cùng, điều khiển quay quanh trục chính (Yaw-control) cho phép quadcopter thay đổi hướng bằng cách xoay quanh trục Z, giúp điều chỉnh hướng đầu và đuôi của nó.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5
Hình 2.1: Chiều quay của động cơ.
Động học và phương trình toán học
2.2.1 Lý thuyết điều khiển quadcopter
Cặp cánh trái phải quay ngược chiều kim đồng hồ, cặp cánh trước sau quay cùng chiều kim đồng hồ
Hình 2.2: Chuyển động cơ bản của quadcopter
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6
2.2.2 Lý thuyết chuyển động của quadcopter và mô hình động lực học [3]
Mô hình này hoạt động dựa trên chuyển động của các dòng khí do cánh máy bay tạo ra, giúp vật thể bay lên và điều chỉnh vận tốc từng động cơ để thay đổi hướng bay của Quadcopter Để mô tả chuyển động của khung cứng 6 bậc tự do, cần sử dụng 2 hệ quy chiếu.
E1 hệ quy chiếu quán tính Trái Đất
EB hệ quy chiếu khung Quadcopter
Sự định hướng Quadcopter được biểu thị bởi 3 góc Euler qua ma trận xoay R (1)
Lực sinh ra của các động cơ: Fi = b 𝜔 𝑖 2 , i= 1,2,3,4
Khi đó lực nâng cho cả khung máy bay là:
Phương trình mô tả gia tốc Quadcopter:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7
Hình 2.3: Mô hình momen quay
Phương trình quan hệ giữa ma trận quán tính
IR = (Ix,Iy,Iz), moment quay M và moment quay hồi chuyển
Ta có momen quay hồi chuyển phụ thuốc vào các yếu tố vận tốc xoay với u1=T, u2,u3,u4 và vận tốc góc 𝜔 𝑖 máy bay sẽ được g(u) = 𝜔 1 + 𝜔 2 + 𝜔 3 + 𝜔 4 (5)
Kết hợp (5) với (3) và (4) ta có phương trình động lực học: (6)
𝑥̈= -(cos ∅ sin𝜃cos𝜓 + sin∅sin𝜓) 𝑢 1
𝑦̈= -(cos ∅ sin𝜃cos𝜓 - sin∅cos𝜓) 𝑢 1
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8
Hình 2.4: Hệ quy chiếu A và B với chiều dài l và tổng moment quay
2.2.3 Mô hình tính toán khí động lực học
Tính toán khí động học liên quan đến tác động của cánh quạt khi quay trong không khí, với các thông số quan trọng như lực đẩy 𝑇 𝑀𝑁 (N) hướng lên, diện tích quạt S(𝑚²), và mật độ không khí 𝜌 𝑠 (kg/𝑚³).
Ta có phương trình của lực đẩy:
4 (trọng lực được mang bởi một cánh quạt):
Vận tốc dòng khí cho mỗi cánh quạt: 𝑉 1 = √(𝑊 𝑃 )/(2𝑆𝜌 𝑠 ) (m/s) (8)
2.2.4 Tính toán các thông số chế tạo
Tổng khối lượng 1.2kg, kích thước 620x620x250mm mật độ không khí trong điều kiện ở 25 độ C và áp suất không khí tại mặt đất khoảng 1atm: 𝜌 = 1.249 𝑘𝑔⁄𝑚3
Ta tính được tổng lực nâng:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 9
Để nâng Quadcopter khỏi mặt đất, khoảng cách giữa hai động cơ trên cùng một trục cần phải đủ dài, cụ thể là 𝑙 ≥ (𝐷𝑐𝑎𝑛ℎ𝑞𝑢𝑎𝑡⁄√2) Điều này đảm bảo rằng Quadcopter có thể di chuyển một cách hiệu quả.
Lý thuyết bộ điều khiển PID
Bộ điều khiển vi tích phân tỉ lệ (PID - Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển phổ biến trong các hệ thống điều khiển công nghiệp Đây là loại bộ điều khiển được sử dụng nhiều nhất trong các hệ thống phản hồi Bộ điều khiển PID hoạt động bằng cách tính toán giá trị "sai số", tức là hiệu số giữa giá trị đo được và giá trị đặt mong muốn.
Thuật toán điều khiển PID bao gồm ba thông số chính: giá trị tỉ lệ (P), giá trị tích phân (I) và giá trị vi phân (D) Giá trị tỉ lệ phản ánh tác động của sai số hiện tại, giá trị tích phân xác định ảnh hưởng của tổng các sai số trong quá khứ, trong khi giá trị vi phân đánh giá tác động của tốc độ biến đổi của sai số.
Hình 2.5: Sơ đồ khối bộ điều khiển PID
Bộ điều khiển PID không nhất thiết phải bao gồm đủ ba khâu; tùy thuộc vào hệ thống, có thể chỉ cần sử dụng một hoặc hai khâu Khi hệ số K của khâu còn lại bằng 0, bộ điều khiển PID sẽ được gọi là bộ điều khiển PI, PD, P hoặc I.
Bộ môn điện tử công nghiệp 10 rất phổ biến vì khả năng đáp ứng nhạy bén với các nhiễu đo lường Tuy nhiên, nếu thiếu giá trị tích phân, hệ thống có thể không đạt được giá trị mong muốn.
Khâu tỉ lệ, hay còn gọi là độ lợi, ảnh hưởng đến giá trị đầu ra theo tỷ lệ với sai số hiện tại Để điều chỉnh đáp ứng tỉ lệ, sai số này được nhân với một hằng số Kp, được biết đến là độ lợi tỉ lệ.
Pout: thừa số tỷ lệ đầu ra
Độ lợi tỉ lệ (Kp) là thông số quan trọng trong điều chỉnh hệ thống, phản ánh mối quan hệ giữa sai số (e) và thời gian tức thời (t) Khi độ lợi của khâu tỉ lệ lớn, sự thay đổi ở đầu ra diễn ra mạnh mẽ mặc dù sai số chỉ thay đổi nhỏ, nhưng nếu độ lợi quá cao, hệ thống sẽ trở nên không ổn định Ngược lại, độ lợi nhỏ dẫn đến đáp ứng đầu ra yếu trong khi sai số đầu vào lớn, khiến bộ điều khiển trở nên kém nhạy và đáp ứng chậm Nếu độ lợi quá thấp, tác động điều khiển có thể không đủ mạnh để đối phó với các nhiễu trong hệ thống.
Hình 2.6: Đồ thị đáp ứng Kp
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 11
Phân phối của khâu tích phân, hay còn gọi là reset, tỉ lệ thuận với biên độ sai số và thời gian xảy ra sai số Tổng sai số tức thời theo thời gian, hay tích phân sai số, cho phép chúng ta tích lũy bù đã được hiệu chỉnh Tích lũy sai số này sau đó được nhân với độ lợi tích phân và cộng vào tín hiệu đầu ra của bộ điều khiển Biên độ phân phối của khâu tích phân trong tất cả các tác động điều chỉnh được xác định bởi độ lợi tích phân.
Iout : Đáp ứng ngõ ra của khâu tích phân
Ki : Độ lợi tích phân e(t): sai số theo thời gian
Khâu tích phân trong hệ thống giúp cải thiện tốc độ phản hồi, giúp hệ thống nhanh chóng đạt được điểm đặt và loại bỏ sai số ổn định Tuy nhiên, do tích lũy sai số, khâu này có thể dẫn đến việc giá trị hiện tại vượt qua giá trị đặt.
Hình 2.7: Đồ thị đáp ứng Ki
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 12
Tốc độ thay đổi của sai số trong quá trình điều khiển được xác định bằng cách tính độ dốc của sai số theo thời gian, tương ứng với đạo hàm bậc một Tốc độ này sau đó được nhân với độ lợi tỉ lệ Kp Đồng thời, biên độ của phân phối khâu vi phân, thường được gọi là tốc độ, trên tất cả các hành vi điều khiển cũng bị giới hạn bởi độ lợi vi phân Kp.
Dout: đáp ứng ngõ ra khâu vi phân
Kd: độ lợi vi phân e: sai số
Hình 2.8: Đồ thị đáp ứng Kd
2.3.4 Xây dựng thuật toán điều khiển
Sơ đồ khối hệ điều khiển cân bằng:
Hình 2.9: Sơ đồ khối hệ điều khiển cân bằng
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 13
Hình 2.10: Tín hiệu điều khiển hoàn chỉnh
Trong sơ đồ điều khiển này, mô hình sẽ tự điều chỉnh trạng thái phù hợp với các thông số điều khiển: độ cao, roll, pitch, yaw
Do đặc điểm điều khiển mỗi thông số khác nhau nên hàm hiệu chỉnh PID tương ứng cũng có hệ số khác nhau
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 14
Lưu đồ điều khiển cất cánh, hạ cánh, tới lùi, trái phải
2.4.1 Lưu đồ điều khiển cất cánh, hạ cánh:
Hình 2.11: Sơ đồ khối điều khiển cất cánh
Khi cất cánh, người điều khiển sử dụng tay cầm kênh throttle để gửi tín hiệu đến vi điều khiển Vi điều khiển sẽ xử lý dữ liệu từ kênh ga và cảm biến gyro, thực hiện hiệu chỉnh PID cho các thông số roll, pitch và yaw Cuối cùng, tín hiệu điều khiển được xuất ra để điều khiển 4 động cơ hoạt động hiệu quả.
Thiết lập vi điều khiển
Xử lý số liệu tín hiệu cảm biến và tín hiệu throttle
Xuất tín hiệu điều khiển Đọc tín hiệu cảm biến Gyro
Nhận tín hiệu throttle(ga) từ tay cầm điều khiển TX
Hiệu chỉnh PID (roll,pitch,yaw)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 15
2.4.2 Lưu đồ điều khiển tiến lùi:
Hình 2.12: Sơ đồ khối điều khiển tiến lùi
Để điều khiển di chuyển tiến và lùi, chúng ta sử dụng tay cầm kênh roll, từ đó vi điều khiển nhận tín hiệu từ kênh này Vi điều khiển sẽ xử lý dữ liệu roll kết hợp với thông tin từ cảm biến gyro, đồng thời thực hiện hiệu chỉnh PID cho các thông số roll, pitch và yaw Cuối cùng, hệ thống sẽ xuất tín hiệu điều khiển cho bốn động cơ.
Xuất tín hiệu điều khiển
Thiết lập vi điều khiển
Xử lý số liệu tín hiệu cảm biến và tín hiệu roll Đọc tín hiệu cảm biến Gyro
Nhận tín hiệu roll từ tay cầm điều khiển TX
Hiệu chỉnh PID (roll,pitch,yaw)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 16
2.4.3 Lưu đồ điều khiển trái phải:
Hình 2.13: Sơ đồ khối điều khiển trái phải
Để di chuyển sang trái hoặc phải, người điều khiển sử dụng tay cầm kênh pitch, từ đó vi điều khiển nhận tín hiệu từ kênh này Vi điều khiển sẽ xử lý dữ liệu pitch cùng với thông tin từ cảm biến gyro, thực hiện hiệu chỉnh PID cho các trục roll, pitch và yaw Cuối cùng, hệ thống sẽ xuất tín hiệu điều khiển cho bốn động cơ.
Thiết lập vi điều khiển
Xử lý số liệu tín hiệu cảm biến và tín hiệu pitch
Xuất tín hiệu điều khiển Đọc tín hiệu cảm biến Gyro
Nhận tín hiệu pitch từ tay cầm điều khiển TX
Hiệu chỉnh PID (roll,pitch,yaw)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 17
Giới thiệu linh kiện
2.5.1 Động cơ DC không chổi than (BRUSHLESS DC MOTOR) [5]
Motor không chổi than (brushless motor) được ứng dụng phổ biến trong nhiều lĩnh vực như quạt DC, quạt tản nhiệt, máy móc công nghiệp, xe đạp điện, xe máy điện và đồ chơi mô hình Đặc biệt, hầu hết các máy bay mô hình đều sử dụng motor DC không chổi than.
Động cơ DC không chổi than (Brushless DC motor) sử dụng các thanh nam châm gắn cố định vào rotor để kích từ cho động cơ, với các cuộn dây được bố trí lệch nhau 120 độ trong không gian của Stator Một trong những ưu điểm nổi bật của động cơ này là hiệu suất cao và độ bền vượt trội.
Độ bền cơ học cao
Giảm tiêu hao năng lượng cho hiệu suất cao
Do động cơ sử dụng nam châm vĩnh cửu, chi phí sản xuất thường cao Tuy nhiên, với sự tiến bộ công nghệ hiện nay, giá thành nam châm vĩnh cửu đang có xu hướng giảm.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 18
Nam châm sắt có đặc điểm dễ từ hóa nhưng khả năng tích trữ từ không cao Chúng cũng dễ bị khử từ và đặc tính từ giảm khi nhiệt độ tăng.
2.5.1.2 Cấu tạo Động cơ brushless có cấu tạo rất khác so với động cơ DC thông thường Nó có phần quay là vỏ có gắn nam châm vĩnh cửu, còn phần đứng yên là cuộn dây
Stator là thành phần bao gồm lõi sắt được cấu tạo từ các lá thép kỹ thuật điện ghép lại, cùng với dây quấn được đặt trong các rãnh của stator, tạo nên cuộn ứng như trong các rãnh phần ứng bình thường.
Rotor thường là nam châm vĩnh cửu
Động cơ brushless khác biệt so với động cơ DC thông thường bởi sự thay đổi vị trí giữa phần cảm và phần ứng Thay vì sử dụng chổi than và cổ góp, động cơ brushless áp dụng chuyển mạch điện tử để cung cấp dòng điện cho các cuộn dây phần ứng, tạo ra một cơ cấu chuyển mạch tĩnh hiệu quả hơn.
Động cơ brushless được phân loại theo số cuộn dây stator, bao gồm một pha, hai pha và ba pha, tương ứng với một, hai và ba cuộn dây Trong số này, động cơ ba pha là loại được sử dụng phổ biến nhất.
2.5.1.3 Nguyên lý hoạt động và điều khiển động cơ [6]
Việc điều khiển tốc độ động cơ BLDC dựa trên nguyên tắc cấp xung tuần tự cho các cuộn dây nhằm tạo ra từ trường quay Để thực hiện điều này, chúng ta sử dụng bộ điều tốc ESC (Electronic Speed Controller), có chức năng biến đổi điện áp một chiều thành điện áp xoay chiều 3 pha với tần số thay đổi Để đảo chiều động cơ, chỉ cần thay đổi vị trí của 2 trong 3 dây pha.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 19
Hình 2.15: Sơ đồ đấu dây động cơ BLDc và ESC
Trong các mô hình máy bay, ESC (Electronic Speed Controller) điều chỉnh tốc độ dựa trên độ rộng xung của tín hiệu PWM Tín hiệu PWM này được chuẩn hóa theo động cơ RC servo, với độ rộng xung từ 1-2ms và tần số điều khiển 50Hz Tần số xung cao giúp rotor quay với tốc độ lớn hơn.
Nguyên lý điều khiển động cơ: để điều khiển động cơ BLDC (3 pha) ta cần tạo một nguồn xoay chiều 3 pha
Hình 2.16: Nguyên tắc điều khiển truyền thống động cơ BLDC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 20
Chế độ điều khiển 120 độ, hay còn gọi là chế độ điều khiển 2 pha dẫn, đặc trưng bởi việc luôn có 2 pha dẫn điện tại bất kỳ thời điểm nào.
Hình 2.17: Trình tự cấp điện cho các cuộn dây
Để tạo ra từ trường quay đồng pha với nam châm của rotor trong mạch điều khiển BLDC, bộ điều khiển ESC cần xác định vị trí và vận tốc của nam châm vĩnh cửu Có hai phương pháp để thực hiện điều này.
+ Cách 1: Sử dụng cảm biến nhận biết vị trí của rotor (cảm biến Hall)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 21
Cảm ứng một trong ba pha của xung điện từ trường phản hồi (xung BEMF - Back ElectroMagnetic Field Pulses) là phương pháp phổ biến trong hầu hết các động cơ sử dụng cho mô hình bay.
Trong đó: v,t,e là điện áp, dòng điện và suất điện động, w là tốc độ quay của rotor, R là điện trở, L là điện cảm
Công thức suất điện động và mo-men có thể viết như sau:
2.5.1.4 Một số loại động cơ dùng trong quadcopter
Loại: A2212 1000Kv Brushless Outrunner Động Cơ Cho Máy Bay Máy Bay F450 F550 X525 Quadcopter
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 22
Max hiệu quả hiện tại: 6-12A
Số Của Tế Bào: 2-3 Li-Poly
Động cơ Kích Thước: Φ27 5x30 mét
Loại: max cf2822 1200kv outrunner động cơ cho máy bay quadcopter
Hình 2.20: Động cơ max cf2822 1200kv outrunner
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 23
2.5.2 Bộ điều tốc – ESC( Electronic speed controler)
ESC hoạt động như một biến tần, chuyển đổi điện áp một chiều thành điện áp xoay chiều với tần số có thể điều chỉnh, cung cấp năng lượng cho động cơ.
ESC chuyển đổi điện áp DC 2 pha thành điện áp DC 3 pha lệch 120 độ, với chu kỳ phụ thuộc vào tần số xung kích Độ rộng xung của mỗi pha được điều khiển thông qua xung PWM.
Như vậy khi ta cấp xung PWM với độ rộng xung nhỏ thì ngõ ra ESC sẽ nhỏ và ngược lại
2.5.2.2 Cấu tạo và kết nối ESC
TÍNH TOÁN VÀ THIẾT KẾ
GIỚI THIỆU
Quadcopter là một loại thiết bị bay không người lái, hoạt động dựa trên nguyên lý tạo ra dòng khí từ cánh quạt Khi các cánh quạt quay, chúng tạo ra áp lực không khí di chuyển xuống dưới, giúp thiết bị bay lên trên.
Quadcopter, hay còn gọi là quad-rotor, được trang bị 4 rotors chính và 4 ESC để điều khiển quá trình bay Bốn cánh quạt gắn trên các rotors tạo ra lực nâng, cho phép quadcopter cất cánh khi cánh quạt quay theo một chiều nhất định Để đảm bảo quadcopter bay ổn định, hệ thống cần có chế độ cân bằng; khi máy bay bị lạng hoặc nghiêng, nó sẽ tự động điều chỉnh trở lại trạng thái cân bằng, giúp ngăn chặn tình trạng rơi hoặc lộn nhào.
Tính toán và thiết kế hệ thống
3.2.1 Thiết kế sơ đồ khối hệ thống
Hình 3.1: Sơ đồ khối lý thuyết tay cầm điều khiển
Nguồn: Tay cầm sử dụng nguồn bốn pin tiểu (1.5V) Điện áp dao động khoảng 3.7-6.3V thì sử dụng bình thường
Có 6 kênh điều khiển và màn hình điều khiển
Các kênh điều khiển Bộ điều khiển
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 33
Hình 3.2: Sơ đồ khối bộ điều khiển trung tâm
Nguồn: Pin Lipo 2200 mah cung cấp cho động cơ, các ESC và arduino Còn cảm biến và mạch Receivers sử dụng nguồn 5V của arduino
Cảm biến cân bằng: cảm biến L3G4200D để đo góc nghiêng cho máy bay
Vi điều khiển: VĐK Atmega 328 tích hợp trên board arduino
Mạch thu sóng RF: Receiver của tay Flsky i6
3.2.2 Tính toán và thiết kế mạch a Thiết kế khối cảm biến
Do cân bằng mô hình loại nhỏ nên khối cảm biến nên nhóm dùng một cảm biến Gyro L3G4200D
Cảm biến dùng nguồn cấp từ 3 - 5V Đo 3 trục gia tốc góc
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 34
Hình 3.3: Sơ đồ kết nối cảm biến Gyro L3G4200D
Cảm biến đo gia tốc giao tiếp với Arduino theo tiêu chuẩn I2C
Giao tiếp I2C bao gồm hai dây chính: Dữ liệu tuần tự (SDA) và Xung đồng hồ tuần tự (SCL) Trong đó, SDA cho phép truyền dữ liệu hai chiều, còn SCL chỉ truyền theo một chiều để đồng bộ hóa Theo sơ đồ, chân SDA được kết nối với dây SDA của Arduino, trong khi chân SCL được nối với dây SCL của Arduino.
Để LED hoạt động ổn định, dòng điện cần thiết là 15mA và áp rơi trên LED khoảng 1,8V Vì LED màu không yêu cầu điều chỉnh áp cho đúng với màu hiển thị, nguồn ra của Arduino là 5V Do đó, cần tính toán điện trở phù hợp cho LED.
Vậy nên ta chọn trở là 330 ohms
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 35
Hình 3.4: Mạch chia áp Áp dụng công thức mạch chia áp ta có:
𝑅 2 +𝑅 3 (1) Khi giá trị pin nạp đầy đạt cực đại là 12V Ta mong muốn A0 ở giá trị 5v
Chọn R2 = 1 KΩ => R3 = 1.45 (chọn R3 = 1.5KΩ) c Thiết kế khối nguồn
Nhóm đã sử dụng pin Lipo để duy trì hoạt động của hệ thống mạch bay trên không trung, cung cấp năng lượng cho 4 bộ điều tốc (Esc) và 4 động cơ (Motor) Do Arduino Uno R3 có khả năng sử dụng nguồn pin Lipo, nhóm không cần thêm nguồn cấp cho Arduino.
Arduino R3 có 2 chân nguồn ra ổn định là 3,3 và 5V Có thể dùng nó để cung cấp cho các cảm biến và bộ thu RF
Để tính toán thời lượng pin, chúng ta cần xem xét dung lượng và khả năng xả của pin Li-Po Ví dụ, với pin Li-Po có dung lượng 2200mAh và khả năng xả 35C, cường độ dòng điện tối đa khi pin xả sẽ được tính bằng công thức 2200mAh * 35C, tương đương với 77A.
Máy bay có 4 động cơ tiêu thụ dòng điện lớn nhất, với mỗi động cơ tiêu thụ tối đa 12A, tổng cộng khoảng 48A Điều này cho thấy máy bay chỉ có thể hoạt động khoảng 2 phút Tuy nhiên, thực tế cho thấy động cơ chỉ tiêu thụ khoảng 6-8A, giúp máy bay hoạt động lâu hơn, khoảng 4-5 phút.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 36
3.2.3 Sơ đồ nguyên lý của toàn mạch
Hình 3.4: Sơ đồ nguyên lý toàn mạch
Dây tín hiệu của 4 ESC được nối vào chân 4,5,6,7
SDA và SCL của cảm biến được nối vào chân A4, A5
Led báo nguồn nối vào chân 12
Các chân của module Receiver nối vào các chân 8,9,10,11
D0/RX D1/TX D2 D3 PWM D4 D5 PWM D6 PWM D7 D8 D9 PWM D10 PWM/SS D11 PWM/MOSI D12/MISO D13/SCK
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 37
THI CÔNG HỆ THỐNG
Thi công hệ thống
4.2.1 Lắp ráp Đầu tiên ta tiến hành lắp ráp máy bay Do điều kiện máy móc còn hạn chế nên ta sử dụng mạch máy bay quadcopter cỡ to có sẵn là mạch F450 để lắp ráp
Connect the 4x ESCs to the F450 circuit and install the motors onto the circuit Next, test the four motors and ESCs Power the Arduino with a LiPo battery, and use the 5V output from the Arduino to supply the sensors connected to the receivers.
4.2.2 Lập trình kiểm tra hệ thống a Chương trình kiểm tra 4xEsc và 4xMotor
{ esc1.attach(4); esc2.attach(5); esc3.attach(6); esc4.attach(7);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 38
Sau khi chỉnh biến trở thì động cơ sẽ quay với tốc độ từ 0 đến 1000 vòng/phút b Chương trình kiểm tra cảm biến gyro
#include int i; unsigned long timer; double goc_pitch, goc_roll, goc_yaw; double goc_roll_i, goc_pitch_i, goc_yaw_i; byte highByte, lowByte; void setup()
{ int val; int vel; val= analogRead(A5); vel=map(val,0,1023,1000,2000); delay(1000); esc1.writeMicroseconds(val); delay(100); esc2.writeMicroseconds(val); delay(100); esc3.writeMicroseconds(val); delay(100); esc4.writeMicroseconds(val);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 39
Wire.endTransmission(); delay(250); for (i = 0; i < 2000 ; i ++){ cb_gyro(); goc_roll_i += goc_roll; goc_pitch_i += goc_pitch; goc_yaw_i += goc_yaw; if(i%100 == 0)Serial.print("."); delay(4);
Serial.println(" done!"); goc_roll_i /= 2000; goc_pitch_i /= 2000; goc_yaw_i /= 2000;
//CT chính void loop(){ delay(250); cb_gyro(); print_output();
Wire.requestFrom(105, 6); while(Wire.available() < 6); lowByte = Wire.read(); highByte = Wire.read(); goc_roll = ((highByte 2000)esc_2 = 2000; if(esc_3 > 2000)esc_3 = 2000; if(esc_4 > 2000)esc_4 = 2000; }
// Tốc độ là 250 Hz nên esc cần có xung là 4ms while(micros() - loop_timer < 4000); loop_timer = micros();
To configure the timers for the ESC signals, set PORTD to enable the upper four bits by using the command `PORTD |= B11110000` The calculation for the timing of the falling edge for each ESC signal involves adding the loop timer to the respective ESC value, resulting in `timer_kenh_1 = esc_1 + loop_timer`, `timer_kenh_2 = esc_2 + loop_timer`, `timer_kenh_3 = esc_3 + loop_timer`, and `timer_kenh_4 = esc_4 + loop_timer` The process continues as long as PORTD remains greater than or equal to 16.
Lặp cho đến khi chân 4, 5, 6, 7 đạt mức thấp Thiết lập biến esc_loop_timer bằng micro giây hiện tại Kiểm tra thời gian của từng kênh: nếu timer_kenh_1 nhỏ hơn hoặc bằng esc_loop_timer, thì tắt chân tương ứng; tương tự cho timer_kenh_2, timer_kenh_3 và timer_kenh_4.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 50
ISR(PCINT0_vect){ time_hientai = micros();
//Kênh_1 if(PINB & B00000001){ if(bien_kenh_1 == 0){ bien_kenh_1 = 1; timer_1 = time_hientai;
} else if(bien_kenh_1 == 1){ bien_kenh_1 = 0; kenh_vao_1 = time_hientai - timer_1;
//Kênh_2 if(PINB & B00000010 ){ if(bien_kenh_2 == 0){ bien_kenh_2 = 1; timer_2 = time_hientai;
} else if(bien_kenh_2 == 1){ bien_kenh_2 = 0; kenh_vao_2 = time_hientai - timer_2;
//Kênh_3 if(PINB & B00000100 ){ if(bien_kenh_3 == 0){ bien_kenh_3 = 1; timer_3 = time_hientai;
} else if(bien_kenh_3 == 1){ bien_kenh_3 = 0; kenh_vao_3 = time_hientai - timer_3;
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 51 if(PINB & B00001000 ){ if(bien_kenh_4 == 0){ bien_kenh_4 = 1; timer_4 = time_hientai;
} else if(bien_kenh_4 == 1){ bien_kenh_4 = 0; kenh_vao_4 = time_hientai - timer_4;
//Chương trình đọc cảm biến gyro void gyro_signalen(){
Wire.write(168); //Khởi động chân đọc thứ 28 trong datasheet Wire.endTransmission();
To read data from the gyro sensor, the code initiates a request for 6 bytes using `Wire.requestFrom(105, 6)`, and waits until all bytes are received with `while(Wire.available() < 6)` It then reads the low and high bytes for the roll angle, combining them to form `gyro_roll`, and applies calibration adjustments if necessary The process is repeated for the pitch and yaw angles, with the pitch and yaw values being multiplied by -1 to account for orientation Calibration adjustments are also applied to `gyro_pitch` and `gyro_yaw` if the calibration interval is set to 2000.
//Chương trình con tính toán đầu ra PID void calculate_pid(){
//Tinh goc roll pid_loi_tam = gyro_roll_input - pid_roll_setpoint; pid_i_mem_roll += ki_roll * pid_loi_tam;
The Industrial Electronics Department implements a control algorithm to manage the roll output The algorithm ensures that the integral memory of the PID controller, denoted as pid_i_mem_roll, remains within specified limits by capping it at pid_max_roll and its negative counterpart The roll output, pid_output_roll, is calculated using proportional, integral, and derivative components, specifically kp_roll, pid_i_mem_roll, and kd_roll, while also considering the difference between the current and last error values Additionally, the output is constrained to stay within the defined maximum and minimum thresholds Finally, the last error value is updated for future calculations.
The pitch PID controller calculates the pitch error by subtracting the setpoint from the gyro pitch input It updates the integral memory for pitch based on the proportional gain and limits it to a maximum and minimum value Finally, the pitch output is computed by combining the proportional, integral, and derivative terms, ensuring a balanced response to any pitch deviations.
The calculation involves adjusting the PID output pitch based on the difference between the current error and the last pitch error If the output pitch exceeds the maximum limit, it is capped at the maximum value; conversely, if it falls below the negative maximum limit, it is set to that negative maximum Finally, the last pitch error is updated to the current error value for future calculations.
Hướng dẫn sử dụng, thao tác
Bước 1: Cấp nguồn cho hệ thống, hệ thống sử dụng nguồn là 12V DC, khi cấp nguồn và mở công tắc nguồn thì đèn báo hiệu có điện sáng lên
Bước 2: Sau khi vi điều khiển xử lý chương trình, bạn sẽ nghe thấy tiếng bíp bíp Tiếng bíp dài cho biết hệ thống đã ổn định và sẵn sàng nhận lệnh.
Bước 3: Gạt cần gạt của kênh ga (throttle) về mức thấp nhất và các switches về vị trí 1
Bước 3: Gạt nút power và setup chế độ bay
Bước 1: Khởi động động cơ Để ga thấp và yaw bên trái
Bước 2: Để yaw ở vị trí trung tâm
Để máy bay cất cánh, bạn cần tăng ga và điều chỉnh hướng bay sang trái hoặc phải bằng cách chỉnh kênh 1 và kênh 2 Khi hạ cánh, giảm ga từ từ; nếu yaw ở bên phải khi máy bay chạm đất, động cơ sẽ dừng.
KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
Lắp ráp và thi công phần cứng máy bay
Hình 5.1: Mô hình máy bay hoàn chỉnh
Khung máy bay đã được lắp ráp hoàn chỉnh và vặn ốc cố định chắc chắn, nhằm đảm bảo độ ổn định khi bay và tránh nguy cơ rơi hoặc lỏng lẻo.
Kết nối và hàn các dây cắm khá chắc chắn, có các ống bọc các ly giữa các dây tín hiệu để giảm thiểu khá năng chạm, chập.
Cảm biến gyro L3G4200D
Nhóm nghiên cứu đã tìm hiểu được nguyên lý hoạt động, cơ sở lý thuyết, cách kết nối với board Arduino của cảm biến cân bằng Gyro L3G4200D
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 55
Dựa trên số liệu thực nghiệm hiển thị trên máy tính, chúng tôi đã xử lý dữ liệu từ cảm biến Gyro Dưới đây là bảng thể hiện các góc ROLL, PITCH và YAW được ghi lại từ màn hình máy tính.
Hình 5.2: Quadcopter khi góc nghiêng là 0 0
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 56
Hình 5.3: Số liệu các góc Roll, Pitch, Yaw khi nghiêng 0 0
Hình 5.4: Quadcopter khi góc Roll là 45 0
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 57
Hình 5.5: Số liệu các góc Roll, Pitch, Yaw khi nghiêng trục Roll 45 0
Hình 5.6: Quadcopter khi góc Pitch là 45 0
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 58
Hình 5.7: Số liệu các góc Roll, Pitch, Yaw khi nghiêng trục Pitch 45 0
Bộ điều khiển TX-RX
Nhóm nghiên cứu đã thành công trong việc sử dụng tay cầm Flysky i6, tìm hiểu nguyên lý hoạt động và kết nối RX với board Arduino Họ cũng đã lập trình để kiểm tra kết nối và nhận tín hiệu giữa tay cầm điều khiển và RX trên máy bay.
Dưới đây là hình ảnh vị trí các cần gạt của tay cầm và các số liệu đối chiếu:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 59
Hình 5.8: Kênh 3 (Gas) của tay cầm ở vị trí thấp nhất
Kết quả hiển thị trên máy tính:
Hình 5.9: Giá trị hiển thị của 4 kênh khi gas ở vị trí thấp nhất
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 60
Hình 5.10: Kênh 3 (Gas) của tay cầm ở vị trí cao nhất
Hình 5.11: Giá trị hiển thị của 4 kênh khi gas ở vị trí cao nhất
Hình 5.12: Kênh 2 của tay cầm ở vị trí cao nhất
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 61
Kết quả hiển thị trên máy tính:
Hình 5.13: Giá trị hiển thị của 4 kênh khi kênh 2 ở vị trí cao nhất
Hình 5.14: Kênh 1 của tay cầm ở vị trí cao nhất
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 62
Kết quả hiển thị trên máy tính:
Hình 5.15: Giá trị hiển thị của 4 kênh khi kênh 1 ở vị trí cao nhất
Kết quả giá trị của các kênh đều đạt yêu cầu, nằm trong khoảng từ 1000 đến 2000 Sai số rất nhỏ, với giá trị nhỏ nhất là 1016 và giá trị lớn nhất là 1992.
Nguyên nhân: do cấu tạo của cần gạt, khi gạt qua thì vẫn không thể đạt được giá trị mong muốn.
Kết nối ESC với arduino
Nhóm đã hiểu được nguyên lý hoạt động của ESC và động cơ BLDC Kết nối được ESC với động cơ và Arduino
Ngoài ra, khi gạt cần điều khiển tay cầm thì 4 động cơ cũng đã nhận được tín hiệu điều khiển của tay cầm.
Điều chỉnh các thông số PID
Hiểu được giải thuật PID, dựa vào thực nghiệm nhóm tìm ra thông số Kp, Ki, Kd để đáp ứng cho hệ thống
Phương pháp của nhóm đã làm:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 63
- Chọn Kp trước: thử bộ điều khiển P với đối tượng thật, điều chỉnh Kp sao cho thời gian đáp ứng đủ nhanh, chấp nhận overshot nhỏ
- Thêm thành phần D để loại overshot, tăng Kd từ từ, thử nghiệm và chọn giá trị thích hợp Steady state error có thể sẽ xuất hiện
- Thêm thành phần I để giảm steady state error Tăng Ki từ bé đến lớn để giảm steady state error đồng thời không để cho overshot xuất hiện trở lại
5.6 BOARD ARDUINO VÀ PHẦN MỀM IDE:
Tìm hiểu được phần cứng, cấu tạo, chức năng sử dụng của các chân trong board Arduino
Cài đặt và sử dụng tốt phần mềm IDE để lập trình và nạp chương trình cho board arduino.