Rabu, 02 Desember 2015

Identifikasi Sistem RLC dengan Sinyal PRBS dan Arduino


        1.         Tujuan
        Setelah melakukan praktikum ini mahasiswa diharapkan mampu:
    Ø  Mengeluarkan sinyal prbs dari Arduino dan memberikan sinyal prbs pada rangkaian RLC.
     Ø  Menguji metode ARX, ARMA, OE dan BJ didalam matlab.
     Ø  Mencari transfer fungsi dari kombinasi RLC yang dibuat secara teori.
     Ø  Membandingkan transfer fungsi RLC secara teori dan praktek.
2.  Dasar Teori

     Mendapatkan model matematis dari sebuah sistem fisik dapat dilakukan dengan 2 cara, yaitu melalui pendekatan analisis dan eksperimen. Untuk metode dengan pendekatan analisis, sistem nyata (rea systeml) diwakili oleh sebuah gabungan elemen-elemen pembentuk yang dianggap ideal. Cara untuk memperoleh model sistem tersebut adalah dengan menggunakan persamaan-persamaan dari hukum fisika (seperti: Kirchhoff, Newton,dll) dan komponenkomponen yang terpasang didalam sistem fisik (seperti: resistor, kapasitor, dll) [1]. Kelemahan dari metode ini terletak pada pengidealan komponen pembentuk yang tentunya akan mempengaruhi ketepatan model yang akan diperoleh, selain itu kompleksitas persamaan matematis dari hukum fisika yang harus diselesaikan, semakin rumit dan besar sistem maka tentu akan semakin banyak melibatkan persamaan matematis. Selain kelemahan-kelemahan tersebut biasanya ketidaktersediaan informasi mengenai komponenkomponen yang ada didalam sistem tersebut juga akan mempersulit dalam melakukan pemodelan. Oleh karena kelemahan-kelemahan tersebut, digunakanlah metode yang kedua yaitu dengan metode dengan pendekatan eksperimen.
Identifikasi sistem adalah suatu cara menentukan model matematis dari sistem dinamis dengan melakukan percobaan pengambilan data input dan output.
Gambar 1. Struktur dari metode identifikasi secara recursive

Untuk melaksanakan proses identifikasi sistem tersebut diperlukan langkah-langkah sebagai berikut:
Ø  Pengambilan data input-output
Ø  Menentukan struktur model
Ø  Estimasi parameter
Ø  Validasi model
      Langkah awal dalam melaksakan identifikasi sistem adalah pengambilan data input-output. Pengujian ini tentu memerlukan sinyal uji tertentu yang akan diberikan kepada sistem fisik yang akan diidentifikasi. Agar diperoleh model yang tepat maka dalam pemilihan sinyal uji ini tidak boleh sembarangan. Syarat pemilihannya adalah suatu sinyal uji harus memiliki cakupan frekuensi yang lebar dan standard yang digunakan adalah sinyal Pseudo Random Binary Sequences (PRBS). Pseudo Random Binary Sequence (PRBS) adalah sinyal kotak yang termodulasi pada lebarnya dan berlangsung secara sekuensial. Sinyal ini biasanya dibangkitkan menggunakan Linear Feedback Shift Register (LFSR). Pada LFSR memiliki 2 parameter dasar yang menentukan sifat sekuensial yang dihasilkan, yaitu: panjang dari shift register dan susunan umpan balik. PRBS memiliki variasi panjang sekuensialnya, tergantung dari panjangnya shift register.
Panjang dari shift register menentukan periode maksimum yang dapat dihasilkan dari sekuensial PRBS dan tidak berulang yang dapat dinyatakan dengan persamaan: 𝐿𝑃𝑅𝐵𝑆 = 2𝑛 − 1 ..................... (1) Dimana n adalah panjang dari register LFSR (jumlah bit). Panjang maksimum dari PRBS disebut Msequence. Sinyal proses pembangkit sinyal uji dilakukan melalui Arduino uno. Data yang ditampilkan diserial monitor Arduino akan diletakkan di Microsoft excel untuk dilihat hasil generate sinyalnya, apakah sudah berbentuk sinyal prbs atau belum. Jika sudah akan dilakukan identifikasi di matlab. Dalam pengujian kali ini akan dilakukan beberapa struktur model yaitu ARX, ARMAX, OE dan BJ.
Tujuan yang ingin dicapai dari penelitian ini adalah tercipta suatu perangkat pemodelan sistem yang dapat digunakan untuk mengidentifikasi sistem secara real time dan mudah dalam penggunaannya sehingga dapat digunakan lebih lanjut dalam perancangan sistem kontrol.
3.      Alat dan Bahan
Pada pratikum ini menggunakan alat dan bahan sebagai berikut:
Ø  Arduino Uno dan laptop
Ø  Project Board
Ø  Resistor 10 Kohm
Ø  Inductor 1 mH
Ø  Capasitor 22uf
Ø  Kabel jumper dan Multimeter
4.         Langkah Pratikum
1.      Cari atau buat rangkaian RLC yang akan dilakukan identifikasi sistem.
Gambar 2. Rangkaian RLC

2.      Buat atau cari program untuk menghasilkan sinyal prbs dari Arduino, dalam hal ini program sudah ada di google.

/* Pseudo-Random Bit Sequence Generator                     2009-11-25 */
/* Copyright (c) 2009 John Honniball, Dorkbot Bristol                  */
int speakerPin = 9;  //pin pwm untuk mengeluarkan sinyal prbs
float data; //data tegangan yang dihasilkan
int x=1;  //kondisi awal hitung
unsigned long int reg;

