Đăng nhập
Tìm kiếm
Chào mừng bạn đến với Chợ thông tin Thiết bị điện Việt Nam.
» Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần hỏi/đáp để biết cách dùng diễn đàn.
» Để có thể tham gia thảo luận, các bạn phải đăng ký làm thành viên, click vào đây để đăng ký.
Vui lòng nhấn để đăng ký.
Trả lời
 
Công cụ bài viết Kiểu hiển thị
  #1  
Cũ 23-04-2013, 09:22 AM
nhungnguyen122 nhungnguyen122 đang online
Junior Member
 
Tham gia ngày: Jun 2012
Bài gửi: 7
Mặc định Bộ điều khiển PID số

Hệ thống quảng cáo SangNhuong.com

Bộ điều khiển PID số

Bài viết này là để nhằm đáp ứng yêu cầu nâng cao hiểu biết về bộ điều khiển PID nói chung cho những người mới làm quen với bộ điều khiển này, cũng như việc thực hiện một bộ điều khiển PID số. Việc lý giải vai trò của các thành phần P, I, và D trong bộ điều khiển PID tương tự có thể có đôi chút khó khăn do chúng liên quan đến các biểu thức toán học với các thành phần tích phân và đạo hàm. Bù lại, việc khảo sát vai trò của các thành phần đó khi được viết dưới dạng sai phân lại dễ dàng hơn rất nhiều.
Để cho đơn giản, trong bài viết này các công thức toán học diễn giải bộ điều khiển PID sẽ chỉ được nêu ra dưới dạng ngắn gọn nhất có thể. Sau khi có được dạng sai phân của các thành phần I và D chúng ta sẽ khảo sát các thành phần này một cách kỹ lưỡng hơn để hiểu rõ vai trò của chúng trong bộ điều khiển PID. Từ đó đưa ra các chú ý về việc ứng dụng các bộ điều khiển PID trong thực tế chẳng hạn như: tại sao các bộ điều khiển kiểu PI lại thường được sử dụng cho các đối tượng có đáp ứng nhanh? (như các bộ điều khiển dòng điện, tốc độ…). Tại sao các bộ điều khiển kiểu PD lại thường được sử dụng cho các đối tượng có đáp ứng chậm? (như điều khiển nhiệt độ)…Khái niệm Gọi http://latex.codecogs.com/gif.latex?...%20e_%7Bt %7D là sai số giữa tín hiệu mong muốn (reference value) http://latex.codecogs.com/gif.latex?...e%20r%28t% 29 và tín hiệu đo (measurement value) http://latex.codecogs.com/gif.latex?...e%20y%28t% 29.
[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...20-%20y%28t%29[/TD]
[TD="width: 10%, align: center"](1)[/TD]
[/TR]
[/TABLE]
Luật điều khiển PID là thuật tính toán tín hiệu điều khiển dựa trên các tham số hệ thống và tín hiệu sai số và được biểu diễn như sau [1]:
[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...7D%20%5Cright][/TD]
[TD="width: 10%, align: center"](2)[/TD]
[/TR]
[/TABLE]
trong đó http://latex.codecogs.com/gif.latex?...%20K_%7Bp %7D là hệ số tỷ lệ, http://latex.codecogs.com/gif.latex?...%20T_%7Bi %7Dhttp://latex.codecogs.com/gif.latex?...%20T_%7Bd %7D lần lượt là các hệ số tích phân và vi phân.
Dạng sai phân
Cách thức đơn giản nhất để thực hiện bộ điều khiển PID số là sử dụng các công thức xấp xỉ tích phân lùi backward integral approximation)
[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...0T%20e%28kT%29
[/TD]
[TD="width: 10%, align: center"](3)[/TD]
[/TR]
[/TABLE]
và vi phân lùi (backward difference approximation)
[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...%29%7D%7BT%7D.
[/TD]
[TD="width: 10%, align: center"](4)[/TD]
[/TR]
[/TABLE]
Khi đó phương trình (2) trở thành
[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...+%20u_%7B0%7D.
[/TD]
[TD="width: 10%, align: center"](5)[/TD]
[/TR]
[/TABLE]
Thực hiện bộ điều khiển PID số
Từ phương trình (5) ta có thể viết được các phương trình sau (tham khảo thêm các phương pháp khác ở đây).
[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...end%7Barray%7D[/TD]
[TD="width: 10%, align: center"](6)[/TD]
[/TR]
[/TABLE]
Trong đó: http://latex.codecogs.com/gif.latex?...Bp%7De_%7Bk%7D, http://latex.codecogs.com/gif.latex?...Bi, %20k-1%7D, http://latex.codecogs.com/gif.latex?...e_%7Bk-1%7D%29, http://latex.codecogs.com/gif.latex?...T_%7Bi%7D%7 D, http://latex.codecogs.com/gif.latex?...7D%7D%7BT%7 D.
Các quy luật điều chỉnh
Trong phần này ta sẽ nghiên cứu ảnh hưởng của các tham số P, I và D đến các đáp ứng của hệ thống. Từ đó có thể hiểu rõ được ý nghĩa của chúng trong công việc điều chỉnh các tham số đó sau này. Các lý giải sau đây chỉ thuần túy ở khía cạnh kỹ thuật. Các lý giải mang tính lý thuyết chặt chẽ có thể tìm thấy trong các tài liệu khác, ví dụ như [2], [3], [3], [4]…
Quy luật điều chỉnh P
Từ công thức (6), nếu cho http://latex.codecogs.com/gif.latex?...0K_% 7Bi%7D=0http://latex.codecogs.com/gif.latex?...0K_% 7Bd%7D=0 thì tín hiệu ra của bộ điều khiển có dạng

[TABLE="width: 100%, align: center"]
[TR]
[TD="width: 90%, align: center"]http://latex.codecogs.com/gif.latex?...7Bp%7De%28t%29
[/TD]
[TD="width: 10%, align: center"][/TD]
[/TR]
[/TABLE]
Nghĩa là tín hiệu ra của bộ điều khiển chỉ đơn giản là tích của hệ số tỷ lệ và sai lệch giữa tín hiệu đặt và tín hiệu thực.
Giả sử bài toán ở đây là điều khiển tốc độ động cơ với tín hiệu đặt tốc độ là http://latex.codecogs.com/gif.latex?...%20%20r=1 000 vòng/phút, http://latex.codecogs.com/gif.latex?... %7D%20=%2015. Ta thử khảo sát xem sự biến thiên của tín hiệu ra của bộ điều khiển theo thời gian sẽ như thế nào.
Trả lời với trích dẫn


CHUYÊN MỤC ĐƯỢC TÀI TRỢ BỞI
  #2  
Cũ 23-04-2013, 09:22 AM
rmaher rmaher đang online
Junior Member
 
Tham gia ngày: Jun 2012
Bài gửi: 7
Mặc định

Hệ thống quảng cáo SangNhuong.com

Trả lời với trích dẫn


  #3  
Cũ 23-04-2013, 09:22 AM
vuong_it vuong_it đang online
Junior Member
 
Tham gia ngày: Jun 2012
Bài gửi: 6
Mặc định

[TABLE]
[TR]
[TD="colspan: 2"]
  • Nếu so sánh với bộ điều khiển kiểu P thì cũng tại thời điểm http://latex.codecogs.com/gif.latex?...splaystyle%20k này tín hiệu điều khiển sẽ là http://latex.codecogs.com/gif.latex?...%5Ctimes%20200. Như vậy, bộ quy luật điều khiển kiểu D này còn tác động nhanh hơn cả kiểu P.
    Tính tắt nhanh
    Điều gì xảy ra khi đầu ra của hệ thống không thay đổi trong hai chu kỳ lấy mẫu liên tiếp? Ví dụ, tại thời điểm http://latex.codecogs.com/gif.latex?...laystyle%20k-1 động cơ đang quay với tốc độ là http://latex.codecogs.com/gif.latex?...ystyle%20y=900 vòng/phút, nghĩa là sai lệch http://latex.codecogs.com/gif.latex?...-900%20=%20100 và ở thời điểm http://latex.codecogs.com/gif.latex?...splaystyle%20k động cơ vẫn quay với tốc độ là http://latex.codecogs.com/gif.latex?...ystyle%20y=900 vòng/phút hay http://latex.codecogs.com/gif.latex?... %7D%20=%20100. Khi đó http://latex.codecogs.com/gif.latex?...100%29%20=%200.

    Điều này phản ánh đúng bản chất của quy luật điều khiển kiểu D: tín hiệu ra tỷ lệ với tốc độ biến thiên của sai lệch. Khi sai lệch vẫn còn nhưng không thay đổi thì tín hiệu ra của bộ điều khiển bằng 0. Vì vậy, cần kết hợp quy luật P và D để có được một bộ điều khiển có thể được sử dụng trong thực tế.
    Quy luật điều chỉnh PID
    Rõ ràng việc phối hợp các đặc tính P, I, và D sẽ cho chúng ta khả năng thiết kế được một bộ điều khiển PID phù hợp với các đối tượng cần điều khiển khác nhau.
    Sử dụng bộ điều khiển PID
    Một vấn đề cần được đặt ra là trong trường hợp nào thì nên dùng bộ điều khiển kiểu P, PI, PD hay PID?
    Với các đối tượng có đáp ứng nhanh
    Giả sử một bộ điều khiển kiểu PD được dùng để điều khiển cho một đối tượng có đáp ứng nhanh như điều khiển dòng, điều khiển tốc độ động cơ… Nếu vì một lý do nào đó (như tải tăng chẳng hạn) làm cho đầu ra của hệ thống giảm nhanh về một giá trị nào đó thì do sai lệch sau đó gần như không đổi nên khâu D sẽ gần như không có tác dụng.
    Trong trường hợp này, nếu thay vì sử dụng bộ điều kiển kiểu PD ta sử dụng một bộ điều khiển kiểu PI thì tín hiệu ra của khâu vi phân sẽ liên tục được cộng dồn làm cho tín hiệu đầu ra của bộ điều khiển ngày càng lớn và có thể đủ để thắng mức độ gia tăng của tải thì sẽ làm tốc độ động cơ tiếp tục tăng trở lại giá trị đặt.
    Vì vậy, đối với các đối tượng có đáp ứng nhanh thì sử dụng các bộ điều khiển kiểu PI (có đáp ứng chậm) hoặc PID là phù hợp.
    Với các đối tượng có đáp ứng chậm
    Hiện tượng Windup
    Giả sử một bộ điều khiển kiểu PI được dùng để điều khiển cho một đối tượng có đáp ứng chậm như điều khiển nhiệt độ chẳng hạn. Do đáp ứng chậm nên có thể xảy ra trường hợp sai lệch giữa giá trị đặt so với giá trị thực có thể diễn ra trong thời gian dài. Ví dụ, nhiệt độ đặt là http://latex.codecogs.com/gif.latex?...le%2085%5E0 C, nhiệt độ hiện tại của đối tượng là http://latex.codecogs.com/gif.latex?...le%2035%5E0 C và giả sử phải gia nhiệt hết công suất thì cũng phải sau 15 phút thì nhiệt độ mới đạt yêu cầu. Chú ý là tín hiệu ra của khâu I http://latex.codecogs.com/gif.latex?...0u_%7Bi,k-1%7D được cộng dồn liên tục do chu kỳ điều khiển http://latex.codecogs.com/gif.latex?...splaystyle%20k thường rất nhỏ (chỉ cỡ vài chục ms chẳng hạn). Kết quả là tín hiệu ra của khâu I cứ tăng lên mãi, vượt quá khả năng của mạch công suất nhưng do sai lệch vẫn còn lớn nên khâu I vẫn tiếp tục cộng dồn… Hiện tượng như vậy còn được gọi là Windup. Vì vậy, với bộ điều khiển có khâu I người ta có thể còn cần phải thiết kế thêm một phần để chống lại hiện tượng này và được gọi là anti windup.
    Trong ví dụ này, nếu thay vì sử dụng bộ điều kiển kiểu PI ta sử dụng một bộ điều khiển kiểu PD thì tín hiệu ra của khâu D http://latex.codecogs.com/gif.latex?...e_%7Bk-1%7D%29 sẽ có giá trị không lớn, phù hợp với mức độ gia tăng dần dần của nhiệt độ đầu ra.

    Như vậy, đối với các đối tượng có đáp ứng chậm thì sử dụng các bộ điều khiển kiểu PD (có đáp ứng nhanh) là phù hợp.
    Các trường hợp khác
    Nói chung, dựa trên các phân tích ở trên có thể thấy rằng việc sử dụng một bộ điều khiển kiểu PID và chọn được các tham số phù hợp thì có thể đáp ứng được nhu cầu điều khiển cho nhiều loại đối tượng khác nhau.
    (Tham khảo cách thực hiện một bộ điều khiển PID số ở chuyên đề “Điều khiển tốc độ động cơ một chiều với PIC 18F452“).

    Kết luận
    Các thành phần P, I, và D trong bộ điều khiển PID (số) có ý nghĩa rất cụ thể và rõ ràng. Trong bài toán điều khiển bám (theo giá trị đặt), thành phần tỷ lệ P phản ứng lại ngay với sai lệch, không cần “nhớ” đáp ứng trước đó như thế nào, nhờ vậy mà nó tạo ra đáp ứng nhanh và kịp thời. Thành phần tích phân I là thành phần “có nhớ”, nó lưu lại giá trị điều khiển của vòng lặp trước sau đó điều chỉnh thêm vào hay bớt đi một lượng nào đó (do hệ số http://latex.codecogs.com/gif.latex?...%20K_%7Bi %7D và độ lớn của sai số quyết định) để tạo ra tín hiệu điều khiển cho vòng lặp tiếp theo cho đến khi sai lệch bằng 0. Thành phần D cũng là một thành phần “có nhớ”, nó so sánh mức độ chênh lệch của sai lệch ở vòng lặp hiện tại và sai lệch được lưu ở vòng lặp trước đó để đưa ra tín hiệu điều khiển của riêng mình. Khi độ chênh giữa sai lệch của hai chu kỳ điều khiển kế tiếp càng lớn thì tín hiệu điều khiển ra của nó càng lớn (bản chất của đạo hàm). Còn nếu sai lệch của chu kỳ điều khiển hiện tại cũng giống như sai lệch ở chu kỳ điều khiển trước (nghĩa là sai lệch vẫn còn nhưng không thay đổi) thì tín hiệu điều khiển ra của nó bằng 0.
    Như vậy, ba thành phần P, I, và D trong một mạch vòng điều khiển cũng tương tự như 7 nốt nhạc trong một bản nhạc. Bằng cách phối hợp các thành phần đó với những tỷ lệ khác nhau chúng ta cũng có thể tạo ra một “bản nhạc” điều khiển với các “giai điệu” khác nhau. Nếu phối hợp tốt sẽ tạo ra một bản nhạc như mong muốn và êm ái. Còn nếu phối hợp không khéo thì sẽ tạo ra một bản nhạc uốn éo, giật cục với giai điệu khó có thể biết trước được.
[/TD]
[/TR]
[/TABLE]
Trả lời với trích dẫn


  #4  
Cũ 23-04-2013, 09:22 AM
cuongkinhbas cuongkinhbas đang online
Junior Member
 
Tham gia ngày: Jun 2012
Bài gửi: 8
Mặc định

Hệ thống quảng cáo SangNhuong.com

cam on anh bao huy nha.
Trả lời với trích dẫn


CHUYÊN MỤC ĐƯỢC TÀI TRỢ BỞI
Trả lời


Công cụ bài viết
Kiểu hiển thị

Quyền viết bài
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is Mở
Mặt cười đang Mở
[IMG] đang Mở
HTML đang Mở
Chuyển đến

SangNhuong.com


Múi giờ GMT +7. Hiện tại là 09:20 PM