Membuat Fungsi Alih Motor Listrik

Perkenalan saya dengan Matlab pertama kali adalah lewat bidang sistem kontrol/kendali. Waktu itu saya diminta dosen pembimbing untuk mensimulasikan sistem suspensi ketika ada beberapa respon masukan (impulse, step, dan sinusoidal) mengenainya. Kembali saya membuka buku catatan mata kuliah getaran dan teknik pengaturan. Untuk mensimulasikan sesuatu kita harus mampu membuat model matematis dari sistem yang akan kita simulasikan. Model matematis itu kemudian disimulasikan di Matlab untuk melihat respon dan kinerja dari model tersebut. Asalkan sudah dalam bentuk model matematis, Matlab mampu mensimulasikan tanpa memandang domain ilmu dari model tersebut, apakah kimia, elektro, ekonomi, biologi, dan lain-lain. Misalnya kasus motor listrik (atau bisa juga generator).

Gambar di atas adalah motor DC yang saya ambil dari situs kampus UPI ini semoga masih ada. Fungsi alih sendiri (dalam istilah Inggris transfer function) dari arti katanya fungsi yang mengalihkan dari satu masukan ke keluaran tertentu. Jika masukannya tegangan dan keluarannya tegangan yang lebih besar, bisasanya disebut penguat, tetapi ada juga masukannya putaran, misal potensiometer, keluarannya arus/tegangan dan sering diistilahkan dengan transducer. Ada juga istilah lainnya yakni sensor, yang merubah masukan tertentu seperti suhu, level ketinggian air, dan lain-lain menjadi tegangan atau arus yang masuk ke dalam perangkat elektronika.

Untuk kasus motor DC di atas jika dilihat, masukannya adalah tegangan dari baterai arus searah dan keluaranya adalah puntiran di motor em. Variabel s adalah variabel Laplace. Apa itu? Yah .. mau nggak mau belajar dulu dasar-dasar sistem kontrol. Karena nanti setelah ada variabel laplace ada lagi variabel z kalau sudah masuk ke sistem digital yang melibatkan metode cuplik/sampling. Untuk orang elektro tidak ada masalah dengan besaran-besaran di atas beserta satuannya yang pasti. Situs dari malang ini lebih lengkap dengan besaran dan satuan juga teknik simulasinya.

Jika J= 10, D=5, km=2, dan Rα=0.5 maka diperoleh fungsi alih sebesar, pembilang=2/(0.5*5)=0.8 dan penyebut=s(s*(10/5)+1)=s(2s+1). Buka Matlab dan masuk ke command window. Masukan instruksi ini:

Lalu muncul plot setelah instruksi masukan impulse diterima fungsi alih, demikian pula setelah masukan tangga (step) diberikan.

Ntah bener atau salah, mohon koreksinya. Tapi setahu saya, motor DC itu harus diberi beban karena tanpa beban dia akan bertambah kencang bahkan bisa merusak motor itu sendiri.

Konversi Scope ke Figure-2

