Bài 10 – hiệu chỉnh drone

Thương hiệu: (Đang cập nhật ...) Loại: (Đang cập nhật ...)

Liên hệ
Tính toán Roll / Pitch / Yaw – Motor Mixing – PID – Cân bằng Drone Sau khi hoàn thành Bài 9 – Hướng dẫn nạp chương trình ESP32, học viên đã biết cách thiết lập Arduino IDE, nạp chương trình và kiểm tra ESP32. Trong bài này, chúng ta bắt đầu đi vào phần quan trọng nhất của hệ thống điều khiển Dron...

Tính toán Roll / Pitch / Yaw – Motor Mixing – PID – Cân bằng Drone

Sau khi hoàn thành Bài 9 – Hướng dẫn nạp chương trình ESP32, học viên đã biết cách thiết lập Arduino IDE, nạp chương trình và kiểm tra ESP32.

Trong bài này, chúng ta bắt đầu đi vào phần quan trọng nhất của hệ thống điều khiển Drone: hiệu chỉnh và ổn định chuyển động.

Một Drone muốn bay ổn định phải đồng thời xử lý chính xác dữ liệu cảm biến, chiều quay motor, vị trí motor, Motor Mixing và thuật toán PID.


1. MỤC TIÊU BÀI HỌC

Sau bài học, học viên có thể:

  • Hiểu Roll, Pitch và Yaw.
  • Kiểm tra hướng trục của MPU6050.
  • Calibration MPU6050.
  • Kiểm tra thứ tự 4 motor.
  • Kiểm tra chiều quay motor.
  • Hiểu nguyên lý Motor Mixing.
  • Hiểu thuật toán PID.
  • Biết vai trò của P, I, D.
  • Nhận biết hiện tượng Drone phản hồi chậm hoặc dao động.
  • Thực hiện quy trình hiệu chỉnh Drone theo từng bước.

2. ROLL – PITCH – YAW

Drone có ba chuyển động góc chính.

Roll

Nghiêng Drone sang trái hoặc phải.


ROLL
←──── Drone ────→

Pitch

Nghiêng Drone về phía trước hoặc phía sau.


PITCH
Trước ↔ Sau

Yaw

Xoay Drone quanh trục thẳng đứng.


YAW
      ↻
     Drone

Ba đại lượng này là cơ sở để bộ điều khiển xác định Drone đang ở trạng thái nào.


3. MPU6050 VÀ HỆ THỐNG ĐO LƯỜNG

MPU6050 gồm:

  • Accelerometer 3 trục.
  • Gyroscope 3 trục.

Dữ liệu cảm biến được ESP32 sử dụng để xác định chuyển động của Drone.

Mô hình cơ bản:


MPU6050
   ↓
ESP32
   ↓
Tính trạng thái
   ↓
PID
   ↓
Motor Mixing
   ↓
4 Motor


4. CALIBRATION MPU6050

Khi Drone nằm trên mặt phẳng, lý tưởng:


Roll  ≈ 0°
Pitch ≈ 0°

Tuy nhiên cảm biến thực tế có thể xuất hiện sai số.

Ví dụ:


Roll  = +1.5°
Pitch = -2.0°

Do đó cần thực hiện calibration.

Quy trình:

  1. Đặt Drone trên mặt phẳng.
  2. Không di chuyển Drone.
  3. Không chạy motor.
  4. Lấy nhiều mẫu dữ liệu.
  5. Tính giá trị trung bình.
  6. Xác định offset.
  7. Áp dụng offset vào chương trình.

Có thể hiểu đơn giản:


Giá trị đo
    -
Offset
    =
Giá trị đã hiệu chỉnh


5. KIỂM TRA HƯỚNG TRỤC

Đây là bước rất quan trọng.

Khi nghiêng Drone sang phải, dữ liệu Roll phải thay đổi đúng theo quy ước của chương trình.

Khi nghiêng về trước, dữ liệu Pitch phải thay đổi đúng hướng.

