Làm thế nào để sử dụng phản ứng bước đo để điều chỉnh hệ thống điều khiển


17

Làm thế nào để người ta sử dụng một phản ứng bước được đo để điều chỉnh sơ đồ điều khiển PID hoặc tích chập?

Lấy cảm hứng từ câu trả lời này * , tôi quan tâm đến một lời giải thích chi tiết hơn về cách triển khai hệ thống kiểm soát dựa trên phản hồi bước đo được.

Tôi sẽ không cố gắng để đoán tất cả các hiệu ứng. Có thể có một số điều không rõ ràng đang diễn ra và bạn không thể biết tất cả các tham số.

Tôi sẽ đo phản ứng bước. Tìm hai cài đặt bơm mà cả hai đều dẫn đến quả bóng nằm trong phạm vi có thể đo được trong ống. Sau đó, bộ điều khiển đột nhiên chuyển từ cài đặt này sang vòng lặp mở khác. Trong khi đó đo những gì bóng làm theo thời gian. Đó là phản ứng bước. Bạn có thể lấy đạo hàm của điều đó và nhận được phản hồi thúc đẩy. Từ đáp ứng xung, bạn có thể dự đoán chuyển động của quả bóng cho bất kỳ lịch sử cài đặt bơm nào, giả sử đây là một hệ thống tuyến tính. Nó có thể đủ tuyến tính trong phạm vi cài đặt nhỏ để giữ bóng trong phạm vi bình thường.

Bạn có thể sử dụng điều này như là một cơ sở mô phỏng để tìm các tham số cho điều khiển PID kiểu cũ. Hoặc bạn có thể sử dụng đáp ứng xung trực tiếp để thực hiện điều khiển tích chập. Bạn phải lọc thấp bộ lọc điều khiển đầu vào đủ để hạt nhân chập không bị âm trừ khi bơm của bạn thực sự có thể đảo ngược và có thể hút bóng xuống.

Làm thế nào chính xác để làm việc này? Điều chỉnh PID là khó khăn ; Tôi giả sử "điều khiển tích chập" là việc sử dụng hàm cực không hoặc hàm truyền, nhưng không thấy chính xác làm thế nào để có được các tham số.

LIÊN QUAN: Mô hình hóa hệ thống cho các hệ thống điều khiển
* mô hình hóa chức năng chuyển của bóng bay trong bóng ống như một bộ giảm xóc

Câu trả lời:


23

Giới thiệu

Đầu tiên, chúng ta cần xem xét chính xác thứ này được gọi là phản ứng thúc đẩy của một hệ thống và nó có nghĩa gì. Đây là một khái niệm trừu tượng cần một chút suy nghĩ để hình dung. Tôi sẽ không đi vào toán học nghiêm ngặt. Quan điểm của tôi là cố gắng đưa ra một số trực giác điều này là gì, sau đó dẫn đến cách bạn có thể sử dụng nó.

Vấn đề kiểm soát ví dụ

Hãy tưởng tượng bạn có một điện trở năng lượng lớn với một cảm biến nhiệt độ được gắn trên nó. Tất cả mọi thứ bắt đầu ra và ở nhiệt độ môi trường. Khi bạn bật nguồn, bạn biết rằng nhiệt độ tại cảm biến cuối cùng sẽ tăng và ổn định, nhưng phương trình chính xác sẽ rất khó dự đoán. Giả sử hệ thống có hằng số thời gian khoảng 1 phút, mặc dù "hằng số thời gian" không thể áp dụng hoàn toàn vì nhiệt độ không tăng theo cấp số nhân như trong một hệ thống có một cực, và do đó, hằng số thời gian duy nhất . Giả sử bạn muốn kiểm soát nhiệt độ một cách chính xác và để nó thay đổi sang một cấp độ mới và duy trì ở đó nhanh hơn đáng kể so với những gì nó sẽ làm nếu bạn bật ở mức năng lượng phù hợp và chờ đợi.

Về cơ bản, bạn có vấn đề hệ thống kiểm soát. Đáp ứng vòng lặp mở có thể lặp lại một cách hợp lý và có một phương trình mô hình hóa nó đủ tốt, nhưng vấn đề là có quá nhiều điều không biết để bạn rút ra phương trình đó.

Điều khiển PID

Một cách cổ điển để giải quyết vấn đề này là với bộ điều khiển PID. Quay trở lại với pleistocene khi điều này phải được thực hiện trong thiết bị điện tử tương tự, mọi người đã thông minh và đưa ra một sơ đồ hoạt động tốt với các khả năng tương tự trong tay. Lược đồ đó được gọi là "PID", cho Tỷ lệ , Tích phânĐạo hàm .

Thuật ngữ P

