PID’ye Giriş

PID-proportional-integral-derivative denetleyicisi, oransal, integral ve türev terimlerden oluşan yaygın olarak kullanılan bir geri bildirim denetleyicisidir. Bu makale, her birinin nasıl davrandığına dair bir sezgi sağlamaya çalışırken, bir PID denetleyicisinin terim tanımını oluşturacaktır.

İlk olarak, PID denetleyicileri için bazı isimlendirmeleri tamamlayacağız. reference ayar noktası (istenen konum) ve output terimi process variable-süre. değişkeni (ölçülen konum) olarak adlandırılır. Aşağıda, ilgili miktarlar için bazı yaygın değişken adlandırma kuralları verilmiştir.

\(r(t)\)

setpoint

\(u(t)\)

control input

\(e(t)\)

error

\(y(t)\)

output

error \(e(t)\), \(r(t) - y(t)\) dır

PID kontrolüne zaten aşina olanlar için, bu içeriğin yorumlanması “geçmiş”, “şimdiki zaman” ve “gelecek” hatalarının klasik düşünceler ile tutarlı olmayacaktır. Önem verdiğimiz farklı fiziksel büyüklüklere uygulanan orantılı kontrolörler için modern kontrol teorisinin bakış açısından yaklaşıyor olacağız. Bu, türev terimin sabit ve hareketli setpoints ler için davranışının daha eksiksiz bir açıklamasını sağlayacaktır.

Orantısal terimi konum hatasını sıfıra, türev terimi hız hatasını sıfıra götürür ve integral terimi setpoint ve output grafikleri arasındaki alanı zaman içinde biriktirir ( error konumunun integrali) ve mevcut toplamı control input ne ekler. Bunların her biri hakkında daha fazla ayrıntıya gireceğiz.

Proportional Term - Oransal terimi

Proportional-Orantılı terimi, konum hatasını sıfıra götürür.

\[u(t) = K_p e(t)\]

burada \(K_p\) orantılı kazançtır ve \(e(t)\) geçerli zamandaki \(t\) hatadır.

Aşağıdaki şekil, bir P kontrolörü tarafından kontrol edilen bir system için bir blok diyagramı göstermektedir.

Diagram with a P controller

Orantılı kazançlar, system i istenen konuma çeken “yazılım tanımlı yaylar” gibi hareket eder. Fizikten şunu hatırlayın yayı modellemek için \(F = - kx\) burada \(F\) uygulanan kuvvettir, \(k\) is a orantısal bir sabit ve \(x\) denge noktasından yer değiştirmedir. Bu başka bir şekilde yazılabilir \(F = k(0-x)\) burada \(0\) denge noktasıdır. Denge noktasının geri besleme denetleyicimizin setpoint olmasına izin verirsek, denklemlerin bire bir karşılığı olur.

\[\begin{split}F &= k(r - x) \\ u(t) &= K_p e(t) = K_p(r(t) - y(t))\end{split}\]

dolayısıyla orantısal denetleyicinin systemin output u : term:setpoint yönünde çektiği “kuvvet”, bir yay gibi error ile orantılıdır.

Derivative- Türev Terimi

Türev terimi hız hatasını sıfıra çeker.

\[u(t) = K_p e(t) + K_d \frac{de}{dt}\]

burada \(K_p\) oransal kazançtır, \(K_d\) türevsel kazançtır ve \(e(t)\) şu andaki \(t\) zamanındaki hatadır.

Aşağıdaki şekil, bir PD kontrolörü tarafından kontrol edilen bir system için bir blok diyagramı göstermektedir.

Diagram with a PD controller

Bir PD denetleyicisinde konum için oransal bir denetleyici (\(K_p\)) ve hız için oransal denetleyici (\(K_d\)) bulunur. Hız ile ilgili setpoint , örtülü olarak pozisyon setpoint inin zaman içinde nasıl değiştiğiyle sağlanır. Bunu kanıtlamak için, bir PD kontrolörü için denklemi yeniden düzenleyeceğiz.

\[u_k = K_p e_k + K_d \frac{e_k - e_{k-1}}{dt}\]

burada math:u_k, timestep \(k\) da control input ve \(e_k\), timestep \(k\) ifade eder. \(e_k\), \(e_k = r_k - x_k\) olarak tanımlanmıştır; burada \(r_k\), setpoint`dir ve :math:`x_k, timestep \(k\).’da varolan state durumudur.

\[\begin{split}u_k &= K_p (r_k - x_k) + K_d \frac{(r_k - x_k) - (r_{k-1} - x_{k-1})}{dt} \\ u_k &= K_p (r_k - x_k) + K_d \frac{r_k - x_k - r_{k-1} + x_{k-1}}{dt} \\ u_k &= K_p (r_k - x_k) + K_d \frac{r_k - r_{k-1} - x_k + x_{k-1}}{dt} \\ u_k &= K_p (r_k - x_k) + K_d \frac{(r_k - r_{k-1}) - (x_k - x_{k-1})}{dt} \\ u_k &= K_p (r_k - x_k) + K_d \left(\frac{r_k - r_{k-1}}{dt} - \frac{x_k - x_{k-1}}{dt}\right)\end{split}\]

