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à:
- **Thiết lập các bộ lọc để loại bỏ noise, có thể chú ý đến soft mount
- D-setpoint weight = 0
- TPA = 0
- V-Bat PID compensation = ON
- Anti_gravity = OFF
- D-Term lowpass filter = PT1
- Enable Gyro notch filter 1, Enable Gyro notch filter 2, Enable D-term notch filter = OFF
- set debug_mode = notch (BF 3.4 change set debug_mode = gyro_scaled)
- Set 8k/8k
- set blackbox = 4K
- 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
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.
=====================================================
- 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 đồ
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
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
- 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ư
=============================================
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
Formulas:
• (D1 / P1) x P2 = D2
• (P1 / D1) x D2 = P2
===============================================