Bạn bắt đầu đo lỗi. Đây chỉ là phản ứng của hệ thống đo được (nhiệt độ được cảm biến báo cáo trong trường hợp của chúng tôi) trừ đi đầu vào điều khiển (cài đặt nhiệt độ mong muốn). Thông thường chúng có thể được sắp xếp để có sẵn dưới dạng tín hiệu điện áp, vì vậy việc tìm ra lỗi chỉ là một sự khác biệt tương tự, đủ dễ dàng. Bạn có thể nghĩ rằng điều này là dễ dàng. Tất cả bạn phải làm là lái điện trở với công suất càng cao thì lỗi càng cao. Điều đó sẽ tự động cố gắng làm cho nó nóng hơn khi trời quá lạnh và lạnh hơn khi quá nóng. Điều đó làm việc, sắp xếp. Lưu ý rằng sơ đồ này cần một số lỗi để gây ra bất kỳ đầu ra điều khiển khác không (nguồn điều khiển điện trở). Trên thực tế, điều đó có nghĩa là công suất cần thiết càng cao thì lỗi càng lớn vì đó là cách duy nhất để có được công suất cao. Bây giờ bạn có thể nói tất cả những gì bạn phải làm là tăng mức tăng để lỗi có thể chấp nhận được ngay cả khi hết điện. Rốt cuộc, đó là khá nhiều cơ sở cho cách opamp được sử dụng trong rất nhiều mạch. Bạn đúng, nhưng thế giới thực thường sẽ không cho phép bạn thoát khỏi điều đó. Điều này có thể hoạt động đối với một số hệ thống điều khiển đơn giản, nhưng khi có tất cả các loại nếp nhăn tinh tế để đáp ứng và khi có thể mất một thời gian đáng kể, bạn sẽ kết thúc với thứ gì đó dao động khi mức tăng quá cao. Nói cách khác, hệ thống trở nên không ổn định. nhưng khi có tất cả các loại nếp nhăn tinh tế để đáp ứng và khi nó có thể mất một thời gian đáng kể, bạn kết thúc với một cái gì đó dao động khi mức tăng quá cao. Nói cách khác, hệ thống trở nên không ổn định. nhưng khi có tất cả các loại nếp nhăn tinh tế để đáp ứng và khi nó có thể mất một thời gian đáng kể, bạn kết thúc với một cái gì đó dao động khi mức tăng quá cao. Nói cách khác, hệ thống trở nên không ổn định.

Những gì tôi mô tả ở trên là phần P (proprotional) của PID. Giống như bạn có thể làm cho đầu ra tỷ lệ thuận với tín hiệu lỗi, bạn cũng có thể thêm các thuật ngữ proprtional vào đạo hàm thời gian và tích phân của lỗi. Mỗi tín hiệu P, I và D này có mức tăng riêng biệt trước khi được tổng hợp để tạo tín hiệu đầu ra điều khiển.

Tôi hạn

Thuật ngữ I cho phép lỗi không có giá trị theo thời gian. Miễn là có bất kỳ lỗi tích cực nào, thuật ngữ I sẽ tiếp tục tích lũy, cuối cùng sẽ nâng sản lượng điều khiển lên đến mức mà lỗi tổng thể biến mất. Trong ví dụ của chúng tôi, nếu nhiệt độ luôn thấp, nó sẽ liên tục tăng công suất vào điện trở cho đến khi nhiệt độ đầu ra cuối cùng không còn thấp nữa. Hy vọng rằng bạn có thể thấy điều này có thể trở nên không ổn định thậm chí nhanh hơn so với chỉ một thuật ngữ P cao có thể. Thuật ngữ AI tự nó có thể dễ dàng gây ra tình trạng vượt mức, trở thành dao động dễ dàng.

Học kỳ

Thuật ngữ D đôi khi bị bỏ qua. Việc sử dụng cơ bản của thuật ngữ D là thêm một chút ổn định để các thuật ngữ P và I có thể tích cực hơn. Thuật ngữ D về cơ bản nói rằng nếu tôi đã đi đúng hướng, hãy tắt ga một chút vì những gì tôi có bây giờ dường như đang đưa chúng ta đến đó .

Điều chỉnh PID

Những điều cơ bản của điều khiển PID khá đơn giản, nhưng việc sử dụng các thuật ngữ P, I và D vừa phải thì không. Điều này thường được thực hiện với rất nhiều thử nghiệm và điều chỉnh. Mục đích cuối cùng là để có được một hệ thống tổng thể, nơi đầu ra đáp ứng nhanh nhất có thể nhưng không bị quá mức hoặc đổ chuông quá mức, và tất nhiên nó cần phải ổn định (không tự bắt đầu dao động). Đã có nhiều cuốn sách viết về điều khiển PID, cách thêm các nếp nhăn nhỏ vào các phương trình, nhưng đặc biệt là cách "điều chỉnh" chúng. Điều chỉnh đề cập đến việc phân chia mức tăng P, I và D tối ưu.