Nasıl olduğuna dikkat edin: \(\frac{r_k - r_{k-1}}{dt} , :term:\) in hızıdır. Aynı nedenden ötürü, \(\frac{x_k - x_{k-1}}{dt}\), systemin belirli bir zaman adımındaki hızıdır. Bu, PD kontrol cihazının \(K_d\) teriminin, tahmini hızı setpoint hızına sürdüğü anlamına gelir.

setpoint sabitse, örtük hız setpoint sıfırdır, dolayısıyla \(K_d\) terimi system i yavaşlatır. Bu, “yazılım tanımlı bir tampon” gibi davranır. Bunlar genellikle kapı kapatıcılarda görülür ve sönümleme kuvveti hız ile doğrusal olarak artar.

İntegral Terimi

Önemli

İntegral kazanç genellikle FRC ® için önerilmez kullanın. Düzeltmek için daha iyi yaklaşımlar vardır:term:steady-state error , ileri beslemeyi kullanmak veya integral kontrol, system ile ilgili diğer bilgileri kullanarak hareket ettiğinde kısıtlama gibi.

Integral terimi setpoint ve output grafikleri arasındaki alanı zaman içinde biriktirir (yani, pozisyon error ların integrali) ve mevcut toplamı control input a ekler. İki eğri arasındaki alanı biriktirmeye entegrasyon denir.

\[u(t) = K_p e(t) + K_i \int_0^t e(\tau) \,d\tau\]

burada \(K_p\) oransal kazanç, \(K_i\) integral kazançtır, \(e(t)\) geçerli zamandaki hatadır \(t\) ve \(\tau\) entegrasyon değişkenidir.

İntegral zaman \(0\) dan şimdiki zaman \(t\) ye kadar integral alır. Entegrasyon için \(\tau\) kullanırız çünkü integral boyunca birden fazla değeri alacak bir değişkene ihtiyacımız vardır, ancak şunu kullanamayız \(t\) çünkü bunu şimdiki zaman olarak tanımlamıştık.

Aşağıdaki şekil, bir PI kontrolörü tarafından kontrol edilen bir system için bir blok diyagramı gösterir.

Block diagram of a PI controller

system kararlı durumda setpoint i kapattığında, oransal terim output u :terim:`setpoint` na çekmek için çok küçük olabilir, ve türev terimi sıfırdır. Bu, şekil 2.4’te gösterildiği gibi steady-state error ile sonuçlanabilir.

PI controller with steady-state

steady-state error ı ortadan kaldırmanın yaygın bir yolu error ifadesini entegre etmek ve bunu control input ne eklemektir. Bu, system yakınlaşana kadar control effort artırır. Şekil 2.4, bir dönenteker için terim steady-state error örneğini gösterir ve şekil 2.5, dönenteker kontrol cihazına eklenen bir entegratörün bunu nasıl ortadan kaldırdığını gösterir. Bununla birlikte, çok yüksek bir integral kazanım, şekil 2.6’da gösterildiği gibi, aşmaya neden olabilir.

Figure 2.6 and 2.6 graphs

PID Denetleyici Tanımı

Not

WPILib tarafından sağlanan PIDController’ı kullanma hakkında bilgi için bkz ilgili makale.

Bu terimler birleştirildiğinde, bir PID denetleyicisinin tipik tanımını alır.

\[u(t) = K_p e(t) + K_i \int_0^t e(\tau) \,d\tau + K_d \frac{de}{dt}\]

burada \(K_p\) oransal kazançtır, \(K_i\) integral kazançtır, \(K_d\) türevsel kazançtır, \(e(t)\) şu andaki hatadır \(t\) ve \(\tau\) entegrasyon değişkenidir.

Aşağıdaki şekil, bir PID kontrolörü için bir blok diyagramı göstermektedir.

Block diagram of a PID controller

Yanıt Türleri

PID denetleyicisi tarafından çalıştırılan system genellikle üç tür yanıt içerir: yetersiz sönümlü, aşırı sönümlü ve kritik sönümlü. Bunlar şekil 2.8’de gösterilmektedir.

Resim 2.7 de step responses için; rise time, system`in :term:`step input`u uyguladıktan sonra referansa ulaşmaya başlaması için gereken zamandır. :term:`Settling time:term:`system`in :term:`step input`u uyguladıktan sonra :term:`reference`a oturmaya başlaması için gereken zamandır.

Yetersiz sönümlenmiş-underdamped bir yanıt, oturmadan önce reference etrafında salınır. Aşırı sönümlenmiş-overdamped bir yanıt

PID controller response types

yavaş yükselir ve reference yi aşmaz. Kritik olarak sönümlenen-critically damped bir yanıt, reference öğesini aşmadan en hızlı rise time a sahipdir.