Nếu dữ liệu bị đảo dấu:


Nghiêng phải
      ↓
Firmware hiểu là nghiêng trái

thì bộ điều khiển có thể tạo phản hồi ngược.

Khi đó không được vội chỉnh PID.

Phải kiểm tra:

  • Hướng lắp MPU6050.
  • Mapping trục X/Y/Z.
  • Dấu của Roll/Pitch/Yaw.
  • Công thức tính góc.

6. KIỂM TRA 4 MOTOR

Một Quadrotor có bốn motor:


             FRONT

          M1       M2


          M3       M4

              REAR

Đây chỉ là một cách quy ước minh họa.

Trong Drone thực tế, giáo viên phải thống nhất:

Vị trí motor + số thứ tự motor + GPIO + chiều quay + Motor Mixing.

Nếu sai một trong các thành phần này, Drone có thể phản ứng sai.


7. KIỂM TRA CHIỀU QUAY

Drone sử dụng các motor quay theo hai chiều ngược nhau.

Ví dụ:


M1 → CW
M2 → CCW
M3 → CCW
M4 → CW

Cấu hình cụ thể phụ thuộc thiết kế frame và firmware.

Mục đích là tạo sự cân bằng moment xoắn.

Nếu một motor quay sai chiều:

  • Drone có thể tự xoay.
  • Yaw không ổn định.
  • Motor Mixing không hoạt động đúng.
  • Drone có thể không thể điều khiển.

8. MOTOR MIXING LÀ GÌ?

Motor Mixing là thuật toán chuyển các lệnh:


Throttle
Roll
Pitch
Yaw

thành tín hiệu điều khiển:


M1
M2
M3
M4

Có thể hình dung:


             Throttle
                 │
Roll ────────────┤
Pitch ───────────┤
Yaw ─────────────┤
                 ↓
          MOTOR MIXING
          ┌──┬──┬──┬──┐
          ↓  ↓  ↓  ↓
         M1 M2 M3 M4


9. VÍ DỤ CÔNG THỨC MOTOR MIXING

Một cấu trúc minh họa:


M1 = T + R + P - Y
M2 = T - R + P + Y
M3 = T - R - P - Y
M4 = T + R - P + Y

Trong đó:


T = Throttle
R = Roll
P = Pitch
Y = Yaw

Lưu ý: dấu +/- không giống nhau cho mọi thiết kế Drone.

Nó phụ thuộc:

  • Vị trí motor.
  • Chiều quay.
  • Hướng frame.
  • Hướng MPU6050.
  • Quy ước trục.
  • Firmware.

Vì vậy học viên phải xây dựng Motor Mixing dựa trên chính Drone đang sử dụng.


10. PID LÀ GÌ?

PID là thuật toán điều khiển phản hồi gồm:

P – Proportional

I – Integral

D – Derivative

Bộ điều khiển so sánh:


Góc mong muốn
      ↓
     Sai số
      ↑
Góc thực tế

Ví dụ:


Setpoint = 0°
Actual   = 10°

Error = 0 - 10
      = -10°

PID sử dụng sai số này để tạo tín hiệu hiệu chỉnh.


11. THÀNH PHẦN P

P phản ứng theo sai số hiện tại.


P = Kp × Error

Nếu Drone lệch càng nhiều:

→ tín hiệu P càng lớn.

P quá thấp

Drone:

  • Phản hồi chậm.
  • Khó giữ góc.
  • Dễ bị tác động bởi nhiễu bên ngoài.

P quá cao

Drone có thể:

  • Phản ứng quá mạnh.
  • Dao động.
  • Rung.

12. THÀNH PHẦN I

I tích lũy sai số theo thời gian.


I = Ki × Σ(Error × dt)

I giúp xử lý tình trạng Drone có sai số kéo dài.

Ví dụ:


+1°
+1°
+1°
+1°
+1°
...

Sai số nhỏ nhưng tồn tại liên tục.