void setup ()
{
  Serial.begin (9600);  //set baud rate
  pinMode (speakerPin, OUTPUT); //dekralasi sebagai output
  // Arbitrary inital value; must not be zero
  reg = 0x55aa55aaL;
}

void loop ()
{
  for(x >= 1; x <= 1000; x += 1)
  {
  unsigned long int newr;
  unsigned char lobit;
  unsigned char b31, b29, b25, b24;
 
  // Extract four chosen bits from the 32-bit register
  b31 = (reg & (1L << 31)) >> 31;
  b29 = (reg & (1L << 29)) >> 29;
  b25 = (reg & (1L << 25)) >> 25;
  b24 = (reg & (1L << 24)) >> 24;
 
  // EXOR the four bits together
  lobit = b31 ^ b29 ^ b25 ^ b24;
 
  // Shift and incorporate new bit at bit position 0
  newr = (reg << 1) | lobit;
 
  // Replace register with new value
  reg = newr;
 
  // Drive speaker pin from bit 0 of 'reg'
  digitalWrite (speakerPin, reg & 1); // beri sinyal 0 dan 1
  data = analogRead (A0); // pin ke V.OUT
  Serial.print((reg & 1 )*5); // sinyal prbs yang dikeluarkan dikali tegangan arduino
  Serial.print(" ");
  Serial.println((data*5)/1023); // menampilkan tegangan yang diukur
  delayMicroseconds (10000); // delay setiap pengeluaran sinyal
  }
}

3.      Buat rangkaian RCL di project board, hubungan Vinput ke pin 9 selaku output prbs dan ground, kemudian hubungkan Voutput ke pin A0 dan ground.
Gambar 3. Wiring RLC ke Arduino
 
4.      Upload program dan lakukan pembacaan output di serial monitor Arduino.
Gambar 4. Upload program dan lakukan serial monitor

5.      Pindahkan 1000 data dari Arduino tersebut ke Microsoft Excel dan buat grafik sehingga terlihat bentuk grafiknya.
Gambar 5. Data dari arduino ditampilkan di microsoft excel

6.      Buka software matlab, lalu klik new workspace untuk menyimpan data input prbs sama data output tegangan RLC yang diukur.
Gambar 6. New workspace

7.      Ganti nama workspace sesuai keinginan anda dengan klik kanan mouse lalu rename. Dalam hal ini saya memakai nama “input” sebagai data sinyal prbs dan “output” sebagai data tegangan output yang diukur di RLC.
Gambar 7. Mengganti nama workspace

8.      Klik dua kali nama workspace yang telah direname. Copy data prbs dan data tegangan output RLC yang ada di microsoft excel kedalam workspace input dan output.
Gambar 8. Data prbs dan RLC di workspace

9.      Di comment window ketik ident lalu enter untuk menampilkan System identification tool.
Gambar 9. Ident di matlab

10.  Di kolom import data pilihlah time domain data.
Gambar 10. System identification tool

11.  Di time domain data masukkan nama workspace input dan output. Jangan lupa masukkan nilai Sampling Interval, karna di Program Arduino delay waktunya 0.01s maka di dalam matlab juga dimasukkan angka yang sama. Tekan import lalu close.
Gambar 11. Time domain data

12.  Di kolom estimate pilih polynomial models
Gambar 12. Polynomial models

13.  Didalam kolom polynomial and state space models coba pilih ARX atau ARMAX atau OE atau BJ. Klik order selection lalu estimate atau langsung klik estimate maka model output akan langsung keluar.
Gambar 13. Polynomial and state space models

14.  Didalam ARX model structure selection kita pilih sesuai keinginan, namun beberapa kali percobaan penulis menarik kesimpulan kalau miss fits paling kecil memiliki best fits yang paling tinggi.
Gambar 14. ARX model structure selection

15.  Dibawah ini adalah hasil beberapa model ouput.
Gambar 15. Model ouput ARX


Gambar 16. Model ouput ARMAX
Gambar 17. Model ouput OE
Gambar 18. Model ouput BJ
Gambar 19. Hasil trasient response

Gambar 20. Time plot ARX
Gambar 21. Tranfer fungsi ARX

5.      Langkah Teori
1.      Cari transfer fungsi dari gambar rangkaian RLC yang ada di langkah pratikum.
   
     
Masukkan angka sesuai komponen di dalam transfer fungsi 
Resistor = 10 Kohm, Inductor = 1mH dan Capasitor = 22uF

2.      Buka Simulink di matlab.
Gambar 22. Membuka simulink

3.      Klik file lalu new model.

Gambar 23. New model
4.      Cari icon library Simulink yang di butuhkan lalu letakkan di new model.
Gambar 24. Library simulink

5.      Hubungkan sinwave, transfer function dan scop. Lalu klik dua kali transfer fungsi da nisi sesuai transfer fungsi yang kita buat.
Gambar 25. Wiring transfer function

6.      Klik dua kali sinewave, ganti sample time menjadi 0.01. lakukan run lalu klik dua kali scope nya.
Gambar 26. Hasil scopenya
Gambar 27. Hasil scope diperbesar

KESIMPULAN
Kesimpulan dari keempat model tersebut adalah masing-masing model memiliki susunan order tertentu untuk mencapai Best Fits mendekati 100 persen. Tidak bisa ditentukan mana yang lebih handal dari ARX, ARMAX, BJ ataupun OE, karena semua tergantung plant yang kita miliki, tapi untuk plant RLC seri parallel yang saya pilih ini memiliki best fits paling besar adalah metode BJ yaitu 96,27%, sedangkan dengan metode lain yaitu ARX sebesar 96,22%, ARMAX sebesar 96,13% dan OE sebesar 96,22%.

Tidak ada komentar:

Posting Komentar