Các hệ thống điều khiển PID hoạt động, và chắc chắn có rất nhiều truyền thuyết và thủ thuật để làm cho chúng hoạt động tốt. Tuy nhiên, điều khiển PID không phải là câu trả lời đúng duy nhất cho một hệ thống điều khiển. Mọi người dường như đã quên tại sao PID được chọn ngay từ đầu, điều này có liên quan nhiều hơn đến các mâu thuẫn của thiết bị điện tử tương tự hơn là một loại sơ đồ điều khiển tối ưu phổ quát. Thật không may, ngày nay có quá nhiều kỹ sư đánh đồng "hệ thống điều khiển" với PID, không gì khác hơn là một phản ứng giật đầu gối nhỏ. Điều đó không làm cho điều khiển PID sai trong thế giới ngày nay, nhưng chỉ có một trong nhiều cách để tấn công vấn đề kiểm soát.

Ngoài PID

Ngày nay, một hệ thống điều khiển vòng kín cho một cái gì đó như ví dụ nhiệt độ sẽ được thực hiện trong một vi điều khiển. Chúng có thể làm nhiều thứ hơn là chỉ lấy đạo hàm và tích phân của một giá trị lỗi. Trong bộ xử lý, bạn có thể chia, căn bậc hai, giữ lịch sử của các giá trị gần đây và nhiều hơn nữa. Nhiều sơ đồ điều khiển khác với PID là có thể.

Đáp ứng xung

Vì vậy, hãy quên đi những hạn chế của thiết bị điện tử tương tự và lùi lại và suy nghĩ làm thế nào chúng ta có thể kiểm soát một hệ thống quay trở lại các nguyên tắc đầu tiên. Điều gì sẽ xảy ra nếu với mỗi phần nhỏ của đầu ra điều khiển, chúng ta biết hệ thống sẽ làm gì. Đầu ra điều khiển liên tục sau đó chỉ là tổng của rất nhiều mảnh nhỏ. Vì chúng ta biết kết quả của mỗi phần là gì, chúng ta có thể biết kết quả của bất kỳ lịch sử đầu ra kiểm soát nào trước đó là gì. Bây giờ lưu ý rằng "một phần nhỏ" của đầu ra điều khiển phù hợp độc đáo với điều khiển kỹ thuật số. Bạn sẽ tính toán đầu ra điều khiển nên là gì và đặt nó thành đó, sau đó quay lại và đo lại các đầu vào, tính toán đầu ra điều khiển mới từ các đầu ra đó và đặt lại, v.v. Bạn đang chạy thuật toán điều khiển trong một vòng lặp, và nó đo các đầu vào và đặt đầu ra điều khiển một lần nữa mỗi lần lặp. Các đầu vào được "lấy mẫu" tại các thời điểm riêng biệt và đầu ra cũng được đặt thành các giá trị mới ở một khoảng thời gian cố định. Miễn là bạn có thể làm điều này đủ nhanh, bạn có thể nghĩ về điều này xảy ra trong một quá trình liên tục. Trong trường hợp hệ thống sưởi điện trở thường mất vài phút để ổn định, chắc chắn vài lần mỗi giây sẽ nhanh hơn rất nhiều so với hệ thống vốn đã phản ứng theo cách có ý nghĩa rằng việc cập nhật đầu ra ở tần số 4 Hz sẽ liên tục xuất hiện trên hệ thống. Điều này giống hệt như âm nhạc được ghi bằng kỹ thuật số thực sự thay đổi giá trị đầu ra theo các bước riêng biệt trong phạm vi 40-50 kHz và nhanh đến mức tai chúng ta không thể nghe được và âm thanh phát ra liên tục như bản gốc. bạn có thể nghĩ về điều này xảy ra trong một quá trình liên tục. Trong trường hợp hệ thống sưởi điện trở thường mất vài phút để ổn định, chắc chắn vài lần mỗi giây sẽ nhanh hơn rất nhiều so với hệ thống vốn đã phản ứng theo cách có ý nghĩa rằng việc cập nhật đầu ra ở tần số 4 Hz sẽ liên tục xuất hiện trên hệ thống. Điều này giống hệt như âm nhạc được ghi bằng kỹ thuật số thực sự thay đổi giá trị đầu ra theo các bước riêng biệt trong phạm vi 40-50 kHz và nhanh đến mức tai chúng ta không thể nghe được và âm thanh phát ra liên tục như bản gốc. bạn có thể nghĩ về điều này xảy ra trong một quá trình liên tục. Trong trường hợp hệ thống sưởi điện trở thường mất vài phút để ổn định, chắc chắn vài lần mỗi giây sẽ nhanh hơn rất nhiều so với hệ thống vốn đã phản ứng theo cách có ý nghĩa rằng việc cập nhật đầu ra ở tần số 4 Hz sẽ liên tục xuất hiện trên hệ thống. Điều này giống hệt như âm nhạc được ghi bằng kỹ thuật số thực sự thay đổi giá trị đầu ra theo các bước riêng biệt trong phạm vi 40-50 kHz và nhanh đến mức tai chúng ta không thể nghe được và âm thanh phát ra liên tục như bản gốc. chắc chắn vài lần trong một giây nhanh hơn nhiều so với hệ thống vốn đã phản hồi theo cách có ý nghĩa rằng việc cập nhật đầu ra ở mức 4 Hz sẽ liên tục nhìn vào hệ thống. Điều này giống hệt như âm nhạc được ghi bằng kỹ thuật số thực sự thay đổi giá trị đầu ra theo các bước riêng biệt trong phạm vi 40-50 kHz và nhanh đến mức tai chúng ta không thể nghe được và âm thanh phát ra liên tục như bản gốc. chắc chắn vài lần trong một giây nhanh hơn nhiều so với hệ thống vốn đã phản hồi theo cách có ý nghĩa rằng việc cập nhật đầu ra ở mức 4 Hz sẽ liên tục nhìn vào hệ thống. Điều này giống hệt như âm nhạc được ghi bằng kỹ thuật số thực sự thay đổi giá trị đầu ra theo các bước riêng biệt trong phạm vi 40-50 kHz và nhanh đến mức tai chúng ta không thể nghe được và âm thanh phát ra liên tục như bản gốc.

