PID Analyzer Config - trunglp/PA-Readme GitHub Wiki

PID-Analyzer là một công cụ để phân tích log tìm ra PID tối ưu, cách thực hiện dựa vào blackbox log để thu thập lấy mẫu

Giá trị PID trong betaflight nó chịu ảnh hưởng vật lý bởi (motor, cánh, Pin, cách thiết kế, phân bố khối lượng,....) và chịu tác động ảnh hưởng từ gyro và bộ lọc. Khi chúng ta thay đổi (motor, cánh, Pin, cách thiết kế, phân bố khối lượng,....) nó sẽ tác động đến PID và gây ảnh hưởng đến các hành vi của máy bay.

Đặc điểm của công cụ này giúp chúng ta tinh chỉnh PID

  • Cho dù bạn sử dụng (acro, angle…) thì kết quả sẽ giống nhau
  • Không cần phải bay dưới dạng FPV
  • Log 20 giây của mỗi lần bay đủ để kiểm tra và thiếp lập PID
  • Thiết lập nhiều biểu đồ khác nhau để có thể so sánh chọn kết quả phù hợp

Cài đặt quad của bạn

Thiết lập các thống số cài đặt ban đầu là:

  1. **Thiết lập các bộ lọc để loại bỏ noise, có thể chú ý đến soft mount
  2. D-setpoint weight = 0
  3. TPA = 0
  4. V-Bat PID compensation = ON
  5. Anti_gravity = OFF
  6. D-Term lowpass filter = PT1
  7. Enable Gyro notch filter 1, Enable Gyro notch filter 2, Enable D-term notch filter = OFF
  8. set debug_mode = notch (BF 3.4 change set debug_mode = gyro_scaled)
  9. Set 8k/8k
  10. set blackbox = 4K
  11. dynamic_filter = ON

Các thiết lập thông số bên trên để ngăn chặn bất kỳ các sửa đổi liên quan đến đầu vào của tham số PID. Tuy nhiên, tôi khuyến khích bạn nên thay đổi các giá trị này sau khi chúng ta đã tìm được PID hợp lý

set debug_mode = gyro_scaled (Betaflight 3.4) or

set debug_mode = notch (Betaflight 3.3 and earlier)

cấu hình log mở mức tần số cao để phân tích noise. Nó là rất quan trọng để thu thập được nhiều mẫu data. Giá trị tần số tốt nhất là 1/2 PID loop (VD: 8khz PID loop thì chúng ta ghi log khoảng 4Kkz)

(Sự ảnh hưởng của P )

P là tỉ lệ độ lợi của bộ điều khiển. Tăng P làm cho bộ điều khiển phản ứng nhanh hơn, nhưng có thể dẫn đến dao động không mong muốn. Khi tinh chỉnh P xong nó sẽ giúp tinh tỉnh I được hiệu quả hơn

influence p

Sự ảnh hưởng của D (tên chính xác là đạo hàm)

D là thông số phản diện đối với P. Thường được gọi là "giảm xóc" giảm sai lệch (D làm việc trong phạm vi nhất định của P). Nó hoạt động trên tỷ lệ thay đổi (là đạo hàm) của P. Do đó chống lại sự thay đổi nhanh được tạo ra từ một P high.

Một khi D high có thể dẫn đến sự bất ổn và tạo ra dao động khi hệ thống bị nhiễu loạn.

influence d

Plasmatree PID Analyzer | SETUP & TUNING A QUAD

Plasmatree PID Analyzer 2 | SETUP & TUNING A QUAD

Plasmatree PID Analyzer | SETUP & TUNING A QUAD

=====================================================

Cách thức để chúng ta tinh chỉnh PID bằng công cụ Plasmatree PID Analyzer.

pid_compensation_animated

Tuning P

  • Bước 1: Tìm giá trị cho P thích hợp

Để tìm được giá trị P tốt nhất, chúng ta set giá trị I và D ở mức thấp từ 5 đến 10, và cấu hình P cho 2 trục Pitch và Roll lần đầu tiên là 20 (P= 20,30,40,50,60)

  • Bước 2: Chúng ta sẽ lấy mẫu dữ liệu cho P => bằng cách bay thử từ 20 đến 40 giây, chú ý phải cho bay tiến lùi, trước sau, lên xuống để dữ lấy mẫu được chính xác, không nên cho bay đứng yên một chổ.

  • Bước 3: Save file log từ blackbox => dùng tool "Plasmatree PID Analyzer" để tạo biểu đồ

plasma_p-1024x902

Tuning I

Sau khi chọn được P từ bước trên. Ta tiến hành tuning I, bằng cách thay đổi giá trị mỗi bước lặp lên 10 đơn vị I= 20,30,40,50,60

plasma_i-1024x902

Tuning D

plasma_d-1024x902

Tăng giá trị của I sẽ làm phẳng đường cong đồ thị và có giá trị cường độ gần bằng 1

  • Nếu bạn tăng I quá nhiều, đường cong đồ thị sẽ có nhiều gợn sóng
  • Nếu giá trị I quá ít, đường cong đồ thị sẽ đạt được giá trị gần bằng 1 trong đoạn 0.0 -> 0.1 và sẽ có xu hướng có giá trị cường độ thấp hơn sau đó.

Kết quả cuối cùng khi chọn được kết quả tốt

plasma_final-1024x175

Nói tóm lại,

  • Nếu chúng ta thấy biểu đồ của Plasmatree có điểm nhọn đầu đầu tiên lớn hơn > 1 => cần giảm P lại hoặc tăng D lên
  • Nếu bạn nhìn thấy trong biểu đồ có nhiều rợn sóng chúng ta cần phải tăng I lên
  • Nếu bạn nhìn thấy biểu đồ nhỏ hơn < 1 => Thì ta cần giảm lại D hoặc tăng P lên
  • Nên nhớ rằng nếu giá trị D quá cao sẽ làm cho motor quá nóng và hư

=============================================

Cách tuning PID sau cùng của tác giả Plasmatree

Setup giá trị P.I.D cho Roll và Pitch lần lượt là

P= 15
I= 10
D= 5

Yaw để giá trị mặc định ( tăng thử Yaw P= 85)
Tuning lần lượt từ P => D => I

Tuning P

Low P

image

High P

image

Good P

image

Tuning D

Low D

image

High D

image

Good D

image

Final Tuning

Formulas:
• (D1 / P1) x P2 = D2
• (P1 / D1) x D2 = P2

===============================================

So sánh

Trước khi tuning

post-plasmatree

Sau khi tuning

pre-plasmatree

Các bước tìm P

log00001tmp_0_response log00002tmp_0_response log00003tmp_0_response log00004tmp_0_response log00005tmp_0_response log00006tmp_0_response log00007tmp_0_response log00008tmp_0_response

Các bước tìm D

log00001tmp_0_response log00002tmp_0_response log00003tmp_0_response log00004tmp_0_response log00005tmp_0_response log00006tmp_0_response log00007tmp_0_response log00008tmp_0_response

Giá trị cuối cùng tìm được

log00001tmp_0_response log00002tmp_0_response log00003tmp_0_response

⚠️ **GitHub.com Fallback** ⚠️