Trích:
Nguyên văn bởi ham_hoc_hoi
Nói như bác thì cái hàm PID của C30 viết ra chỉ ứng với các hệ số nhỏ hon 1 hả bác, các đại luọng khác còn quy đổi về dạng tuong đối dduowcj, còn các hệ số bản thân nó cũng ko có đơn vị thì làm sao quy đổi dc.
Vậy để có dc các hệ số lơn hơn 1 thì em phải khai báo là float hả bác
|
Nếu bạn tính toán trong hệ đơn vị tương đối (đặc biệt theo cách mà code mẫu của Microchip đã dùng) thì các biến điều khiển cũng thường có tầm trị giữa -1 và 1, do đó các hệ số của bộ điều khiển PID cũng thường có thể biểu diễn bằng Q15. Sao bạn không thử tính toán cho một ví dụ cụ thể mà cứ giả thiết rằng cần dùng các hệ số có tầm trị vượt khả năng của Q15?
Trong trường hợp cần dùng các hệ số vượt khả năng của Q15, bạn có thể tự viết giải thuật điều khiển PID với các tính toán được hiện thực trong hệ đơn vị tuyệt đối, và dùng các biến float.
Thân,