Như chúng ta đã biết tất cả các đề thi robocon của các năm chúng ta đều cần sử dụng đến động cơ , để chuyển động, để làm tời kéo hay để điều khiển vít me bi....
Để điều khiển động cơ hoạt động 1 cách chính xác(tốc độ ,góc quay) hôm nay chúng ta sẽ tìm hiểu về giải thuật PID (tỷ lệ,tích phân,đạo hàm). Để làm được việc này chúng ta sẽ nói đến 1 loại động cơ DC có encoder .
Giả sử động cơ đang quay ở tốc độ v0 , ta muốn nó quay với 1 tốc độ v1 nào đó (v>v0).
Đặt e=v-v0
Để động cơ quay được đến tốc độ v động cơ cần phải có 1 momen có giá trị M=Kp*e , với Kp là hằng số tỷ lệ.Như vậy khi có thêm 1 momen M thì động cơ sẽ quay đến tốc độ v1 , nhưng trong động cơ tồn tại momen quán tính nên sau đó v sẽ tăng vượt quá v1 , và cứ như thế v sẽ dao động xung quanh giá trị v1 . và điều này sẽ khiến cho động cơ hoạt động ko ổn định.
Để giảm sự dao động này chúng ta sẽ sử dụng sử dụng 1 bộ đạo hàm Kd*(de/dt) (với Kd là hằng số đạo hàm, de/dt là độ thay đổi tốc độ hay là gia tốc của động cơ.) hoạt động như một cái phanh để khi v ko vượt quá xa v1.http://cdtdongnhat.blogspot.com/p/ien-tu.html
Có những trường hợp do ngoại lực tác động lên động cơ nên động cơ sẽ ko đến được v1 mà sẽ giao động quanh 1 giá trị v2 nào đó. lúc này cả thành phần tỷ lệ và tích phân đều mất tác dụng.Để giải quyết vấn đề này người ta sử dụng 1 bộ cộng dồn các giá trị sai số theo thời gian làm tăng momen M lên , thành phần cộng dồn này chính là thành phần tích phân trong bộ PID.
Từ các kết quả trên ta có công thức PID:
M=Kp*e + Kd*(de/dt)+Ki*∫edt
Chọn các giá trị Kp,Ki,Kd
-Kp chọn đầu tiên sao cho v biến thiên đến v1 nhanh nhất và độ giao động tốc độ là nhỏ nhất.
-Để loại bỏ giá trị giao động này ta tăng dần dần Kd
-Ki nên tăng từ bé đến lớn.
Khi làm với vi điều khiển do thời gian lấy mẫu nhỏ nên ta có :
+)P=Kp*e
+)D=Kd*(de/dt )=Kd* (e(k)-e(k-1))/h . Với h là thời gian lấy mẫu.
+)I=Ki*∫edt =Ki*(I(k-1)+e(k)*h)
=>u+=P+I+D;
//set_pwm1_duty(u);
Ở đây nếu u ko được cộng dồn thì lúc đạt được tốc độ mong muốn thì u=0 => động cơ sẽ bị hãm lại nên ta phải cộng dồn giá trị u để giữ nguyên tốc độ v1.
Không có nhận xét nào:
Đăng nhận xét