Як використовувати виміряну ступінчату відповідь на систему регулювання


17

Як можна використовувати вимірюваний крок відповіді для налаштування або PID, або схеми управління згорткою?

Натхненний цією відповіддю * , мене цікавить більш детальне пояснення того, як реалізувати систему управління на основі вимірюваної крокової відповіді.

Я б не намагався вгадати всі наслідки. Ймовірно, відбуваються якісь не очевидні речі, і ви не можете знати всі параметри.

Я б виміряв крок відповіді. Знайдіть два налаштування насоса, які призводять до того, що куля знаходиться в межах вимірюваного діапазону всередині трубки. Потім нехай регулятор несподівано переключиться з одного налаштування на інший відкритий цикл. Тим часом вимірюйте те, що робить м'яч з часом. Це крок відповіді. Ви можете взяти похідне від цього і отримати імпульсну відповідь. З імпульсного відгуку можна передбачити рух кулі для будь-якої історії налаштувань насоса, якщо вважати, що це лінійна система. Напевно, досить лінійне протягом невеликого діапазону налаштувань, щоб утримувати кульку в нормальному діапазоні.

Ви можете використовувати це як основу для моделювання, щоб знайти параметри для старомодного PID-контролю. Або ви можете використовувати імпульсну відповідь безпосередньо, щоб зробити контроль згортки. Вам доведеться вистачити низькочастотний фільтр на вхід управління, щоб ядро ​​згортання не стало негативним, якщо ваш насос не є реверсивним і не зможе відсмоктувати кулю назад.

Як саме це працює? Налаштування PID важко ; Я припускаю, що "контроль згортки" - це використання полюса-нуля або функції передачі, але не бачу точно, як отримати параметри.

ЗВ'ЯЗАНО: Моделювання системи для систем управління
* моделювання функції передачі левітації кулі пінг-понг у трубі як демпфер

Відповіді:


23

Вступ

По-перше, ми повинні розглянути, що саме ця річ називається імпульсною реакцією системи та що вона означає. Це абстрактне поняття, яке потребує трохи продумати, щоб візуалізувати. Я не збираюся вступати в сувору математику. Моя суть полягає в тому, щоб спробувати дати деяку інтуїцію, що це за річ, що потім призводить до того, як ви можете цим користуватися.

Приклад проблеми управління

Уявіть, у вас був великий жировий резистор із встановленим на ньому датчиком температури. Все починається і при температурі навколишнього середовища. Коли ви включаєте живлення, ви знаєте, що температура на датчику з часом зросте і стабілізується, але точне рівняння було б дуже важко передбачити. Скажімо, у системі є константа часу близько 1 хвилини, хоча "константа часу" не повністю застосовна, оскільки температура не піднімається в приємному експоненціалі, як це було б у системі з одним полюсом, а отже, єдина константа часу . Скажімо, ви хочете чітко контролювати температуру та змінити її на новий рівень і залишатись там стабільно значно швидше, ніж це було б, якби ви просто увімкнули відповідний рівень потужності і чекали.

В основному у вас є проблема системи управління. Відповідь відкритого циклу досить повторювана, і десь існує рівняння, яке досить добре моделює його, але проблема полягає в тому, що ви отримаєте це рівняння занадто багато невідомих.

PID-контроль

Один класичний спосіб вирішити це - за допомогою PID-контролера. Ще в плейстоцені, коли це потрібно було зробити в аналоговій електроніці, люди стали розумнішими і придумали схему, яка добре працювала з аналоговими можливостями. Ця схема отримала назву "PID", для пропорційного , інтегрального та похідного .

П термін

Ви починаєте вимірювати помилку. Це лише виміряна реакція системи (температура, про яку повідомляє датчик у нашому випадку) мінус вхід керування (бажана настройка температури). Зазвичай вони можуть бути організовані як сигнали напруги, тому пошук помилки був лише аналоговою різницею, що досить просто. Ви можете подумати, що це легко. Все, що вам потрібно зробити - це привести в дію резистор з більшою потужністю, чим вище помилка. Це автоматично спробує зробити його гарячішим, коли занадто холодно і холодніше, коли занадто жарко. Це працює, сортоф. Зауважте, що ця схема потребує певної помилки, щоб викликати будь-який ненульовий керуючий вихід (потужність, що управляє резистором). Насправді це означає, що чим вище необхідна потужність, тим більша помилка, оскільки це єдиний спосіб отримати високу потужність. Тепер ви можете сказати, що все, що вам потрібно зробити, це підкрутити коефіцієнт посилення, щоб помилка була прийнятною навіть при великій потужності. Зрештою, це майже основа для того, як opamps використовуються в багатьох схемах. Ви маєте рацію, але справжній світ зазвичай не дасть вам піти з цього. Це може спрацювати для деяких простих систем управління, але коли є різні види тонких зморшок у відповідь і коли це може зайняти значний час, ви закінчитесь тим, що коливається, коли коефіцієнт посилення занадто високий. По-іншому, система стає нестабільною. але коли є різні види тонких зморшок у відповідь, і коли це може зайняти значний час, ви закінчитесь тим, що коливається, коли коефіцієнт посилення занадто високий. По-іншому, система стає нестабільною. але коли є різні види тонких зморшок у відповідь, і коли це може зайняти значний час, ви закінчитесь тим, що коливається, коли коефіцієнт посилення занадто високий. По-іншому, система стає нестабільною.

Те, що я описав вище, було P (пропорційною) частиною PID. Так само, як ви можете зробити висновок пропорційним сигналу помилки, ви також можете додати умови, пропорційні до похідної часу та інтегралу помилки. Кожен з цих P, I і D сигналів має свій окремий коефіцієнт підсилення перед тим, як підсумовуватись для отримання вихідного сигналу управління.

I термін

Термін I дозволяє помилці зникнути з часом. Поки є якась позитивна помилка, термін I буде продовжувати накопичуватися, зрештою піднімаючи контрольний висновок до тієї точки, коли загальна помилка відходить. У нашому прикладі, якщо температура стабільно низька, вона постійно збільшуватиме потужність в резисторі, поки вихідна температура остаточно не знизиться. Сподіваємось, ви можете побачити, що це може стати нестабільним навіть швидше, ніж просто високий термін P. AI термін сам по собі може легко викликати перебіги, які легко перетворюються на коливання.

D термін

Термін D іноді залишається поза увагою. Основне використання терміна D полягає в тому, щоб додати трохи стабільності, щоб умови P і I могли бути більш агресивними. Термін D в основному говорить, якщо я вже прямую в правильному напрямку, відкладіть на газ трохи, оскільки те, що я зараз маю, отримує нас там .

Налаштування PID

Основи PID-контролю досить прості, але отримати терміни P, I і D просто правильно, це не так. Зазвичай це робиться з великою кількістю експериментів та налаштувань. Кінцева мета полягає в тому, щоб створити загальну систему, де вихід реагує максимально швидко, але без зайвого перекриття або дзвінка, і, звичайно, він повинен бути стабільним (не починати коливатися самостійно). Існує багато книг, написаних на PID-контролі, як додати невеликі зморшки до рівнянь, але особливо, як "налаштувати" їх. Налаштування відноситься до визначення оптимальних прибутків P, I і D.

Системи управління PID працюють, і там, безумовно, є багато досвіду і хитрощів, щоб змусити їх добре працювати. Однак PID-контроль не є єдиною правильною відповіддю для системи управління. Люди, здається, забули, чому в першу чергу було обрано PID, що більше стосується контрагентів аналогової електроніки, ніж якась універсальна оптимальна схема управління. На жаль, занадто багато інженерів сьогодні порівнюють "систему управління" з PID, що є не що інше, як маленька роздумлива реакція на коліно. Це не робить контроль PID неправильним у сучасному світі, але лише один із багатьох способів атаки з проблемою управління.

Поза PID

Сьогодні в мікроконтролері буде зроблено закриту систему управління для подібного прикладу температури. Це може зробити набагато більше речей, ніж просто взяти похідне та інтегральне значення помилки. У процесорі ви можете робити ділення, квадратні корені, зберігати історію останніх значень та багато іншого. Можливе багато схем управління, крім PID.

Імпульсна відповідь

Тож забудьте про обмеження аналогової електроніки та відступіться і подумайте, як ми могли б керувати системою, повертаючись до перших принципів. Що робити, якщо для кожного маленького контрольного виводу ми знали, що робитиме система. Постійний керуючий вихід - це лише підсумовування безлічі дрібниць. Оскільки ми знаємо, що є результатом кожного твору, ми можемо знати, що є результатом будь-якої попередньої історії контрольних результатів. Тепер зауважте, що "невеликий шматок" керуючого виходу добре поєднується з цифровим керуванням. Ви збираєтеся обчислити, яким повинен бути керуючий висновок, і встановіть його, потім поверніться назад і виміряйте входи ще раз, обчисліть новий керуючий висновок з них і встановіть його знову і т. Д. Ви запускаєте алгоритм управління в циклі, і він вимірює входи та встановлює вихід керування заново кожну ітерацію циклу. Входи "дискретизуються" в дискретний час, а вихід також встановлюється на нові значення через фіксований інтервал. Поки ви можете зробити це досить швидко, ви можете думати, що це відбувається постійно. У випадку нагрівання резистора, який зазвичай займає кілька хвилин, щоб відстоятися, звичайно, кілька разів на секунду відбувається набагато швидше, ніж система по суті реагує значущим чином, що оновлення виходу при скажімо 4 Гц буде виглядати безперервно для системи. Це саме те саме, що цифрово записана музика насправді змінює вихідне значення дискретними кроками в діапазоні 40-50 кГц, і це так швидко, що наші вуха не чують цього, і це звучить безперервно, як оригінал. ви можете думати, що це відбувається постійно. У випадку нагрівання резистора, який зазвичай займає кілька хвилин, щоб відстоятися, звичайно, кілька разів на секунду відбувається набагато швидше, ніж система по суті реагує значущим чином, що оновлення виходу при скажімо 4 Гц буде виглядати безперервно для системи. Це саме те саме, що цифрово записана музика насправді змінює вихідне значення дискретними кроками в діапазоні 40-50 кГц, і це так швидко, що наші вуха не чують цього, і це звучить безперервно, як оригінал. ви можете думати, що це відбувається постійно. У випадку нагрівання резистора, який зазвичай займає кілька хвилин, щоб відстоятися, звичайно, кілька разів на секунду відбувається набагато швидше, ніж система по суті реагує значущим чином, що оновлення виходу при скажімо 4 Гц буде виглядати безперервно для системи. Це саме те саме, що цифрово записана музика насправді змінює вихідне значення дискретними кроками в діапазоні 40-50 кГц, і це так швидко, що наші вуха не чують цього, і це звучить безперервно, як оригінал. безумовно, кілька разів на секунду настільки швидше, ніж система по суті реагує осмислено, що оновлення виводу в скажімо 4 Гц буде виглядати безперервно для системи. Це саме те саме, що цифрово записана музика насправді змінює вихідне значення дискретними кроками в діапазоні 40-50 кГц, і це так швидко, що наші вуха не чують цього, і це звучить безперервно, як оригінал. безумовно, кілька разів на секунду настільки швидше, ніж система по суті реагує осмислено, що оновлення виводу в скажімо 4 Гц буде виглядати безперервно для системи. Це саме те саме, що цифрово записана музика насправді змінює вихідне значення дискретними кроками в діапазоні 40-50 кГц, і це так швидко, що наші вуха не чують цього, і це звучить безперервно, як оригінал.

То що ми могли б зробити, якби мав цей магічний спосіб зрозуміти, що система буде робити з часом завдяки будь-якому зразку контрольного виходу? Оскільки реальна відповідь управління є лише послідовністю вибірки, ми можемо скласти відповідь з усіх вибірок і знати, що буде результатом системної відповіді. Іншими словами, ми можемо передбачити відповідь системи для будь-якої довільної форми сигналу реакції управління.

Це здорово, але просто передбачення реакції системи не вирішує проблему. Однак, і ось ось момент ага, ви можете перевернути це і знайти контрольний вихід, який би знадобився, щоб отримати будь-яку бажану системну відповідь. Зауважимо, що саме вирішення задачі управління, але тільки якщо ми можемо якось знати реакцію системи на єдиний вибірковий вихідний зразок управління.

Тож ви, напевно, думаєте, що це просто, просто дайте йому великий пульс і подивіться, що це робить. Так, це працювало б теоретично, але на практиці це зазвичай не так. Це тому, що будь-який контрольний зразок, навіть великий, настільки малий у загальній схемі речей, що система ледве не має мірного відгуку. І пам'ятайте, кожен контрольний зразок повинен бути малі за схемою речей так, щоб послідовність контрольних зразків відчуває безперервну систему. Тож справа не в тому, що ця ідея не спрацює, а на практиці реакція системи настільки мала, що вона закопується в вимірювальний шум. У прикладі резистора удари резистором 100 Вт протягом 100 мс не спричинять достатньої зміни температури для вимірювання.

Крок відповіді

Але, все ж є спосіб. Хоча введення в систему єдиного контрольного зразка дало б нам відповідь на окремі зразки безпосередньо, ми все одно можемо зробити це висновком, помістивши в систему відому та контрольовану послідовність контрольних відповідей та вимірюючи її реакцію на них. Зазвичай це робиться, поставивши керуючий крокв. Те, що ми насправді хочемо, - це відповідь на невеликий проміжок, але відповідь на один крок - лише невід'ємна частина цього. На прикладі резистора ми можемо переконатися, що все в стаціонарному стані на 0 Вт, а потім раптом увімкніть потужність і покладіть в резистор 10 Вт. Це призведе до добре вимірюваної зміни температури на виході. Похідне від цього за допомогою правильного масштабування говорить нам про реакцію на окремий контрольний зразок, навіть якщо ми не могли це виміряти безпосередньо.

Отже, підводячи підсумок, ми можемо поставити крок керування в невідому систему і виміряти отриманий результат. Це називається крок відповіді . Тоді ми беремо похідну часу того, що називається імпульсною реакцією . Вихід системи в результаті будь-якого одного контрольного вхідного зразка - це просто імпульсна характеристика, відповідним чином масштабована до сили цього контрольного зразка. Відповідь системи на всю історію контрольних зразків - це ціла купа імпульсних відповідей, що додаються, масштабуються та перекошуються в часі для кожного вводу контролю. Ця остання операція з'являється багато і має спеціальну назву згортки .

Контроль згортання

Тож тепер ви повинні мати можливість уявити, що для будь-якого потрібного набору системних виходів, ви можете придумати послідовність керуючих входів, щоб викликати цей вихід. Однак є ґутча. Якщо ви надто агресивно ставитесь до того, що ви хочете вийти з системи, для управління цим введенням потрібні недосягнення високих і низьких значень. В основному, чим швидше ви очікуєте, що система реагує, тим більшими повинні бути контрольні значення в обох напрямках. У прикладі резистора ви можете математично сказати, що хочете, щоб він негайно перейшов до нової температури, але для цього знадобиться нескінченний сигнал управління. Чим повільніше ви дозволяєте температурі змінюватися на нове значення, тим менша максимальна потужність, необхідна вам для скидання в резистор. Ще одна зморшка полягає в тому, що потужність в резисторі іноді також повинна знижуватися. Ти можеш'

Один із способів вирішити це - система керування низькочастотним фільтром на вході керування користувачем перед його внутрішнім використанням. Користувачі малюнків роблять те, що хочуть робити. Нехай вони швидко ляскають вхід. Всередині ви низькочастотний фільтр, щоб згладити його і уповільнити його до найшвидшого, що ви можете зрозуміти, маючи на увазі максимальну і мінімальну потужність, яку можна вкласти в резистор.

Приклад реального світу

Ось частковий приклад використання даних реального світу. Це від вбудованої системи в справжній продукт, який, крім усього іншого, повинен контролювати пару десятків нагрівачів, щоб підтримувати різні хімічні резервуари при конкретних температурах. У цьому випадку замовник вирішив зробити PID-контроль (саме це їм було комфортно), але сама система все ще існує і її можна виміряти. Ось вихідні дані про керування одним з обігрівачів із ступінчастим входом. Час ітерації циклу становив 500 мс, що, очевидно, дуже короткий час, враховуючи, що система все ще помітно осідає на цьому масштабному графіку через 2 години.

У цьому випадку ви можете бачити, що нагрівач приводився в рух з кроком розміром близько .35 (значення "Out"). Якщо тривалий час робити повний крок, це призвело б до надто високої температури. Початкове зміщення можна видалити, а результат масштабувати, щоб врахувати малий вхідний крок для висновку одиничної крокової відповіді:

З цього ви можете подумати, що було б просто відняти значення послідовного крокового відгуку, щоб отримати імпульсну відповідь. Теоретично це правильно, але на практиці ви отримуєте здебільшого шум вимірювання та квантування, оскільки система змінюється так мало за 500 мс:

Зауважте також невелику шкалу значень. Імпульсна характеристика показана масштабованою на 10 6 .

Очевидно, що великі розбіжності між окремими чи навіть кількома показаннями - це лише шум, тому ми можемо низькочастотно відфільтрувати це, щоб позбутися від високих частот (випадкового шуму), який, сподіваємось, дозволяє нам бачити повільнішу реакцію. Ось одна спроба:

Це краще і показує, що дійсно є важливі дані, але все-таки занадто багато шуму. Ось більш корисний результат, отриманий при більш низькій прохідності фільтрації необроблених даних про імпульси:

Зараз це те, з чим ми можемо реально працювати. Шум, що залишився, невеликий порівняно із загальним сигналом, тому не повинен перешкоджати. Сигнал, здається, як і раніше там майже недоторканий. Один із способів переконатись у цьому - помітити, що пік 240 - це приблизно від швидкої візуальної перевірки та фільтрації попереднього очного яблука.

Тому зараз зупиніться і подумайте, що насправді означає ця імпульсна реакція. По-перше, зауважте, що він відображається раз у 1М, тож пік дійсно становить 0,000240 у повному масштабі. Це означає, що теоретично, якби система приводилася в дію єдиним повномасштабним імпульсом лише для одного з часових інтервалів 500 мс, це була б результуюча температура відносно неї, яка залишилася в спокої. Внесок будь-якого періоду в 500 мс дуже малий, що має сенс інтуїтивно. Ось чому безпосередньо вимірювати імпульсну характеристику не працює, оскільки 0,000240 повномасштабної шкали (приблизно 1 частина в 4000) нижче нашого рівня шуму.

Тепер ви можете легко обчислити системну відповідь для будь-якого вхідного сигналу управління. Для кожного вихідного зразка керування 500 мс додайте один з цих імпульсних відповідей, масштабованих за розміром цього контрольного зразка. Час 0 внеску імпульсного відгуку в кінцевий вихідний сигнал системи становить момент контрольного зразка. Тому вихідний сигнал системи є послідовністю цих імпульсних реакцій, зміщених на 500 мс один від одного, кожен з яких масштабується до рівня контрольної вибірки на той час.

Системна відповідь - це згортання керуючого вводу з цим імпульсним відгуком, обчислюється кожен контрольний зразок, що становить кожні 500 мс у цьому прикладі. Щоб зробити систему управління з цього, ви працюєте її назад, щоб визначити керуючий вхід, що призводить до бажаного результату системи.

Цей імпульсний відгук все ще досить корисний, навіть якщо ви хочете зробити класичний PID-контролер. Налаштування PID-контролера вимагає багато експериментів. Кожна ітерація потребувала б години чи двох у реальній системі, що зробило б ітераційне налаштування дуже повільним. За допомогою імпульсної відповіді ви можете імітувати системну реакцію на комп’ютері за частку секунди. Тепер ви можете спробувати нові значення PID так швидко, як зможете їх змінити і не потрібно чекати годину чи дві, щоб реальна система показала вам свою відповідь. Кінцеві значення, звичайно, завжди повинні перевірятися в реальній системі, але більшу частину роботи можна виконати за допомогою імітації за частку часу. Це те, що я мав на увазі під назвою "Ви можете використовувати це як основу для моделювання, щоб знайти параметри для старомодного PID-контролю" в уривку, який ви цитували у своєму запитанні.


4
Ні. теж. пошарпаний.
NickHalden

4
Я думаю, що деякі заголовки розділів тут можуть бути дуже цінними. Але дивним стосується.
Кортук

Я спізнююсь на вечірку, але все-таки: Вражаюча відповідь, Олін! :)
бітмак

7

Фільтри FIR і IIR, як згадував Джон, - це цифрові фільтри, які безпосередньо реалізують згортку імпульсної відповіді, як говорить назва (Кінцевий \ Нескінченний імпульсний відгук).

Об'єднання імпульсної відповіді на сигнал (у часовій області) точно таке, як примноження функції передачі на перетворення сигналу (у частотній області); і, в основному, вона полягає в множенні імпульсної відповіді фільтра на перенесену версію сигналу (подумайте про те, що відповідь фільтра фіксується в часі, тоді як сигнал постійно змінюється в часі).

У цифрових фільтрах імпульсна характеристика зводиться до фіксованої кількості коефіцієнтів, що множать сигнал у певній точці; точки розділяються затримками, отримуючи, що a 0 помножує миттєве значення сигналу, а k помножує той самий сигнал після k одиниць затримки.

введіть тут опис зображення

На малюнку показано імпульсну характеристику загального фільтра (низький прохід у цьому випадку), де отримані коефіцієнти для 13-кратного (кількість затримок) фільтра FIR.

Для отримання деяких функцій передачі для фільтра FIR потрібна нескінченна кількість коефіцієнтів: у цих випадках для отримання фільтрів IIR (Infinite Impulse Response) використовується зворотний зв'язок. Ці фільтри дозволяють отримати кращі функції передачі (наприклад, більш вузький перехід між діапазоном пропускання та пригніченою смугою у фільтрах), але можуть створювати нестабільність, тоді як фільтри FIR стабільні за конструкцією.

Цей тип фільтрів може бути сконструйований з аналоговими схемами, але вимагає точних підсилювачів, налаштованих на коефіцієнти, і точних затримок ланцюгів, а також збільшується апаратне забезпечення при збільшенні кількості відводів. Найчастіше ці фільтри реалізуються в DSP, де операції над цифровими сигналами виконуються набагато простіше.

Отже, безпосередньо відповісти на ваше запитання : настройка цифрових фільтрів робиться просто встановленням коефіцієнтів на дискретний імпульсний відгук.

Оновлення

ОП запитав про крок та імпульсну відповідь; добре, як сказали Олін та Джон, імпульсна відповідь є похідною ступінчастої реакції, і очевидно, що етапна відповідь є інтегралом імпульсної відповіді.

Етапна відповідь широко використовується в системах управління, оскільки в них відображаються найважливіші речі: як швидко вони реагують на швидкі зміни вхідних даних, і якщо вони стабільні та здатні мінімізувати помилку з часом.

Але імпульсна характеристика дуже важлива, тому що може бути використана для обчислення того, що вхідний сигнал в певний момент спричинить на виході, тому тоді повний вихідний сигнал може бути отриманий, укладаючи результат імпульсної відповіді, помножений на вхідний сигнал: це це згортання, і саме там відбувається твоя магія. Так, тому що імпульсна реакція - це не що інше, як Фур'є-антиперетворення передавальної функції регулятора.

Отже, це сила цифрових фільтрів: вони реалізують безпосередньо імпульсну відповідь і, чи хочемо ми відтворити ступінчату відповідь (у випадку системи управління) або функцію передачі (у випадку фільтра), ми повинні просто отримують імпульсну відповідь та витягують коефіцієнти для FIR.


Чудова відповідь! Щоб завершити це, чи можете ви включити, як отримати імпульсну відповідь від кроку? (Я бачу це у відповіді @ JonWatte.)
tyblu

4

Convolution - це звичайно фільтр FIR, а не IIR, як ви отримуєте з полюсами і нулями в традиційному рекурсивному фільтрі. Тепер, якщо у вас є крок відповіді, ви можете інвертувати це і попередньо перетворити на нього сигнал відповіді. Кінцевим результатом є те, що вся система демонструє саме ступінчату відповідь. Однак у загальному випадку це вводить групову затримку, оскільки потрібно "попередньо завантажити" зворотну відповідь. У системі управління це може призвести до небажаної затримки.


@JohWatte, приклад?
Кортук

1
Або що я зробив - застосувати фільтр низьких частот до керуючого сигналу. В ідеалі крок у виході дає крок, але це фізично неможливо, оскільки вихід повинен бути нескінченним. Ви фільтруєте керуючий вхід так, щоб ступінчастий вхід перетворювався на те, що ви можете усвідомити, тобто значення згортки ніколи не перевищують те, на що здатний виробляти ваш вихідний привід. Зокрема, негативні значення часто неможливі. Наприклад, якщо ви регулюєте температуру за допомогою резистивного нагрівача, ви не можете піддавати негативному нагріванню (з Peltier ви могли б і тоді значення можуть бути негативними).
Олін Латроп

Як ви інвертуєте крок відповідь? Чи є "сигналом відповіді" бажаний вихід?
tyblu

Якщо коротко, якщо я пам'ятаю правильно: ви перетворюєте крок відповідь на імпульсну відповідь. Потім ви віднімаєте імпульсну відповідь (з виведеним імпульсом), що складається з вхідного сигналу, від вихідного сигналу. Саме ця згортання додає групової затримки (затримки.) Я пам’ятаю, що бачив хороші посилання десяток років тому стосовно моделювання мікрофона та кімнати в аудіо DSP.
Джон Ватт

2

Я б перевернув це і сказав, якщо у вас є можливість виміряти ступінчату реакцію вашої системи, ви можете скоротити багато теорії і просто ввійти в оптимізацію параметрів управління. Замість того, щоб вимірювати відповідь відкритого циклу і намагатися обчислити ідеальні параметри управління (хоча це корисно для пошуку хорошої вихідної точки для оптимізації), ви можете налаштувати вашу систему, вимірявши відповідь закритого циклу.

Основна ідея полягає в тому, що вимірювання ступінчастої реакції дозволить вам побачити (приблизно), якщо система управління недостатньо затухає, перезатухає або критично затухає (ідеальний випадок).

Якщо ви вимірюєте ступінь відповіді та бачите дзвінок, ви знаєте, що ви недостатньо затухали. Якщо ви вимірюєте ступінчасту відповідь і вихід лише повільно приходить до кінцевого значення, ви знаєте, що ви недостатньо затухані. Якщо ви можете налаштувати контролер під час багаторазового вимірювання ступінчастої відповіді, ви можете просто відрегулювати його, щоб отримати найшвидший відповідь без дзвінка і знати, що ви знаходитесь поблизу найкращої реакції.

Ви можете почати, просто використовуючи термін P. Якщо результати не задовільні, додайте терміни I та D. Термін I допомагає позбутися довгих хвостів у відповіді або випадків, коли вихід ніколи не досягає бажаного значення. Термін D корисний для прискорення відповіді, "передбачивши", куди подаватиметься подальший вхід. (Моя здогадка, хоча я не експерт з контролю, полягає в тому, що термін P можна оптимізувати в абсолютних показниках, але найкращий вибір термінів I і D буде залежати не тільки від реакції вашої системи, яка контролюється, але і від такі функції, як вміст частоти та амплітуда вхідного сигналу)

Як тільки ви отримаєте найшвидший відгук, який ви зможете отримати без дзвінка, потім налаштуйте його на трохи переохолоджене, так що зміна температури або все, що не налаштовує систему на коливання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.