Vậy chúng ta có thể làm gì nếu có cách kỳ diệu này để biết hệ thống sẽ làm gì theo thời gian do bất kỳ một mẫu đầu ra điều khiển nào? Vì phản ứng điều khiển thực tế chỉ là một chuỗi các mẫu, chúng tôi có thể thêm phản hồi từ tất cả các mẫu và biết phản ứng của hệ thống sẽ là gì. Nói cách khác, chúng ta có thể dự đoán đáp ứng của hệ thống cho bất kỳ dạng sóng phản ứng điều khiển tùy ý nào.

Điều đó thật tuyệt, nhưng chỉ đơn thuần là dự đoán phản ứng của hệ thống sẽ không giải quyết được vấn đề. Tuy nhiên, và đây là thời điểm aha, bạn có thể lật nó và tìm đầu ra điều khiển mà nó sẽ thực hiện để có được bất kỳ phản ứng hệ thống mong muốn nào. Lưu ý rằng đó là giải quyết chính xác vấn đề điều khiển, nhưng chỉ khi chúng ta có thể biết được phản ứng của hệ thống đối với một mẫu đầu ra điều khiển tùy ý.

Vì vậy, có lẽ bạn đang nghĩ, điều đó thật dễ dàng, chỉ cần cung cấp cho nó một xung lớn và xem những gì nó làm. Vâng, điều đó sẽ làm việc trên lý thuyết, nhưng trong thực tế, nó thường không. Đó là bởi vì bất kỳ một mẫu kiểm soát nào, thậm chí là một mẫu lớn, đều rất nhỏ trong sơ đồ tổng thể của những thứ mà hệ thống hầu như không có phản ứng có thể đo lường được. Và hãy nhớ, mỗi mẫu đối chứng tỉ trọng rất nhỏ trong chương trình điều để các chuỗi các mẫu kiểm soát cảm thấy liên tục vào hệ thống. Vì vậy, không phải ý tưởng này sẽ không hiệu quả, mà trong thực tế, phản ứng của hệ thống rất nhỏ đến mức nó bị chôn vùi trong tiếng ồn đo lường. Trong ví dụ về điện trở, việc chạm điện trở với 100 W trong 100 ms sẽ không gây ra sự thay đổi nhiệt độ đủ để đo.

Bước đáp ứng

Nhưng, vẫn còn một cách. Mặc dù việc đưa một mẫu điều khiển duy nhất vào hệ thống sẽ cho chúng ta phản ứng trực tiếp với từng mẫu riêng lẻ, chúng ta vẫn có thể suy ra bằng cách đưa một chuỗi các phản ứng kiểm soát đã biết và có kiểm soát vào hệ thống và đo lường phản ứng của nó với các mẫu đó. Thông thường điều này được thực hiện bằng cách đặt một bước kiểm soáttrong. Điều chúng tôi thực sự muốn là phản hồi cho một đốm sáng nhỏ, nhưng phản hồi cho một bước duy nhất chỉ là không thể thiếu. Trong ví dụ về điện trở, chúng ta có thể đảm bảo mọi thứ đều ở trạng thái ổn định ở 0 W, sau đó đột ngột bật nguồn và đặt 10 W vào điện trở. Điều đó sẽ gây ra sự thay đổi nhiệt độ có thể đo được trên đầu ra cuối cùng. Đạo hàm của điều đó với tỷ lệ phù hợp cho chúng ta biết phản ứng với một mẫu kiểm soát riêng lẻ, mặc dù chúng ta không thể đo trực tiếp điều đó.

