• Tidak ada hasil yang ditemukan

IV. Algoritma DDC dan Implementasinya - Bab IV Algoritma DDC dan Implementasinya

N/A
N/A
Protected

Academic year: 2019

Membagikan "IV. Algoritma DDC dan Implementasinya - Bab IV Algoritma DDC dan Implementasinya"

Copied!
34
0
0

Teks penuh

(1)

1

IV. Algoritma DDC dan Implementasinya

• Pada kasus ini dipilih algoritma pengontrolan yang

sederhana mempergunakan PID dengan atau tiga jenis algoritma pengontrolan

• Yang akan dipertimbangkan: - Algoritma dalam bentuk digital - Waktu yang diperlukan

- Penyelesaian Integral (Integral Wind-up) dan Pengalihan tanpa rintangan (bumpless

transfer)

(2)

Pendahuluan

• Persamaan variabel manipulasi dalam domain waktu yang dihasilkan oleh pengontrol PID :

dengan e(t) = error = r(t) – c(t) dengan r(t) adalah set point dan c(t) adalah variabel yang dikontrol

atau dalam bentuk domain laplace

dengan Gc(s) adalah fungsi transfer dari pengontrol

(3)

3

Diagram untuk sistem kontrol

• Bentuk kontinu

• Bentuk Diskrit

Gc(s) Gp(s) C(s) M(s)

E(s) R(s) +

-Gc(z) Gp(s) C(s) M(s)

E(s) R(s) +

(4)

• Menggunakan metoda first-order finite difference dengan hubungan :

maka persamaan domain waktu yang kontinu dapat didiskritkan menjadi :

• Dengan memperkenalkan

Ki = Kp(Ts/Ti) dan Kd = Kp(Td/Ts) dengan Ts = t = perioda sampling serta s(n) = sumasi error dari 0 sampai nTs

(5)

5

Implementasi Algoritma dasar PID

• Persamaan terakhir dapat dinyatakan dalam suatu prosedur program :

PROCEDURE PIDControl (en:REAL; VAR mn:REAL); BEGIN

sn:=sn+en;

mn:=Kp*En+Ki*sn+Kd*(en-enold); enold:=en;

END PIDControl;

• Jika diasumsikan bahwa keluaran plant diperoleh

(6)

• MODULE PIDcontroller ;

From IOmodule IMPORT ADC,DAC; From IO Import KeyPressed;

CONST

KpValue=1.0; KiValue=0.8; KdValue=0.3 VAR

sn,kp,ki,kd,en,enold,mn:REAL; PROCEDURE PIDControl(en:REAL;Var mn:REAL);

BEGIN

sn:=sn+en;

(7)

7

• BEGIN (*Main Program*) sn:=0.0;

kp:=KpValue; ki:=KiValue; kd:=KdValue; enold:=ADC(); REPEAT

en:=ADC()

PIDControl(en,mn); DAC(mn);

(8)

• Program di atas mengabaikan beberapa masalah penting yaitu:

- Perlunya sinkronisasi pada perhitungan program PIDController dengan waktu nyata - Perioda sampling (Ts) tidak tergantung pada kecepatan komputer padahal penting

diperhatikan

- bumpless transfer : transfer yang mulus antara kontrol manual ke otomatis

- keterbatasan aktuator dan beberap bentuk saturasi alat

(9)

9

Sinkronisasi Lup Kontrol

• Salah satu ciri dari program real time adalah saat program sudah dijalankan maka program ini akan terus berjalan secara kontinu sampai adanya kejadian eksternal yang terjadi dan memberhentikannya.

• Untuk mempertegasnya dapat digunakan

(10)

• MODULE RealTimeControl; (*Declaration)

BEGIN

(*Initialisation) LOOP

(*synchronisation*) (*get plant data*)

(*control calculation*) (*EXIT condition check*)

(*put control data to plant*) END(*Loop);

(11)

11

• Sinkronisasi dapat diperoleh dengan : - polling

- sinyal interrupt luar - ballast coding

- sinyal real-time clock

Polling

Pengiriman sinyal pengecekan dari prosesor untuk mengecek status ready dari suatu alat

PROCEDURE Synchronisation;

(*Use of polling for synchrisation*) BEGIN

LOOP

WHILE NOT (Digin(SampleTime)) DO (* wait until time*)

END (*While*); END (*Loop*);

(12)

Ballast Code (Hine and Burbridge, 1979)

• Ide dari Ballast coding adalah membuat waktu

loop benar-benar tidak tergantung pada operasi internal dari komputer dan tidak tergantung pada pewaktuan eksternal (external timing) dan sinyal sinkronisasi

• Metoda ini melibatkan :

- pencarian waktu yang dipakai untuk eksekusi setiap jalur yang ada pada control loop dari program

(13)

13

• Jika perlu ditambahkan ballast code di akhir untuk membuat total waktu eksekusi untuk

control loop sama dengan waktu eksekusi yang dikehendaki

