Giảibàitoánđiềukhiểntựđộng HaiAu2005 | 22:20:03 13-06-09 | Posts: 1429 1 Qua một số năm giảng dạy môn điềukhiểntựđộng và hoạt động trang web Điềukhiển Ứng dụng này tôi thấy việc sử dụng khái niệm "sơ đồ khối" trong lý thuyết điềukhiểntựđộng gây nhầm lẫn vì trong thực tế có các hệ thống tựđộng có nhiều phần tử cấu tạo phức tạp hơn và sự phân chia các phần tử trong hệ thống thực không rõ ràng và có nhiều tên gọi khác nhau. Có những phần tử hoặc tín hiệu có nhiều tên gọi khác nhau do vậy làm cho người mới học về lĩnh vực này cảm thấy như một rừng thông tin! Cộng thêm việc giảibàitoánđiềukhiểntựđộng ngày nay không thuần túy là việc giải bằng tay (giấy và bút), mà còn có thể giải bằng máy tính, và thực hiện điềukhiển bằng nhiều cách khác nhau. Trong bài viết này tôi trình bày về việc giảibàitoánđiềukhiển để chúng ta dễ hình dung hơn việc học một đống lý thuyết về điềukhiểntựđộng nhưng không hình dung ra hệ thống điềukhiển trong thực tế như thế nào. Sơ đồ khối chức năng sau minh họa một hệ thống điềukhiển vòng kín có một số phần tử cơ bản nhất với một cơ cấu chuyển mạch (switch) giữa mô hình (mầu đen) và hệ thực (mầu xanh): Hình 1: Sơ đồ khối minh họa bàitoánđiềukhiển Theo sơ đồ khối lần lượt chúng ta có: Set Point (SP): giá trị đặt, tên gọi này có nghĩa là tín hiệu mà chúng ta mong muốn điều khiển, có các tên gọi khác nhau: Desired Output/Desired Process Variable, Desired Signal, Reference Signal -> Thực chất thì tín hiệu này là tín hiệu được đặt trước và mong muốn biến quá trình phải "chạy theo" tín hiệu này. SP thường được đặt trong bộ điềukhiển - trong hình minh họa bằng cả khối Controller Unit, nghĩa là bao gồm cả khối tính sai số (bộ so sánh - Comparator) và Controller. Control Signal (CS): Tín hiệu điềukhiển là tín hiệu ra của bộ điều khiển, thường được tính dựa trên các thuật toánđiềukhiển khác nhau, thuật toán đơn giản nhất là: ON/OFF Control và PID Control. Tín hiệu điềukhiển này thông thường "rất yếu" không đủ để thực hiện việc duy trì biến quá trình (PV) ở giá trị mong muốn, do vậy cần có một bộ gọi là bộ chấp hành (actuator) nhận tín hiệu điềukhiển này làm tín hiệu mệnh lệnh và thực hiện việc điềukhiển biến quá trình theo mệnh lệnh và cung cấp thêm năng lượng để thực hiện việc điều khiển. Manipulated Variable: Tín hiệu ra của bộ chấp hành (trong hình là tín hiệu ra của van, nghĩa là lưu lượng chất lỏng chảy qua van, cũng chính là ) được gọi là biến thực hiện, biến này là tín hiệu vào của quá trình (Process, cũng có thể là Plant/Dynamic System) để thực hiện duy trì biến ra (PV) ở giá trị mong muốn. Tín hiệu này tùy thuộc vào quá trình mà cần một năng lượng nhất định do bộ chấp hành (actuator) cung cấp. Output/Process Variable: Tín hiệu ra của hệ động, cũng còn được gọi là Biến quá trình (Process Variable), đây là giá trị thực tế của đầu ra của quá trình, thông thường được đo bằng một thiết bị đo lường, và được gọi thêm tên là Measured Variable (biến đo được), về nguyên tắc thì PV và MV là giống nhau về giá trị vật lý (như trong hình là mực chất lỏng thì giá trị vật lý mang đơn vị mét), nhưng qua thiết bị đo lường PV hay MV được chuyển đổi thành tín hiệu điện ví dụ 1-5 V, hoặc 4-20 mA. Tín hiệu này được phản hồi tới bộ điềukhiển thì được gọi là "tín hiệu phản hồi". Thực chất thì các biến PV, MV và feedback signal là giống nhau. Trong bộ điều khiển, khi so sánh với tín hiệu đặt (SP) thì SP phải có cùng đơn vị với tín hiệu phản hồi. Các phần tử của hệ thống điềukhiển này gồm có: Quá trình/Hệ động (Process, cũng được gọi là Plant hoặc Dynamic System, trong hình là Tank), Bộ cảm biến (Sensor/Measurement Element, trong hình là LT - Level Transmitter), Bộ điềukhiển (Controller Unit: Comparator và Controller), Bộ chấp hành (Actuator, trong hình là Valve). Các phần tử này có chức năng như sau: Process/Quá trình: Trong hình là Tank. Đây là phần tửđộng và là đối tượng được điều khiển. Tại phần tử này xảy ra quá trình trao đổi năng lượng hoặc vật chất, nghĩa là nơi xảy ra sự biến đổi tạo nên mối quan hệ vào ra: trong hình là quan hệ giữa qi (lưu lượng dòng chảy trong ống vào của bình nước) và h (mực chất lỏng). Ở phần tử này, chúng ta thường quan tâm tới hai biến quan trọng: Output (h) và Manipulated Input (qi). Thực tế thì tại đây còn chịu ảnh hưởng của các biến khác gọi là các nhiễu (disturbances), các biến vào và ra khác (ví dụ nhiệt độ dòng chảy vào, nhiệt độ môi trường, lưu lượng dòng ra qo v.v ) có ảnh hưởng trực tiếp tới quá trình điều khiển, và làm thay đổi giá trị biến quá trình (h). Phần tử cảm biến (Sensor, Measurement Element): Đây là thiết bị đo lường dùng để đo biến quá trình. Nói nôm na thì là nơi xảy ra sự biến đổi năng lượng để hoán chuyển biến quá trình (PV) thành một dạng tín hiệu có thể cân đo đong đếm được. Biến quá trình (PV) được chuyển đổi thành dạng tín hiệu điện và được chuyển tới bộ điềukhiển và các bộ chỉ báo. Bộ điềukhiển (Controller Unit): Bộ điềukhiển thông thường bao gồm các chức năng: 1. so sánh/phát hiện/tính toán sai lệch/sai khác/sai số giữa SP và biến quá trình (tức là MV hay tín hiệu phản hồi), 2. tính toán tín hiệu điều khiển, và 3. phát tín hiệu này tới bộ chấp hành (ra mệnh lệnh). Trước kia các bộ điềukhiển khí hoặc thủy lực hoặc bộ điều điện đơn giản thì bộ so sánh thường được thiết kế "tách biệt" do vậy mà trong sơ đồ khối chúng ta thấy có riêng một phần tử so sánh, còn ngày nay các bộ điềukhiển hiện đại hơn dùng microprocessor, microcontroller hay PC thì bộ so sánh này nằm "chết cứng" luôn trong bộ điều khiển, thực chất chỉ là một dòng lệnh e = SP - PV trong chương trình điều khiển. Còn bộ điềukhiển Controller thì có nhiều dạng khác nhau dựa trên thuật toánđiều khiển. Việc thực hiện tính tín hiệu điềukhiển có thể được thực hiện bằng nhiều phương tiện khác nhau: 1. Bằng các bộ điềukhiển cơ, khí, thủy lực và điện (analog controllers): yêu cầu cần có các thiết bị phụ như converters, transmitters (dạng analog) v.v để chuyển đổi tín hiệu thành dạng phù hợp. 2. Bằng các bộ điềukhiển điện tử dùng Microcontrollers, Microprocessors, PLCs và máy tính (gọi chung là digital controllers): yêu cầu cần có các bộ chuyển đổi tín hiệu A/D Converter (cho tín hiệu phản hồi) và D/A Converter (cho tín hiệu điều khiển). Khi sử dụng các loại bộ điềukhiển này thì thấy rằng: 2.1: Microprocessor-based controllers: Chỉ cần sử dụng bộ điềukhiển này theo chỉ dẫn, và nhấn một số phím (key) trên keypad theo các chương trình đã lập sẵn. Nếu loại Microprocessors cho phép kết nối với máy tính thì cũng có thể dùng máy tính (loại có thêm bộ nhớ và khả trình) để load chương trình vào Microprocessors. 2.2: Microcontrollers: cần phải kết nối với máy tính hoặc một thiết bị lập trình nào đó, lập trình xong rồi chuyển chương trình vào microcontrollers, chuyển mạch từ máy tính sang microcontrollers để microcontrollers thực hiện chương trình điều khiển. 2.3: PLCs: là một loại bộ điềukhiển số đặc biệt, nguyên thủy được chế tạo để điềukhiển rơ le, và điềukhiển các quá trình theo chuỗi liên tiếp (điều khiển chuỗi - sequence/sequential control). Sử dụng PLCs cần một máy tính lập trình (ladder programming) rồi tải chương trình đó vào microporcessors của PLCs để PLCs thực hiện chương trình điều khiển. Ngày nay các PLCs hiện đại có các chức năng kết nối mạng, nên việc kết nối và lập trình PLCs có phức tạp hơn. 2.4: Sử dụng máy tính: sử dụng máy tính có nhiều cách kết nối khác nhau, có thể nối trực tiếp sử dụng các bảng giao diện vào ra (I/O Interface) hoặc Data Acquistion Boards. Hoặc có thể kết nối giữa một máy tính (gọi là Host PC) và một máy tính mục tiêu (Target PC) qua các cổng RS-232, Ethernet (TCP/IP), USB Việc dùng máy tính để điềukhiển thì có thể thay đổi chương trình điềukhiển và có thể thực hiện được bằng nhiều loại phần mềm ứng dụng khác nhau. Ví dụ nếu trong các phòng thí nghiệm có thể sử dụng MATLAB/Simulink cùng các Toolboxes của Mathworks, hoặc LabVIEW của National Instruments. Sử dụng LabVIEW thì có thể sử dụng phần cứng là CompactRIO (một loại máy tính nhúng dùng Real-Time OS) làm Target PC và một máy tính chủ (Host PC). Ngày nay do sự phát triển của linh kiện điện tử, còn có thêm các PACs (Programmable Automation Controllers) có thể kết nối với máy tính thành mạng. Bộ chấp hành (Actuator) hay phần tửđiềukhiển cuối cùng (Final Control Element): Bộ chấp hành là thiết bị thực hiện/chấp hành điều khiển, nghĩa là duy trì biến quá trình theo mong muốn theo “mệnh lệnh” từ bộ điều khiển. Việc sử dụng bộ chấp hành là do quá trình xảy ra trong hệ động cần có đủ năng lượng, nên bộ chấp hành nhận mệnh lệnh và cung cấp đầy đủ năng lượng để thực hiện quá trình điều khiển. Đối với các hệ động không cần nhiều năng lượng thì tín hiệu điềukhiển có thể trực tiếp thực hiện điều khiển. Nhưng việc này thì “hãn hữu” vì các quá trình trong thực tế cần năng lượng khổng lồ hơn năng lượng do bộ điềukhiển cung cấp! Trong hình thì bộ chấp hành là van. Bộ chấp hành có thể chia thành nhiều phần tử nhỏ hơn, ví dụ như phần tử chấp hành (actuating element) và phần tử hiệu chỉnh (correcting element), ví như van hơi thì gồm hai phần: phần tử chấp hành/phát động là bộ phận màng kim loại và lò xo, còn phần tử hiệu chỉnh là thân van (gồm stem, plug và seat) để điều chỉnh lưu lượng chất lỏng chảy qua van. Khi sử dụng van hơi này thì thường lại cần phải dùng thêm một thiết bị khác nếu bộ điềukhiển điện: đó là bộ chuyển đổi dòng-áp suất (Current-to-Pressure Converter), và để cho van hoạt động có đặc tính tốt, có thêm một bộ điềukhiển vị trí (positioner) gắn thêm vào van. Do vậy việc phân loại phần tử chấp hành (actuator) nhiều khi cũng “phức tạp” trong thực tế! Giảibàitoánđiềukhiển Khi nghiên cứu và học về lý thuyết điềukhiểntựđộng chúng ta thường học về các mô hình toán và giải các bàitoánđiềukhiển trên giấy hoặc bằng máy tính sử dụng các mô hình toán của từng phần tử của hệ điều khiển. Song trong thực tế nếu chúng ta có thiết bị thực hoặc có mô hình nguyên mẫu (prototype, phần cứng) thì chúng ta cũng có thể giải được bàitoánđiềukhiểntựđộng và thực hiện điềukhiểntựđộng mà không cần phải có mô hình toán, mà chỉ cần có số đo biến quá trình từ các bộ cảm biến. Chúng ta hãy hình dung việc thiết kế hệ điềukhiểntựđộng sẽ theo hai giai đoạn: 1. Mô phỏng/giải bàitoánđiềukhiểntự động: Sử dụng mô hình, theo sơ đồ khối thì là vòng kín mầu đen. Nghĩa là cần giấy bút, máy tính và phần mềm, công cụ toán, và mô hình toán của hệ động (quá trình) mình định điềukhiển thì mới giải được. Sau khi thiết kế, mô phỏng và thấy thuật toánđiềukhiển của mình được rồi thì tiến hành thực hiện điều khiển. Theo cách này thì cần phải có đầy đủ các mô hình toán của quá trình (hệ động), bộ cảm biến và bộ chấp hành. Quan trọng nhất là mô hình toán của hệ động vì đó là phần tử/đối tượng được điều khiển, phải có mô hình toán để hiểu rõ đối tượng thì mới có sách lược điềukhiển (control strategy) phù hợp. Còn các bộ cảm biến và bộ chấp hành có thể sử dụng các mô hình toán đơn giản, nói nôm na thì chúng là các phần tử trung gian chuyển tiếp tín hiệu để thực hiện điềukhiển quá trình nên hoàn toàn phụ thuộc vào hệ động. Comments: 1. Các khóa học về điềukhiểntựđộng ở đại học VN thường thiên về lý thuyết điều khiển, dùng các mô hình toán và các thuật toán để thiết kế khảo sát hệ thống điều khiển, nhưng thực tế và thực hành thì quá trình giảibàitoánđiềukhiển đơn giản hơn nhiều, không cần phải qua nhiều bước khảo sát phức tạp mà chỉ cần số đo các biến quá trình muốn điều khiển. 2. Giảibàitoánđiềukhiểntựđộng bằng giấy bút và mô phỏng cũng vẫn chỉ là lý thuyết chay, mới chỉ hiểu được nguyên lý của hệ thống điềukhiển thông qua khảo sát các mô hình toán (ảnh hưởng của các công cụ tính toán: như tính tích phân, tích vi phân v.v ). Khi thiết kế/thực hiện thực tế sẽ gặp nhiều vấn đề phát sinh như kết nối, ảnh hưởng của nhiễu, thiết trí cấu hình, và những sai lệch khi lắp đặt vận hành v.v 2. Thực hiện điều khiển: Theo sơ sơ đồ khối là sau khi “chuyển mạch” từ chương trình mô phỏng sang hệ thực kết nối vào vòng kín mầu xanh. Nếu sử dụng máy tính có các bộ giao diện vào ra hoặc kết nối với hệ thực thì có thể thực hiện việc thiết kế mô phỏng và thực hiện điềukhiển ngay trên cùng một chương trình bằng một chương trình chuyển mạch đơn giản. Ví dụ: MATLAB/Simulink hoặc LabVIEW cho phép “chuyển mạch” một cách không khó khăn. Tôi sẽ minh họa cách “chuyển mạch” này trong các ví dụ kế tiếp. Comments: Nếu bạn sử dụng Microcontrollers để thực hiện điềukhiển thì cần thiết là bạn có thiết bị thực hành, có được tín hiệu phản hồi từ bộ cảm biến và có bộ chấp hành là bạn có thể lập trình điềukhiển được, tạm coi hệ động là một “blackbox” vì trong chương trình điềukhiển bạn không cần phải lập trình mô phỏng hệ động! Nếu làm thực hành thì cần mô hình toán để mô phỏng hệ thống và chạy bộ điềukhiển trên máy tính (không nối với thiết bị thực) để tìm các giá trị Control Gains phù hợp, sau đó sử dụng kết quả tìm được Control Gains qua mô phỏng để điềukhiển thiết bị thực có thể dễ dàng tìm được giá trị tốt. Tuy nhiên các giá trị Gains tìm được qua mô phỏng là các giá trị trong điều kiện lý tưởng, còn khi áp dụng vào hệ thực có thể không/chưa tốt, cần phải làm lại. Trong ứng dụng thực tế nhiều bộ điềukhiển (analog hoặc digital) có thêm chức năng Auto-tuning là giúp cho việc tối ưu hóa giá trị Gains (Kp, Ki, Kd cho bộ điềukhiển dùng PID control algorithm). Hải Âu . “phức tạp” trong thực tế! Giải bài toán điều khiển Khi nghiên cứu và học về lý thuyết điều khiển tự động chúng ta thường học về các mô hình toán và giải các bài toán điều khiển trên giấy hoặc bằng. Giải bài toán điều khiển tự động HaiAu2005 | 22:20:03 13-06-09 | Posts: 1429 1 Qua một số năm giảng dạy môn điều khiển tự động và hoạt động trang web Điều khiển Ứng dụng này. việc giải bài toán điều khiển tự động ngày nay không thuần túy là việc giải bằng tay (giấy và bút), mà còn có thể giải bằng máy tính, và thực hiện điều khiển bằng nhiều cách khác nhau. Trong bài