Loading web-font TeX/Math/Italic

Thứ Bảy, 18 tháng 8, 2018

Thứ Bảy, 19 tháng 11, 2016

BỘ ĐIỀU KHIỂN PID SỐ

          Về cơ bản bộ điều khiển PID rong miền liên tục thường được đưa ra dưới dạng:
u(t)={{K}_{P}}\left[ {e(t)+\frac{1}{{{{T}_{I}}}}\int\limits_{0}^{t}{{e(\tau )d\tau +{{T}_{D}}\frac{{de(t)}}{{dt}}}}} \right] (1)
           Nó còn có thể viết lại như sau
u(t)={{r}_{0}}e(t)+{{r}_{{-1}}}\int\limits_{0}^{t}{{e(\tau )d\tau }}+{{r}_{1}}\frac{{de(t)}}{{dt}} (2)
           Trong đó e(t)=\text{w}(t)-y(t)  và mối liên hệ giữa (1) và (2) là:
 {{K}_{P}}={{r}_{0}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}{{T}_{I}}=\frac{{{{K}_{P}}}}{{{{r}_{{-1}}}}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}{{T}_{D}}=\frac{{{{r}_{1}}}}{{{{K}_{P}}}} (3)
          Trong đó u(t)  là đầu ra của bộ điều khiển là biến thao tác, y(t) là đầu ra của quá trình là biến điều khiển, e(t) làm tiêu chuẩn sai lệch bám và \text{w}(t) là tín hiệu đặt hay điểm đặt. Thông số bộ điều khiển PID bao gồm: hệ số khuyếch đại {{K}_{P}}, hằng số thời gian tích phân {{T}_{I}}  ,hằng số thời gian vi phân {{T}_{D}} . Thông số của bộ điều khiển (2) là hệ số {{r}_{0}}, hằng số tích phân {{r}_{{-1}}} và hằng số vi phân {{r}_{1}}. Bởi vì (1) được sử dụng rộng rãi nhất trong thực tế, và các quy tắc tổng hợp bộ điều khiển PID đã được định nghĩa cho {{K}_{P}},{{T}_{I}} và  cho {{T}_{D}} lên ở đây chúng ta sẽ sử dụng công thức (1).
Sử dụng biến đổi Laplace đưa phương trình (1) đến dạng:
U\left( s \right)={{K}_{P}}\left[ {1+\frac{1}{{{{T}_{I}}s}}+{{T}_{D}}s} \right]E\left( s \right)(4)
          Trong đó s là toán tử của phép biến đổi Laplace. Từ phương trình (4) ta có hàm truyền của bộ điều khiển PID.
G(s)=\frac{{U\left( s \right)}}{{E(s)}}={{K}_{P}}\left[ {1+\frac{1}{{{{T}_{I}}s}}+{{T}_{D}}s} \right] (5)
          Để thu được kiểu số của bộ PID liên tục ta phải rời rạc hóa phương trình (1), Khi chu kỳ trích mẫu {{T}_{0}} là nhỏ và nhiễu của tín hiệu đầu ra quá trình được lọc hiệu quả thì thuật toán đơn giản nhất thu được bằng cách thay thế vi phân bằng vi sai bậc 1 (hai điểm, vi sai lùi)
\frac{{de}}{{dt}}\approx \frac{{e(k)-e(k-1)}}{{{{T}_{0}}}}=\frac{{\Delta e(k)}}{{{{T}_{0}}}} (6)
       Trong đó e(k) là giá trị sai lệch ở lần trích mẫu thứ k, nghĩa là tại thời điểm t=k{{T}_{0}}. Sử dụng phương pháp đơn giản nhất để xấp xỉ thành phần tích phân là phương pháp xấp xỉ hình chữ nhật tiến (FRM).
\int\limits_{0}^{t}{{e\left( \tau  \right)}}d\tau \approx {{T}_{0}}\sum\limits_{{i=1}}^{k}{{e(i-1)}} (7)
            Lúc này phương trình bộ điều khiển PID rời rạc có dạng:
u(k)={{K}_{P}}\left\{ {e(k)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}\sum\limits_{{i=1}}^{k}{{e(i-1)+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}}}\left[ {e(k)-e(k-1)} \right]} \right\} (8)
          Nếu các tín hiệu liên tục được rời rạc hóa đệ quy sử dụng hàm bước cùng với xấp xỉ hình chữ nhật lùi thì phương trình (7) được viết lại như sau:
\int\limits_{0}^{t}{{e\left( \tau  \right)}}d\tau \approx {{T}_{0}}\sum\limits_{{i=1}}^{k}{{e(i)}} (9)
         Phương trình (7) được viết lại dưới dạng phương trình (10) là dạng thường được sử dụng nhất để mô tả bộ điều khiển PID.
u(k)={{K}_{P}}\left\{ {e(k)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}\sum\limits_{{i=1}}^{k}{{e(i)+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}}}\left[ {e(k)-e(k-1)} \right]} \right\} (10)
          Thay vì sử dụng phương xấp xỉ hình chữ nhật như (7) và (9) chúng ta có thể sử dụng phương pháp xấp xỉ hình thang (TRAP) có độ chính xác cao hơn
\int\limits_{0}^{t}{{e\left( \tau  \right)}}d\tau \approx {{T}_{0}}\sum\limits_{{i=1}}^{k}{{\frac{{e(i)+e(i-1)}}{2}}} (11)
            Khi đó phương trình bộ PID có thể viết lại như sau:
u(k)={{K}_{P}}\left\{ {e(k)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}\left[ {\frac{{e(0)+e(k)}}{2}+\sum\limits_{{i=1}}^{k}{{e(i)}}} \right]+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\left[ {e(k)-e(k-1)} \right]} \right\} (12)
           Các phương pháp xấp xỉ tích phân được mô tả ở hình 1.
Hình 1. Các phương pháp rời rạc hóa thành phần tích phân.
          
           Khi sự sai lệch được xem xét thì trích mẫu phải đủ nhanh, lúc đó sẽ không còn sự khác biệt quá lớn giữa các xấp xỉ tích phân được mô tả ở (8), (10) và (12) do đó (10) là một công thức hay được sử dụng nhất. Các phương trình (8), (10) và (12) là các phương trình không đệ quy bởi vì trong đó tất cả các giá trị e(k-i),i=1,2,...,k  phải được biết để tính toán tích phân và hoạt động của bộ điều khiển. Đây là một điều phi thực tế bởi vì cần thiết phải lưu giữ tất cả các sai lệch trước đó vào việc tính toán điều khiển. Trong các hình thức được đưa ra, phương trình (8), (10) và (12) cũng không phù vì  hợp liên quan đến việc thay đổi thông số bộ điều khiển, một sự thay đổi trong {{T}_{I}} hoặc {{K}_{P}} dẫn đến sự thay đổi tức thời toàn bộ giá trị của thành phần tích phân, kết quả là sự quá tải trong tính toán sai lệch, điều này không được chấp nhận. Do đó các thuật toán đệ quy phù hợp hơn trong các ứng dụng thực tế. Nó cần thiết để tính toán hoặc hồi quy tích phân (9) như các thuật toán dưới đây hoặc giá trị đầu ra bộ điều khiển   từ giá trị được ghi lại trước đó  cộng với sự điều chỉnh số gia  . Ngoài ra với bộ điều khiển PID đầu ra số chỉ cần số gia   (thay đổi) cần được tính toán. Các thuật toán để tính toán số gia   có thể tham khảo các thuật toán gia tăng hoặc thuật toán tốc độ. Bằng cách kết hợp phương trình (8) thu được từ phương pháp hình chữ nhật lùi đối với các bước thứ k và thứ k-1 chúng ta thu được mối liên hệ đệ quy sau.
u(k)=\Delta u(k)+u(k-1) (13a)
\Delta u(k)={{K}_{P}}\left\{ {e(k)-e(k-1)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}e(k)+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\left[ {e(k)-2e(k-1)+e(k-2)} \right]} \right\} (13b)
          Chúng ta có thể viết chung lại như sau:
u(k)={{q}_{0}}e(k)+{{q}_{1}}e(k-1)+{{q}_{2}}e(k-2)+u(k-1) (14)
         Thông số {{q}_{0}},{{q}_{1}} và {{q}_{2}} ở phương trình (14) được đưa ra ở bảng 1.
          Sử dụng (14) có thể tính toán được các đáp ứng bước của các bộ điều khiển PI và PID (hình 2 và hình 3). Trong trường hợp {{q}_{0}}>0 thì giới hạn của các giá trị {{q}_{0}}>0  và {{q}_{2}} được đưa ra như sau:
{{q}_{0}}>0\begin{array}{*{20}{c}} {} & {} & {} \end{array}{{q}_{1}}<-{{q}_{2}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}-({{q}_{0}}+{{q}_{1}})<{{q}_{2}}<{{q}_{0}} (15)
Hình 2. Đáp ứng bước của bộ điều khiển PI.

