Anda di halaman 1dari 51

Control System Series

Filter Digital
Bode Diagram
0

-10
Magnitude (dB)

-20

-30

-40
0
Phase (deg)

-45

-90
1 2 3 4 5

Oleh:
10 10 10 10 10
Frequency (rad/s)

Feriyonika, S.T., MSc.Eng.

Electronics Engineering
POLITEKNIK NEGERI BANDUNG
Outlines

1. Background
2. Filter Analog
3. Contoh Kasus
4. Validasi di Matlab
5. Filter Digital
6. Realisasi di Program
Background
Dynamics pada komponen elektronika

𝑑(𝑖) 1
𝑉𝐿 = 𝐿 𝐼𝐿 = න𝑣 𝑑𝑡
𝑑𝑡 𝐿

1 𝑑(𝑣)
𝑉𝐶 = න𝑖 𝑑𝑡 𝐼𝐶 = 𝐶
𝑐 𝑑𝑡
Filter Analog: Low Pass Filter
Filter Orde 1 (RC-Circuit)

Vin i C Vout

𝑉𝐶 = 𝑉𝑜𝑢𝑡
𝑖 = 𝑖𝐶
Filter Analog: Low Pass Filter
Sistem Orde 1 (RC-Circuit) Hukum Kirchof
R 𝑉𝑖 = 𝑉𝑅 + 𝑉𝐶 → 𝑉𝐶 = 𝑉𝑜𝑢𝑡

𝑉𝑖 = 𝑖𝑅 + 𝑉𝑜𝑢𝑡 → 𝑖 = 𝑖𝐶
Vin i C Vout 𝑑𝑉𝑐
𝑉𝑖 = 𝑅 𝐶 + 𝑉𝑜𝑢𝑡
𝑑𝑡
𝑑𝑣𝑜𝑢𝑡
𝑉𝑖 = 𝑅 𝐶 + 𝑉𝑜𝑢𝑡
𝑑𝑡

𝑉𝑖 = 𝑅𝐶𝑉𝑜𝑢𝑡 𝑆 + 𝑉𝑜𝑢𝑡
𝑉𝑖 = (𝑅𝐶𝑆 + 1)𝑉𝑜𝑢𝑡
1 𝑉𝑜𝑢𝑡
=
(𝑅𝐶𝑆 + 1) 𝑉𝑖
Filter Analog: Low Pass Filter [LPF]
Sistem Orde 1 (RC-Circuit)
R
Transfer Function LPF Orde 1
𝑉𝑜𝑢𝑡 1
=
Vin i C Vout 𝑉𝑖 𝑅𝐶𝑠 + 1
Persamaan yg perlu diketahui
Transfer Function LPF Orde 1 Frekuensi dalam radian (ω) dan Hertz

𝑉𝑜𝑢𝑡 1
= 𝜔 = 2𝜋𝑓
𝑉𝑖 𝑅𝐶𝑠 + 1

Hubungan Frekuensi (Hz) dg Waktu (second) Hubungan Frekuensi cut-off dengan nilai RC

1 1
1 𝑓𝑐 = 𝜔𝑐 =
𝑓= 2𝜋𝑅𝐶 𝑅𝐶
𝑇
Contoh kasus
1.Periode (T) noise yg ingin difilter 0.1 R=6.3K
second, maka frekensi (Hz) ->realisasi nya ini
diukur secara manual
C=25 uF
1 1 Vin i Vout
𝑓= = = 10
𝑇 0.1

2. Frekuensi dalam radian (ω)


𝑉𝑜𝑢𝑡 1
= 𝐺(𝑠) =
𝜔 = 2𝜋𝑓 = 6.28 ∗ 10 = 62.8 𝑉𝑖 0.1592𝑠 + 1

3. Frekuensi cut-off , pilih lebih kecil dari


frekuensi noise, Misalkan satu dekade-nya =
6.28
1 1
𝑅𝐶 = 𝜔 = 6.28 = 0.1592
𝑐

jika dipilihC = 25𝜙F, R = 6,3K


Cek respon frekuensi di Matlab
𝑉𝑜𝑢𝑡 1
= 𝐺(𝑠) =
𝑉𝑖 0.1592𝑠 + 1
Contoh
Hitung besarnya pelemahan dari persamaan Magnitude (dB)
Vo
Magnitude = 20log( )
Vi

