Rabu, 18 November 2009

BAB III
PERANCANGAN SISTEM

III.1 Perancangan Sistem Secara Umum
Pada pengendalian kecepatan motor DC dengan metode umpan balik, masukan dari sistem adalah kecepatan. Masukan ini kemudian dibandingkan dengan kecepatan motor DC yang sebenarnya. Selisih dari masukan dan kecepatan sebenarnya menghasilkan kesalahan (error). Kesalahan inilah yang akan dikompensasi oleh pengendali. Blok diagram sistem pengendali kecepatan motor DC ditunjukkan pada Gambar 3.1 berikut:





Gambar 3.1 Diagram kotak pengendali kecepatan motor DC

Untuk mengetahui kecepatan motor DC yang sebenarnya, perlu ditambahkan sensor kecepatan. Sensor ini dapat berupa rotary encoder yang menghasilkan pulsa-pulsa yang frekuensinya sebanding dengan kecepatan putar motor DC.
Dalam pengoperasiannya, motor listrik membutuhkan arus yang cukup besar. Sedangkan pengendali hanya dapat menyediakan arus yang tidak terlalu besar. Oleh karena itu dibutuhkan piranti penguat arus yang akan menguatkan sinyal keluaran pengendali. Jadi pengendali hanya menghasilkan variasi tegangan dengan arus kecil yang kemudian akan dikuatkan oleh penguat arus. Keluaran dari penguat arus inilah yang akan masuk untuk memutar motor DC. Pengendali akan mempertahankan kecepatan putar motor DC agar sesuai dengan masukan kecepatan yang diberikan.

III.2 Perancangan Perangkat Keras
Perancangan perangkat keras meliputi perancangan sistem motor DC, penguat arus, dan sensor kecepatan.

III.2.1 Sistem Motor DC
Sistem motor DC yang dipakai dalam tugas akhir ini terdiri dari motor DC dan generator DC yang dikopel pada poros-porosnya, sehingga kecepatan putar keduanya selalu sama. Generator dihubungkan dengan beban berupa lampu. Gambar 3.2 di bawah ini adalah konfigurasi sistem motor DC.






Gambar 3.2 Konfigurasi sistem motor DC
Motor dan generator yang digunakan mempunyai spesifikasi sebagai berikut:
Tegangan : 20 Volt DC
Kecepatan : 3000 RPM
Arus : 0,47 A
Daya : 3,8 Watt
Dengan motor dan generator dihubungkan pada setiap porosnya maka kecepatan putarnya akan sama. Jika motor berputar maka generator akan mengeluarkan tegangan. Dan ketika keluaran generator dihubungkan dengan beban maka akan mengalir arus ke beban.
Dalam perancangan dipilih beban dengan daya yang lebih kecil dari generator, tetapi masih mampu membebani ketika sistem berputar. Beban yang digunakan adalah sebuah lampu dengan daya 0,3 watt.
Pemasangan beban pada terminal keluaran generator ditunjukkan pada Gambar 3.3 di bawah ini:





Gambar 3.3 Pemasangan beban pada terminal keluaran generator.


III.2.2 Buffer Tegangan dan Penguat Arus
Keluaran tegangan PLC dari modul analog TSX AEZ 401 mampu menghasilkan arus maksimal 20 mA, sedangkan arus yang dibutuhkan motor dapat mencapai 1 A, sehingga diperlukan penguat arus yang akan menguatkan sinyal kendali dari PLC.
Dalam perancangan penguat arus ini digunakan dua buah transistor NPN seri 2N2222 dan PNP seri MJ2955 dengan konfigurasi sebagai berikut:

Gambar 3.4 Rangkaian buffer dan penguat arus

Dengan konfigurasi seperti di atas, maka:
(3.1)
Penggunaan rangkaian seperti diatas sudah mencukupi untuk sistem motor DC yang digunakan.
III.2.3 Sensor Kecepatan
Untuk mengetahui atau mengukur kecepatan putar motor digunakan sensor optik berupa sepasang pemancar dan penerima infra merah yang sering disebut optocoupler. Sensor optik ini membaca piringan berlubang yang dipasangkan dengan dikopel pada poros motor. Banyaknya lubang sangat mempengaruhi ketelitian pembacaan kecepatan. Lubang yang dibuat sebanyak 60 buah. Ini dikarenakan keterbatasan alat dan bahan, dan juga untuk memudahkan dalam pemrograman. Pemasangan sensor ditunjukkan pada gambar berikut:







Gambar 3.5 Pemasangan sensor kecepatan

Optocoupler terdiri atas led inframerah dan fototransistor. Led inframerah yang digunakan hanya mampu melewatkan arus maksimal sebesar 20 mA. Oleh karena itu perlu ditambahkan sebuah resistor sebagai pembatas arus. Besaran nilai resistor minimal ditentukan dengan menggunakan perhitungan sebagai berikut:
(3.2)
Dalam perancangan digunakan resistor dengan resistansi 330 Ω. Dengan nilai resistansi ini, arus yang masuk ke LED inframerah sebesar 15,15 mA. Pada bagian fototransistor, kaki kolektor diberikan resistor pull-up 10 kOhm dan dihubungkan ke kaki schmit trigger inverter yang dibangun dengan IC 74LS14 untuk memperbaiki pulsa yang dihasilkan oleh optocoupler.
Sebagai indikator pulsa keluaran, ditambahkan sebuah led dan resistor pembatas arus yang dipasang pada keluaran IC 74LS14. Led dihubungkan dengan keluaran IC 74LS14 pada bagian katoda, sehingga led difungsikan aktif high.
Rangkaian sensor kecepatan dan pengkondisi sinyal ditunjukkan pada Gambar 3.6 di bawah ini:







Gambar 3.6 Rangkaian sensor kecepatan
Dalam kondisi tidak ada penghalang (kisi-kisi piringan), fototransistor di dalam optocoupler menghantarkan arus, sehingga keluaran dari optocoupler ini bernilai low (logika 0). Akan tetapi penggunaan IC schmitt trigger inverter akan membalik nilai logika. Jadi dalam kondisi tidak ada halangan kisi piringan, keluaran sensor bernilai digital high (logika 1).
III.2.4 Perancangan Antarmuka PLC
Antarmuka PLC dengan sistem berupa modul keluaran analog TSX AEZ 401 dan modul diskret TSX DMZ 28DR. Modul keluaran analog digunakan untuk mengeluarkan sinyal kendali yang masuk ke penguat arus. Jangkauan tegangan modul keluaran analog ini adalah 0 - 10 Volt. Sedangkan modul keluaran diskret digunakan untuk me-reset nilai pencacah PLC pada pembacaan kecepatan.
Konfigurasi modul keluaran analog TSX AEZ 401 yang digunakan adalah sebagai berikut:









Gambar 3.7 Konfigurasi modul keluaran analog AEZ 401

Digunakan sebuah channel keluaran dengan alamat pada Rack 6 channel nomor 0.
Sedangkan modul keluaran diskret yang digunakan adalah seri TSX DMZ 28DR. Angka 28DR tersebut menandakan bahwa modul terdiri atas 28 masukan-keluaran dengan jenis diskret berupa relay. Jadi keluaran diskret PLC dapat dikatakan hanya sebagai saklar-saklar tegangan. Oleh karena itu, untuk mengoperasikannya perlu ditambahkan sumber tegangan 24 Volt pada modul keluaran diskret PLC. Konfigurasi modul keluaran diskret TSX DMZ 28DR yang digunakan adalah sebagai berikut:

Gambar 3.8 Diagram perkawatan modul diskret DMZ 28DR

III.3 Perancangan Perangkat Lunak
Pada sistem pengendalian kecepatan motor DC ini, PLC diprogram dengan bahasa pemrograman Structured Text. Pemrograman PLC ini menggunakan perangkat lunak PL7 Pro v3.4 yang berfungsi sebagai text editor dalam penulisan baris-baris perintah dan juga melakukan proses pengiriman program ke PLC. Selain itu, perangkat lunak ini juga dapat membaca parameter-parameter PLC secara real time.
Perancangan perangkat lunak pada pengendalian kecepatan motor DC ini meliputi pembacaan kecepatan putar motor, perhitungan dalam proses pengendalian menggunakan algoritma PID, dan akuisisi data.

