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.

Iklan

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.

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.