• Metoda Ballast code tidak dapat digunakan bila digunakan interrupt dan kode haru dimodifikasi kembali jika CPU Clock rate-nya berubah

• Jadi dibandingkan dengan polling, metoda ballast code ini mencegah sistem komputer digunakan untuk perhitungan pada saat

(14)

Ilustrasi Ballast code

A

A1 A2

A1.1

Ballast A1.1

A1.2

Ballast A1.2

Ballast A2

(15)

15

External Interrupt

• Untuk sistem yang kecil dengan jumlah lup DDC (atau aksi lain yang memerlukan sinkronisasi) terbatas penggunaan interrupt eksternal untuk sinkronisasi dapat sangat efektif

• Lup kontrol ditulis sebagai interrupt yang

berkaitan dengan suatu baris interrupt tertentu. Baris interrupt diaktifkan oleh peralatan luar

misal clock

• Saat lup kontrol menunggu untuk diaktifkan program lain dapat dijalankan

(16)

Real-time Clock

• Solusi umum yang sering digunakan untuk masalah pewaktuan dari lup kontrol adalah dengan menambahkan real-time clock pada komputer

• Pemakaian real-time clock memerlukan

penambahan beberapa hardware dan software • Saat clock diakses waktu yang diperoleh

(17)

17

Sinkronisasi perhitungan control loop dengan real-time clock

FROM Timer IMPORT Ticks; CONST

ST=20; (*time between samples in ‘Ticks’*) VAR

time,NextSample:LongCard; BEGIN (*Main Program*)

NextSampleTime:=Ticks()+ST; time:=Ticks()+ST;

LOOP

WHILE Ticks()<NextSampleTime DO (*Nothing*)

END; (* of while*) time:=Ticks()

(*get plant input*)

(*Control calculation*) (*put plant output*)

NextSample Time:=time+ST; If KeyPressed() THEN EXIT; END(*If*)

(18)

Bumpless Transfer

• Dari persamaan:

Jika error nol maka m(n) sama dengan Kis(n)

• Secara ideal pada kondisi mantap (steady state) dengan error nol, bagian integral s(n) juga nol sehingga m(n) juga nol. Tapi ada juga beberapa aplikasi yang mengharuskan pada kondisi mantap m(n) tidak nol misal sebesar M, maka

persamaannya diubah menjadi

(19)

19

• Jika M dihilangkan sebenarnya proses integral dapat mengkompensasi tapi perubahan m(n) tidak mulus saat pergantian dari manual ke

kontrol otomatik. Pergantian dari kontrol manual ke otomatik ini harus mulus yang disebut

bumpless

• Beberapa metoda untuk memperoleh bumpless transfer:

- Preset Change-over Value - Tracking of Operator

(20)

Metoda 1 – Preset Change-over Value

• Nilai dari M dihitung untuk suatu nilai pada kondisi mantap dan nilai M pada kondisi mantap ini

dimasukkan sebagai konstanta ke dalam program atau melalui suatu operator sebelum terjadi pengalihan

(change over) dari manual ke mode automatik.

• Pengalihan ke mode automatik ini dilakukan pada saat nilai error sama dengan nol, yaitu pada saat integral menjadi nol dan m(n) = M.

(21)

21

Metoda 2 – Tracking of Operator Setting

• Selama operasi dilakukan operator, nilai

manipulated variable (m) diatur dari panel kontrol operator dan sistem komputer

menelusuri nilai ini.

• Hal ini bisa dilakukan dengan pembacaan secara analog/digital atau dengan membaca nilai input dari aktuator dalam plant. Kedua hal ini diperlukan untuk mengkonversi dan

(22)

• Pada saat pengalihan manual ke otomatik

terjadi nilai m di simpan pada variabel mc. Dua metoda pengalihan yang dapat digunakan :

1. M tidak ada dan pengalihan dilakukan pada saat error sama dengan nol maka M = mc 2. M diset pada nilai nominal tertentu dan pengalihan terjadi pada saat error tidak sama dengan nol. Bagian integral harus diset pada nilai inisial :

(23)

23

Metoda 3 – Velocity Algorithm

• Algoritma PID yang diberikan sebelumnya

sebenarnya mengarah kepada algoritma posisi karena digunakan untuk menghitung nilai absolut dari posisi aktuator

• Bentuk alternatif dari algoritma PID yaitu algoritma kecepatan digunakan untuk menyediakan

terjadinya bumpless transfer secara otomatis. • Algoritma kecepatan ini memberikan perubahan

dari nilai m bukan nilai absolut dari m.

(24)
(25)

25 dengan

3

Karena output dari metoda ini adalah perubahan dari posisi kontrol maka algoritma ini secara otomatis

(26)

Saturasi dan Aksi Integral Wind-up

• Dalam prakteknya nilai dari variabel manipulasi m(n)

terbatas pada batasan fisik. Misal katup tidak dapat lebih terbuka dari batas fully open atau tidak dapat lebih

tertutup dari batas fully closed

• Sebagai contoh kita tinjau sistem pemanasan ruangan. Kapasitas pemanasan ruang lingkupnya biasanya pada musim dingin yang biasa-biasa.

