Sistem Kontrol Dasar: Cara Merepresentasikan Sistem Dinamik

Pada postingan sistem kontrol dasar kali ini, saya ingin membagikan bagaimana cara merepresentasikan sebuah sistem dinamik. Dalam sistem kontrol dasar, sistem dinamik dapat di representasikan dengan beberapa cara antara lain:
  1. Transfer function (TF) atau Fungsi alih
    $$ G(s) = \frac{5}{3s^2 + 2s +10} $$
    Di Matlab, kita bisa menuliskannya dengan menggunakan kode berikut ini.
  2. State space (SS)
    $$ \frac{dx}{dt}=Ax(t)+bu(t) $$
    $$ y(t)=Cx(t)+Du(t) $$
    dimana:
    \(\color{Orange}x\in \mathbb{R}^{n_x}\): state vector dengan dimensi \(n_x\).
    \(\color{Orange}u\in \mathbb{R}^{n_u}\): input vector dengan dimensi \(n_u\).
    \(\color{Orange}y\in \mathbb{R}^{n_y}\): output vector dengan dimensi \(n_y\).
    \(\color{Orange}A\in \mathbb{R}^{{n_x}\times{n_x}}\) : state transition matrik dengan dimensi \({{n_x}\times{n_x}}\).
    \(\color{Orange}B\in \mathbb{R}^{{n_x}\times{n_u}}\): konstan matrik dengan dimensi \({{n_x}\times{n_u}}\).
    \(\color{Orange}C\in \mathbb{R}^{{n_y}\times{n_x}}\): konstan matrik dengan dimensi \({{n_y}\times{n_x}}\).
    \(\color{Orange}D\in \mathbb{R}^{{n_y}\times{n_u}}\): konstan matrik dengan dimensi \({{n_y}\times{n_u}}\).

    Di Matlab, kita bisa menuliskannya dengan menggunakan kode berikut ini.
  3. Zero-pole-gain (ZPK)
    $$ G(s)=1.5 \frac{(s+3)(s+4)}{(s+0.1)(s+0.3)} $$
    Di Matlab, kita bisa menuliskannya dengan menggunakan kode berikut ini.
  4. Respon data frekuensi
    Respon ini di dapatkan dari pengukuran sampel suatu respon frekuensi dari sebuah sistem. Misalnya, kita dapat menyimpan data respon frekuensi yang kita kumpulkan secara eksperimental dari suatu sistem. Untuk respon data frekuensi, kita akan bahas di lain kesempatan.
Setelah kita mengetahui bagaimana merepresentasikan sistem dinamik, sekarang kita akan belajar bagaimana mengimplementasikannya ke dalam Matlab. Kita ambil contoh motor DC seperti yang di tampilkan di bawah ini.
Gambar 1. Motor DC
Gambar 1. Motor DC ( Sumber: Matlab)
                       

Sistem dinamik: Motor DC.
Input sistem: Tegangan, \(V_a\).
Output sistem: Angular velocity, \(\omega (t)\).
Dari Gambar 1, kita bisa mendapatkan state space dari motor DC sebagai berikut:
\(x=\left [ \begin{matrix} i \\ \omega \end{matrix} \right ]\); \(u=V_a\); \(y=\omega\); 
\(A=\left [ \begin{matrix} -\frac{R}{L} &  -\frac{K_b}{L}\\ \frac{K_m}{\tau } &  -\frac{K_f}{\tau }\\ \end{matrix} \right ]\); \(B=\left [ \begin{matrix} \frac{1}{L} \\ 0 \end{matrix} \right ]\); \(C=\left [ \begin{matrix} 0 &  1\\ \end{matrix} \right ]\); \(D=0\)
Catatan: Bagi kalian yang ingin tahu bagaimana cara mendapatkan bentuk state space dari motor DC, kalian bisa kasih komen di postingan ini. Nanti, saya akan postingan bagaimana cara mendapatkan bentuk state space dari motor DC.

Pada Matlab, kalian bisa copy kode di bawah ini.
Ketika kalian run, maka hasilnya akan seperti gambar di bawah ini.
Dari gambar diatas, kita bisa lihat bahwa model yang direpresentasikan oleh State Space, fungsi alih, dan Zero-Pole-Gain mempunyai respon yang sama ketika di beri masukan Step.


Komentar

Posting Komentar

Yang lagi trending

Sistem Kontrol Dasar: Apa itu Zero-Pole-Gain??

Apa itu access specifiers pada bahasa C++?