Hình 3. Đáp ứng bước của bộ điều khiển PID.

          Giá trị {{q}_{0}} xác định kích cỡ của hoạt động đầu tiên u(0) đối với sự thay đổi bước của tín hiệu đặt   và trạng thái ổn định ban đầu
           Mối liên hệ đệ quy (14) thu được từ phương trình (10) (BRM) có thể viết lại có dạng:
u(k)={{K}_{P}}\left\{ {e(k)-e(k-1)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}e(k)+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\left[ {e(k)-2e(k-1)+e(k-2)} \right]} \right\}+u(k-1) (16)
          Là hình thức chủ yếu (13a). Ưu điểm của (14) là có cấu trúc thuật toán đơn giản nhưng nó có nhược điểm là có sự liên quan không rõ ràng trong các thành phần riêng rẽ. So sánh (14) và (16) ta thấy:
{{K}_{P}}={{q}_{0}}-{{q}_{2}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}\frac{{{{T}_{D}}}}{{{{T}_{0}}}}=\frac{{{{q}_{2}}}}{{{{K}_{P}}}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}\frac{{{{T}_{0}}}}{{{{T}_{I}}}}=\frac{{{{q}_{0}}+{{q}_{1}}+{{q}_{2}}}}{{{{K}_{P}}}} (17)
           Tiếp tục chúng ta đưa ra được thuật toán gia tăng suy ra từ phương trình (8) (FRM)
u(k)={{K}_{P}}\left\{ {e(k)-e(k-1)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}e(k-1)+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\left[ {e(k)-2e(k-1)+e(k-2)} \right]} \right\}+u(k-1)(18)
         Thuật toán gia tăng đưa ra từ phương trình (12) (TRAP) có dạng:\begin{array}{l}u(k)={{K}_{P}}\left\{ {e(k)-e(k-1)+\frac{{{{T}_{0}}}}{{2{{T}_{I}}}}\left[ {e(k)+e(k-1)} \right]+\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\left[ {e(k)-2e(k-1)+e(k-2)} \right]} \right\}\\\begin{array}{*{20}{c}} {} & {} & {} \end{array}+u(k-1)\end{array}(19)
         So sánh các phương trình (14) và (18), (19) ta có bảng 1:
Bảng 1. Thông số của bộ điều khiển PID tăng

          Từ bảng 1 ta thấy rằng thông số của bộ điều khiển gia tăng {{q}_{0}},{{q}_{1}} {{q}_{2}}  biểu diễn ở phương trình (14) là hàm của hệ số khuyếch đại {{K}_{P}}, hằng số tích phân {{T}_{I}}, hằng số vi phân {{T}_{D}}  và chu kỳ trích mẫu {{T}_{0}} nghĩa là:
 {{q}_{i}}=f({{K}_{P}},{{T}_{I}},{{T}_{D}},{{T}_{0}})\begin{array}{*{20}{c}} {} & {} & {} \end{array}i=0,1,2 (20)
           Một vài phương trình của bộ điều khiển PID số cũng được đưa ra bằng cách sử dụng các công thức chuyển đổi cho phép chúng ta chuyển từ mô hình hàm truyền Laplace sang hàm truyền gián đoạn
s=\frac{{1-{{z}^{{-1}}}}}{{{{z}^{{-1}}}{{T}_{0}}}}\begin{array}{*{20}{c}} {} & {} & {} & {} \end{array}s=\frac{{1-{{z}^{{-1}}}}}{{{{T}_{0}}}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}s=\frac{2}{{{{T}_{0}}}}\frac{{1-{{z}^{{-1}}}}}{{1+{{z}^{{-1}}}}} (21)
          Trong đó {{z}^{{-1}}}  là toán tử dịch lùi nghĩa là x(k-1)={{z}^{{-1}}}x(k). Sử dụng công thức thứ hai ở (21) có thể thu được bộ điều khiển ở (16) từ hàm truyền (5). Sử dụng công thức thứ ba ở (21) thu được bộ điều khiển PID cải tiến.

          Thành phần vi phân cũng có thể được xấp xỉ theo phương pháp bốn điểm nghĩa là
