anh hoanglongu ơi cho e hỏi chút nhé, e cũng đang làm bộ điều khiển PID số tốc độ dc 1 ch như của a, e cũng đã 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òn với hế số Kp nhở hơn 4 thì tốc đọ đều nhở hơn tốc độ đặt.
Anh xem em quy đổi như trên có đúng ko.
Anh có thể nói cho em cách quy đổi của anh ko và cho em nick yahoo dc ko anh.
Thanks trc nhé
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òn với hế số Kp nhở hơn 4 thì tốc đọ đều nhở hơn tốc độ đặt.
Anh xem em quy đổi như trên có đúng ko.
Anh có thể nói cho em cách quy đổi của anh ko và cho em nick yahoo dc ko anh.
Thanks trc nhé
Comment