10 Vo
−20 = 20 log( ) Vo
Vi 10−1 =
Vi
−20 10 Vo
= log( )
20 Vi
Vo = Vi ∗ 10−1 = Vi∗0.1
10 Vo
−1 = log( )
Vi
Misal, Amplitudo noise (Vi) = 0.5Volt. Maka setelah difilter
Ingat aturan Log Vo = 0.5∗0.1 = 0.05
alogb =c
ac =b Mari, kita cek di Simulink
Contoh
Contoh

Sebelum di
filter

Setelah di
filter
Contoh

Amplitudo sinyal + noise


= 1.5-0.5 = 1

Amplitudo setelah difilter


= 1.05-0.95 = 0.1

It works !
Resume

1.Ukur Periode (T) noise yg ingin difilter,


tentukan frekuensi (Hz)

2. Konversi Frekuensi dalam radian (ω)

3. Frekuensi cut-off , pilih lebih kecil dari


frekuensi noise, Misalkan satu dekade-nya =
6.28 rad/s

4. Dari frekuensi cut-off, Hitung nilai RC. Pilih


nilai R, lalu hitung C. Atau sebaliknya.
FILTER DIGITAL
Filter Digital
𝑑𝑣𝑜 DISKRITISASI DG
𝑉𝑖 = 𝑅 𝐶 + 𝑉𝑜
𝑑𝑡 PRINSIP DIFFERENTIAL

𝑉𝑜𝑡 − 𝑉𝑜𝑡−1
𝑉𝑖 = 𝑅𝐶 + 𝑉𝑜𝑡 𝑉𝑖 + 𝑎𝑉𝑜𝑡−1 = 𝑎𝑉𝑜𝑡 + 𝑉𝑜𝑡
𝑇𝑠
𝑉𝑖 + 𝑎𝑉𝑜𝑡−1 = (𝑎 + 1)𝑉𝑜𝑡
𝑅𝐶𝑉𝑜𝑡 𝑅𝐶𝑉𝑜𝑡−1
𝑉𝑖 = − + 𝑉𝑜𝑡
𝑇𝑠 𝑇𝑠 𝑉𝑖 + 𝑎𝑉𝑜𝑡−1
𝑉𝑜𝑡 =
𝑅𝐶𝑉𝑜𝑡−1 𝑅𝐶𝑉𝑜𝑡 𝑎+1
𝑉𝑖 + = + 𝑉𝑜𝑡
𝑇𝑠 𝑇𝑠

𝑅𝐶
𝑎=
𝑇𝑠
Background: Alur eksekusi
program dan konsep ‘nilai
terakhir’
Background sebelum bisa menghitung Time Sampling [Ts] di program

Pertama, kita perlu mengetahui cara kerja eksekusi code di


pemrogaman dari Embedded System yang kita pakai
Disini kita menggunakan Arduino dg bahasa C
Background sebelum bisa menghitung Time Sampling [Ts] di program

Alur eksekusi program di Arduino (Sequential)

Periode 3..
Periode 1Periode 2
dst
Background sebelum bisa menghitung Time Sampling [Ts] di program

Kedua, kita perlu ingat bahwa nilai variable yg tersimpan di


program adalah NILAI TERAKHIR
Background sebelum bisa menghitung Time Sampling [Ts] di program

Kedua, kita perlu ingat bahwa nilai variable yg tersimpan di program


adalah NILAI TERAKHIR

Periode 1 Periode 2 Periode 3..

Nilai
a=0,b=1,c=2

Dan seterusnya …
Nilai
a=1,b=2,c=3

Ingat nilai Ingat nilai Ingat nilai a,b,c


a,b,c a,b,c
terakhir, shg:
terakhir, shg: terakhir, shg:
a=3+6=9,
a=2+3=5, a=7+10=17, b=9-2=7,
b=5-2=3, b=17-2=15, c=9+1=10
c=5+1=6 c=17+1=18
nilai a,b,c
periode-1: nilai a,b,c periode 2:
a=2+3=5, a=3+6=9,
b=5-2=3, b=9-2=7,
c=5+1=6 c=9+1=10
Background sebelum bisa menghitung Time Sampling [Ts] di program

Kedua, kita perlu ingat bahwa nilai variable yg tersimpan di program


adalah NILAI TERAKHIR

Periode 1 Periode 2 Periode 3..

Nilai
x=0 Dan seterusnya …

Ingat nilai
terakhir, shg:
x=0+1=1

Ingat nilai x Ingat nilai x


terakhir, shg:terakhir, shg:
x=2+1=3 x=1+1=2

Nilai x
periode-1: nilai a,b,c periode 2:
x=1 x=2
Background sebelum bisa menghitung Time Sampling [Ts] di program

Pertama, kita perlu mengetahui cara kerja eksekusi code di


