Thiết kế bộ PID cho hệ Robot

Một phần của tài liệu Xây dựng mô hình và thiết kế bộ điều khiển cân bằng robot hai bánh sử dụng vi điều khiển PIC (Trang 72)

m.g.h γ =I.α Hay

3.5.2.Thiết kế bộ PID cho hệ Robot

Thực tế cho thấy mô hình toán học của đối tượng mà ta xây dựng được thường không nằm trong các dạng đặc biệt để có thể áp dụng một số phương pháp xác định thông số cho bộ điều khiển PID như phương pháp tối ƣu modul, phương pháp tối ƣu đối xứng, phương pháp của Reinisch, phương pháp Chien-Hrones- Reswick hay phương pháp tổng hằng số thời gian (Kuhn). Trong thực tế khi gặp những đối tượng dạng này, phương pháp xác định tham số KP, TI, TD của bộ điều khiển PID bằng thực nghiệm hay còn gọi là phương pháp thứ hai của Zeigler- Nichols thường được sử dụng vì nó có ưu điềm là đơn giản và cho kết quả khá tốt.

Nguyên lý của phương pháp này như sau:

Bƣớc 1: Thay bộ điều khiển vị trí bằng một bộ khuếch đại. Sử dụng tín hiệu thử là hàm step 1(t). Sau đó tăng dần hệ số khuếch đại tới giá trị trị Kth để hệ kín ở biên giới ổn định, nghĩa là h(t) có dạng dao động điều hòa. Xác định chu kỳ Tth của dao động.

Bƣớc 2: Xác định tham số cho bộ điều khiển P, PI, PID như sau:

 Nếu sử dụng bộ điều khiển P: G(s) = KP thì chọn KP = Kth

 Nếu sử dụng bộ điều khiển PI: G(s) = KP (1 + ) thì chọn KP = 0.45Kth và TI = 0.85Tth

 Nếu sử dụng bộ điều khiển PID: G(s) = KP ( 1+ ) thì chọn KP = 0.6Kth , TI = 0.5Tth , TD = 0.12Tth

Trong đó G(s) là đối tượng điều khiển

Hình 3.27 Hệ thống điêu khiển theo phƣơng pháp Zeigler-Nichols thứ 2

k G(s)

l(t)

-

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Tham số bộ điều khiển PID được xác định theo bảng sau:

Bộ điều khiển KP Ti Td P 0,5*Kgh  0 PI 0,45*Kgh 2 1 *Tgh 0 PID 0,6*Kgh 0,5*Tgh 0,125*Tgh

Bảng 3. 10 Tham số bộ PID theo phƣơng pháp Zeigler-Nichols thứ 2

Cách xây dựng cho bộ PID là từ PID tương tự ta rời rạc hóa hệ thức PID (PID số) từ đó xây dựng thuật toán cho bộ PID để điều khiển hệ thống.

Trong miền thời gian, bộ điều khiển PID được mô tả bằng mô hình vào ra: u(t) = Kpe(t)+KIe(t)dt + KD

dt t de( )

Trong đó e(t) là tín hiệu ngõ vào, u(t) là tín hiệu ngõ ra của bộ điều khiển. Tuy nhiên với vi điều khiển nói chung việc tính toán các thành phần P, I, D hay nói cách khác là tính tích phân đạo hàm theo công thức trên là không tính toán được vì CPU không thể tính toán tới, nghĩa là không liên tục. Do đó mà ta chỉ có thể tính toán gần đúng. Để tìm hệ thức PID rời rạc ta xét đồ thị sau đây:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Chú thích:

Đường chấm gạch biểu diễn vận tốc cần thiết.