Thành phần I sẽ tích lũy sai số để tạo thêm tín hiệu hiệu chỉnh.

Nếu I quá lớn có thể gây:

  • Overshoot.
  • Dao động chậm.
  • Integral Windup.

Do đó cần giới hạn giá trị Integral.


13. THÀNH PHẦN D

D phản ứng theo tốc độ thay đổi của sai số.


D = Kd × d(Error)/dt

D giúp hệ thống giảm xu hướng vượt quá giá trị mong muốn.

Có thể hiểu:


P → Sai số hiện tại

I → Sai số tích lũy

D → Tốc độ thay đổi sai số

D quá lớn có thể làm hệ thống nhạy với nhiễu cảm biến.


14. VÒNG ĐIỀU KHIỂN DRONE

Hệ thống hoạt động theo vòng kín:


       Góc mong muốn
             ↓
          SETPOINT
             ↓
           ERROR
             ↓
            PID
             ↓
       MOTOR MIXING
             ↓
        M1 M2 M3 M4
             ↓
           DRONE
             ↓
          MPU6050
             ↓
        Dữ liệu mới
             ↓
            ERROR

Đây là nguyên lý Feedback Control.


15. VÍ DỤ HIỆU CHỈNH ROLL

Giả sử:


Roll mong muốn = 0°
Roll thực tế   = +8°

Sai số:


Error = 0 - 8
      = -8°

PID tạo correction.

Motor Mixing phân bổ correction cho bốn motor.

Drone bắt đầu tạo moment đưa Roll trở về gần:


0°

Khi sai số giảm:


PID Output ↓

Drone dần ổn định.


16. HIỆU CHỈNH P

Nên bắt đầu với hệ thống ổn định cơ khí trước.

Sau đó:

  1. Thiết lập P ở mức thấp.
  2. Kiểm tra phản hồi.
  3. Tăng từng bước nhỏ.
  4. Quan sát Drone.
  5. Ghi lại hiện tượng.
  6. Dừng khi xuất hiện dao động rõ rệt.
  7. Điều chỉnh về mức phù hợp.

Không nên thay đổi quá nhiều thông số cùng lúc.


17. HIỆU CHỈNH I

Sau khi P đã có phản hồi phù hợp, mới xem xét I.

Mục tiêu của I là xử lý:

sai số tồn tại lâu dài.

Nếu I quá lớn:


Drone tích lũy correction
        ↓
Overshoot
        ↓
Dao động

Do đó cần đặt giới hạn Integral.


18. HIỆU CHỈNH D

D được sử dụng để cải thiện phản ứng động của hệ thống.

Tuy nhiên D nhạy với nhiễu.

Nếu MPU6050 bị rung:


Rung cơ khí
   ↓
Dữ liệu Gyro nhiễu
   ↓
D phản ứng mạnh
   ↓
Motor thay đổi liên tục

Vì vậy trước khi tăng D cần kiểm tra:

  • Khung.
  • Motor.
  • Cánh.
  • Vị trí MPU6050.
  • Lọc dữ liệu.

19. KHÔNG DÙNG PID ĐỂ SỬA LỖI CƠ KHÍ

Đây là nguyên tắc quan trọng.

Nếu Drone:

  • Lệch trọng tâm.
  • Cánh không cân.
  • Motor yếu.
  • Khung cong.
  • Motor rung.
  • Cánh lắp sai.

thì không nên cố giải quyết bằng PID.

Quy trình đúng:


Cơ khí
  ↓
Motor
  ↓
Cánh
  ↓
Cảm biến
  ↓
Motor Mixing
  ↓
PID

Phải kiểm tra từ nguyên nhân nền tảng trước.


20. KIỂM TRA TRƯỚC KHI BAY

Cơ khí

☐ Khung chắc chắn
☐ Motor chắc chắn
☐ Cánh đúng vị trí
☐ Không có cánh nứt
☐ Trọng tâm hợp lý

Cảm biến