III.3.1 Perancangan Program Utama
Program utama dimulai dengan inisialisasi sistem dan kondisi awal. Kemudian sistem membaca kecepatan motor untuk kemudian dibandingkan dengan set point yang diberikan. Selisih set point dengan kecepatan aktual motor adalah kesalahan (error). Kesalahan tersebut akan digunakan untuk perhitungan sinyal kendali dengan metode PID, kemudian keluaran dari perhitungan tersebut dikeluarkan melalui modul keluaran analog.
Diagram alir pada Gambar 3.10 di bawah ini dapat digunakan untuk lebih mempermudah memahami program utama pengendalian kecepatan motor DC menggunakan PLC.









Gambar 3.9 Diagram alir program utama
Program utama dimulai dengan pembangkitan Clock dengan periode selama 1 detik. Clock akan digunakan untuk setiap siklus periode pencuplikan dan operasi pergeseran data memori.
%M0:=%S6;
Setiap instruksi periodis dijalankan pada saat clock mengalami Falling Edge, yaitu ketika sinyal mengalami perubahan dari kondisi logika 1 menjadi logika 0. instruksi yang digunakan adalah sebagai berikut:
IF FE %M0 THEN
ROR_ARW(1,%MW300:200);
ROL_ARW(1,%MW280:4);
%MF150:=%MF150+(%MF200+%MF190)/2;
%MW285:=%ID0.11;
END_IF;

III.3.2 Pembacaan Kecepatan dari Pencacah Internal PLC
Dalam pengoperasiannya, pencacah internal PLC perlu di-reset secara periodis dengan periode waktu 1 detik. Sehingga nilai pencacah yang dibaca pada akhir periode waktu itu dapat langsung dibaca sebagai frekuensi.
f=c (3.3)
f = frekuensi
C = nilai counter
Dengan jumlah kisi pada piringan sensor sebanyak 60 buah, maka untuk 1 putaran motor akan menghasilkan 60 pulsa. Jika pencuplikan dilakukan setiap 1 detik, kecepatan motor sebenarnya (dalam rpm) dihitung dengan persamaan sebagai berikut :
(3.4)
Jadi nilai yang didapat oleh counter untuk sekali pencuplikan adalah kecepatan aktual (dalam rpm).
Reset counter dilakukan dengan program, yaitu dengan bantuan relay pada modul TSX DMZ 28DR. Relay ini memutus dan menyambung tegangan 24 Vdc yang digunakan untuk me-reset counter melalui masukan Ipres pada channel 11.
Instruksi dalam bahasa Structured Text untuk mereset counter (memberi logika 1 pada input IPres) adalah:
%Q2.1:=FE %M0;
Secara hardware, counter ini dihubungkan dengan sensor kecepatan melalui port serial dengan menggunakan konektor 15 pin standard SUB-D, dengan konfigurasi rangkaian sebagai berikut:

Gambar 3.10 Rangkaian antarmuka sensor dengan PLC

Hasil perhitungan counter disimpan pada memori dengan alamat %ID0.11. Oleh karena itu pada pengambilan data sensor, pembacaan dilakukan pada memori alamat %ID0.11.
%MW285:=%ID0.11;
Pengambilan data dilakukan secara periodis pada setiap periode pencuplikan (pada tugas akhir ini 1 detik).
III.3.3 Program Pengendali PID
Diagram alir dari program pengendali PID adalah sebagai berikut:

Gambar 3.11 Diagram alir program pengendali PID
Program pengendali PID dirancang memiliki beberapa tahapan, diantaranya adalah membaca kesalahan yang terjadi, operasi pada setiap bagian pengendali dan aksi pengendalian.
Bagian pengendali utama yaitu proporsional, integral, dan derivatif dengan susunan sebagai berikut:



Gambar 3.12 Susunan komponen pengendali PID
1.Pembacaan kesalahan (error).
Pembacaan kesalahan dilakukan dengan mengurangi set point dengan kecepatan aktual motor.
(* Kecepatan motor aktual *)
%MW300:=%MW285;
%MF250:=INT_TO_REAL(%MW300)
%MF240:=5.6*%MF250+2309.9;
(* Set Point *)
%MF230:=750.0;
%MF220:=5.6*%MF230+2309.9; %MD210:=REAL_TO_DINT(%MF220);
%MF200:=%MF220-%MF240; (* Error(k) *) %MF190:=INT_TO_REAL(%MW281); (* Error(k-1) *)
%MW280:=REAL_TO_INT(%MF200);