pemrogaman dari Embedded System yang kita pakai
Disini kita menggunakan Arduino dg bahasa C

Kedua, kita perlu ingat bahwa nilai variable yg tersimpan di


program adalah NILAI TERAKHIR
Background: Time Sampling
Time Sampling (Ts)
dalam sistem kendali digital
Time Sampling (Ts) dalam sistem kendali digital

Dalam Sistem Kendali Digital, kita memerlukan


informasi Time Sampling untuk merealisasikan
algoritma kendali di pemrograman
Time Sampling (Ts) dalam sistem kendali digital

Secara analisis diskrit juga, peranan Ts sangat penting.


Gbr dibawah menunjukkan efek Ts yg menyebabkan
sistem yg stabil pada waktu kontinyu menjadi tidak stabil
Time Sampling (Ts) dalam sistem kendali digital

Ts dilihat dari Blok Sistem Kendali

Pembatasan hasil
8 bit [0-255]
perhitungan PID

SISTEM PLANT
255
10
5
Controller
Setpoint + PID
A0 [nilai PWM] x 2 PLANT
digital PWM-6
[analog input 0]
- 0 0 0
[0-5Volt]
[0-10 Volt]

A5
[analog input 5]

PC/ Embedded System (ex:ARDUINO)


Realisasi Blok diagram
Untuk pengali 2
Time Sampling (Ts) dalam sistem kendali digital

Bagaimana menentukan Time Samplingnya?


Time Sampling (Ts) dalam sistem kendali digital

Pada realisasi Time Sampling adalah


waktu setelah perhitungan algoritma kendali → proses
manipulasi sinyal → sinyal dikirim ke Plant → Pembacaan
sinyal umpan balik → perhitungan error → Sampai sesaat
sebelum dilakukan perhitungan algoritma kendali
Time Sampling (Ts) dalam sistem kendali digital

SISTEM PLANT
255
10
5
Controller
Setpoint + PID
A0 [nilai PWM] x 2 PLANT
digital PWM-6
[analog input 0]
- 0 0 0
[0-5Volt]
[0-10 Volt]

A5
[analog input 5]

PC/ Embedded System (ex:ARDUINO)

Time Sampling (Ts) pada realisasi


Time Sampling (Ts) dalam sistem kendali digital

SISTEM PLANT
255
10
5
Controller
Setpoint + PID
A0 [nilai PWM] x 2 PLANT
digital PWM-6
[analog input 0]
- 0 0 0
[0-5Volt]
[0-10 Volt]

A5
[analog input 5]

PC/ Embedded System (ex:ARDUINO)

Time Sampling (Ts) dihitung oleh program didalam


microcontroller
Filter Digital
Sistem Orde 1 (RC-Circuit)
R

Vin i C Vot 𝑉𝑖 = 𝑉𝑅 + 𝑉𝐶 → 𝑉𝐶
= 𝑉𝑜
𝑉𝑖 = 𝑖𝑅 + 𝑉𝑜 → 𝑖 = 𝑖𝐶
𝑑𝑉𝑐
𝑉𝑖 = 𝑅 𝐶 + 𝑉𝑜
𝑑𝑡
𝑑𝑣𝑜
𝑉𝑖 = 𝑅 𝐶 + 𝑉𝑜
𝑑𝑡
𝑑𝑣𝑜 DISKRITISASI DG
𝑉𝑖 = 𝑅 𝐶 + 𝑉𝑜
𝑑𝑡 PRINSIP DIFFERENTIAL

𝑉𝑜𝑡 − 𝑉𝑜𝑡−1
𝑉𝑖 = 𝑅𝐶 + 𝑉𝑜𝑡 𝑉𝑖 + 𝑎𝑉𝑜𝑡−1 = 𝑎𝑉𝑜𝑡 + 𝑉𝑜𝑡
𝑇𝑠
𝑉𝑖 + 𝑎𝑉𝑜𝑡−1 = (𝑎 + 1)𝑉𝑜𝑡
𝑅𝐶𝑉𝑜𝑡 𝑅𝐶𝑉𝑜𝑡−1
𝑉𝑖 = − + 𝑉𝑜𝑡
𝑇𝑠 𝑇𝑠 𝑉𝑖 + 𝑎𝑉𝑜𝑡−1
𝑉𝑜𝑡 =
𝑅𝐶𝑉𝑜𝑡−1 𝑅𝐶𝑉𝑜𝑡 𝑎+1
𝑉𝑖 + = + 𝑉𝑜𝑡
𝑇𝑠 𝑇𝑠