\Delta e(k)=\frac{1}{6}\left[ {e(k)+3e(k-1)-3e(k-2)-e(k-3)} \right] (22)
          Kết hợp với thuật toán BRM đối với thành phần tích phân ta có:
u(k)={{K}_{P}}\left\{ {e(k)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}\sum\limits_{{i=1}}^{k}{{e(i)+\frac{{{{T}_{D}}}}{{6{{T}_{0}}}}}}\left[ {e(k)+3e(k-1)-3e(k-2)-e(k-3)} \right]} \right\} (23)
         Thuật toán gia tăng lúc này có dạng:
\begin{array}{l}u(k)={{K}_{P}}\text{ }\!\!\{\!\!\text{ }e(k)-e(k-1)+\frac{{{{T}_{0}}}}{{{{T}_{I}}}}e(k)\\+\frac{{{{T}_{D}}}}{{6{{T}_{0}}}}\left[ {e(k)+2e(k-1)-6e(k-2)+2e(k-3)+e(k-4)} \right]\text{ }\!\!\}\!\!\text{ }\\\begin{array}{*{20}{c}} {} & {} & {} \end{array}+u(k-1)\end{array} (24)
          Hoặc
u(k)={{q}_{0}}e(k)+{{q}_{1}}e(k-1)+{{q}_{2}}e(k-2)+{{q}_{3}}e(k-3)+{{q}_{4}}e(k-4)+u(k-1) (25)
          Trong đó:
\begin{array}{l}{{q}_{0}}={{K}_{P}}\left( {1+\frac{{{{T}_{0}}}}{{{{T}_{D}}}}+\frac{{{{T}_{D}}}}{{6{{T}_{0}}}}} \right)\begin{array}{*{20}{c}} {} & {} & {} \end{array}{{q}_{1}}=-{{K}_{P}}\left( {1-\frac{{{{T}_{D}}}}{{3{{T}_{0}}}}} \right)\\{{q}_{2}}=-{{K}_{P}}\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}{{q}_{3}}={{K}_{P}}\frac{{{{T}_{D}}}}{{3{{T}_{0}}}}\begin{array}{*{20}{c}} {} & {} & {} \end{array}{{q}_{4}}={{K}_{P}}\frac{{{{T}_{D}}}}{{6{{T}_{0}}}}\end{array} (26)
          Thay vì thuật toán vị trí ở (10) có thể được sử dụng các thành phần từ thuật toán điều khiển, trong đó đầu ra của bộ điều khiển được xác định là tổng của các thành phần riêng rẽ và chỉ có giá trị cuối cùng của thành phần tích phân được giữ lại trong bộ nhớ. Trong trường hợp này thuật toán được đưa ra như sau:
u(k)={{u}_{P}}(k)+{{u}_{I}}(k)+{{u}_{D}}(k) (27)
            Trong đó:
\begin{array}{l}{{u}_{P}}(k)={{K}_{P}}e(k)\\{{u}_{I}}(k)={{K}_{P}}\frac{{{{T}_{0}}}}{{{{T}_{I}}}}\sum\limits_{{i=1}}^{k}{{e(i)}}={{u}_{I}}(k-1)+{{K}_{P}}\frac{{{{T}_{0}}}}{{{{T}_{I}}}}e(k)\\{{u}_{D}}(k)={{K}_{P}}\frac{{{{T}_{D}}}}{{{{T}_{0}}}}\left[ {e(k)-e(k-1)} \right]\end{array} (28)
         {{u}_{P}},{{u}_{I}} và {{u}_{D}} tương ứng là các thành phần khuyếch đại, thành phần tích phân và thành phần vi phân của bộ điều khiển.
          Ưu điểm của dạng thành phần này là sự minh bạch khi thiết lập hệ số của các thành phần bộ điều khiển riêng rẽ. Tuy nhiên nó cần phải giới hạn thành phần tích phân trong thuật toán.

Thứ Ba, 15 tháng 11, 2016