• Jika terjadi kondisi ekstrim yaitu temperatur di musim dingin sangat dingin dan angin sangat kencang maka sistem pemanas ini meskipun pada kondisi maksimum tetap tidak bisa menghasilkan temperatur yang

(27)

27

• Pada kondisi ini akan terjadi standing error yang besar pada temperatur

Angin

melemah Temperatur C

25 -20

-10

-Heat supply

Integral

term Building temperature Set point

-100% Heat Output

(28)

• Jika digunakan pengontrol PI maka karena

adanya standing error komponen integral akan terus naik, yaitu nilai s(n) akan terus naik pada setiap waktu sampling. Akibatnya nilai

manipulated variable akan naik dan suplai panas akan terus meningkat. Tapi karena suplai

panas ini sudah sampai batas maksimum maka panas yang diminta tidak akan tercapai

(29)

29

• Namun nilai s(n) tetap besar karena nilainya tidak akan berkurang sampai temperatur

bangunan melewati temperatur yang diinginkan. • Akibatnya meskipun temperatur bangunan lebih

tinggi dari temperatur yang diinginkan komponen integral akan tetap mempertahankan suplai

panas atau output panas pada nilai maksimumnya.

• Efek ini disebut integral wind-up (pembelokan integral) atau integral saturation (integral jenuh). • Saat pengontrol ada pada kondisi batas, efek ini

(30)

Teknik untuk mengatasi integral wind-up

1. Pembatasan pasti (fixed limit) pada nilai

komponen integral

Jika nilai komponen integral melewati batas

maksimum/minimumnya yang diberikan maka nilai komponen integral ini diubah ke nilai

maksimum/minimumnya.

Nilai maksimum dan minimum ini diambil dari nilai manipulated variable maksimum dan

(31)

31

PROCEDURE PIDControl (en:REAl; Var mn:REAL); sn:=sn+en; (* integral summation)

If sn>smax THEN sn:=smax

ELSE If sn<smin THEN sn:=smin;

END (*Else If*) END (*If*)

mn:=Kp*en+Ki*sn+Kd*(en-enold); enold:=en;

(32)

2. Pemberhentian Sumasi

• Pada metoda ini nilai dari integral sumasi akan diberhentikan saat aktuator saturasi dan nilai ini akan konstan selama aktuator masih saturasi. Pemberhentian dapat terjadi dengan

membekukan sumasi pada saat manipulated variable keluar dari rentang mmin – mmax atau dengan menggunakan sinyal input digital dari aktuator yang muncul saat akuator saturasi

• Kelemahannya : saat komponen integral

(33)

33

• Akibatnya pada saat set point tercapati, offset pengontrol (yang dinyatakan dengan komponen integral) tertinggal di belakang offset yang

diperlukan plant dan beban

• Teknik pemberhentian sumasi akan memberikan respon yang lebih baik jika komponen integral

tidak dibekukan saat terjadi perubahan tanda pada error. Tanda (+/-) dari error akan terjadi sebelum aktuator mencapai saturasi.

• Jika diasumsikan bahwa error positif akan

(34)

Aktuator error Sumasi Integral

upper limit + stop

upper limit - aktif

normal + aktif

normal - aktif

lower limit + aktif lower limit - stop

PROCEDURE PIDControl (en:REAL; Var mn:REAL); StopSummation :=((mn>mnmax)AND(en>0.0)

OR ((mn<mnmin) AND (en<0.0));

Referensi

Dokumen terkait

“Dengan jaringan cabang kami yang luas di seluruh Indonesia, pemilik usaha skala kecil dan menengah dapat pergi ke setiap cabang UOB untuk mendapatkan layanan bagi kebutuhan

Maka untuk dapat meminimalisir efek heat island di Jakarta, perlu adanya pertimbangan desain terhadap balkon, mengingat balkon sebagai penghalang radiasi

Indikator Kinerja Kegiatan Target 1 2 3 4 5 6 7 1.1.1 Meningkatnya Jalan dan Jembatan akses agropolitan dan kawasan cepat tumbuh Peningkatan rasio panjang jalan dalam kondisi baik 20

2. Tarik garis pada lembar formulir Denver II sesuai dengan usia yang telah ditentukan. Lakukan penilaian pada anak tiap komponen dengan batasan garis yang ada mulai

Pada tahap melaksanakan rencana pemecahan, subjek FD mengolah informasi yang ditunjukan dengan mengubah bentuk persamaan pertama agar lebih mudah

Koleksi Perpustakaan Universitas Terbuka... Koleksi Perpustakaan

Sehingga dapat disimpulkan bahwa terdapat Pengaruh sebesar 41,6% antara Pengawasan Keuangan Daerah Terhadap Akuntabilitas dengan Kewenangan Anggota Dewan tentang

Oleh karena itu, jika kita ingin BISA memahami bahasa Arab, maka kita harus memahami dengan baik terlebih dahulu ISIM, FI‘IL, dan HURUF..