Setelah kesalahan diperoleh, kemudian disimpan ke dalam memori word yang nantinya akan digeser sejauh 4 baris. Pergeseran inilah yang akan menyimpan kesalahan sekarang dan tiga kesalahan sebelumnya.





Gambar 3.13 Pergeseran memori penyimpan nilai error
Pergeseran dilakukan setiap periode pencuplikan, jadi nilai kesalahan sekarang / Error (k) pada pencuplikan berikutnya akan menjadi kesalahan yang lalu / Error (k-1). Penggereran nilai memori menggunakan instruksi sebagai berikut:

ROL_ARW(1,%MW280:4);

Maksud dari instruksi di atas adalah menggeser nilai memori word ke kiri dengan pergeseran sejauh 1 memori, dimulai dari %MW280 hingga %MW283 (sepanjang 4 memori).

2.Perhitungan pada setiap bagian pengendali
Perhitungan integral menggunakan metode trapesium, dimana luasan trapesium untuk setiap pencuplikan ditambahkan dari awal sistem dijalankan hingga pencuplikan terakhir.
Pada program yang dirancang, digunakan sebuah memori (%MF150) untuk menyimpan hasil penambahan. Luasan untuk sebuah trapesium dirumuskan:

(Error (k) + Error (k-1) ) * h/ 2 (3.5)
h adalah periode pencuplikan ( bernilai 1 detik ).

Dalam bahasa Structured Text, luasan / jumlahan error dituliskan sebagai berikut:

%MF150:=%MF150+(%MF200+%MF190)/2;

Perhitungan derivatif menggunakan backward differential method dan dirumuskan:

Error(k) – Error(k-1) / h (3.6)
h adalah periode pencuplikan ( bernilai 1 detik ).

Dalam bahasa Structured Text, turunan error dituliskan sebagai berikut:

%MF140:=%MF200-%MF190;

Algoritma PID adalah penggabungan ketiga komponen tersebut dikalikan dengan masing-masing parameter Kp, Ki, dan Kd. Penulisan dalam bahasa Structued Text adalah sebagai berikut:

%MF180:=1.83;
%MF170:=0.63;
%MF160:=0.4;

%MF140:=%MF200-%MF190;
%MF130:=%MF150*%MF170;
%MF120:=%MF180*(%MF200+%MF130+%MF160*%MF140);
%MD110:=REAL_TO_DINT(%MF120);

3.Aksi pengendalian
Hasil perhitungan dengan algoritma PID diatas kemudian dikeluarkan sebagai sinyal kendali. Sebelum dikeluarkan, perlu ditambahkan pembatas keluaran, karena modul keluaran PLC terbatas 0 - 10 volt sedangkan hasil perhitungan sangat dimungkinkan melebihi atau kurang dari nilai tersebut.
IF %MD110>10000 THEN
%MD110:=10000;
END_IF;
IF %MD110<0 THEN
%MD110:=0;
END_IF;
Kemudian sinyal kendali dikeluarkan ke modul keluaran analog dengan alamat Rack 6 Channel nomor 0.

%QW6.0:=%MD110;

III.3.4 Akuisisi Data
Kecepatan motor yang dibaca oleh sensor perlu disimpan untuk selanjutnya digunakan pada pengamatan kinerja pengendali. Data kecepatan pada setiap pencuplikan disimpan pada memori dan digeser pada pencuplikan berikutnya.
Data yang diambil sebanyak 200 buah dengan instruksi sebagai berikut:

ROR_ARW(1,%MW300:200);

Jadi data kecepatan disimpan di memori %MW300 hingga %MW499 (sepanjang 200 data). Penggeseran dilakukan ke arah kanan sejauh 1 memori untuk setiap periode. Gambar 3.14 di bawah menunjukkan proses penggeseran data.







Gambar 3.14 Proses pergeseran data kecepatan

Tidak ada komentar:

Posting Komentar