☐ MPU6050 cố định
☐ Calibration hoàn tất
☐ Roll/Pitch đúng hướng

Motor

☐ Đúng M1–M4
☐ Đúng chiều quay
☐ Đúng Motor Mixing

Firmware

☐ Đúng ESP32
☐ Đúng GPIO
☐ Đúng PID
☐ Đúng giới hạn output
☐ Có xử lý failsafe


21. LƯU Ý AN TOÀN

Khi kiểm tra motor trên bàn phải tháo cánh quạt.

Không thực hiện thử nghiệm với cánh quạt đang quay gần người.

Quy trình kiểm tra:


THÁO CÁNH
   ↓
Kiểm tra motor
   ↓
Kiểm tra chiều quay
   ↓
Kiểm tra Motor Mixing
   ↓
Kiểm tra cảm biến
   ↓
Kiểm tra điều khiển
   ↓
Sau đó mới thử bay


22. BÀI THỰC HÀNH

Thực hành 1: Calibration MPU6050

Học viên:

  1. Đặt Drone trên mặt phẳng.
  2. Nạp chương trình đọc MPU6050.
  3. Đọc dữ liệu.
  4. Xác định Offset.
  5. Lưu kết quả.
  6. Kiểm tra lại Roll/Pitch.

Thực hành 2: Kiểm tra motor

Tháo cánh quạt.

Kiểm tra:


M1 → đúng vị trí?
M2 → đúng vị trí?
M3 → đúng vị trí?
M4 → đúng vị trí?

Sau đó kiểm tra:


CW / CCW


Thực hành 3: Kiểm tra Motor Mixing

Thay đổi lần lượt:


Throttle
Roll
Pitch
Yaw

và quan sát:


M1
M2
M3
M4

Học viên phải giải thích được tại sao mỗi motor tăng hoặc giảm.


Thực hành 4: Hiệu chỉnh PID

Lập bảng:

Lần Kp Ki Kd Hiện tượng
1
2
3
4

Các hiện tượng cần ghi:

  • Phản hồi chậm.
  • Phản hồi nhanh.
  • Dao động.
  • Rung.
  • Overshoot.
  • Ổn định.

23. CÂU HỎI KIỂM TRA

  1. Roll, Pitch và Yaw là gì?
  2. MPU6050 có nhiệm vụ gì?
  3. Tại sao cần Calibration?
  4. Motor Mixing dùng để làm gì?
  5. Tại sao các motor phải quay theo những chiều khác nhau?
  6. P có tác dụng gì?
  7. I có tác dụng gì?
  8. D có tác dụng gì?
  9. Vì sao P quá cao có thể gây dao động?
  10. Vì sao rung cơ khí ảnh hưởng đến PID?
  11. Nếu Roll phản ứng ngược, cần kiểm tra những gì?
  12. Vì sao phải tháo cánh khi kiểm tra motor?

24. KẾT QUẢ CẦN ĐẠT

Sau khi hoàn thành Bài 10, học viên phải hiểu được chuỗi:

MPU6050 → Đo trạng thái → Tính sai số → PID → Motor Mixing → Motor → Drone → MPU6050

và có thể giải thích:

Tại sao Drone biết mình đang nghiêng, tại sao motor phải thay đổi tốc độ và bằng cách nào hệ thống đưa Drone trở lại trạng thái mong muốn.

Đây là nền tảng để chuyển sang Bài 11: Lập trình bay tự động A → B, trong đó hệ thống sẽ không chỉ giữ cân bằng mà còn bắt đầu xử lý vị trí, hướng, khoảng cách và quỹ đạo bay.

Lưu ý: Các giá trị PID cụ thể không nên sao chép từ một Drone khác. Bộ thông số phù hợp phụ thuộc vào khung, motor, cánh, khối lượng, nguồn, cảm biến, tần số vòng điều khiển và cách triển khai firmware của từng hệ thống.

popup

Số lượng:

Tổng tiền: