Skip to main content
LibreTexts - Ukrayinska

7.6: Дизайн цифрового контролера за допомогою емуляції

  • Page ID
    32170
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Емуляція аналогових контролерів

    Контролер для вибіркової системи управління даними може бути отриманий шляхом емуляції (тобто апроксимації) наявної конструкції аналогового контролера. Емуляція контролера спрямована на отримання приблизного цифрового контролера\(K\left(z\right)\), реакція якого збігається з реакцією аналогового контролера,\(K\left(s\right)\) як вимірюється вибраною метрикою.

    Популярні методи емуляції контролерів включають в себе:

    Імпульсна інваріантність. Метод імпульсної інваріантності цифрового контролера має на меті відповідати імпульсній характеристиці аналогового контролера. Припустимо, що аналоговий контролер має вигляд:\(K(s)=\sum _{k=1}^{n} \frac{A_{k} }{s-s_{k} }\). Потім отримують відповідний цифровий контролер у вигляді:\(K(z)=T\sum _{k=1}^{n} \frac{A_{k} }{1-p_{k} z^{-1} } ,\quad p_{k} =e^{s_{k} T} ,\) тобто полюси контролера відображаються на відповідні місця в\(z\) -площині.

    Полюс-Нуль Відповідність. У відповідності полюс—нуль обидва полюси рослин і нулі відображаються на їх еквівалентні місця в\(z\) -площині за допомогою:\(z_{i} =e^{s_{i} T}\). Якщо функція передачі аналогового контролера має\(n\) полюси і\(m\) кінцеві нулі, які повинні бути узгоджені, то додаються ще\(n-m\) нулі при\(z=1\). Крім того, коефіцієнт посилення постійного струму цифрового контролера узгоджується з коефіцієнтом аналогового контролера.

    Утримання нульового порядку (ZOH). Метод ZOH передбачає наявність ZOH на вході в контролер. Метод неефективний, якщо аналоговий контролер має полюси біля початку (як у випадку з ПІ і ПІД-контролерами).

    Утримання першого порядку (FOH). Метод FOH передбачає кусково-лінійний вхід в контролер.

    Білінійне перетворення (BLT). Метод BLT використовує наближення Тастіна\(\left(z\cong \frac{1+Ts/2}{1-Ts/2}\right)\) для емуляції аналогового контролера. Метод BLT досить ефективний при використанні з високою частотою дискретизації. За допомогою BLT виходить еквівалентний цифровий контролер як:\(K(z)=K(s){\mathop{|}\nolimits_{s=\frac{2}{T} \, \frac{z-1}{z+1} }} .\)

    Команда «c2d» у наборі інструментів MATLAB Control Systems дозволяє вказати метод емуляції контролера. Метод за замовчуванням - ZOH.

    Приклад\(\PageIndex{1}\)

    Нехай\(G\left(s\right)=\frac{10}{s\left(s+2\right)(s+5)},\ T=0.2s\); потім, функція передачі імпульсу виходить у вигляді:\(G\left(z\right)=\frac{0.0095\left(z+0.18\right)\left(z+2.68\right)}{\left(z-1\right)\left(z-0.67\right)\left(z-0.37\right)}\)

    Контролер затримки свинцю для цього прикладу був розроблений раніше:\(K\left(s\right)=25\left(\frac{s+2}{s+24}\right)\left(\frac{s+0.05}{s+0.004}\right)\).

    Ми використовуємо команди MATLAB Control System Toolbox 'c2d' для отримання дискретних наближень контролера наступними методами:

    ЗОХ:\(K\left(z\right)=\frac{25\left(z-0.99\right)\left(z-0.925\right)}{\left(z-0.999\right)\left(z-0.008\right)}\)

    FOH:\(K\left(z\right)=\frac{6.86\left(z-0.99\right)\left(z-0.7\right)}{\left(z-0.999\right)\left(z-0.008\right)}\)

    БТ:\(K\left(z\right)=\frac{8.86\left(z-0.99\right)\left(z-0.667\right)}{\left(z-0.999\right)\left(z-0.412\right)}\)

    Імпульс-інваріантність:\(K\left(z\right)=\frac{-109.77z\left(z-0.999\right)}{\left(z-0.999\right)\left(z-0.008\right)}\)

    Полюс-нуль відповідності:\(K\left(z\right)=\frac{6.3\left(z-0.99\right)\left(z-0.67\right)}{\left(z-0.999\right)\left(z-0.008\right)}\)

    Найменші квадрати:\(K\left(z\right)=\frac{5.74\left(z-0.99\right)\left(z-0.542\right)}{\left(z-0.999\right)\left(z-0.376\right)}\)

    Аналіз замкнутих систем показує, що всі, крім імпульсної інваріантності, є стабільними з демпфуванням в діапазоні\(\zeta \in [0.72,0.81]\). Відповіді замкнутого циклу порівнюються на малюнку 7.6.1.

    clipboard_eef5c2abacd7ac265465d929b8f7715d7.png
    Рисунок\(\PageIndex{1}\): Порівняння крокової реакції для методів емуляції аналогових контролерів.

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

    Емуляція аналогового ПІД-регулятора

    Аналоговий ПІД-регулятор з входом\(e(t)\) і виходом\(u(t)\) описується як:

    \[u(t)=k_ p e(t)+k_ d \frac{ de(t)}{ dt} +k_{i} \int e(t) dt.\]

    Еквівалентний цифровий ПІД-регулятор може бути отриманий за допомогою прямого наближення Ейлера похідного члена:\(\frac{d}{dt}e\left(t\right)\approx \frac{1}{T}(e_{k+1}-e_k)\).

    Отримані функції перенесення\(z\) -домену для ПІД-контролера наведено у вигляді:

    \[K\left(z\right)=k_p+k_d\left(\frac{z-1}{T}\right)+k_i\left(\frac{T}{z-1}\right)\]

    Далі\(v_{k}\) позначимо вихід інтегратора; потім, цифровий ПІД-регулятор реалізується за такими правилами оновлення:

    \[u_k=k_pe_{k-1}+\frac{1}{T}\left(e_k-e_{k-1}\right)+k_iv_k\]

    \[v_k=v_{k-1}+Te_{k-1}\]

    Приклад\(\PageIndex{2}\)

    Нехай\(G\left(s\right)=\frac{10}{s\left(s+2\right)(s+5)},\ T=0.2s\); потім, функція передачі імпульсу виходить у вигляді:\(G\left(z\right)=\frac{0.0095\left(z+0.18\right)\left(z+2.68\right)}{\left(z-1\right)\left(z-0.67\right)\left(z-0.37\right)}\)

    Під-контролер для цього прикладу був розроблений раніше як:\(K_{PID}\left(s\right)=\frac{1.2\left(s+0.05\right)\left(s+2\right)}{s}\).

    Орієнтовний цифровий контролер виходить у вигляді:\(K_{PID}\left(z\right)=2.46+1.2\left(\frac{z-1}{T}\right)+0.12\left(\frac{T}{z-1}\right)\).

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

    clipboard_ea72790d64108073def358b42d0ca2c3c.png
    Малюнок\(\PageIndex{2}\): Порівняння крокової реакції для аналогових і цифрових ПІД-контролерів.