Vì vậy, để tóm tắt, chúng ta có thể đặt một đầu vào điều khiển bước vào một hệ thống không xác định và đo lường đầu ra kết quả. Đó gọi là phản ứng bước . Sau đó, chúng tôi lấy đạo hàm thời gian của điều đó, được gọi là đáp ứng xung . Đầu ra hệ thống tạo ra từ bất kỳ một mẫu đầu vào điều khiển nào chỉ đơn giản là đáp ứng xung được điều chỉnh phù hợp với cường độ của mẫu điều khiển đó. Phản ứng của hệ thống đối với toàn bộ lịch sử của các mẫu kiểm soát là một loạt các phản hồi xung được thêm vào, thu nhỏ và lệch theo thời gian cho mỗi đầu vào điều khiển. Hoạt động cuối cùng đó xuất hiện rất nhiều và có tên đặc biệt là tích chập .

Kiểm soát kết hợp

Vì vậy, bây giờ bạn có thể tưởng tượng rằng đối với bất kỳ bộ đầu ra hệ thống mong muốn nào, bạn có thể đưa ra chuỗi các đầu vào điều khiển để gây ra đầu ra đó. Tuy nhiên, có một gotcha. Nếu bạn quá tích cực với những gì bạn muốn ra khỏi hệ thống, các đầu vào điều khiển để đạt được điều đó sẽ đòi hỏi các giá trị cao và thấp không theo thời gian. Về cơ bản, bạn mong muốn hệ thống phản hồi càng nhanh thì giá trị điều khiển càng lớn, theo cả hai hướng. Trong ví dụ về điện trở, bạn có thể nói về mặt toán học rằng bạn muốn nó đi ngay đến một nhiệt độ mới, nhưng điều đó sẽ cần một tín hiệu điều khiển vô hạn để đạt được. Bạn càng chậm cho phép nhiệt độ thay đổi thành giá trị mới, công suất tối đa bạn cần để có thể đổ vào điện trở càng thấp. Một nếp nhăn khác là điện vào đôi khi cũng cần phải đi xuống. Bạn có thể'

Một cách để giải quyết vấn đề này là cho hệ thống điều khiển bộ lọc thông thấp đầu vào kiểm soát người dùng trước khi sử dụng nội bộ. Người dùng hình làm những gì người dùng muốn làm. Hãy để họ đóng sầm đầu vào một cách nhanh chóng. Bên trong bạn có bộ lọc thông thấp để làm mịn nó và làm chậm nó xuống nhanh nhất mà bạn biết bạn có thể nhận ra với công suất tối đa và tối thiểu bạn có thể đặt vào điện trở.

Ví dụ thế giới thực

Dưới đây là một ví dụ một phần sử dụng dữ liệu thế giới thực. Điều này từ một hệ thống nhúng trong một sản phẩm thực tế mà trong số những thứ khác phải điều khiển vài chục lò sưởi để duy trì các hồ chứa hóa chất khác nhau ở nhiệt độ cụ thể. Trong trường hợp này, khách hàng đã chọn thực hiện điều khiển PID (đó là điều họ cảm thấy thoải mái), nhưng bản thân hệ thống vẫn tồn tại và có thể đo lường được. Dưới đây là dữ liệu thô từ việc lái một trong các lò sưởi với đầu vào bước. Thời gian lặp vòng là 500 ms, rõ ràng là một khoảng thời gian rất ngắn xem xét hệ thống vẫn đang giải quyết rõ ràng trên biểu đồ tỷ lệ này sau 2 giờ.

Trong trường hợp này, bạn có thể thấy lò sưởi được điều khiển với một bước có kích thước khoảng 0,35 (giá trị "Ra"). Đặt một bước 1.0 đầy đủ trong một thời gian dài sẽ dẫn đến nhiệt độ quá cao. Phần bù ban đầu có thể được loại bỏ và kết quả được thu nhỏ để tính cho bước đầu vào nhỏ để suy ra đáp ứng bước đơn vị:

Từ điều này, bạn nghĩ rằng sẽ chỉ trừ đi các giá trị phản hồi bước tiếp theo để có được phản hồi thúc đẩy. Điều đó đúng về mặt lý thuyết, nhưng trong thực tế, bạn nhận được hầu hết tiếng ồn đo lường và lượng tử hóa do hệ thống thay đổi rất ít trong 500 ms:

