EruP(c)2014
PENS
http://www.engineersgarage.com/
sites/default/files/imagecache/Ori
ginal/wysiwyg_imageupload/1/DC
-Motor-Insight-8.jpg
Beban untuk
meningkatkan gaya
lempar
https://www.youtube.com/watch?v=yUT512DW8pg
Error
Kontroler
Sinyal
Kontrol
(Eksitasi)
Plant
Besaran
(Parameter)
Yang Diinginkan
Error
Umpan balik
(Feedback)
Sensor
Beban, driver, aktuator
(Motor) dianggap sebagai
satu kesatuan dalam plant
Out PID
[-2000,2000] rpm
Error
[-4000,4000] rpm
Referensi
[-2000,2000] rpm
PID
Feedback
[-2000,2000] rpm
PWM
ADC
[-255,255] biner
Rumus
ADC
Driver
Tacho
[-5,5] volt
Motor
Tacho
Rumus
Driver
Motor/Beban
[-12,12] volt [-2000,2000] rpm
In DAC/PWM
DAC/PWM
[-255,255] biner [-5,5] volt
Tachometer membaca kecepatan [rmp] menjadi data digital [rpm] atau tegangan [volt]
Out PID
[-2000,2000] rpm
Error
[-2000,2000] rpm
+
Referensi
[0,2000] rpm
PID
Feedback
[0,2000] rpm
In DAC/PWM
[0,255] biner
Rumus
PWM
ADC
[0,255] biner
Rumus
DAC/PWM
[0,5] volt
ADC
Driver
[0,12] volt
Driver
Tacho
[0,5] volt
Motor/Beban
[0,2000] rpm
Motor
Tacho
Mengapa demikian ?
Harusnya, misalkan masukan PWM bisa -255 s/d 255, tetapi
kenyataannya hanya 0 s/d 255
Catatan
Rumus yang digunakan sesudah kontroler
(sebelum PWM/DAC) ada dua
Keluaran (-)
kontroler tetap
kemungkinan
digunakan
Keluaran
Kontroler dan
masukan
PWM samasama
Keluaran
Kontroler ,
tetapi
masukan
PWM 0-255
255
2000
-2000
-255
255
Keluaran (-)
kontroler
dibuang
2000
-2000
-255
Contoh Penyederhanaan
(Untuk Memudahkan Analisa)
Setting Point
(Referensi)
+
Error
P=1
Sinyal
Kontrol
(Eksitasi)
G=1
Besaran
(Parameter)
Yang Diinginkan
Umpan balik
(Feedback)
S=1
+
-
Referensi R
Error E
Feedback F
Output Y
Y E
E RF
F Y
Y (R Y )
Y Y R
2Y R
1
Y R
2
Contoh
R 2000 rpm
1
Y 2000 rpm
2
Y 1000 rpm
P=2
Y 2E
E RF
F Y
Referensi R
Error E
Feedback F
Output Y
Y 2( R Y )
Y 2Y 2 R
3Y 2 R
2
Y R
3
Contoh
R 2000 rpm
2
Y 2000 rpm
3
Y 1333 rpm
R
+
Y PE
E RF
F
Jika diinginkan Y = R,
berapa nilai P yang
seharusnya digunakan ?
F Y
Y P( R Y )
Y PY PR
(1 P )Y PR
P
Y
R
1 P
Out PID
[-2000,2000] rpm
Error
[-2000,2000] rpm
+
Referensi
[0,2000] rpm
PID
Feedback
[0,2000] rpm
In DAC/PWM
[0,255] biner
Rumus
PWM
ADC
[0,255] biner
Rumus
DAC/PWM
[0,5] volt
ADC
Driver
[0,12] volt
Driver
Tacho
[0,5] volt
Motor/Beban
[0,2000] rpm
Motor
Tacho
Jawab
Prosesor (Digital)
Y
+
255
2000
5
255
2000
255
255
5
12
5
2000
12
5
2000
Perhitungan
5 255 2000
F Y.
.
.
Y
2000 5 255
e R F R Y
255 5 12 2000
Y e.2.
.
. .
e.2
2000 255 5 12
Y R Y .2 2 R 2Y
3Y 2 R
2
2
Y R .1000 667 rpm
3
3
Persoalan
Apa yang harus dilakukan agar nilai Y
(keluaran) = R (referensi masukan) ?
(catatan: tidak bisa menggunakan
pendekatan P, karena tidak mungkin)
Digunakan pendekatan akumulasi, dimana
error akan diakumulasi sampai membesar
sampai didapatkan Y= R
Akumasi error dilakukan dengan menggunakan
persamaan integrasi (integral), atau sigma dalam
sistem digital
R
+
Integral
(Sigma)
e at e bt
1
ba
( s a)( s b)
Referensi R
Error E
Feedback F
Output Y
e(t ) R f (t ) R y (t )
dalam bentuk Laplace
R Y (s)
E ( s)
Y ( s)
s
s
s
sY ( s ) R Y ( s )
s
Y ( s ) sY ( s ) R
s
Y ( s )(1 s ) R
s
R
Y ( s)
s 1 s
dikembalikan ke domain waktu
y (t ) R 1 e t
Kec [rpm]
Vin [volt]
M
Km
Km
Tm
H (s)
Tms 1 s 1
Tm
Tm RC
Kec
Km
Vin
Error
Sinyal
Kontrol
(Eksitasi)
Umpan balik
(Feedback)
Km
Tms 1
Besaran
(Parameter)
Yang Diinginkan
S=1
Km
R
Y
Y .P
s
Tm.s 1
Y . Tm.s 1 R Y .P.Km
s
Y . Tm.s 1 Y .P.Km R .P.Km
s
Y . Tm.s 1 P.Km R .P.Km
s
R .P.Km
s
Y
Tm.s 1 P.Km
R.P.Km
Y
s. Tm.s 1 P.Km
R.P.Km
Tm
Y
s. s 1 P.Km
Tm
R.P.Km
R . P . Km
Tm
Tm
1 e
y (t )
1 P.Km
Tm
R . P . Km
t
R.P.Km
Tm
1 e
y (t )
1 P.Km
R.P.Km
1 e
y (t )
1 P.Km
y(t) = R(t) jika P
Output masih tidak bisa menyamai R
R . P . Km
t
Tm
Kenyataan
Orde dari motor lebih dari 1
Umumnya didekati dengan orde 1
Dead zone
Kenyataan (Lanj.)
Ada delay pada bagian-bagian tertentu
dari sistem kontrol close loop
Ada bagian-bagian tertentu dari sistem
kontrol yang memiliki orde lebih dari orde
0
Misalkan filter pada sensor
Kontroler P-I
Secara umum, kontroler P dan I memiliki peran
P
Mengurangi error
Mempercepat respon
Overshoot tinggi dapat menyebabkan osilasi
Meniadakan error
Mempercepat respon
Waktu mencapai stabil lebih lama
Overshoot tinggi dapat menyababkan osilasi
Kontroler P dan I
P
R
+
Y
Km
Tms 1
Sensor
Persoalan
Apa yang harus dilakukan agar nilai Y
(keluaran) bergerak dengan cepat pada
saat sistem bergerak lambat ?
Setiap perubahan yang lambat disebabkan
oleh fungsi integral dari suatu sistem (ada
bagian-bagian tertentu yang memiliki fungsi
integral, misalkan motor)
Diperlukan kompensasi untuk fungsi integral dalam
bentuk fungsi differensial
(dapat juga digunakan penguatan yang diperbesar
agar perubahan menjadi semakin cepat rawan
osilasi/sistem tidak stabil)
Kontroler P-I-D
P
R
+
Y
Km
Tms 1
D
F
Sensor
Osilasi (kritis)
Keluaran sistem selalu berubah naik dan turun terus
menerus secara periodik
Tidak stabil
Keluaran sistem selalu berubah semakin naik sampai nilai
tertinggi (saturasi)
Rise Time
Settling Time
Kompensator
Setiap kondisi dan perilaku sistem dapat
diperbaiki agar senantiasa sesuai dengan yang
diinginkan menggunakan suatu Kompensator
Kompensator biasanya merupakan fungsi
kebalikan dari kondisi sistem (plant)
Peredaman Penguatan
Penguatan Peredaman
Penjumlahan Pengurangan
Pengurangan Penjumlahan
Integral Differensial
Differensial Integral
Kontroler
Satu-kesatuan fungsi dari kompensator
yang memiliki fungsi untuk
membuat/menjaga parameter dari sistem
sesuai dengan yang diinginkan disebut
sebagai kontroler
Contoh
Kontroler PID, merupakan gabungan dari
kompensator penguatan, integral dan
differensial
Kp
1
Ki
0.01
Kd
0.01
dt
0.010
s=0;
eL=0;
Referensi=1000;
while(1)
{
Kecepatan=read_adc(0)*2000/255;
e=Referensi-Kecepatan;
u=Kp*e+Ki*s+Kd*(e-eL)/dt);
s=s+e*dt;
sL=e;
delay_ms(1000*dt);
}
1
de(t )
u (t ) Kc e(t ) e(t )dt Td
Ti
dt
#define
#define
#define
#define
float
float
Float
Kc
1
Ti
100
Td
0.01
dt
0.010
s=0;
eL=0;
Referensi=1000;
while(1)
{
Kecepatan=read_adc(0)*2000/255;
e=Referensi-Kecepatan;
u=Kc*(e+s/Ti+Td*(e-eL)/dt);
s=s+e*dt;
sL=e;
delay_ms(1000*dt);
}
Kontroler PID
Pendekatan sifat PID
P
Mengecilkan error
Mempercepat respon
Memungkinkan terjadi osilasi yang cepat
Meniadakan error
Mempercepat respon
Menghilangkan gangguan-gangguan (memperlambat sistem)
Memungkinkan terjadinya osilasi lambat
D
Mempercepat mencapai referensi
Mencegah overshoot
Rise Time
Overshoot
Settling Time
S-s Error
KP
Lebih Cepat
Membesar
Pengaruh
sedikit
Berkurang
KI
Lebih Cepat
Membesar
Semakin Lama
Menghilangkan
KD
Pengaruh
sedikit
Mengecil
http://www.purduecal.edu/cpmi/NSF%20Courses/ECET-462/LABORATORIES/8-TuningofaPIDcontrollerusingZiegler-NicholsMethod.pdf
+
Referensi
[0,2000] rpm
PID
If(PID<0)
PID=0
255
2000
PWM
2000
255
ADC
Driver
Motor
Feedback
Tacho
//
//
//
//
nilai
nilai
nilai
nilai
while(1)
{
Kecepatan=read_adc(0)*2000/255;
e=Referensi-Kecepatan;
PID=Kp*e+Ki*s+Kd*(e-eL)/dt);
s=s+e*dt;
sL=e;
if(PID<0) PID=0;
if(PID>2000) PID=2000;
OCR0=PID*255/2000;
delay_ms(1000*dt);
}
}
//
//
//
//
//
//
//
//
//
//
Ziegler-Nichols
The Integral of Absolute Error (IAE), Pessen
Seborg
Integral of Square Time Weighted Error (Zhuang and Atherton)
Symmetric Optimal Rule (Kessler)
Ziegler-Nichols
Cohen-Coon
Chien
ODwyer
The Integral of Absolute Error (IAE), Pessen
As Found
de(t )
dt
Jenis
KP
KI
KD
0,5KU
PI
0,45KU 1,2KP/TU -
PD
0,8KU
KPTU/8
PID Klasik
0,6KU
2KP/TU
KPTU/8
0,7KU
0,4KP/TU 0,15KP/TU
0,33KU 2KP/TU
1
de(t )
Ti
dt
2KP/TU
KPTU/3
KPTU/3
PU=TU
Tabel Lain
http://intranet.ctism.ufsm.br/gsec/livros/ControlSystemsDesign.pdf
1
de(t )
u (t ) Kc e(t ) e(t )dt Td
Ti
dt
ZieglerNichols (ZN)
Integral of Squared Time Weighted Error (ISTE)
Pessen Integral of Absolute Error (PIAE)
Kessler Landau Voda (KLV)
Some Overshoot Rule (SO-OV)
No Overshoot Rule (NO-OV)
MantzTacconi ZieglerNichols (MT-ZN)
Refined ZieglerNichols (R-ZN)
http://www.researchgate.net/publication/3331995_Rule-based_autotuning_based_on_frequency_domain_identification
Kinerja Z-N
Menghasilkan quarter wave decay
Dapat diterima untuk berbagai kasus, tetapi
tidak optimal untuk semua kasus
Kelebihan
Pelaksanaan uji-coba mudah, hanya perlu untuk
mengubah nilai kontroler P (Kp)
Sudah meliputi dinamika semua bagian dari proses,
sehingga memberikan gambaran yang lebih tepat
mengenai perilaku siste.
Kekurangan
Pelaksanaan uji-coba bisa jadi lama, karena harus
mencoba berbagai nilai Kp sampai didapatkan hasil
berupa osilasi yang stabil
Kemungkinan dapat terjadi sistem yang tidak stabil saat
melakukan uji-coba nilai Kp, yang dapat
membahayakan sistem
https://controls.engin.umich.edu/wiki/index.php/PIDTuningClassical
Contoh Prosedur
http://h240.marcks.cc/downloads/10_tuning.pdf
http://h240.marcks.cc/downloads/10_tuning.pdf
Advantages
There is no need to perform multiple trials
Generally, a single trial is all that is necessary to obtain proper controller
settings.
Controller settings are relatively easy to calculate
You do not operate at the stability limit of the process
There is less chance of saturating control loop components
Determination of process dead time and process time lag often provides
insight into the process not otherwise obtained with a closed-loop test
Disadvantages
Since the test is conducted without controller feedback, any significant
change in process load may provide erroneous results
If the process is noisy, it may be difficult to determine which part of the
reaction curve has the steepest slope so as to construct your tangent line
In such cases, multiple trials may be necessary.
These relations are considered valid only if 0.1 <TD / < 0.5 .
Advantages
Quick and easier to use than other methods
It is a robust and popular method
Of these two techniques, the Process Reaction
Method is the easiest and least disruptive to
implement
Disadvantages
It depends upon purely proportional measurement to
estimate I and D controllers.
Approximations for the Kc, Ti, and Td values might
not be entirely accurate for different systems.
It does not hold for I, D and PD controllers
https://controls.engin.umich.edu/wiki/index.php/PIDTuningClassical
Cohen-Coon Method
https://controls.engin.umich.edu/wiki/index.php/PIDTuningClassical
The Cohen-Coon method of controller tuning corrects the slow, steady-state response
given by the Ziegler-Nichols method when there is a large dead time (process delay)
relative to the open loop time constant; a large process delay is necessary to make
this method practical because otherwise unreasonably large controller gains will be
predicted. This method is only used for first-order models with time delay, due to the
fact that the controller does not instantaneously respond to the disturbance (the step
disturbance is progressive instead of instantaneous).
The Cohen-Coon method is classified as an 'offline' method for tuning, meaning that a
step change can be introduced to the input once it is at steady-state. Then the output
can be measured based on the time constant and the time delay and this response
can be used to evaluate the initial control parameters.
For the Cohen-Coon method, there are a set of pre-determined settings to get
minimum offset and standard decay ratio of 1/4(QDR). A 1/4(QDR) decay ratio refers
to a response that has decreasing oscillations in such a manner that the second
oscillation will have 1/4 the amplitude of the first oscillation . These settings are
shown in Table 3..
Alternatively, K0 can be used instead of (P/NL). K0,, and dead are defined in
process reaction curve section. An example using these parameters is shown
here [1].
Advantages
Used for systems with time delay.
Quicker closed loop response time.
Metode Chien
Berlaku 0,1<Td/<1
http://h240.marcks.cc/downloads/10_tuning.pdf
Metode ODwyer
http://h240.marcks.cc/downloads/10_tuning.pdf
Perhitungan Ziegler-Nichols
Ku=11,5
Tu=24
Kp=0,6Ku=0,6x11,5=6,9
Ki=2Kp/Tu=2x6,9/24=0,575
Kd=Kp.Tu/8=6,9x24/8=20,7
Ku=11,5
Tu=24
Kp=0,2.Ku=0,2x11,5=2,3
Ki=2.Kp/Tu=2x2,3/24=0,192
Kd=Kp.Tu/3=2,3x24/3=18,4