THIẾT KẾ BỘ ĐIỀU KHIỂN PID

posted Sep 21, 2012, 9:07 AM by Hoang Minh Trinh   [ updated Nov 13, 2012, 6:53 AM ]

HƯỚNG DẪN THIẾT KẾ BỘ ĐIỀU KHIỂN PID

      I.            GIỚI THIỆU

Trong bài viết này, chúng ta sẽ thấy được các tính chất của những thành phần: khuếch đại (P); tích phân (I); vi phân (D) và cách sử dụng để nhận được đáp ứng mong muốn. Trong phần này chúng ta sẽ để cập đến hệ thống có phản hồi đầu ra:

so do khoi

            Plant: Đối tượng điều khiển

            Controller: Bộ điều khiển cung cấp tín hiệu điều khiển cho đối tượng điều khiển

   II.            BA THAM SỐ CỦA BỘ ĐIỀU KHIỂN

Hàm truyền của bộ điều khiển PID có dạng sau:

            Với      K: hệ số tích phân
                       KP: hệ số khuếch đại
                       KD: hệ số vi phân

Trước tiên chúng ta sẽ xem một bộ điều khiển PID hoạt động như thế nào trong vòng kín.Biến e là sai lệch giữa đầu vào mong muốn (R) và đầu ra thực tế (Y). Sai lệch (e)  này sẽ được đưa vào bộ điều khiển PID và bộ điều khiển PID sẽ thực hiện việc lấy đạo hàm và tích phân của sai lệch (e). 

Tín hiệu (u) được đưa vào đối tượng điều khiển P và ta thu được tín hiệu đầu ra mới.Tín hiệu đầu ra mới này sẽ được gửi lại nhờ cảm biến để tính toán ra tín hiệu sai lệch mới. Bộ điều khiển sẽ lại lấy tín hiệu điều sai lệch mới này để tính toán toán lại đạo hàm và tích phân của chúng. Quá trình cứ như thế tiếp tục.

III.            ĐẶC ĐIỂM CỦA BỘ ĐIỀU KHIỂN P, I VÀ D

Bộ điều khiển tỉ lệ P giúp giảm thời gian đáp ứng; giảm sai lệch tĩnh nhưng không triệt tiêu được sai lệch tĩnh. Bộ điều khiển tích phân I có khả năng triệt tiêu sai lệch tĩnh; nhưng nó có thể làm cho đáp ứng quá độ tồi tệ hơn. Bộ điều khiển vi phân D giúp giảm độ quá điều chỉnh; cải thiện đáp ứng quá quá độ của hệ thống, tuy nhiên đôi khi làm hệ mất độ ổn định do khá nhạy cảm với nhiễu. Các ảnh hưởng của bộ điều khiển P, I, D với hệ kín được tổng hợp trong bảng dưới đây.

 
Bảng 1

Chú ý: Những tương quan trên có thể không chính xác trong nhiều tình huống, bởi Kp; Ki; Kd phụ thuộc vào nhau.Trong thực tế việc thay đổi một trong những thông số trên có thể làm thay đổi sự ảnh hưởng của hai thông số còn lại. Vì lí do này ,bảng chỉ nên sử dụng như một tài liệu tham khảo khi bạn đang xác định các giá trị cho Ki, Kp, Kd.

IV.            VÍ DỤ

Giả sử chúng ta có một khối lượng ,lò xo ,và bộ giảm dao động

        Giả sử:

·       M=1kg

·       b = 10N.s/m

·       k = 20N/m

·       F(s) = 1

Thay các giá trị vào biều thức hàm truyền trên ta được:

Mục tiêu của  ta trong vấn đề này là tìm Ki;Kp;Kd góp phần để hệ nhận được:

·       Thời gian đáp ứng nhanh

·       Độ quá điều chỉnh là nhỏ nhất

·       Triệt tiêu sai lệch tĩnh

ĐÁP ỨNG BƯỚC NHẢY CỦA VÒNG HỞ

Trước tiên ta xem đáp ứng bước nhảy của vòng hở.Tạo một mfile mới và viết vào đó đoạn code sau:

num=1;

den=[1 10 20];

plant=tf(num,den);

step(plant)

 

Chạy mflie trên ở cửa sổ lệnh của Matlab sẽ cho ta đồ thị


Hệ số khuếch đại của hàm truyền đối tượng là 1/20, nên giá trị cuối của đầu ra là 0.05 trên mỗi đơn vị đầu vào. Tương ứng sai lệch tĩnh là 0.95 rất lớn. Hơn nữa thời gian đáp ứng khoảng 1s và thời gian quá độ khoảng 1.5s. Cần thiết kế một bộ điều khiển để giảm thời gian đáp ứng; giảm thời gian quá độ và loại bỏ sai lệch tĩnh.

          ĐIỀU KHIỂN P

Theo bảng trên ta thấy bộ điều khiển tỉ lệ (Kp) giảm thời gian đáp ứng; tăng độ quá điều chỉnh và giảm sai lệch tĩnh. Hàm truyền hệ kín của hệ thống trên với bộ điều khiển tỉ lệ là:

Chọn hệ số Kp=300 và thay đổi mfile như dưới đây

Kp=300;
contr=Kp;
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)