Cũng lưu ý quy mô nhỏ của các giá trị. Đáp ứng xung được hiển thị theo tỷ lệ 10 6 .

Rõ ràng các biến thể lớn giữa các cá nhân hoặc thậm chí một vài lần đọc chỉ là nhiễu, vì vậy chúng ta có thể lọc thấp bộ lọc này để loại bỏ các tần số cao (nhiễu ngẫu nhiên), hy vọng cho phép chúng ta thấy phản hồi bên dưới chậm hơn. Đây là một nỗ lực:

Điều đó tốt hơn và cho thấy thực sự có dữ liệu có ý nghĩa, nhưng vẫn còn quá nhiều tiếng ồn. Đây là một kết quả hữu ích hơn thu được với việc lọc thông qua dữ liệu xung thấp hơn:

Bây giờ đây là một cái gì đó chúng ta thực sự có thể làm việc với. Tiếng ồn còn lại là nhỏ so với tín hiệu tổng thể, vì vậy không nên cản trở. Tín hiệu dường như vẫn còn nguyên vẹn. Một cách để thấy điều này là nhận thấy đỉnh 240 là ngay từ một kiểm tra trực quan nhanh và nhãn cầu lọc âm mưu trước đó.

Vì vậy, bây giờ dừng lại và suy nghĩ về những gì đáp ứng xung này thực sự có nghĩa là gì. Đầu tiên, lưu ý rằng nó được hiển thị lần 1M, vì vậy đỉnh thực sự là 0,000240 của quy mô đầy đủ. Điều này có nghĩa là về mặt lý thuyết nếu hệ thống được điều khiển với một xung quy mô đầy đủ duy nhất cho một trong các khe thời gian 500 ms, thì đây sẽ là nhiệt độ kết quả liên quan đến nó bị bỏ lại một mình. Sự đóng góp từ bất kỳ khoảng thời gian 500 ms nào là rất nhỏ, có ý nghĩa bằng trực giác. Đây cũng là lý do tại sao việc đo trực tiếp đáp ứng xung không hoạt động, vì 0,000240 của thang đo đầy đủ (khoảng 1 phần trong 4000) nằm dưới mức độ nhiễu của chúng tôi.

Bây giờ bạn có thể dễ dàng tính toán đáp ứng của hệ thống cho bất kỳ tín hiệu đầu vào điều khiển nào. Đối với mỗi mẫu đầu ra kiểm soát 500 ms, thêm một trong các đáp ứng xung này được chia tỷ lệ theo kích thước của mẫu kiểm soát đó. Thời gian 0 của đóng góp đáp ứng xung đó cho tín hiệu đầu ra hệ thống cuối cùng là tại thời điểm mẫu kiểm soát của nó. Do đó, tín hiệu đầu ra của hệ thống là sự nối tiếp của các đáp ứng xung này bù cho nhau 500 ms, mỗi tỷ lệ theo mức mẫu điều khiển tại thời điểm đó.

Đáp ứng hệ thống là tích chập của đầu vào điều khiển với đáp ứng xung này, được tính toán cho mọi mẫu điều khiển, cứ sau 500 ms trong ví dụ này. Để làm cho một hệ thống điều khiển ra khỏi điều này, bạn làm việc ngược lại để xác định đầu vào điều khiển dẫn đến đầu ra hệ thống mong muốn.

Đáp ứng xung này vẫn khá hữu ích ngay cả khi bạn muốn thực hiện bộ điều khiển PID cổ điển. Điều chỉnh bộ điều khiển PID mất rất nhiều thử nghiệm. Mỗi lần lặp sẽ mất một hoặc hai giờ trên hệ thống thực, điều này sẽ khiến việc điều chỉnh lặp rất chậm. Với đáp ứng xung, bạn có thể mô phỏng phản hồi của hệ thống trên máy tính trong một phần của giây. Bây giờ bạn có thể thử các giá trị PID mới nhanh như bạn có thể thay đổi chúng và không phải đợi một hoặc hai giờ để hệ thống thực sự hiển thị cho bạn phản hồi của nó. Tất nhiên các giá trị cuối cùng phải luôn được kiểm tra trên hệ thống thực, nhưng hầu hết các công việc có thể được thực hiện với mô phỏng trong một phần nhỏ thời gian. Đây là ý của tôi bởi "Bạn có thể sử dụng điều này như một cơ sở mô phỏng để tìm các tham số cho điều khiển PID kiểu cũ" trong đoạn bạn trích dẫn trong câu hỏi của mình.


4
Không phải. quá. tồi tàn.
NickHalden

4
Tôi nghĩ rằng một số tiêu đề có thể thực sự có giá trị ở đây. Nhưng tuyệt vời áp dụng.
Kortuk