𝑅𝐶
𝑎=
𝑇𝑠
Contoh Penerapan
Filter digital Low Pass Filter Orde 1
R

Vin i C Vot

Vot = PVf
Vin = PV
Vot_1 = PVf_1

𝑉𝑖 + 𝑎𝑉𝑜𝑡−1 PV + 𝑎PVf_1
𝑉𝑜𝑡 = PVf =
𝑎+1 𝑎+1

PV → Sinyal pembacaan sensor


PVf → Sinyal hasil filter
PVf_1 → Sinyal hasil filter periode sebelumnya
Contoh kasus
Filter pada Kecepatan Motor dg Tacho Generator

Filter pada sensor Suhu LM35

Filter pada LDR


Contoh kasus 1: Sensor Kecepatan
1. Buat program pengukuran sinyal (lanjutan praktikum sebelumnya), set kecepatan plotter = Ts

Page 1 of 2
Page 2 of 2
2. Ukur Periode Sampling dg stopwatch
Gunakan switch untuk melihat awal dan akhir dari plotter
Panjang grafik = 11.07 detik

3. Ukur Periode Noise


4. Gunakan software utk membuat perbandingan (disini dg Coreldraw), shg didapat periode noise (T)

Periode Sinyal asli (T) Periode Sinyal Gambar (Tg)


=
Range Waktu asli Range Waktu Gambar

Periode Sinyal asli (T) 6


=
11.07 1295

6
T= 𝑥 11.07 =0.051
1295

1
f= = 19.60 Hz
T

ω(f dalam rad) = 2𝜋𝑓 = 2 ∗ 3.14∗19.6 = 123 rad/s

Pilih frekensi cut-off 1 dekade


wc= 12.3
4. Realisasikan di Program
START

FLOW CHART
[1] ID_Program
[2]. Deklarasi Variable
float PV, PVf,nPVf_1,fc,RC,a;
unsigned long t;
double t_1, Ts;

[3]. Setup
Serial.begin (9600);
wc=0.216; RC=1/(6.28*fc); Ts; a=RC/Ts; PVf_1=0;

[4]. Baca nilai potensio


PV=analogRead(1)*0.0049*100;//10 mvolt = 1 Celcius

[5]. Filter Digital


PVf=(PV+a*PVf_1)/(a+1);

[6]. Plot SV, hasil filter dan sebelum di filter

//[7]. Set nilai untuk perhitungan selanjutnya.


PVf_1=PVf;

tidak
Selesai?
ya
SELESAI
Page 1 of 2
Page 2 of 2
ATUR FREKUENSI CUTOFF agar sinyal bagus akan tetapi tidak terlalu tertinggal
(efek pergeseran fase)
Contoh kasus 2: Sensor Suhu LM35

1. Atur kecepatan agar sinyal terlihat


2. Ukur waktu satu plotter dg stopwatch
3. Untuk suhu, tidak perlu diberi MV (pengukuran suhu ruangan saja)
4. Dst.. Prosedur sama dengan kecepatan
Closer Look Frequency response:
pergeseran fase
Closer Look Frequency response:
pergeseran fase
Pe𝑟𝑔𝑒𝑠𝑒𝑟𝑎𝑛 𝑓𝑎𝑠𝑒 2.225 − 2.201
=
360 2.301 − 2.201

0.024
Pe𝑟𝑔𝑒𝑠𝑒𝑟𝑎𝑛 𝑓𝑎𝑠𝑒 = 𝑥360 = 86.4
0.1

jika satu periode T sinyal =0.0165 detik, maka


sinyal akan terlambat selama 0.00396 detik

jika satu periode 𝑙𝑜𝑜𝑝𝑖𝑛𝑔 program arduino 0.001 detik,


maka sinyal tertinggal selama 3 priode . Yang artinya
kendali akan bereaksi thdp sinyal 3periode sebelumnya.
BECAREFUL TO DETERMINE CUTOFF FREQUENCY
Saat cut off digeser satu dekade, dari 3.8 menjadi 0.38.
Noise makin berkurang akan tetapi respon terlambat
Closer Look Frequency cutoff (saat -3db)
Praktikum
Pra-tugas
1. Buat flowchart scr manual
2. Tuliskan tahapan mendesain filter secara manual
(gunakan sinyal dr slide)
3. Buat program arduino Filter secara mandiri
Praktikum
• Desain filter suhu, motor generator, dan intensitas
• Prosedur desain dibuat bertahap dan
didokumentasikan ke word (yg nanti di pdf kan)
• Semua dikompilasi jadi file pdf, kumpulkan ke e-
learning.

Anda mungkin juga menyukai