Đường gạch xanh biểu diễn vận tốc thực tế của động cơ. Đường gạch đậm là đồ thị rời rạc hóa của vận tốc. Tóm lại ta sẽ có: u(i) = Kp * e + Kd * t i e i e    ) ()] 1 ( [ Đặt e_delta(i+1)=e(i+1)-e(i) e_sum(i+1)=∑e(i)=e_sum(i)+e(i+1)

Trong công thức trên, thời gian sampling time là rất nhỏ ta bỏ qua. Khi đó công thức trên được viết lại như sau:

U = Kp*e+Ki*e_sum+Kd*delta_e điều kiện biên : u(0)=duty>0.

Đối tượng điều khiển là vận tốc động cơ DC, ta biết vận tốc động cơ DC phụ thuộc vào dòng điện hay điện áp cung cấp. Để điều khiển vận tốc ta dùng PWM (Pulse Width Modulation), cụ thể là duty cycle.

Vậy ngõ vào và ra của bộ điều khiển PID như sau:

Ngõ vào: e = vận tốc hiện tại (v_cur) - vận tốc thiết lập (v_set). Ngõ ra: u = %duty cycle.

Phụ thuộc giữa %duty và vận tốc DC gần như tuyến tính nên để đơn giản ta giả sử nó hoàn toàn tuyến tính. Vậy ta có thể điểu khiển vận tốc DC thông qua %duty. (adsbygoogle = window.adsbygoogle || []).push({});

Phần điều khiển chúng ta sử dụng ATMEGA328 với 5 kênh PWM và 6 kênh ADC để nhận dữ liệu đầu vào từ cảm biến, tín hiệu đầu vào ADC là gia tốc góc và vận tốc góc sẽ được chuyển thành tín hiệu dạng DIGITAL. PWM (pulse width

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

modulation) là modul mở rộng của ATMEGA328 nó có chức năng tạo ra dãy xung có % duty và tần số xác định. Các %duty và tần số ta có thể điều chỉnh bằng phần mềm.

Hình 3.29 Mô tả %duty

Các hệ số Kp, Ki, Kd được lập trình sẵn. Các hệ số này có được sau quá trình thực nghiệm theo phương pháp thứ hai của Ziegler-Nichols (thực tế có thể xem đây như là phương pháp giả Ziegler-Nichols) vì việc xác định chu kỳ của dao động khi đối tượng bị dao động theo phương pháp này là rất khó lấy được chính xác.

Sơ đồ giải thuật lập trình:

Các ký hiệu:

- Kp, Ki, Kd lần lượt là các hệ số Kp, Ki, Kd.

- Kp_t, Ki_t, Kd_t lần lượt là các giá trị tìm được từ thực nghiệm. - e2 là sai lệch hiện tại (lúc đang xét).

- e1 là sai lệch ngay trước đó.

- e_sum là tổng của tất cả các sai lệch từ lúc bắt đầu đến thời điểm đang xét. - e_del là hiệu số của hai sai lệch e2 và e1, hay nói cạh khác đó là độ biến thiên sai lệch.

- v_set tín hiệu góc nghiêng sai khi tính toán giá trị đọc về từ cảm biến. - Duty là phần trăm duty cycle của xung PWM cần cung cấp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bắt đầu quá trình tính toán duty phải có một giá trị là khác 0, mục đích để thắng lực quán tính của động cơ.

e1=e2=0 e_sum=0 e_del=0

ta có hệ thức của PID như sau:

duty=duty+Kp*e2+Ki*e_sum+Kd*e_del

Đầu tiên ta chỉnh cho Kp=1 và Ki=0. Nghĩa là chỉ điều khiển P sau đó ta tăng Kp lên dần dần, và quan sát động cơ. Khi thấy động cơ dao động nghĩa là nó lúc nhanh lúc chậm, ta thấy Kp tại đó nhân với 0.6 để tính toán. Nghĩa là Kp=0.6*Kp_dao động. Sau đó tăng Kd lên dần dần (giữ nguyên Kp), nếu Kd quá lớn sẽ làm cho động cơ bị dao động mạnh. Giảm Kd cho đến khi động cơ hết dao động. Điều chỉnh Ki là rất khó, bắt đầu từ giá trị rất nhỏ, ví dụ lấy Ki=1/Kd chẳng hạn. Hệ số Ki không cần quá lớn vì động cơ bản thân nó đã có thành phần Ki (thể hiện ở momen quán tính hay sức ì của động cơ).

Do đó thường với đối tượng điều khiển là nhiệt độ hay động cơ (các đối tượng có quán tính) thì chỉ cần bộ điều khiển PD là đủ. Bảng sau chỉ rõ các ảnh hưởng của Kp,Ki,Kd đến các đặc tính của hệ thống:

Đáp ứng của hệ thống Thời gian Số Thời gian ổn định Sai lệch so với trạng thái bền

KP Giảm Tăng Ít thay đổi Giảm

KI Giảm Tăng Tăng Triệt tiêu

KD Ít thay đổi Tăng Tăng Ít thay đổi

Bảng 3.11 Ảnh hƣởng của Ki, Kp, Kd tới đặc tính của hệ thống

Ta thấy phương pháp này có nhiều nhược điểm như: không có cơ sở toán học vững chắc, không tối ưu (vì tất cả đều chọn hết sức ngẫu nhiên trong một cùng giá trị nào đó). Tuy vậy động cơ có thể đáp ứng tốt, và độ quá điều chỉnh đưa ra là

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

không quá 20% còn các phương pháp khác thì thường có độ quá điều chỉnh (độ vọt lố) tầm 40%. Đáp ứng của động cơ càng “tốt” nếu thời gian lấy mẫu PID càng nhỏ.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Một phần của tài liệu Xây dựng mô hình và thiết kế bộ điều khiển cân bằng robot hai bánh sử dụng vi điều khiển PIC (Trang 72)