Tôi đến bữa tiệc muộn, nhưng vẫn: Câu trả lời ấn tượng, Olin! :)
bitsmack

7

Các bộ lọc FIR và IIR, như Jon đã đề cập, là các bộ lọc kỹ thuật số thực hiện trực tiếp sự tích chập của đáp ứng xung, như tên gọi (Finite \ Infinite Impulse Đáp ứng).

Chuyển đổi đáp ứng xung cho tín hiệu (trong miền thời gian) hoàn toàn giống với việc nhân hàm truyền với biến đổi của tín hiệu (trong miền tần số); và, về cơ bản, nó bao gồm việc nhân đáp ứng xung của bộ lọc với phiên bản đã tách rời của tín hiệu (nghĩ về thực tế là đáp ứng bộ lọc được cố định theo thời gian, trong khi tín hiệu liên tục thay đổi theo thời gian).

Trong các bộ lọc kỹ thuật số, đáp ứng xung được giảm xuống một số hệ số cố định nhân tín hiệu tại một điểm nhất định; các điểm được phân tách bằng độ trễ, nhận được 0 nhân giá trị tức thời của tín hiệu, trong khi k nhân với cùng một tín hiệu sau k đơn vị trễ.

nhập mô tả hình ảnh ở đây

Hình vẽ cho thấy đáp ứng xung của bộ lọc chung (thông thấp trong trường hợp này) trong đó các hệ số cho 13 vòi (số lượng độ trễ) bộ lọc FIR thu được.

Để có được một số hàm truyền, bộ lọc FIR sẽ yêu cầu số lượng hệ số vô hạn: trong những trường hợp này, một phản hồi được sử dụng để có được bộ lọc IIR (Phản hồi xung vô hạn). Các bộ lọc này cho phép có được các chức năng truyền tốt hơn (ví dụ như chuyển đổi hẹp hơn giữa băng thông qua và băng tần bị chặn trong các bộ lọc) nhưng có thể tạo ra sự không ổn định, trong khi các bộ lọc FIR ổn định khi xây dựng.

Loại bộ lọc này có thể được thiết kế với các mạch tương tự, nhưng đòi hỏi các bộ khuếch đại chính xác được điều chỉnh theo các hệ số và mạch trễ chính xác và có sự gia tăng lớn về phần cứng khi tăng số lượng vòi. Thông thường các bộ lọc này được triển khai trong DSP, trong đó các hoạt động được thực hiện trên tín hiệu số theo cách dễ dàng hơn nhiều.

Vì vậy, để trả lời trực tiếp câu hỏi của bạn : việc điều chỉnh các bộ lọc kỹ thuật số được thực hiện chỉ bằng cách đặt các hệ số cho đáp ứng xung rời rạc.

Cập nhật

OP hỏi về phản ứng bước và xung lực; tốt, như Olin và Jon đã nói, đáp ứng xung là đạo hàm của phản ứng bước, và rõ ràng đáp ứng bước là không thể thiếu của đáp ứng xung.

Phản hồi bước được sử dụng rộng rãi trong các hệ thống điều khiển vì nó cho thấy những điều quan trọng nhất về chúng: chúng phản ứng nhanh như thế nào với những thay đổi nhanh trong đầu vào và nếu chúng ổn định và có khả năng giảm thiểu lỗi theo thời gian.

Nhưng đáp ứng xung rất quan trọng vì có thể được sử dụng để tính toán tín hiệu đầu vào tại một thời điểm nào đó sẽ gây ra ở đầu ra, do đó, tín hiệu đầu ra hoàn chỉnh có thể thu được kết quả của đáp ứng xung nhân với tín hiệu đầu vào: là tổ hợp, và là nơi ma thuật xảy ra. Có, bởi vì đáp ứng xung không gì khác hơn là chống biến đổi Fourier của chức năng truyền của bộ điều chỉnh.

Vì vậy, đây là sức mạnh của các bộ lọc kỹ thuật số: chúng thực hiện trực tiếp đáp ứng xung và, cho dù chúng tôi muốn tạo lại phản hồi bước (trong trường hợp hệ thống điều khiển) hoặc chức năng chuyển (trong trường hợp bộ lọc), chúng tôi chỉ cần rút ra đáp ứng xung và trích xuất các hệ số cho FIR.


Câu trả lời chính xác! Để hoàn thành nó, bạn có thể bao gồm làm thế nào để có được phản ứng thúc đẩy từ bước này không? (Tôi thấy nó trong câu trả lời của @ JonWatte.)
tyblu

4