Sambungan dari postingan dua tahun yang lalu (https://rahmadya.com/2012/04/12/konversi-scope-ke-figure-pada-matlab/). Berikut ini akan saya coba merubah scope yang tampilannya tidak bagus untuk dicetak menjadi figure yang lebih nyaman, terutama dari sisi penggunaan tinta printer. Maklum background scope yang hitam membuat tinta printer cepat habis. Selain itu figure sangat mudah untuk dimanipulasi seperti menambahkan garis panah yang menjelaskan suatu lengkung kurva, dan sebagainya.

Gambar di atas adalah salah satu contoh yang akan kita buat figure-nya. Jika dijalankan dan menekan dobel scope bernama Grafik2 (panah ungu) Anda akan melihat grafik berikut ini (contoh kasus perbandingan beberapa model lewat mekanisme multiplexing):

Tampak grafik yang mirip tampilan alat ukur listrik. Sebenarnya ketika kita menjalankan model, Matlab dapat merekam hasilnya jika kita melakukan inisiasi pada scope. Pada gambar di atas coba Anda klik icon parameters. Tekan tab “Data history“.

Centang “Save data to workspace” agar setiap model di-running akan menyimpan hasilnya dari variabel “keluaran“, dengan format “Array“. Jika Anda tidak percaya, setelah di running, Lihat Matlab, Anda akan menemukan satu variabel baru yang muncul di workspace (jendela ini secara default terletak di pojok kanan, kalo belum diutak-atik).

Sebenarnya tugas sudah selesai, karena Matlab sudah menyediakan matrix keluaran yang berisi data yang merepresentasikan grafik pada scope. Coba saja anda ketik pada command window> keluaran.

Tampak enam kolom yang merepresentasikan garis pada scope. Yang mana saja? Tentu saja yang membuat model yang tahu. Perbandingan dari gabungan beberapa kontroler memang sulit membedakan, tapi jika kita sudah tahu jenis keluaran di satu kontroler, untuk perbandingan pasti tahu dong. Tapi kalau dilihat sepintas, kolom pertama itu time (waktu), kolom kedua itu pasti yang berwarna kuning (karena konstant 25). Coba kita buat grafik antara kolom satu dengan kolom dua terlebih dahulu:

>plot(keluaran(:,1),keluaran(:,2))

Apaan tuh? Jangan bingung. Jika kita akan membuat plot sumbu horizontal, x, dengan sumbu vertikal, y, maka formatnya adalah plot(x,y). Tapi di sini sumbu horizontal-nya keluaran(:,1), maksudnya adalah seluruh baris kolom ke-1. Begitu juga keluaran(:,2) artinya seluruh baris kolom kedua. Hasilnya adalah sebagai berikut.

Lanjutkan dengan membuat plot dari kolom kesatu dengan ketiga, keempat, dan seterusnya hingga keenam. Eiit.. jangan lupa mengetik hold, agar gambar sebelumnya tidak terhapus.

>hold

>plot(keluaran(:,1),keluaran(:,3)

>plot(keluaran(:,1),keluaran(:,4)

Terus hingga muncul hasil sebagai berikut. (Note: Tidak perlu diketik semua, cukup tekan panah atas di keyboard dan edit angka terakhirnya).

Kok ada tulisannya .. Ah itu gampang, tinggal insert – Text Arrows aja dan arahkan ke kurva yang akan anda rinci, termasuk x-label dan y-labelnya.

Mensimulasikan Sistem Sederhana dengan Simulink

Tugas Pengaturan

Buat diagram blok dengan simulink, dimana fungsi alih terbuka-nya adalah

NPM adalah dua digit nomor NPM terakhir Anda. Misal dua NPM terakhir anda 11, maka:

Jalankan dan kirimkan grafik keluarannya untuk sistem tertutup satuan.

ke: rahmadya_trias@yahoo.com untuk nilai tugas. Hitung berapa ERROR, overshoot, dan Settling Time-nya.

Membandingkan Respon Sistem

Pengenalan Pengaturan/30.04.2013/Teknik komputer

Terkadang dibutuhkan grafik yang membandingkan beberapa jenis sistem kendali dalam satu SCOPE. Untuk itu diperlukan Multiplexer (MUX) yang memadukan dua atau lebih keluaran dalam satu SCOPE. Untuk latihan buat contoh Sistem Kendali sebagai berikut.


Multiplexer diperoleh dengan mudah lewat SEARCH di Simulink Library Browser.


Secara Default, MUX menyediakan dua masukan. Ganti “Number of Input” dengan tiga karena kita akan merancang tiga masukan.


Jalankan Model Simulink yang baru saja dibuat. Ketika SCOPE dilihat (dengan cara dobel klik) akan tampak respon perbandingan seperti berikut ini.


Terkadang kita diminta menampilkan grafik bukan dalam bentuk SCOPE karena kurang nyaman dicetak akibat background yang berwarna gelap. Oleh karena itu kita harus menampilkannya dalam format PLOT yang dapat diedit. Untuk itu pada gambar di atas, tekan Parameters. Pada Tab Data History, check list tombol Save Data to Workspace, dengan format Array. Maksudnya adalah ketika Simulasi berjalan, SCOPE akan menyimpan informasi grafik Workspace. Nama variabel (ScopeData) dapat kita ganti sesuai keinginan.


Berikutnya kita akan membuat PLOT lewat Command Window. Sebelumnya tekan tombol OK terlebih dahulu pada gambar di atas. Jalankan SIMULASI kemudian masuk ke Command Window. Perhatikan, pada Workspace terdapat variabel baru hasil tangkapan SCOPE dengan nama ScopeData. Buat kode berikut ini:

  • plot(ScopeData(:,1),ScopeData(:,2))
  • hold
    • Current plot held
  • plot(ScopeData(:,1),ScopeData(:,3))
  • plot(ScopeData(:,1),ScopeData(:,4))
  • grid

Perintah hold bermaksud agar gambar yang lalu tidak dihapus dan tetap dipertahankan ada di figure. Instruksi GRID agar dihasilkan garis bantu pada grafik.

Merubah Sinyal Analog ke Digital pada SIMULINK Matlab

Sekarang kebanyakan perangkat elektronika sudah berbau digital. Termasuk juga sistem kendali. Salah satu komponen terpenting adalah konverter dari analog ke digital dan sebaliknya dari digital ke analog. Untuk materi UAS, kita akan mulai membahas Sistem Kendali Digital dengan seluk beluknya yang rumit jika dianalisa tanpa bantuan komputer. Banyak yang bertanya, block function apa yang berfungsi merubah sinyal analog menjadi digital. Jawabannya sederhana, fungsi Zero Order Hold (ZOH). Buka SIMULINK dan buat diagram sebagai berikut.

Gambar di atas ZOH berisi rangkaian cuplik dan sampling terhadap sinyal sinus analog yang akan dirubah menjadi digital. Running sistem di atas, Anda akan melihat hasil perbandingannya antara sinyal asli analog (warna merah muda) dengan yang digitalnya (kuning). Perhatikan bagaimana prinsip ZOH melakukan sampling di awal (bukan di tengah).

Untuk lengkapnya baca buku yang membahas Digital Control System. Oiya, gunakan MUX untuk menggabungkan dua keluaran menjadi satu SCOPE. Kalo sulit mencarinya, gunakan SEARCH pada SIMULINK Library.

Konversi Variabel z menjadi z^-1 Pada Sistem Kendali Digital dengan Matlab

Peng. Pengaturan II. 17.12.2012. Teknik Komputer

Ketika kita berbicara sistem kendali digital, beberapa pakar digital yang biasanya berkecimpung dalam bidang Digital Signal Processing (DSP) cenderung menulis fungsi transfer:

                                        (1)

Dengan persamaan:

                                    (2)

Perhatikan pula, notasi g yang sering digunakan pada sistem kendali kontinue diganti dengan h. Buka Matlab dan buat persamaan (1) dengan kode:

Perhatikan, matlab akan otomatis merubah ke variabel diskrit z karena adanya time sampling sebesar 0.1 di akhir kode. Untuk membentuk menjadi persamaan standar (2), gunakan kode berikut:

Dengan menambahkan ‘variable’,’z^-1′ di akhir kode. Namun ada sedikit permasalahan untuk kasus fungsi alih sederhana, misalnya h=1/(z+1) karena jika digunakan kode berikut untuk mendapatkan fungsi dengan variabel standar z^-1 diperoleh:

Padahal, prinsip dasarnya adalah mengalikan pembilang dan penyebut dengan pangkat z terbesar yaitu z. Seharusnya pembilangnya berharga 1/z atau z^-1, bukan 1. Oleh karena itu kita harus memodifikasi sedikit persamaan di atas menjadi:

Dengan menambah 0 dibagian pembilangnya agar diperolah hasil yang tepat. Penambahan 0 ini juga tidak berpengaruh terhadap fungsi asalnya. Di sini versi yang digunakan adalah Matlab 2008, mungkin berbeda untuk Matlab 2012.

Tugas I Pengaturan II

Pengenalan Pengaturan II, 3.12.2012, Lab of Hardware

Berikut ini tugas kelompok yang harus dikerjakan hari ini. Tugasnya adalah merancang model di simulink, dan cari nilai P,I, dan D pada kontroler PID agar dipenuhi syarat:

  • Error < 0.05
  • % Overshoot < 10%
  • Settling Time < 5 detik

Kelompok I

Kelompok II

Kelompok III

Kelompok IV

Kirim ke: rahmadya.trias@gmail.com dengan melampirkan file .mdl dan capture SCOPE.

Merancang PID sistem Diskrit

Proporsional Integrator dan Diferensiator (PID) merupakan kontroler yang fungsinya memperbaiki kinerja sistem kendali. Baik buruknya sistem kendali, tergantung dari spesifikasi yang dituntut oleh sistem tersebut. Sistem yang cepat, belum tentu baik jika melebihi batas kesalahan yang ada. Sebagai contoh berikut ini sistem dengan fungsi alih digital, h=0.09516/(z-0.9048) memiliki error 0.5. Gunakan PID untuk memperbaiki kinerja sistem dengan syarat: 1) error < 0.1, 2)persentase overshott < 10%, dan respon time < 5 detik. Gunakan simulink MATLAB:

Atur nilai P, I, D dan konstanta waktu D agar diperoleh hasil spesifikasi di atas. Jika diambil besar P, I, D, t berturut-turut 1.5, 3, 1.2 dan 2, diperoleh hasil sebagi berikut:

Karena overshootnya 20 %, maka sistem tidak memenuhi syarat. Misal kita setting kembali P,I,D dan t berturut-turut 1, 2.5, 3, dan 2 diperoleh hasil sebagai berikut:

Sistem memiliki respon sekitar 7 detik, dan karena permintaan harus di bawah 5 detik, walaupun error dan % overshoot memenuhi syarat, tetap tidak bisa diaplikasikan. Berikutnya coba dengan P, I, D dan t berturut-turut

Sistem memiliki respon 5 detik (sesuai syarat) dan overshoot (1.1-1)*100 = 10 % sehingga sedikit memenuhi syarat. Coba ramu lagi PID agar diperoleh hasil optimal.

Perbandingan Sistem Kendali Kontinyu dan Digital

Buka Simulink untuk memandingkan grafik keluaran antara sistem kendali kontinyu dan dijital. Untuk membandingkan kita gunakan fungsi alih yang sama.

Pilih ‘Continuous‘ dan ‘Diskrit‘ untuk membuat fungsi alihnya.

Untuk mendapatkan ‘Mux‘ gunakan ‘searching” pada simulink. Untuk mencari fungsi alih diskritnya, gunakan command window pada Matlab dan fungsi ‘c2d‘ untuk memperoleh ‘Discrete Transfer Fcn‘.

  • >> g=tf(1,[1 4 8])
  • Transfer function:
  • 1
  • ————-
  • s^2 + 4 s + 8
  • >> h=c2d(g,0.1,’zoh’)
  • Transfer function:
  • 0.004367 z + 0.003821
  • ———————-
  • z^2 – 1.605 z + 0.6703
  • Sampling time: 0.1

Hasilnya dapat dilihat pada Scope:

Ada sedikit perbedaan pada respon, tetapi akurasinya tetap sama (Lihat Display: 0.89). Ketertinggalan diakibatkan oleh ‘Time Sampling‘ yang kecil. Waktu cuplik yang terlalu akurat mengakibatkan beban saat konversi dari D/A dan A/D. Coba naikan waktu cuplik jadi satu detik, hasilnya:

Hasilnya lebih akurat tetapi akibatnya grafik kurang presisi.

Praktek Sistem Kendali Digital dengan Matlab

Lab Hardware UNISMA, Tek Komputer, 10 Oktober 2012.

Berbeda dengan pengenalan pengaturan I semester yang lalu, pengenalan pengaturan II membahas sistem diskrit dimana sistem kendali yang digunakan berbasis komputer/dijital. Keberadaan sistem yang dijital kian hari kian bertambah, apalagi sistem dijital lebih mudah dikontrol dibanding sistem kontinyu. Peralatan yang dahulu mahal, saat ini menjadi lebih murah karena perkembangan teknologi perangkat keras yang cepat.

Untuk praktek seperti biasa kita menggunakan bahasa pemrograman matlab untuk melihat respon sistem yang kita rancang atau analisa. Perbedaan mencolok antara sistem kontinyu dengan sistem dijital adalah pada penerapan teorema cuplik dan sampling. Teorema ini mutlak ada karena sistim dijital berkarakteristik diskrit. Secara matematis akibat dari diskritisasi adalah berubahnya linearitas variabel laplace. Oleh karena itu untuk melinearkannya (adanya variabel exponen) diperlukan transformasi –z.

Berikut ini contoh kasus dimana kita akan membuat sistem dijital dari sistem analog dengan fungsi alih: G=tf(1,[1 2 5]). Buat code di command window untuk melihat responnya terhadap masukan tangga satuan.

Jika dilihat pada jendela grafik akan tampak sistem yang tadinya continyu menjadi seperti tangga karena adanya sampling time sebesar 0.1 detik. Metode sampling ada banyak (lihat diktat), tetapi kebanyakan yang diterapkan adalah Zero Order Hold (ZOH) seperti ditunjukkan pada kode di atas. Grafik dapat dilihat pada gambar di bawah ini.

Berikutnya kita berlatih menggunakan simulink yang lebih mudah dan lebih jelas dilihat karena menggunakan diagram blok. Untuk masuk, klik simbol simulink pada Matlab anda . Buat diagram di bawah ini, caranya seperti pada kuliah pengenalan pengaturan yang lalu, hanya saja di sini kita tidak menggunakan Continuous melainkan descrete. Pilih Descrete Transfer Function.

Descrete transfer function yang dimasukkan pada isian parameter diambil dari hasil konversi dari kontinyu ke diskrit pada command window sebelumnya. Hasilnya kita coba lihat bentuk sistem tertutup dari sistem sebelumnya yang terbuka, hasilnya dapat dilihat dengan mengklik ganda scope setelah menekan tombol running .

Membuat KLF di Simulink Matlab

Di antara berbagai jenis kontroler, Kontroler Logika Fuzzy (KLF) merupakan jenis kontroler terbaru dan memiliki kelebihan dari sisi kepraktisan dibanding dengan Proporsional Integral dan Differensial (PID) yang telah lama digunakan. Untuk mempraktekan KLF, buka Matlab.

  1. Arahkan “Current Directory” ke folder Anda.

  2. Kita akan mencoba membuat KLF paling sederhana, hanya dengan satu masukan, misalnya SUHU. Ketik “fuzzy” di command window.

  3. Secara default, Matlab memberikan satu masukan dengan satu keluaran, dan jenis fuzzy “Mamdani”. Baca teori fuzzy untuk mengetahui jenis-jenis fuzzy. Ganti nama input1 menjadi “error” dan output1 menjadi “respon”.
  4. Berikutnya adalah menyeting “Fungsi Keanggotaan (Membersip Function)“. Dobel klik pada masukan (error). Untuk sistem pemanas, kita akan membagi hanya menjadi dua MF, yaitu error yang rendah dan yang tinggi dengan range (jangkauan) antara -10 hingga 90 derajat. Maksudnya, jika error 90 derajat, berarti selisih antara masukan dengan keluaran sebear 90 derajat. Sedangkan -10 terjadi ketika keluaran lebih besar dari masukan. Tetapi kita masukan saja jangkauannya antara -90 dan 90 derajat.

  5. Berikutnya kita merancang keluaran (respon), dengan menekan respon. Sama dengan error, respon misalnya hanya ada dua MF, yaitu hidup dan mati dengan range antara 0 sampai satu.

     

  6. Setelah mengeset masukan dan keluaran, langkah terpenting adalah membuat rule (aturan) dengan if – then. Jika suhu keluaran dingin maka pemanas dihidupkan. Dingin berarti errornya tinggi, maka buat rule: jika error tinggi then respon hidup. Sebaliknya jika suhu keluaran melebihi set point (panas) maka pemanas dimatikan, rule-nya: jika error rendah then respon mati.

  7. Langkah berikutnya adalah menyimpan FUZZY dengan cara klik File – Export – to File. Beri nama, misalnya “pemanas”. Jika Anda lihat di folder kerja, akan tampak satu file fuzzy dengan nama “pemanas.fis”.
  8. Untuk mengujinya buka jendela model, klik (simulink), gambar bentuk di bawah ini, jika tidak bisa menemukan Fuzzy Logic Controller (FLC) ketik “fuzzy” di searching. Dobel klik pada “Fuzzy” di simulink, isi parameter dengan ‘pemanas.fis’ (gunakan petik satu).

     

  9. Jalankan dengan menekan tombol RUN. Lihat hasilnya dengan merubah-rubah nilai masukan. Hasilnya tampak pada Display.

  10. NOTE: untuk Matlab versi 7.0 ternyata ada masalah di Deffuzifikasi, oleh karena itu ganti metode defuzzifikasinya dari centroid menjadi “bisector”. Selamat Mencoba !

Kriteria Kestabilan Nyquist

Pertemuan kali ini membahas kriteria kestabilan Nyquist.

Tiga kemungkinan kestabilan sistem berdasarkan diagram nyquist, antara lain:

  1. Tidak ada pengelilingan di titik -1+j0. Sistem stabil jika tidak ada pole yang terletak di sebelah kanan sumbu J.
  2. Ada satu atau lebih pengelilingan titik -1+j0 berlawanan arah jarum jam. Sistem stabil jika jumlah pengelilingan titik itu sama dengan jumlah pole yang di sebelah kanan j.
  3. Ada satu atau lebih pengelilingan titik -1+j0 searah jarum jam. Sistem tersebut tidak stabil

Contoh:

Tentukan fungsi di bawah ini, stabil atau tidak, dengan diagram nyquist, jelaskan.

Transfer function:

2

————-

s^2 + 3 s + 5

Buka matlab, buat fungsi alih: g=tf(2,[1 3 5]). Jalankan >>nyquist(g), maka akan muncul grafik berikut ini:

    

Diagram di atas masuk kategori (1), tidak ada pengelilingan di titik -1+j0. Stabil jika tidak ada pole di sebelah kanan J. Untuk mengetahui pole sistem tersebut ketik >> pole(g).

ans =

-1.5000 + 1.6583i

-1.5000 – 1.6583i

Seluruh Pole terletak di sebelah kiri J (lihat -1,5, negatif, berarti di sebelah kiri j pada bidang S).

Latihan:

Tentukan kestabilan sistem di bawah ini dengan diagram Nyquist.

>> g=tf(1,[1 2 3 15])

 

Transfer function:

1

———————-

s^3 + 2 s^2 + 3 s + 15

Diagram Nyquist-nya >>nyquist(g)

Karena tidak ada pengelilingan di titik -1+j0, maka masuk kategori (1). Tinggal mencari pole-nya apakah ada yang di sebelah kanan?

>> pole(g)

ans =

-2.8212

0.4106 + 2.2690i

0.4106 – 2.2690i

Ternyata ada dua pole di sebelah kanan j (positif), maka sistem tidak stabil. Coba buktikan untuk masukan step.

>> gclose=g/(1+g)

Transfer function:

s^3 + 2 s^2 + 3 s + 15

—————————————————

s^6 + 4 s^5 + 10 s^4 + 43 s^3 + 71 s^2 + 93 s + 240

>> step(gclose)

Tampak gambar di atas membesar terus tak hingga yang menandakan sistem tidak stabil.

Kesimpulan:

Untuk menjawab pertanyaan, lakukan langkah berikut:

  1. Buat fungsi alih, g
  2. Buat diagram nyquist, nyquist(g)
  3. Lihat apakah mengelilingi titik -1+j0?
  4. Lihat polenya, pole(g). hitung jumlahnya yang di sebelah kanan.

Konversi Scope ke Figure pada Matlab

Bagi rekan-rekan penggemar simulink Matlab pasti mengalami kesulitan saat melaporkan hasil simulasi lewat Scope yang kurang baik dari sisi tampilan. Jika langsung dicetak, maka akan menghabiskan banyak tinta karena grafiknya putih di atas hitam. Dulu saya sering menggunakan cara melalui invert color, tetapi tentu saja hasilnya kurang bagus. Apalagi sumbu axis dan ordinat serta judul grafik tidak bisa ditambah. Nah, setelah lama melanglang buana di simulink, akhirnya saya memperoleh cara untuk memindahkan hasil Scope ke figure. Pertimbangannya adalah figure lebih baik dan dapat diberi indikator axis, ordinat dan judul grafiknya. Sebagai bahan contoh, perhatikan model di bawah ini. Sebelum dirunning, dobel klik Scope untuk memindahkan hasil running ke workspace Matlab.

Setelah dobel klik pada scope, Anda akan melihat settingan yang harus diisi. Untuk memindahkan hasil scope ke workspace dobel klik icon Parameter dan pilih tab “data history”. Centang “save data to workspace” sehingga dapat mengisi nama variabel dan format datanya. Beri nama variabel misalnya “output” dan formatnya “array”. Awas, nama variabel pada Matlab “Case sensitive”.

Setelah itu running model yang telah Anda buat. Perhatikan, sepertinya tidak ada yang terjadi pada workspace. Ternyata saat Anda beralih ke Command Window, maka workspace menyimpan hasil running ke dalam suatu variabel bernama output. Coba ketik “who” di command window. Jika muncul variabel “output” maka settingan Anda berhasil, sebaliknya, jika tidak muncul, ulangi langkah di atas. Jangan lupa di klik “OK”.

Perhatikan scope di atas, tampak background hitam kurang nyaman jika dicetak. Beralihlah ke command window, variabel output berisi matriks sumbu axis dan ordinat. Untuk menampilkan grafiknya ketik instruksi-instruksi di bawah ini.

Saat Plot(x,y) diketik, Matlab akan menampilkan figure berupa grafik respon yang lebih baik dari Scope dari sisi tampilannya. Grid, xlabel, ylabel dan title bermaksud menambah informasi tambahan di Figure. Selamat Mencoba !!

Cao ..

Konversi dari Ruang Keadaan menjadi Fungsi Alih dan Sebaliknya

Untuk sistem yang Multi Input Multi Output (MIMO) biasanya sistem menggunakan persamaan dalam ruang keadaan (State Space Equation). MIMO menggunakan bentuk matriks yang sedikit rumit. Untuk mempercepat konversi di sini kita memerlukan bantuak komputer dengan perangkat lunak Matlab.

A. Konversi dari Fungsi Alih ke Ruang Keadaan

Di sini misalnya kita memiliki fungsi alih g=(100/(s2 + 2s + 10)). Untuk melakukan konversi ke persamaan Ruang keadaan gunakan instruksi pada command window Matlab:

Perhatikan teknik memasukkan instruksi di atas. Tiap fungsi alih menghasilkan empat matriks A, B, C dan D.

B. Konversi dari Ruang Keadaan Menjadi Fungsi Alih

Sebaliknya, Matlab juga menyediakan teknik mengkonversi Ruang Keadaan menjadi fungsi alih.

Maka dihasilkan fungsi alih dengan pembilang 100 dan penyebut s2 +2s + 10, sama dengan contoh fungsi alih di bagian A di awal tulisan.

C. Membuat Persamaan Ruang Keadaan dengan Simulink

Buka simulink, lalu gambar diagram blok berikut ini menggunakan blok persamaan ruang keadaan (perhatikan simbolnya).

Dobel klik State-Space. Isi dengan isian di bawah ini:

Klik Simulation > Starrt. Akan dihasilkan pada scope respon dari sistem tersebut. Jika dijalankan maka dihasilkan grafik di bawah ini (dengan mendobel klik scope).

Sebagai perbandingan, coba gambar di lembar yang sama untuk dua sistem kendali dengan dua format berbeda, yang satu ruang keadaan satunya lagi fungsi alih. Hasilnya adalah grafik yang sama, karena memang sesungguhnya dua sistem itu sama.

Selamat mencoba …

 

Rahmadya Trias H., ST, MKom.

Merancang Kontroler PID

Karena merubah Plant sangat tidak layak, maka perancang Sistem Kendali biasanya menambahkan suatu kontroler untuk memperbaiki kinerja system. Kontroler ada tiga bagian, yaitu: Proporsional, Integrator dan Diferensiator. Buka Matlab, masuk ke simulink, klik New.

Rancanga sistem kendali lingkar tertutup, dengan G(s)=1/(s+4). Jika tanpa kontroler menghasilkan output sebagai berikut. Klik Simulation > Start. Dobel klik pada Scope, dan klik pada gambar

Tampak bahwa ada error sebesar 0,8. Perhatikan display. Oleh karena itu kita diminta menambah kontroler guna mengurangi kesalahan tunak itu. Sedangkan kecepatan (Respon Time) dua detik. Coba tambahkan kontroler proporsional. Coba tambahkan proporsional Gain 10 x.

Tampak ada perbaikan kesalahan tunak dari 0,8 menjadi 0,29. Sedangkan kecepatan membaik (dari 2 detik menjadi 1,2 detik.

Berikutnya kita coba Integrator, misalnya tambahkan integrator 1/s sebagai kontroler. Tampak adanya perbaikan yang sempurna dari kesalahan tunak (mendekati nol).

Hanya saja ada masalah pada kecepatan system. Perhatikan gambar outputnya, walaupun kesalahan membaik tetapi kecepatannya turun drastis, dari 2 detik menjadi hamper 10 detik. Untuk system tertentu sangat tidak menguntungkan (biasanya system servo membutuhkan kecepatan system).

Tetapi jika digabung, proporsional + integrator, maka ada perbaikan dari kecepatan dari 10 detik menjadi hampir 3 detik dan kesalahan membaik (mendekati nol).

Hanya saja muncul gejala baru yang dikenal dengan istilah “Overshoot”, sebesar 10%.

Terkadang Overshoot bisa berbahaya jika terlampau tinggi. Misal listrik, jika terlalu sering overshoot, akan merusak komponen. Berikutnya gabungan antara Proporsional (P), Integrator (I) dengan Diferensiator (D), atau dikenal dengan istilah PID.

Pada prinsipnya diferensiator bermanfaat untuk mempercepat system, tetapi dampaknya ada riak (derau) pada system. Mungkin sangat mengganggu untuk system tertentu. Pada Matlab, PID dapat kita rancang dengan toolbox PID. Pada simulink, search “PID” makan akan diperoleh toolbox tersebut.

Letakan pada posisi kontroler, atur ukuran P, I dan D sesuai dengan kebutuhan system yang optimal. Selamat mencoba.

Â