PDA

View Full Version : Giúp em cái PID số này với


han_nang_008
21-01-2009, 10:17 PM
em đang làm bộ điều khiển PID số tốc độ dc 1 chiều, e đã vẽ dc đồ thị tốc độ lên PC rồi, giai thuật PID của e như này
em lấy giá trị ADC để đặt tốc độ
giá trị ADC của em từ 0 đến 511 thì em đo tốc đọ tương ứng là 0 đến 48 vòng/s
em tính PID như sau
chu kì trích mẫu của em là 10ms
tốc đọ đặt em tính như sau
giá trị ADC từ 0 đến 511
thì tóc đọ tuong ứng từ 0 đến 48 v/s
em chuyển đơn vị vòng/s thành số xung/10ms
tính toán dc từ 0 đến 48v/s thành 0 đến 460,8 xung/10ms
như vậy tốc đọ đặt của em = (giá trị ADC) * 460,8/512 = giá triADC * 0,9
tốc đọ đo về của em cũng là số xung/10ms
em dùng biểu thức sau để tính PID
u[n] = u[n-1] + A0*e[n] +A1*e[n-1] +A2*e[n-2]
A0= Kp + Ki + Kd
A1= - Kp – 2Kd
A2 = Kd
thì sau khi tính toán em dc giá trị u[n] là 1 số có n đơn vị là xung/10ms, em quy đổi số này ra thành duty cycle như sau
giá trị nạp vào PWM từ 0 đến 511 để đạt dc từ 0 đến 100%
từ 0 đến 100% thì tốc độ từ 0 đến 48 v/s tg úng từ 0 đến 460,8 xung/10ms
như vậy giá trị nạp vào PWM = u[n] / 0,9
với cách quy đổi trên thì khi em đặt tốc đọ bằng 24 v/s thì với các hệ số từ Kp=4 trở lên thì tốc đọ đều ổn định ở tốc độ 32 v/s có nghĩa là vượt qua tốc độ đặt, tăng tiếp kp thì nó cũng dao động quanh 32v/s ( các hệ số ki, kd =0), cái này có phải sai so với lý thuyết ko các bác
còn với hế số Kp nhỏ hơn 4 thì tốc đọ đều nhở hơn tốc độ đặt.
Các bác xem em quy đổi như trên có đúng ko.