Convolution thường là bộ lọc FIR, không phải là IIR như bạn nhận được với các cực và số không trong bộ lọc đệ quy truyền thống. Bây giờ, nếu bạn có phản hồi bước, bạn có thể đảo ngược điều này và kết hợp trước tín hiệu phản hồi của bạn bằng cách đó. Kết quả cuối cùng là toàn bộ hệ thống thể hiện chính xác một phản ứng bước. Tuy nhiên, trong trường hợp chung, điều này đưa ra độ trễ nhóm, bởi vì bạn cần "tải trước" phản hồi nghịch đảo. Trong một hệ thống kiểm soát, điều này có thể dẫn đến độ trễ không mong muốn.


@JohWatte, một ví dụ?
Kortuk

1
Hoặc những gì tôi đã làm là áp dụng bộ lọc thông thấp cho tín hiệu điều khiển. Lý tưởng nhất là một bước mang lại một bước ra, nhưng điều đó là không thể về mặt vật lý vì đầu ra sẽ phải đi vô tận. Bạn lọc đầu vào điều khiển để đầu vào bước biến thành thứ bạn có thể nhận ra, nghĩa là các giá trị tích chập không bao giờ vượt quá những gì ổ đĩa đầu ra của bạn có khả năng tạo ra. Đặc biệt, giá trị âm thường không thể. Ví dụ: nếu bạn đang điều chỉnh nhiệt độ bằng lò sưởi điện trở, bạn không thể tạo nhiệt âm (với Peltier bạn có thể, và sau đó các giá trị có thể âm).
Olin Lathrop

Làm thế nào để bạn đảo ngược các phản ứng bước? Là "tín hiệu phản hồi" là đầu ra mong muốn?
tyblu

Tóm lại, nếu tôi nhớ lại một cách chính xác: Bạn chuyển đổi phản hồi bước thành đáp ứng xung. Sau đó, bạn trừ đi đáp ứng xung (với xung được lấy ra) được kết hợp với tín hiệu đầu vào từ tín hiệu đầu ra. Chính sự tích chập này đã thêm độ trễ nhóm (độ trễ.) Tôi nhớ đã thấy các tài liệu tham khảo tốt cách đây hàng chục năm liên quan đến mô hình micrô và phòng trong DSP âm thanh.
Jon Watte

2

Tôi sẽ giải quyết vấn đề này và nói rằng, nếu bạn có khả năng đo lường phản ứng bước của hệ thống, bạn có thể rút ngắn rất nhiều lý thuyết và tiếp tục tối ưu hóa các tham số điều khiển của mình. Thay vì đo phản hồi vòng hở và cố gắng tính toán các tham số điều khiển lý tưởng (mặc dù điều đó hữu ích cho việc tìm điểm khởi đầu tốt để tối ưu hóa), bạn có thể điều chỉnh hệ thống của mình bằng cách đo phản hồi vòng kín.

Ý tưởng chính là việc đo phản ứng bước sẽ cho bạn thấy (đại khái) nếu hệ thống điều khiển bị ẩm, quá ẩm hoặc bị ẩm nghiêm trọng (trường hợp lý tưởng).

Nếu bạn đo phản ứng bước và thấy đổ chuông, bạn biết bạn đang bị ẩm. Nếu bạn đo lường phản hồi bước và đầu ra chỉ chậm đến giá trị cuối cùng, bạn biết rằng bạn đang bị thiếu. Nếu bạn có thể điều chỉnh bộ điều khiển trong khi liên tục đo phản hồi bước, bạn chỉ cần điều chỉnh nó để có phản hồi nhanh nhất mà không đổ chuông và biết bạn đang ở gần phản hồi trong trường hợp tốt nhất.

Bạn có thể bắt đầu bằng cách chỉ sử dụng thuật ngữ P. Nếu kết quả không thỏa đáng, hãy thêm các điều khoản I và D. Thuật ngữ I giúp loại bỏ các đuôi dài trong phản hồi hoặc các trường hợp đầu ra không bao giờ hoàn toàn đạt được giá trị mong muốn. Thuật ngữ D rất hữu ích để tăng tốc độ phản hồi bằng cách "dự đoán" nơi đầu vào sẽ đi tiếp theo. (Tôi đoán, mặc dù tôi không phải là chuyên gia kiểm soát, là thuật ngữ P có thể được tối ưu hóa theo thuật ngữ tuyệt đối, nhưng sự lựa chọn tốt nhất về thuật ngữ I và D sẽ không chỉ phụ thuộc vào phản ứng của hệ thống của bạn dưới sự kiểm soát mà còn phụ thuộc vào các tính năng, như nội dung tần số và biên độ của tín hiệu đầu vào)

Khi bạn đã nhận được phản hồi nhanh nhất bạn có thể nhận được mà không cần đổ chuông, sau đó điều chỉnh nó thành hơi quá ẩm để thay đổi nhiệt độ hoặc bất cứ điều gì không điều chỉnh hệ thống thành dao động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.