ĐIỀU KHIỂN DỰ BÁO SMITH

          Phương pháp cân bằng mô hình nói riêng và phương pháp thiết kế bộ điều khiển theo một tiêu chuẩn nào đó nói chung đều có giả thiết rằng đối tượng không có thành phần trễ \displaystyle {{e}^{{-\tau s}}}. Trong khi ở các phương pháp sử dụng bộ PID trực tiếp (xác định tham số PID theo Ziegler – Nichols hay tổng Kuhn…) hay thiết kế theo tối ưu độ lớn, ta có thể thay xấp xỉ thành phần trễ đó bằng khâu quán tính bậc cao hoặc theo công thức Pade thì phương pháp tối ưu đối xứng hoặc cân bằng mô hình là không thể được. Nó thường đưa đến hàm truyền đạt đối tượng có bậc quá cao làm cho mô hình xấp xỉ có sai lệch góc pha lớn hoặc dẫn đến trường hợp không tích hợp được bộ điều khiển do vi phạm tính nhân quả.
         Để vẫn sử dụng được các phương pháp thiết kế đã giới thiệu cho các đối tượng có thành phần trễ \displaystyle {{e}^{{-\tau s}}}, Smith đã đưa ra nguyên tắc dự báo (Smith – predictor) khá đơn giản nhưng có một ý nghĩa thực dụng lớn.
Hình 1. Sơ đồ điều khiển hệ thống điều khiển đối tượng có trễ

Hình 2. Sơ đồ thiết kế bộ điều khiển cho đối tượng có trễ theo đề nghị của Smith

Hình 3. Cấu trúc hệ thống điều khiển đối tượng có trễ cùng bộ điều khiển dự báo Smith

Nguyên tắc dự báo Smith như sau 
          Để thiết kế bộ điều khiển {{G}_{R}}(s) cho đối tượng {{G}_{S}}(s)={{e}^{{-\tau s}}}S(s) như hình 1, Smith đề nghị thiết kế bộ điều khiển R(s) riêng cho thành phần đối tượng S(s) không có thành phần trễ như hình 2. Việc thiết kế R(s) thực hiện đơn giản theo các phương pháp phổ thông.
            Hàm truyền hệ kín G(s) ở hình 1 có dạng:
                         G(s)=\frac{{{{G}_{S}}{{G}_{R}}}}{{1+{{G}_{S}}{{G}_{R}}}}=\frac{{{{G}_{R}}S{{e}^{{-\tau s}}}}}{{1+{{G}_{R}}S{{e}^{{-\tau s}}}}} (1)
          Hàm truyền hệ kín G(s) ở hình 2 có dạng:
           G(s)=\frac{{RS}}{{1+RS}}{{e}^{{-\tau s}}}(2)
          Cân bằng hàm truyền hệ kín của hai hệ thống vòng kín ở (1) và (2) ta có:
                       \frac{{{{G}_{R}}S{{e}^{{-\tau s}}}}}{{1+{{G}_{R}}S{{e}^{{-\tau s}}}}}=\frac{{RS}}{{1+RS}}{{e}^{{-\tau s}}}(3)
           Biến đổi (3) ta thu được mối quan hệ giữa R(s) đã tìm được và {{G}_{R}}(s).
{{G}_{R}}(s)=\frac{R}{{1+RS(1-{{e}^{{-\tau s}}})}}(4) 
          Mối quan hệ (4) được thể hiện trong hình 3. Như vậy công việc thiết kế bộ điều khiển dự báo Smith cho đối tượng có trễ {{G}_{S}}(s)={{e}^{{-\tau s}}}S(s) sẽ gồm các bước sau:
           - Thiết kế bộ điều khiển R(s) cho riêng phần S(s) của đối tượng theo các phương pháp đã biết.
           - Xây dựng bộ điều khiển {{G}_{R}}(s)=\frac{R}{{1+RS(1-{{e}^{{-\tau s}}})}}  với cấu trúc trong hình 3.
          Chú ý rằng do bộ điều khiển   tìm được có chứa mô hình đối tượng ở mạch hồi tiếp nên nó khá nhạy cảm với sai lệch mô hình đối tượng. Bởi vậy yêu cầu sử dụng được một cách có hiệu quả phương pháp dự báo Smith là hàm truyền đạt của đối tượng phải biết chính xác.
          Mô phỏng ví dụ về điều khiển dự báo Smith được thực hiện ở videoclip sau.