Chạy mflie trên ở cửa sổ lệnh của Matlab sẽ cho ta đồ thị

Chú ý: Hàm feedback của  Matlab được sử dụng để nhận hàm truyền hệ kín trực tiếp từ hàm 
truyền hệ hở (thay vì tính toán bằng tay)
Đồ thị trên chỉ ra rằng bộ điều khiển tỉ lệ giảm thời gian đáp ứng và sai lệch tĩnh; tăng độ 
quá điều chỉnh và giảm thời gian quá độ một chút.
BỘ ĐIỀU  KHIỂN PD
Quan sát bảng trên vào bộ điều khiển PD, ta thấy bộ điều khiển vi phân (Kd) giảm độ quá điều chỉnh 
và thời gian quá độ. Hàm truyền hệ kín của hệ thống với bộ điều khiển PD là :

 

Cho KP=300 và KD=10 ;nhập vào m_file và chạy trên cửa sổ lệnh của Matlab

Kp=300;
Kd=10;
contr=tf([Kd Kp],1);      
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)
Đồ thị chỉ ra rằng bộ điều khiển D giảm đồng thời độ quá điều chỉnh và thời gian quá độ; 
có ảnh hưởng mộtchút tới thời gian đáp ứng và độ sai lệch tĩnh
BỘ ĐIỀU KHIỂN PI

        Trước khi đến với bộ điều khiển PID; ta hãy quan sát bộ điều khiển PI. Từ bảng trên ta thấy 
        thành phần tíchphân I giúp giảm thời gian đáp ứng; tăng độ quá điều chỉnh và thời gian quá độ; 
        triệt tiêu sai lệch tĩnh. Hàm truyền đạt của hệ kín với bộ điều khiển PI là:

Ta giảm KP xuống còn 30 và đặt K70. Tạo một mfile mới và nhập vào dòng lệnh sau:

Kp=30;
Ki=70;
contr=tf([Kp Ki],[1 0]);  
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)

Chạy mflie trong cửa sổ lệnh của Matlab ta được đồ thị sau

Chúng ta giảm hệ số tỉ lệ Kp bởi bộ điều khiển tích phân giảm thời gian đáp ứng và tăng độ quá điều chỉnh như bộ điều khiên tỉ lệ (hai lần tác dụng).Đáp ứng trên cho ta thấy bộ điều khiển tích phân triệt tiêu được sai lệch tĩnh.

BỘ ĐIỀU KHIỂN PID

Bây giờ chúng ta hãy quan sát bộ điều khiển PID. Hàm truyền đạt vòng kín của hệ với bộ điều khiển PID là:

Sau một vài lần chạy thử và kiểm tra lỗi.Hệ số KP=350; KI=300 và KP=50 cung cấp cho ta đáp ứng mong muốn. Để kiểm chứng, nhập các lệnh sau vào mfile và chạy chúng ở cửa sổ lệnh. 

Kp=350;

Ki=300;

Kd=50;

contr=tf([Kd Kp Ki],[1 0]);      

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t) 

        Bạn sẽ nhận được đáp ứng bước nhảy sau:

        

        Bây giờ chúng ta đã nhận được hệ kín không có độ quá điều chỉnh; thời gian đáp ứng nhanh và không có sai lệch tĩnh.

   V.            THỦ THUẬT CHUNG ĐỂ CHỈNH ĐỊNH BẰNG TAY BỘ ĐIỀU KHIỂN PID

Khi thiết kế bộ điều khiển PID cho một hệ thống; làm theo các bước sau đây để nhận được đáp ứng mong muốn

1.     Từ đáp ứng của hệ hở xác định những gì cần cải thiện

2.     Thêm vào bộ điều khiển tỉ lệ để cải thiện thời gian đáp ứng

3.     Thêm vào bộ điều khiển vi phân để cải thiện độ quá điều chỉnh

4.     Thêm vào bộ điều khiển tích phân để triệt tiêu sai lệch tĩnh

5.     Điều chỉnh từng hệ số Kp, Ki, Kd cho đến khi bạn nhận được đáp ứng mong muốn. Bạn có thể tham khảo bảng ở hướng dẫn ở trên để tìm bộ điều khiển và đặc điểm của chúng. Công việc chỉnh định tham số bằng kinh nghiệm cho bộ điều khiển PID có thể khá buồn tẻ và mất thời gian.

Bạn có thể sử dụng công cụ trong Control System Toolbox để tự động chỉnh định tham số cho bộ PID. Tuy nhiên trước tiên hãy thành thạo việc chỉnh định tham số PID bằng tay. Bộ PID có thể chỉnh định theo các phương pháp nổi tiếng như Ziegler-Nichols, theo phương pháp tối ưu đối xứng, tối ưu module, ... Những vấn đề này sẽ được đề cập trong các bài viết sau.

Cuối cùng, xin hãy nhớ rằng bạn không cần thiết phải có cả ba thành phần P,I,D trong một bộ điều khiển.Ví dụ nếu một bộ điều khiển PI đã đem lại một đáp ứng tốt như ví dụ trên, thì không cần thiết phải thêm thành phần vi phân vào hệ thống. "Keep it simple as it is, not simpler!"

Comments