TEKNIK
OTOMASI
INDUSTRI
SMK
TEKNIK
OTOMASI
INDUSTRI
Untuk SMK
Penulis
PUT
t
: Agus Putranto
Abdul Mukti
Djoko Sugiono
Syaiful Karim
Arie Eric Rawung
Sodikin Susaat
Sugiono
PUTRANTO, Agus
Teknik Otomasi Industri untuk SMK oleh Agus Putranto, Abdul Mukti,
Djoko Sugiono, Syaiful Karim, Arie Eric Rawung, Sodikin Susaat, Sugiono. ---Jakarta : Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah,
Direktorat Pembinaan Sekolah Menengah Kejuruan, Departemen Pendidikan
Nasional, 2008.
xxiv. 366 hlm
Daftar Pustaka : 361-362
Diterbitkan oleh
Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah
Direktorat Pembinaan Sekolah Menengah Kejuruan
Departemen Pendidikan Nasional
Tahun 2008
KATA SAMBUTAN
Puji syukur kami panjatkan kehadirat Allah SWT, berkat rahmat dan karunia
Nya, Pemerintah, dalam hal ini, Direktorat Pembinaan Sekolah Menengah
Kejuruan Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah
Departemen Pendidikan Nasional, pada tahun 2008, telah melaksanakan
penulisan pembelian hak cipta buku teks pelajaran ini dari penulis untuk
disebarluaskan kepada masyarakat melalui website bagi siswa SMK.
Buku teks pelajaran ini telah melalui proses penilaian oleh Badan Standar
Nasional Pendidikan sebagai buku teks pelajaran untuk SMK yang
memenuhi syarat kelayakan untuk digunakan dalam proses pembelajaran
melalui Peraturan Menteri Pendidikan Nasional Nomor 12 tahun 2008.
Kami menyampaikan penghargaan yang setinggi-tingginya kepada seluruh
penulis yang telah berkenan mengalihkan hak cipta karyanya kepada
Departemen Pendidikan Nasional untuk digunakan secara luas oleh para
pendidik dan peserta didik SMK di seluruh Indonesia.
Buku teks pelajaran yang telah dialihkan hak ciptanya kepada Departemen
Pendidikan Nasional tersebut, dapat diunduh (download), digandakan,
dicetak, dialihmediakan, atau difotokopi oleh masyarakat. Namun untuk
penggandaan yang bersifat komersial harga penjualannya harus memenuhi
ketentuan yang ditetapkan oleh Pemerintah. Dengan ditayangkannya soft
copy ini akan lebih memudahkan bagi masyarakat untuk mengaksesnya
sehingga peserta didik dan pendidik di seluruh Indonesia maupun sekolah
Indonesia yang berada di luar negeri dapat memanfaatkan sumber belajar
ini.
Kami berharap, semua pihak dapat mendukung kebijakan ini. Selanjutnya,
kepada para peserta didik kami ucapkan selamat belajar dan semoga dapat
memanfaatkan buku ini sebaik-baiknya. Kami menyadari bahwa buku ini
masih perlu ditingkatkan mutunya. Oleh karena itu, saran dan kritik sangat
kami harapkan.
Jakarta,
Direktur Pembinaan SMK
iii
Kata Pengantar
iv
DAFTAR ISI
KATA PENGANTAR
iii
DAFTAR ISI
iv
DAFTAR GAMBAR
ix
DAFTAR TABEL
xxiii
BAB I PENDAHULUAN
1.1
1.2
1.3
1.4
1.5
Pengantar Otomasi
Sistim Otomasi
Arsitektur Sistem
Industri Pemakai
Sistem Kontrol Industri
1
4
5
8
8
11
12
Struktur Atom
Atom dan Muatan Listrik
Penghantar Arus dalam Logam
Penghantar Arus dalam zat Cair
Penghantar Arus dalam Gas
Sumber Listrik
Tegangan Listrik
Arus Listrik
Pembangkit Tenaga dan Induksi
Pembangkit Tenaga dengan Tenaga Kimia
Pembangkit Tenaga dengan Tenaga Panas
Pembangkit Tenaga dengan Cahaya
Rangkaian Listrik
Listrik dalam Rangkaian Tertutup
Usaha Listrik
Tahanan Listrik (R)
Nilai Hantar (G)
15
15
16
17
17
18
18
19
20
21
21
21
22
22
24
25
26
v
3.3.5 Tahanan Jenis ( )
3.3.6 Hantar jenis ( )
3.3.7 Kode Warna Tahanan
3.3.8 Pembagi Arus dan Tegangan
3.3.9 Pengukuran Rangkain
3.3.10 Daya Listrik
3.3.11 Daya Guna (Efisiensi)
3.4
Komponen Listrik dan Elektronika
3.4.1 Kapasitor
3.4.2 Dioda
3.4.3 Transistor
3.5
Operasional Amplifier
3.5.1 Pengenalan OP- AMP
3.5.2 Rangkaian Aplikasi OP-AMP
3.6
ADC
3.7
Dasar Teknik Digital
3.7.1 Aljabar Boolean
3.7.2 Operasi logika dasar AND, OR dan NOT
3.7.3 Operasi logika kombinasi NAND, NOR dan Exclusive OR
3.7.4 Multiplekser
3.7.5 Dekoder
3.7.6 Flip-flop
3.7.7 Memory
3.7.8 Register Geser
3.7.9 Counter
26
27
28
30
42
43
45
47
47
52
61
63
63
65
91
94
94
94
96
98
99
100
104
107
112
Definisi
Perancangan Pengendali
Tipe Pengendali
Pengendali Tipe-P (Proportional Controller)
Pengendali Tipe-I (Integral Controller)
Pengendali Tipe-PI (Proportional + Integral Controller)
Pengendali Tipe-PD (Proportional + Differential Controller)
Pengendali Tipe-PID (Proportional + Integral + Differential
Controller)
Aplikasi Rangkaian PID dengan OP-AMP
Analisis Pengendali PID terbuat dari OP-AMP
Metoda Perancangan Pengendali PID
Contoh Perancangan Pengendali
Pnematik
115
116
116
116
117
118
119
119
120
121
123
124
127
vi
BAB V ELEKTRONIKA DAYA
5.1
5.2
5.3
5.3.1
5.3.2
5.3.3
Sejarah
Pengertian dan Prinsip Kerja
Komponen Elektronika Daya
Satu Katup yang tidak dapat dikendalikan (Dioda)
Pensaklaran Elektronik melalui sebuah Katup
Pensaklaran Elektronik Hubung dan Putus melalui sebuah
Katup
5.3.4 Perbandingan kinerja dari MOSFET, IGBT dan BJT
5.3.5 Bentuk Komponen
5.4
Contoh Rangkaian Elektronika Daya
5.4.1 Konverter AC ke AC dengan Pengendalian pemotongan
Fase
5.4.2 Penyearah dengan Pengendalian pemotongan Fase
5.4.3 Pengubah daya DC-DC (DC-DC Converter)
5.4.4 Pengubah daya DC ke AC satu Fase (Konverter DC ke
AC)
5.4.5 Pengubah daya AC ke AC (Konverter AC ke AC)
132
132
136
136
137
139
142
144
145
145
147
150
153
156
Mikroprosesor Z-80
Pengontrol
Penyimpan
Operasi
Konfigurasi Mikroprosessor Z 80
Penulisan (write) Data pada Memori
Pembacaan (Read) Data dari Memori
Flag
Pengalamatan Memori ( Penyimpan Program/data )
Programmable Pheriperal Interface (PPI) 8255 (Perantara
Pheriperal Terprogram)
6.1.10 Perencanaan Minimal Sistem Z - 80
6.1.11 Sistim Pengalamatan Mikroprosesor Z-80
6.1.12 Perintah Transfer
6.1.13 Perintah untuk Input Output dengan Pengaturan Langsung
6.1.14 Perintah Aritmatika
6.1.15 Perintah Biner AND, OR, EX-OR dan CP
6.1.16 Perintah Putar dan Geser
6.1.17 Perintah Percabangan
6.1.18 Sub Routine (Program Bagian)
6.2
Mikrokontroler
157
157
157
159
160
164
165
165
168
179
185
188
190
197
200
204
207
211
214
217
vii
6.2.1 Algoritma Pemrograman
6.2.2 Arsitektur Mikrokontroller ATmega8535
6.2.3 Fungsi Blok pada masing-masing komponen dalam
sistem Mikrokontroller ATmega8535
6.2.4 Membuat Program Mikrokontroller
6.25 Input Output Digital
217
233
240
272
283
Sensor
Sensor Aktif (active sensor)
Sensor dengan Perubahan Resistansi
Resistor Tergantung Cahaya ( LDR Light Dependent
Resistor )
7.2
Sensor Termocouple
7.2.1 Sensor Suhu
7.2.2 Sensor Temperatur PT100
312
313
313
314
318
318
320
322
324
328
329
330
331
334
334
335
773
339
BAB X FUZZY
10.1 Kontroler Logika Fuzzy (Fuzzy Logic Controller)
10.2 Konsep Dasar Logika Fuzzy
10.2.1 Teori Himpunan Fuzzy (Fuzzy Set Theory)
10.2.2 Fungsi Keanggotaan Fuzzy (Fuzzy Membership
Function)
10.2.3 Variabel Linguistik
334
334
334
335
340
viii
10.2.4 Operasi Himpunan Fuzzy
10.2.5 Metode Perancangan KLF
342
342
ix
DAFTAR GAMBAR
Gambar 1-6
Operator konsol
Gambar 1-7
Gambar 1-8
Gambar 3.1
15
Gambar 3.2
15
Gambar 3.3
16
Gambar 3.4
Penghantar
Gambar 3.5
17
Gambar 3.6
18
Gambar 3.7
Grafik tegangan
20
Gambar 3.8
21
Gambar 3.9
21
16
22
x
Gambar 3.11 Rangkaian Listrik Tertutup
22
27
33
37
Grafik 3.14
38
39
42
42
47
49
51
51
52
53
54
54
55
55
55
56
57
57
xi
Gambar 3.29 Kurva Tegangan Dioda Zener
59
60
Gambar 3.31
Penstabil
perlengkapan mobil
60
tegangan
pada
sumberdaya
61
63
Gambar 3.34
63
Simbol OP-AMP
67
68
Gambar 3.37
Rangkaian
Noninverting Input
ekuivalen
OP-AMP
dengan
68
69
71
72
73
74
bufferBesarnya
74
76
Gambar 3.45
Sumber
77
77
78
xii
Gambar 3.47b Rangkaian Ekuivalen Ideal
79
79
80
80
80
81
82
82
83
84
84
85
86
86
87
88
88
89
90
91
94
95
xiii
Gambar 3.67 Operasi OR
95
96
97
97
97
98
99
99
100
101
101
102
103
103
104
104
105
106
108
109
Gambar 3.87
serial/parallel
Register
geser
untuk
paralel/serial
atau
110
xiv
Gambar 3.88. Register dengan multiplekser pada masukan D flipflop
111
112
113
115
116
116
117
118
118
119
120
121
124
129
130
131
131
133
133
xv
Gambar 5.3 Contoh aplikasi untuk elektronika daya
134
135
136
137
138
139
139
140
141
141
144
144
145
145
146
146
147
148
148
148
149
149
xvi
Gambar 5.25 Rangkaian Titik tengah enam pulsa terkendali (M6C)
149
150
150
151
151
151
152
153
153
154
154
154
155
155
156
160
161
162
164
165
xvii
Gambar 6.1.6 Register Flag Mikroprosessor Z-80
166
169
170
171
172
173
175
177
178
179
182
183
186
186
187
188
218
220
221
235
239
xviii
Gambar 6.2.3.1 Diagram Block Arsitektur MCU AVR
240
244
245
246
249
252
254
259
261
262
265
269
Gambar 6.2.3.13
Atmega8535
269
Desaign
PCB
Modul
Mikrokontroller
270
270
271
Gambar 6.2.4.1
Sambungan
mikrokontroller dengan computer
kabel
LPT
antara
modul
272
273
274
274
xix
Gambar 6.2.4.5 Jendela AVR Simulasi
275
276
277
277
278
278
279
280
282
282
283
283
284
286
286
287
288
288
290
290
291
xx
Gambar 6.2.5.12 Modul Percobaan Analog Input Test
292
293
293
295
296
306
Gambar 6.2.5.18
Barang
308
312
314
314
314
314
315
316
316
317
317
318
319
320
322
xxi
Gambar 8.2 Transfer function open loop Torsi Motor DC
324
325
326
328
328
329
330
330
331
332
332
334
335
336
336
337
338
339
339
337
xxii
Gambar 10.2 Fungsi Keanggotaan bentuk Trapesium
338
340
341
344
345
345
346
351
357
358
360
xxiii
DAFTAR TABEL
Tabel 1-1 :
Tabel 2.1
13
Tabel 3.1
Pembangkitan tegangan
19
Tabel 3.2
23
Tabel 3.3
29
Tabel 3.4
48
Tabel 4.1
Simbol-simbol pnematik
128
223
242
250
Tabel 7.1
319
Tabel 7.2
320
Tabel 7.3
Data Sheet
321
Tabel 8.1
327
Tabel 8.2
327
347
347
348
xxiv
Tabel 10.4 Beberapa Aturan Implikasi Fuzzy
355
Pendahuluan
BAB I. PENDAHULUAN
Tujuan Kegiatan Pembelajaran
Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini,
diharapkan peserta didik dapat :
Memahami proses produksi di industri
Memahami sistem otomasi di industri.
Memahami arsitektur sistem otomasi di industri.
Memahami aplikasi sistem otomasi dalam industri
Pendahuluan
Pendahuluan
robot
dalam
otomasi
proses
Pendahuluan
Pendahuluan
Pendahuluan
PROCESS CONTROLLER :
- Microcontroller
- Microcomputer
- PLC
I/O INTERFACE
I/O INTERFACE
PROCESS / PLANT
Pendahuluan
PROCESS ENGINEERS
WORKSTATION
MIS
OS
OS
PROCESS
CONTROLLER
LOCAL OPERATOR
STATION
PROCESS
CONTROLLER
PROCESS BUS
I/O
INTERFACE
I/O
INTERFACE
PROCESS BUS
I/O
INTERFACE
I/O
INTERFACE
I/O
INTERFACE
I/O
INTERFACE
PROCESS
Pendahuluan
Pendahuluan
Komponen Elektronik
11
Komponen Elektronik
12
13
Komponen Elektronik
Tabel 2.1
Amper ( A )
Satuan dari kuat arus listrik ( I ) .
kg . m 2
V . s3
1A =1
Volt ( V )
Satuan dari tegangan listrik ( U )
V =
w
A
1V =1
kg . m 2
s3. A
Ohm ( )
Satuan dari tahanan listrik ( R )
=
V
A
kg . m 2
1 = 1 3 2
s .A
Siemens(S)
Satuan dari daya hantar ( G )
S=
A
V
1 S = 1
s3 . A 2
kg m 2
1 W = 1
kg m 2
s3
Watt ( W )
Satuan dari daya listrik ( P )
W = V x A =
J
s
Joule ( J )
Satuan dari usaha listrik ( Watt = W)
1 J = 1 Nm = 1 Ws = 1 Vas
Coulomb ( C )
Satuan dari kapasitas listrik (Q)
C = As
kg m 2
1J = 1
s2
1 C = 1
As
14
Komponen Elektronik
Contoh soal :
U = I x R =A x
1. Rumus
Jawab
U = I x R = A x
kg . m 2 kg . m 2
U = A x 3 2 = 3
s .A
s .A
2. Rumus
P = I 2 x R = A2 x
Pindahkan kedalam satuan dasar .
Jawab :
P = I2 x R
P = A2 x
kg m 2
kg . m 2
=
s3 . A 2
s3
1
R
s 3 .A
A
kg . m 2
S=
x
=
3
2
V
V .s
kg.m
Komponen Elektronik
15
Lintasan 2
dK
Lintasan 1
Elektron
Inti (Ptoton dan netron
Gambar 3.2
Komponen Elektronik
16
Gambar 3.3
Gambar 3.4 Elektron Bebas dan Muatan Positif dalam Suatu Penghantar
Pada penghantar yang baik, perak atau tembaga, jumlah elektron bebas
sama dengan jumlah atom.
Contoh :
Kawat tembaga : panjang = 1 m, luas penampang = 1 mm2 berisi
kira-kira 85 . 1021 atom. mempunyai elektron bebas.
Benda
lain
seperti kayu, porselen dsb, memiliki elektron bebas sedikit.Bahan ini
bukan penghantar listrik, melainkan penyekat listrik.
Logam mempunyai elektron-elektron bebas, mereka di dalam penghantar
bergerak bebas. Elektron bebas ini berlaku sebagai penghantar listrik.
Komponen Elektronik
17
Garam
Gambar 3.5
Ketentuan :
Air destilasi ( air suling ) adalah bukan penghantar, Dia tidak
mengalirkan arus. Dengan menambahkan garam dapur, air destilasi
menjadi penghantar dan mengalirkan arus.
Komponen Elektronik
18
Gambar 3.6
Komponen Elektronik
Tabel 3.1
19
Pembangkitan tegangan
Keterangan
Gambar (percobaan )
Contoh
Induksi
Pembangkitan
titik sambungan
dua logam yang
berbeda
Elemen panas
( Thermo elemen )
Sinar yang
mengenai
foto elemen
Pengaruh
( Muatan elektro
statis )
Foto cell
Sinar film
Pemisahan atau
gesekan bahan isolasi
Mengukur tekanan,
Piringan hitam kristal
Mikrofon kristal
Tekanan pada
kristal
Elektro kardiogram
Pemanggil ikan(getaran )
Komponen Elektronik
20
10v
5v
2 . B . 6 v
0v
Komponen Elektronik
Gambar 3.8
21
Gambar 3.9
Komponen Elektronik
22
Komponen Elektronik
Tabel 3.2
Keterangan
Penghantar
Baterai
Lampu pijar
Saklar
Induktor
Kapasitor
23
Gambar
Simbol
Komponen Elektronik
24
P = U .
w= P . t
w = 2 . R . t
= 0,24 kal
1 Wh = 3600 j
= 864 kal
6
1 kWh = 3,6 . 10 j
= 0,102
kgm
= 267,2
kgm
Komponen Elektronik
25
............. kWh
......................
Rp .... / kWh
Contoh :
Sebuah motor listrik mengambil daya 500 watt, digunakan untuk
memindahkan benda seberat 100 kg selama 20 jam. Jika tarip listrik Rp.
150,- / kWh.
Hitung : a.
b.
Usaha mekanis
c.
Jawab :
a.
w = p . t = 500 . 20 = 10000 Wh
w = 10 kWh
b.
c.
Komponen Elektronik
26
1
Tahanan
G=
1
R
TAHANAN
TAHANAN
Makin
panjang
suatu
penghantar dan makin kecil
luas penampang- nya, maka
material tersebut akan semakin
buruk sebagai penghantar
l
A
1 . mm 2
Satuan =
m
Komponen Elektronik
27
Satuan :
1
Tahanan
S.m
m
2 =
mm
mm 2
.A
G=
.A
Komponen Elektronik
28
Warna
Gelang Gelang
1
2
Polos
Perak
Emas
Hitam
0
Coklat
1
1
Merah
2
2
Oranye 3
3
Kuning
4
4
Hijau
5
5
Biru
6
6
Ungu
7
7
Abu8
8
abu
9
9
Putih
Gelang
3
102
101
100
101
102
103
104
105
106
107
108
109
Gelang
4
20
%
10
%
5
%
1 %
2 %
0,5
%
Keterangan :
Gelang 1 = 1 angka nilai tahanan
Gelang 2 = 2 angka nilai tahanan
Contoh:
Gelang 3 = 3 Bilangan pengali dikalikan dengan
angka bilangan dari gelang 1 dan 2
Gelang 4 = Toleransi tahanan dalam %
Contoh:
Suatu tahanan dengan lapisan karbon dengan warna dari kiri ke kanan :
Kuning Ungu Coklat Emas.
Berapakah Tahanan dan Toleransinya ?
Jawab : Kuning, Ungu, Coklat, Emas.
4 7 . 10 + 5 %
R = 470 + 5
Komponen Elektronik
3.3.7.1
29
1,0
E12
1,0
E24
1,0
1,5
1,2
1,1
1,2
2,2
1,5
1,3
1,5
1,8
1,6
1,8
3,3
2,2
2,0
2,2
2,7
2,4
2,7
4,7
3,3
3,0
3,3
3,9
3,6
3,9
6,8
4,7
4,3
4,7
5,6
5,1
5,6
6,8
6,2
6,8
8,2
7,5
8,2
9,1
Komponen Elektronik
30
1.
1,0
1
12
10 = 1,21
1,2
1,5
1,8
2,2
2,7
3,3
3,9
4,7
5,6
6,8
8,2
31
Komponen Elektronik
atau
U
R
atau
R =
U
I
U
48 V
=
= 0,0012 A = 1,2 mA
R 40000
32
Komponen Elektronik
U
U 110 V
R= =
= 4400
R
I 0,025 A
= 4,4 K
Gambar 2.38
I3
I4
Hk Khirchoff I
1 = 2 + 3 + 4 atau 1 2 3 4 = 0
Jadi rumus hukum Kirchhoff :
= 0
Dengan perkataan hukum Kirchhoff berbunyi :
Jumlah aljabar semua arus dalam titik percabangan itu sama
dengan nol.
Contoh :
1. Perhatikan gambar dibawah, arus masuk ke tiitk percabangan A
lewat dua kawat 1 dan 2.
Dari titik A arus mengalir ke 3 lampu yaitu : 3 ; 4 ; dan 5.
Maka bila 1 = 3 A ; 2 = 4 A ;
33
Komponen Elektronik
Jadi : 1 + 2 3 4 5 = 0
3 + 4 2 3 5 = 0
[Arus yang masuk ke titk A kita sebut positif dan yang
meninggalkannya kita sebut negatif 0]
Perhitungan di atas dapat dilakukan sebagai berikut :
[ Arus yang masuk = arus yang keluar ]
1 + 2 4 5
3 + 4 = 2 + 3 + 5
7 = 5 + 5
5 = 7 5 = 2A, meninggalkan titik ercabangan
Dari rangkaian listrik di bawah ini berlaku hukum Kirchhoff .
Beberapa alat bersama-sama dihubungkan pada satu tegangan, maka
tegangan alat-alat itu semua sama, hubungan semacam ini di sebut
hubungan jajar. Semua alat listrik pada umumnya dihubungkan jajar
pada tegangan yang tersedia.
34
Komponen Elektronik
It
I31
R3
I2
R2
I1
R1
Us
Menurut hukum ohm : Arus dalam masing-masing cabang :
1 =
U
R
; 2 =
Jadi : J =
U
R1
U
R
; 3 =
U
R3
U
U
+
R
R
2
3
U
RP
U
R1
U
U
+
R
R
2
3
Kalau kedua ruas persamaan ini kita bagi dengan U akan didapatkan :
1
RP
1
R1
1
1
+
R
R
3
2
1
1
=
R
RP
Dengan kata-kata :
35
Komponen Elektronik
1
4
3
12
16
12
1
1,5
+
8
12
1
2,4
5
12
R P 12
= 0,75 ohm
=
1 16
36
Komponen Elektronik
U = 0
U R1 R2 = 0
U = 0
U = tegangan sumber
R1 dan
tegangan
R2
kerugian
Jawab : U = O
Pada bagian abca : U1 1 R1 2 R2 + U2 1 R4 = 0
Pada bagian debcd : U3 + 3 R3 2 R2 + U2 = 0
Catatan :
37
Komponen Elektronik
U
Rp
l
q
38
Komponen Elektronik
2 l
q
3.3.8.4
U
100
Pembebanan Sumber
39
Komponen Elektronik
Contoh Soal :
*
U
Rd + R
a
1,5
=
3
a). I =
b).
1,5 V
0,5 + 2,5
= 0,5 A
= Uo . Rd
= 1,5 V ( 0,5 . 0,5 )
= 1,5 V 0,25
= 1,25 V
3.3.8.5
Hubungan Jajar
40
Komponen Elektronik
R =
U
=
I
I
U
+I
+ I
U
=
U
U
U
+
+
R
R2
R
R =
1
R
1
1
R
1
1
1
1
=
+
+
R R 1 R2 R3
3
1
R
G = G1 + G2 + G3
Contoh 1
Dua buah tahanan masing -masing R1 = 10 , R2 = 40,
dihubungkan secara paralel dengan 200 V, Tentukan tahanan total dan
arus yang mengalir pada masing-masing
tahanan serta perbandingan
1 : 2 dan R2 : R1
Jawab :
R =
1
1
1
+
R1 R 2
1
1
=
1
1
0,1 + 0,025
+
10 40
U 200 V
= 25 A
=
R
8
1 = U = 200 V = 20 A
R1
8
1 = U = 200 V = 5 A
R2
40
Kontrol : = 1 + 2 = 25 A
I1 20 A
=
= 4
I2
5A
R1 40
=
= 4
R 2 10
Kesimpulan :
Tahanan total adalah lebih kecil dari tahanan yang terkecil dari
tahanan cabang. Keadaaan arus pada tiap cabang berbanding terbalik
dengan tahanan cabang.
Pemakaian :
Hubungan paralel ( shunt ) untuk mengukur arus dan untuk pemakaian
stop kontak yang lebih banyak dalam suatu rangkaian.
41
Komponen Elektronik
Contoh 2
Diketahui : Dua buah tahanan R1 = 20
secara paralel.
Ditanyakan
, R2 = 30, dihubungkan
: Tahanan total
R + R1
R . R2
1
1
1
=
+
= 2
R = 1
R1 + R 2
R R 1 R 2 R1 . R
2
R =
20 . 30 20 . 30
=
= 12
20 + 30
50
dapat
42
Komponen Elektronik
.
Gambar 3.16 Kesalahan Pengukuran Arus
UX =
X =
- V
Rumus
RX =
U
I IV
RX =
U
U
I RV
= Tegangan teratur
= Arus terukur
43
Komponen Elektronik
UX =
RX =
X =
U x UA
U UA U RA x I
=
I
I
Tahanan yang besar
Keterangan :
= Tegangan teratur
= Arus terukur
UA = Tegangan Amperemeter
RA = Tahanan Amperemeter .
Pengukuran Tahanan Langsung dengan :
U . =
P=
P = U .
w
t
44
Komponen Elektronik
P = daya listrik
P = U .
........
watt
U = . R
2
P = . R . I = . R
P = 2 . R
U
U2
=
R
R
U
R
P =
U2
R
Dari persamaan :
P = 2 . R
Jika R adalah konstan, maka grafik P = ()
dapat digambarkan sebagai berikut :
Contoh : R = 1000
( ma )
P
(w)
100
100
200
200
300
300
400
400
500
500
600
600
700
700
800
800
900
900
1000
1000
45
Komponen Elektronik
Contoh :
Sebuah setrika listrik dayanya 330 w, dihubungkan pada tegangan 220 V.
Hitung : a. arus yang mengalir.
b. tahanan setrika, dalam keadaan bekerja
(nilainya dianggap konstan).
Jawab :
a) P = U .
P 330
= 1,5 A
=
U 220
Jadi : = 1,5 A
b) R =
U 220
= 146,67
=
I
1,5
U2
atau P =
R
R
R =
U 2 2202 48400
=
=
R
330
330
= 146,67
P output
P input
atau
P2
x 100 %
P1
P2
P1
46
Komponen Elektronik
100 watt
P1
1 HP = 746 watt
P
746
= 2 x 100 % =
x 100 % = 74,6 %
P1
1000
47
Komponen Elektronik
3.4
3.4.1 Kapasitor
Kapasitor atau disebut juga kondensator adalah alat / perangkat
untuk menyimpan muatan listrik untuk sementara waktu.
Sebuah kapasitor/kondensator sederhana tersusun dari dua buah
lempeng logam paralel yang disekat satu sama lain oleh bahan isolator
yang disebut dielektrikum.
Jenis kondensator diberi nama sesuai dengan dielektrikumnya, misal :
kertas, mika, keramik dan
sebagainya.
A
+
Plat Logam
Jika lempeng kondensator/kapasitor dihubungkan pada sumber tegangan
DC, terjadi perpindahan elektron dari kutub ( ) lempeng B dan ke kutub
( + ) lempeng A.
Hal ini berlangsung sampai beda potensial antara lempeng A dan
lempeng B dengan GGL sumber
tegangan DC. Jika hal ini terjadi artinya kondensator sudah bermuatan
penuh.
B
3.4.1.1
Kapasitas Kapasitor
Kapasitas kapasitor
yaitu besarnya muatan listrik yang dapat
disimpan tiap satuan beda potensial antara bidang-bidangnya.
Dinyatakan dalam persamaan :
C=
Q
U
48
Komponen Elektronik
volt ( V )
C=
A
l
= o . r
o = Konstanta dielektrik hampa udara
= 8,85 . 1012
r = konstanta dielektrik relatif ( bahan tertentu )
Dengan demikian konstanta dielektrik mutlak adalah konstanta dielektrik
relatif. Kontanta dielektrik relatif yaitu konstanta dielektrik tiap jenis bahan
tertentu.
Jenis
bahan
Konstanta dielektrik (r )
Mika
2,5 7
Gelas
47
Air
80
Gambar
2,65
Lilin
2,25
Udara
49
Komponen Elektronik
3.4.1.2
q . dq
C
d w =
q . dq I
= q . dq
C
C
I
1
Q2
.
. Q2 =
C 2
2C
karena : u =
w =
1
2
Q
C
Q
.Q = u . Q
C
Q = u . C
w = u . u . C = u2 . C
w = usaha listrik
...................
joule ( j )
u = beda potensial
...................
volt ( V )
farad ( F )
50
Komponen Elektronik
Contoh soal :
Sebuah kondensator 4,7 F
Hitunglah :
a.
muatan kondensator
b.
energi kondensator
Jawab :
a. Q = u . c = 100 . 4,7 . 106
Q = 470 . 106 C
b. w = u . Q
= 1 . 100 . 470 . 106
2
w = 2350 . 106 Ws
w = 2350 . 106 Joule
51
Komponen Elektronik
3.4.1.3
Hubungan Jajar
C1
C2
= Q1 + Q2
U . C = U.C1 + U.C2
= U ( C1 + C2 )
C
= C1 + C2
52
Komponen Elektronik
3.4.2
DIODA
Material N
+++++
+++++
+++++
_____
_____
_____
Ga mbar Dioda
Sebelum Difusi
Anoda
Katoda
Material P
Material N
++++_
++++_
++++_
+_ ___
+_ ___
+_ ___
Ga mbar Dioda
Seb elum Difusi
Katoda
Anoda
53
Komponen Elektronik
p
+ + + +
+ + + +
+ + + +
n
_ _ _ _
_ _ _ _
_ _ _ _
54
Komponen Elektronik
Lapisan Pengosongan
p
n
_
+ + +
_
+ + +
_
+ + +
_ _ _
+
_ _ _
+
_ _ _
+
_
_
_
+
+
+
55
Komponen Elektronik
Gambar 3.25c
56
Komponen Elektronik
Sedangkan konduktansi (
I
U
_
_
_
+
+
+
ada aliran
elektron
57
Komponen Elektronik
arus bocor
_
_
_
+
+
+
Didaerah reverse mulai aktif, bila tegangan dioda (negatif) sama dengan
tegangan zener dioda,atau dapat
dikatakan bahwa didalam daerah aktif reverse (
sekali dan sebelum aktif (
I
U
) konduktansi besar
daerah tegangan
tem bus
forward ( v )
Revers e ( V )
titik tegangan
linier
I revers e
Komponen Elektronik
58
59
Komponen Elektronik
IZM =
PZ ( max )
VZ
Uz
U
IzT
IzM
u
i
ZZ =
0,08
= 4
0,02
60
Komponen Elektronik
16V
l
14V
l
12V
RS
5V
l
4V
l
3V
+
Tegangan
dari filter
_
IRL
IZ
10V
ZD
RL
10V
+12V
12V
10W
PERLENGKAPAN MOBIL
Bila dioda Zener yang kita pilih memiliki tegangan tembus sebesar 10
Volt , lihat gambar di atas, berarti tegangan keluaran yang diperlukan
adalah sebesar 10 V stabil .
2.
3.
61
Komponen Elektronik
4.
5.
3.4.3 Transistor
3.4.3.1 Hubungan Dasar Transistor
Hubungan Basis
Hubungan Pemakaian bersama : basis
Besaran masukan : IE , UEB
Besaran keluaran : IC , UCB
Perbandingan pembawa arus
simbol yang lain :
arus ( mengenai titik kerja )
p =
I C
IE
:hfb , h2Ib , fb
IB
+
_
UBE
IE
UCE
62
Komponen Elektronik
I C
IB
( Penguatan arus )
adalah : IE = IB + IC ; IB = IE-IC IB = IE - IC
atau
: IE =
I C
p
I C
--I
p
1- p
=I C (
)
p
I C
p
=
I B 1- p
I
Juga :
penguatan arus
=I
1
- 1)
p
Penguatan Arus
I C
IB
IC
IB
63
Komponen Elektronik
-(U-UBC)
IE
IB
_
_
-U
+
IC
+
-UBC
-UEC
3.5
(Ui 1)
Non Inverting Input
Uo
(Ui 2)
Output
Inverting Input
Gambar 3.34
Simbol OP-AMP
64
Komponen Elektronik
Input OP-AMP bisa berupa tegangan searah maupun tegangan bolakbalik. Sedangkan output OP-AMP tergantung input yang diberikan. Jika
input OP-AMP diberi tegangan searah dengan input non-inverting (+)
lebih besar daripada input inverting (-), maka output OP-AMP akan positif
(+). Sebaliknya, jika input noninverting (+) lebih kecil daripada input
inverting (-), maka output OP-AMP akan negatif (-).
Jika input OP-AMP diberi tegangan bolak-balik dengan input
noninverting (+), maka output OP-AMP akan sefase dengan inputnya
tersebut. Sebaliknya jika input inverting (-) diberi sinyal/tegangan bolakbalik sinus, maka output OP-AMP akan berbalik fase terhadap inputnya.
Dalam kondisi terbuka (open) besarnya tegangan output (Uo) adalah:
Uo = AoL (Ui1 Ui2)
Keterangan:
(1.1)
Uo = Tegangan output
AoL = Penguatan open loop
Ui1 = Tegangan input Non Inverting
Ui2 =Tegangan input Inverting
Parameter OP-AMP
Pada keadaan ideal OP-AMP mempunyai sifat- sifat yang penting, yaitu:
1. Open loop voltage gain (AoL).
Penguatan tegangan pada keadaan terbuka (open loop voltage gain)
untuk frekuensi rendah adalah sangat besar sekitar 100.000 atau
sekitar 100 dB.
2. Input impedance (Zin)
Impedansi input pada kedua terminal input kondisi open loop tinggi
sekali, sekitar 1 M untuk OP-AMP yang dibuat dari FET, impedansi
inputnya sekitar 10,6 M.
3. Output impedance (Zo)
Impedansi output pada kondisi open loop rendah sekali, sekitar
100 .
4. Input bias current (Ib)
Kebanyakan OP-AMP pada bagian inputnya menggunakan transistor
bipolar, maka arus bias pada inputnya kecil. Level amplitudonya tidak
lebih dari mikroampere.
5. Supply voltage range (Us)
Tegangan sumber untuk OP-AMP mempunyai range minimum dan
maksimum, yaitu untuk OP-AMP yang banyak beredar di lapangan/di
pasaran sekitar 3 V sampai 15 V.
Komponen Elektronik
65
Komponen Elektronik
66
67
Komponen Elektronik
3.5.2.2
Rangkaian dasar
a. Simbol OP-AMP
Ro
ii
Ui 2
+
Uid
Ri
+
Au Uid
-
RL
Uo
Ui1
AUOL
AUOL
Uid
UO
U id
68
Komponen Elektronik
if
ii
Rf
iid
R1
+
Uid
Ui
Uo
OP-AMP
Uo
R1
Rf
Uid=0
Ui
R1
Rf
Uo
69
Komponen Elektronik
UI
R1
R1 RF
.U O
UO
R1 RF
UI
R1
RF
R1
Au
UO
UI
UO
UI
,maka
RF
R1
+
Uid
Ui
Ui
i1
if
Rf
Uo
R1
70
Komponen Elektronik
UO U1
U1
RF
R1
Maka
UO U1
RF
U1
R1
iF = i U O U 1
RF
U1
R1
UO
U1
UO
U1
,KarenaAU
U1
1
1
U0
Ui
RF
R1
RF
R1
71
Komponen Elektronik
R1
U1
R2
U2
R3
U3
Uid O p Amp
Uo
Rf
R3
- U1
- U2
- U3
Uid = 0
Uo
72
Komponen Elektronik
U1 U2 U3
UO
R1
R2
R3
RF
R1
Ui 1
U1
R2
Uo
OP-AMP
Ui2
i2
R3
U2
R4
U I U i1 i F . R2 U i1 R2
0, maka dengan
U i1 U 0
R1 R2
U2
R4
R4 R3
.U i2
UO
R2
R1
U i2 U i1
R4
R3
0, sehingga U1 = U2 Maka
U i2 U i1
UO
RF
R
U i2 U i1
73
Komponen Elektronik
Atau dengan cara lain yaitu metode superposisi, maka tegangan output
(Uo).
UO
R4
R1 R2
R3 R4 R1
. U i2
R2
R1
. U i1
UO
RF
R
RF
RF
R RF
.U I1
RF
R
R RF
R
.U i2
RF
R
.U i1
.U I1
U i2 U i1
Rf
R3
Op A mp
R2
+
U1
Op A mp
+
U2
RF
R2
RF
R2
.U 2
U2
U O RF
RF
RF
U
R3 R1 1
R 2
F
U
R3 R1 1
U2
RF U 1
R2
R1 R3
Uo
74
Komponen Elektronik
Uo
Ui
3.5.2.7
Uid O p A mp
Uo
75
Komponen Elektronik
Uid = 0
1
j . w.k
1
2
Uo
. f .c
1
1
jwc s.c
UO
i
Ui
UO
xc
1
s
s.U OC
UO
Ui
s.C.U o
UO
Ui
1
s. CR
UO
UO
1
1
i dt
i dt
C
C i
1
1
U i dt
RC
RC
1
RC
U i t dt
U i dt
76
Komponen Elektronik
iid
ii
if
OP-AMP
Uo (t)
+
Gambar 3.44 Rangkaian Diferensiator
ii C
dU i
dt
UO
iF . R ii .R
Jadi U O t
R.C
RC
dU i
dt
dU i t
dt
77
Komponen Elektronik
U1
Rf
R1
OP-AMP
Uo
U1
Rc
+
OP-AMP
Uo
R1
Rf
U1
-
kU 1
78
Komponen Elektronik
RF
UO
R1
.U 1 k .U 1
UO
RF
Ui
R1
UO
RF
R1
.U 1 k .U 1
3.5.2.9.2
RF
R1
U1
I1
I0
OP-AMP
Uo
+
Gambar 3.47a Rangkaian Tegangan Mengontrol Arus Sumber
79
Komponen Elektronik
kU 1
U1
-
IO
3.5.2.9.3
U1
R1
k .U 1
U1
I1
I0
OP-AMP
Uo
80
Komponen Elektronik
I1
+
kI 1
U0
UO
I 1. RF k .I 1
3.5.2.9.4
Rf
I2
I1
I0
R1
I1
OP-AMP
Uo
+
Gambar 3.49a Rangkaian Arus Mengontrol Arus Sumber
I0
I1
kI1
IO I1 I2 I1
I 1 R1
R2
R1
R2
I 1 k. I 1
81
Komponen Elektronik
3.5.2.10
Low Pass
Filter
Band Pass
Filter
High Pass
Filter
f(Hz)
82
Komponen Elektronik
3.5.2.10.1
R2
Rf
OP-AMP
R1
U1
Uo
+
C1
AU 1
RF
R2
Uo
Ui
- 20 db / decade
foH
f (Hz)
83
Komponen Elektronik
Dengan turun -20 dB pada frekuensi cut off per dekade, maka dapat
ditentukan frekuansi cut off (fOH).
f OH
1
2
1 .C 1
Berdasarkan teori rangkaian LPF (low pass filter) pada prinsipnya hanya
menggunakan resistor dan kapasitor dirangkai dengan sistem rangkaian
integrator seperti gambar berikut ini.
C
R
Uo
Op A mp
+
Ui
XC
1
2 .c
1
.c
UO
Xc
Xc
R
.U i
.U i
84
Komponen Elektronik
Rf
OP-AMP
C1
Uo
+
R1
f OL
1
2
1 C1
OP-AMP
Uo
+
Gambar 3.55 Prinsip rangkaian HPF dengan sistem diferensiator
85
Komponen Elektronik
1
2
1
fc
UO
Maka:
.c
R
U
XC. i
- 20 db /
decade
fol
f (Hz)
86
Komponen Elektronik
RF
RG
RF
RG
O
pAmp
R2
O
pAmp
C1
Uo
U1
C2
R1
(HPF)
(LDF)
- 20 db /
decade
fol
foH
f (Hz)
f ol
f OH
1
2
1
2
1 .C 1
UntukHPF
2 .C 2
untukLPF
87
Komponen Elektronik
3.5.2.11.1 Voltmeter DC
OP-AMP pada peralatan voltmeter DC ini digunakan sebagai penguat
dasar yang mempunyai karakteristik impedansi input yang tinggi dan
faktor skalanya tergantung pada harga resistor dan akurasinya.
Rf
100 k
R1
U1
0 - 1 mA
R s 10
M
Io
100 k
OP-AMP
Uo
+
Gambar 3.59 OP-AMP sebagai Multimeter dc
Dari Gambar 3.59 di atas dapat dianalisis secara fungsi transfer,
sehingga diperoleh persamaan seperti berikut:
IO
UO
RF 1
R1 RS
100k 1
.
100k 10
1mA
10mV
3.5.2.11.2 Voltmeter AC
Pada dasarnya rangkaian Voltmeter AC sama dengan Voltmeter DC,
hanya saja perlu pembuatan sinyal AC yang masuk pada miliampere
meternya. Untuk rangkaian Voltmeter AC dapat dibangun seperti
Volmeter DC, hanya dilengkapi diode dan kapasitor pada outputnya.
88
Komponen Elektronik
U1
100k
OP-AMP
D1 C3 D2
C1
C2
Rf
100k
R s 10
IO
UO
RF 1
R1 RS
100k 1
.
100k 10
1mA
10mV
Input
Uo
358
30 mA
I = 600 mA
RB
Q 1 (B > 20)
100 k
UBE
89
Komponen Elektronik
+ Ucc (+ 5V)
Uo
Input
358
I = 20 mA
RB
180 k
ULED = 1,5V
RB =
IB =
U O U BE
Icon
IB
IC
Q1
hFE
IC
Q1
I
.(Tergantungtransisor)
Maka dari Gambar 4.26 jika IB = 30 mA dan I = 600 mA, maka hFE =
600
20,
30
RD
U O U LED
UO 1,5V
20mA
Ic, IB
90
Komponen Elektronik
U2
Op - Amp
Op - Amp
Rp
Uo
R
R
Op - Amp
U1
UO
U1 U 2
Sehingga: U O
2R
Rp
1
2R
U1 U2
RP
k U1 U2
Komponen Elektronik
91
Komponen Elektronik
92
Komponen Elektronik
93
94
Komponen Elektronik
Suatu fungsi logika atau operasi logika yang dimaksud dalam aljabar
Boolean adalah suatu kombinasi variable biner seperti misalnya pada
masukan dan keluaran dari suatu rangkaian digital yang dapat
ditunjukkan bahwa di dalam aljabar Boolean semua hubungan logika
antara variable variable biner dapat dijelaskan oleh tiga operasi logika
dasar yaitu :
Operasi NOT (negation)
Operasi AND (conjuction)
Operasi OR (disconjuction
Operasi operasi tersebut dijelaskan dalam tiga bentuk yaitu :
1.
Tabel fungsi (tablel kebenaran) yang menunjukkan keadaan
semua variabel masukan dan keluaran untuk setiap kemungkinan.
2.
Simbol rangkaian untuk menjelaskan rangkaian digital.
3.
Persamaan fungsi.
Operasi logika NOT
Fungsi NOT adalah membalik sebuah variable biner, misalnya jika
masukannya adalah 0 maka keluarannya adalah 1. Gambar 3.1.
memperlihatkan 3 macam bentuk penggambaran fungsi operasi NOT.
Tabel kebenaran
x
1
0
a
y
0
1
Simbol rangkaian
x
b
Persamaan fungsi
y=x
c
95
Komponen Elektronik
Simbol rangkaian
x0
x1
&
Persamaan fungsi
y = x0 x1
Operasi logika OR
Operasi OR juga menghubungkan paling sedikit dua masukan variable
dan dapat lebih variabel masukannnya mulai x0, x1 sampai xn dan satu
variabel keluaran y.
Variabel keluaran akan berlogika 0 hanya jika semua masukannya x0, x1
sampai xn dalam keadaan 0.
Gambar 3.3. Menggambarkan 3 macam penggambaran fungsi operasi
logika OR.
Tabel kebenaran
x1
x0
y
0
0
0
0
1
1
1
0
1
1
1
1
Simbol rangkaian
x0
x1
>
_1
Persamaan fungsi
y = x0 x1
96
Komponen Elektronik
dan
Simbol rangkaian
x0
x1
&
Persamaan fungsi
y= x x
0
1
97
Komponen Elektronik
Tabel kebenaran
x1
x0
y
0
0
1
0
1
0
1
0
0
1
1
0
a
Persamaan fungsi
Simbol rangkaian
x0
x1
>
_1
y= x x
0
1
b
Gambar 3.69. Operasi NOR
Persamaan fungsi
Simbol rangkaian
x0
x1
=1
y = x0 x1
c
b
Gambar 3.70 Operasi EXOR
x0
&
>
_1
x1
&
Gambar 3.71 Operasi EXOR yang dibangun dari operasi logika dasar.
98
Komponen Elektronik
y
0
1
1
0
1
0
0
1
x0
x1
=1
=1
x2
b
Gambar 3.72 EXOR dengan tiga masukan
3.7.4 Multiplekser
Multiplekser adalah suatu rangkaian logika yang memiliki banyak
masukan dan satu keluaran. Fungsinya adalah seprti saklar pilih yang
dapat dikontrol. Keluaran bergantung dari sinyal kontrol Si, dan hanya
satu dari masukan Xi yang tersambung ke keluaran. Dimana sinyal
masukan yang terdiri dari lebih dari satu jalur diproses sehingga
didapatkan satu keluaran.
Jika multiplexer memiliki 4 masukan x0, x1, x2 dan x3 maka sinyal kontrol
yang diperlukan sebanyak dua masukan s0 dan s1 sehingga secara
keseluruhan semua masukan multiplexer berjumlah 6 masukan.
99
Komponen Elektronik
Diagram blok
Keluaran
y
x0
x1
x2
x3
Data masukan
Tabel kebenaran
Kontrol masukan
S1
S0
0
0
0
1
1
0
1
1
x0
x1
x2
x3
Keluaran
y
s1 s0
Kontrol masukan
b
Gambar 3.73 Multiplekser dengan empat masukan
3.7.5 Dekoder
Dekoder adalah suatu rangkaian logika yang memiliki sedikit
masukan dan banyak keluaran.
Diagram blok
y1
0
1
0
0
0
0
0
0
y2
0
0
1
0
0
0
0
0
y3
0
0
0
1
0
0
0
0
y4
0
0
0
0
1
0
0
0
y5
0
0
0
0
0
1
0
0
y6
0
0
0
0
0
0
1
0
y7
0
0
0
0
0
0
0
1
x0
x1
x2
Dekoder
Tabel kebenaran
x2 x1 x0 y0
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
a
y0
y1
y2
y3
y4
y5
y6
y7
b
Gambar 3.74 Dekoder tiga masukan delapan keluaran
Dekoder pada Gambar 3.74 memiliki tiga masukan x0, x1 dan x2
dan delapan keluaran ( y0 y7 ). Bergantung dari kombinasi masukan.
Keluaran akan berganti ke 0 maupun 1.
Kombinasi masukan dan keluaran yang dikeluarkan bergantung dari jenis
atau tipe dekoder yang digunakan.
100
Komponen Elektronik
3.7.6 Flip-flop
3.7.6.1 RS Flip-flop
Flip-flop adalah suatu rangkaian bistabil dengan triger yang dapat
menghasilkan kondisi logika 0 dan 1 pada keluarannya. Keadaan dapat
dipengaruhi oleh satu atau kedua masukannya. Tidak seperti fungsi
gerbang logika dasar dan kombinasi, keluaran suatu flip-flop sering
tergantung pada keadaan sebelumnya. Kondisi tersebut dapat pula
menyebabkan keluaran tidak berubah atau dengan kata lain terjadi
kondisi memory. Oleh sebab itu flip-flop dipergunakan sebagai elemen
memory.
Rangkaian flip-flop yang paling sederhana adalah RS Flip-flop yang
memiliki dua masukan yaitu R = Reset dan S = Set serta dua keluaran Q
dan Q .
Tabel kebenaran
S
R
Q
0
0
1
1
a
0
1
0
1
Simbol
Tidak berubah
0
1
1
0
Tidak tentu
b
Gambar 3.75 RS Flip-flop
101
Komponen Elektronik
S
0
0
1
1
a
0
1
0
1
Tidak tentu
0
1
1
0
Tidak berubah
&
&
b
Gambar 3.76. Rangkaian RS Flip-flop dengan gerbang NAND
Lebih lanjut tipe yang sangat penting dari flip-flop adalah master
slave flip-flop atau disebut juga dua memory yang pada dasarnya
dibangun dari dua flip-flop yang terhubung secara seri. Jalur kontrol dapat
diatur dari sebuah clock melalui penambahan sebuah gerbang NAND.
Gambar rangkaian dasrnya ditunjukkan dalam Gambar 3.77.
Clock
&
&
&
&
&
&
&
Kontrol
Clock I
&
Master
Flip flop
&
Kontrol
Clock II
Slave
Flip flop
102
Komponen Elektronik
Operasi flip-flop ini dijelaskan lebih mudah dari sekuensial temporal dari
pulsa clock seperti ditunjukan oleh Gambar 3.78.
V clock
1
t1 t 2
t3 t4
103
Komponen Elektronik
3.7.6.2
JK Flip-flop
&
&
&
&
&
&
Clock
&
&
&
0
1
1
1
0
1
1
0
Simbol
Q
Q
0
1
Q
Clock
K
b
Gambar 3.80 Tabel kebenaran dan simbol JK Flip flop
104
Komponen Elektronik
Clock
1
0
t
Q
1
0
t
Q
1
0
3.7.6.3.
D Flip-flop
&
&
&
&
&
Clock
D
&
&
105
Komponen Elektronik
Tabel Kebenaran
tn
tn+1
D
Q
0
1
a
0
1
Simbol
Q
1
0
Q
Clock
K
b
Gambar 3.83 Tabel kebenaran dan simbol D Flip flop
Kelebihan D flip-flop dibandingkan dengan JK flip-flop bahwa data
masukan dikirim ke keluaran selama pulsa clock berubah dari o ke 1. Jika
clock = 1 dan data masukan di D berubah, perubahan tersebut tidak lama
berpengaruh terhadap keadaan keluaran. Suatu perubahan di D selama
clock = 1 mengakibatkan pengaruh ke keluaran hanya pada perubahan 0
ke 1 berikutnya. Karena perlambatan internal memungkinkan dengan flip
flop ini mengenal sebuah umpan balik misalnya dari Q ke D tanpa
menghasilkan oscilasi. Karena kelebihan tersebut sering D flip flop ini
disebut sebagai Delay flip-flop.
3.7.7 Memory
Elemen
memory
sangat
menentukan
dalam
sistem
mikrokomputer. Memory ini diperlukan untuk menyimpan program yang
ada pada komputer dan data. Berbagai macam tipe memory dibedakan
menurut ukuran , mode operasi, teknologi dan lain sebagainya dapat
diperoleh dipasaran. Memori dalam sistem mikrokomputer dapat juga
dikatakan sebagai elemen penyimpanan matriks dua dimensi yang
dibentuk dari flip flop. Gambar 3.84. memperlihatkan suatu rangkaian
dasar memory 8 X 4 bit. Setaiap titik simpul mewakili satu lokasi memory,
satu bit (bit adalah singkatan dari binary digit atau angka dengan dua nilai
0 atau 1).
106
Komponen Elektronik
Data Keluaran
Dekoder Alamat
Alamat
Lokasi memory
Data masukan
Gambar 3.84. Struktur dasar suatu memory
Jika data akan dituliskan ataupun dibaca dari suatu kombinasi
antara 000 dan 111 yang juga disebut sebagai alamat yang yang dilalui
oleh jalur alamat. Dekoder alamat digunakan untuk memilih satu diantara
8 jalur di dalam matriks dan isi dari jalur tersebut sehingga data words 4
bits dapat ditulis ataupun dibaca melalui data masukan ataupun data
keluaran.
Penambahan jalur kontrol yang tidak ditunjukkan dalam Gambar
3.84. sangat diperlukan untuk mengontrol baca, tulis dan lain sebagainya.
Komponen memory konvensional di pasaran pada umumnya memiliki
data work dengan ukuran 1, 2, 4 atau 8 bits yang mampu menyimpan
data 1, 2, 4 atau 8 bit.
Jumlah jalur pada matrik biasanya 2 pangkat n, yang mana n adalah jalur
alamat dari 2n yang dapat dipilih. Suatu komponen memory seharusnya
memiliki spesifikasi sebagai berikut :
Kapasitas
Organisasi
Komponen Elektronik
107
1. Memory baca/tulis
Memory ini memilki fungsi untuk menulis data yang nantinya akan
di baca kembali. Jenis memori seperti ini disebut juga dengan RAM
(Random Access Memory ).
2. Memory hanya baca ( Read Only Memory )
Atau yang disingkat ROM. Data dapat diisikan ke dalam memory
ketika proses pembuatan dan kemudian data dapat dibaca oleh
pengguna.
Memory dapat dibedakan berdasarkan teknologinya seperti misalnya
bipolar, MOS (Metal Oxide Semiconductor) atau sepertihalnya RAM,
perlu tidaknya merefresh simpanan data secara periodik baik dengan
operasi dinamik maupun statis.
Pada jenis memory dinamik, elemen penyimpan pada prinsipnya adalah
suatu kapasitor yang diisi dan direfresh secara periodic .
Pada jenis memory statis, elemen penyimpan data pada prinsipnya
adalah suatu flip-flop yang tidak memerlukan refreshing.
Ada dua jenis ROM, yaitu :
-
108
Komponen Elektronik
Q1
Masukan
FF1
Q2
FF2
Q3
FF3
Q4
FF4
Clock
Gambar 3.85. Diagram blok register geser
Mode Operasinya adalah sebagai berikut :
Dengan mengaumsikan sebelumnya bahwa Clock pertama,
semua keluaran dari Q1 sampai dengan Q4 adalah 0 dan masukan input
adalah 1. Setelah itu Data ini akan ditampilkan pada output Q1 pada
Clock pertama ( tn+1). Sebelum ke Clock ke 2, Input kembali menjadi 0.
Dan pada saat clock kedua ( tn +2 ) keluaran Q1 menjadi 0 dan Q2 menjadi
1. Setelah Clock t n+3 Q1 = 0, Q2 = 0 dan Q3 menjadi 1. Setelah clock ke (
tn+4) , Q4 menjadi kondisi 1.
Kemungkinan diatas dapat diilustrasikan pada tabel kebenaran berikut :
Tabel kebenaran register geser
Clock
tn
tn+1
0
Masukan 1
0
1
Q1
0
0
Q2
0
0
Q3
0
0
Q4
tn+2
0
0
1
0
0
t n+3
0
0
0
1
0
tn+4
0
0
0
0
1
tn+5
0
0
0
0
0
109
Komponen Elektronik
Q1
Masukan
1
Q2
Q3
Q4
Clock
Gambar 3.86 Register geser 4 bit menggunakan JK Flip-flop
Selama Shift regsiter tersebut hanya memasang 4 buah Flip-flop,
maka informasi yang akan didapat hanya sebanyak 4 buah, oleh karena
itulah dinamakan sebagai 4-bit Shift register atau register geser 4 bit.
Dengan Shift Register ini ada 2 kemungkinan dasar untuk membaca
kembali informasi yang ada, yaitu :
1.
2.
110
Komponen Elektronik
Pergeseran data
Masukan data serial dengan serial data keluaran
Masukan data serial dengan keluaran data parallel
Masukan data parallel dengan keluaran data seri
Masukan data parallel dengan keluaran data parallel
Keluaran paralel
Q1
Q2
Q3
Q4
Reset
Masukan
serial
1
J cQ
J cQ
J cQ
J cQ
K pQ
K pQ
K pQ
K pQ
&
&
&
&
Clock
Set
a
Masukan paralel
Gambar 3.87 Register geser untuk paralel/serial atau serial/paralel
Komponen Elektronik
111
Gambar 3.88.
112
Komponen Elektronik
Jika kombinasi serial 1010 ada pada masukan sebelah kiri, maka pada
saat clock pertama nilai 1 akan muncul pada keluran Q0 dan pada
masukan yang telah dipilih pada multiplekser selanjutnya. Pada saat
clock kedua, keluaran akan menjadi Q0 = 0 dan Q1 =1, sedangkan pada
clock ketiga Q0 = 1, Q1 = 0, dan pada Clock ke 4 Q0 = 0, Q1 = 1 , Q2 = 0
dan Q3 = 1.
Kombinasi masukan serial ini telah dibacakan ke register yang ada di
sebelah kiri. Data serial yang ada pada masukan sebelah kanan akan di
bawa secara analog. Masukan x3 sampai x0 tidak dimasukkan pada
contoh ini. Sering untuk menghapus semua flip flop secara bersama
sama adalah dengan cara mengeset semua masukan x3 sampai x0 ke
logika 0. Jika masukan x semuanya dipilih melalui S0, S1 setelah pulsa
clock berikutnya akan mengeset semua keluarn x3 sampai x0 ke logika 0.
3.7.9 Counter
Counter adalah rangkaian digital yang didalamnya terdapat
hubungan yang telah ditetapkan batasnya terhadap jumlah pulsa dan
keadaan keluarannya. Komponen utama sebuah counter adalah flip-flop.
2
Q1
Q2
2
Q4
Q3
Clock
1
Gambar 3.89 Rangkaian counter 4 bit
113
Komponen Elektronik
Clock
1
0
Q1
10
11
12
13
14
15
16
17
1
0
Q2
1
0
Q3
Q4
1
0
1
0
t
0
10
11
12
13
14
15
Komponen Elektronik
114
115
4.1 Definisi
Untuk keperluan pengendalian, pengaturan dan supervisi dari
suatu peralatan teknik biasanya diperlukan alat pendeteksi berupa alat
ukur sinyal listrik, dimana pada awalnya sinyal ini biasanya mempunyai
besaran fisika yang bisa diukur sesuai dengan harga besarannya.
Besaran sinyal fisika ini kemudian diubah menjadi sinyal listrik oleh
sensor/detektor melalui pengukuran.
Sensor digunakan sebagai alat pendeteksi/pengukur sinyal bukan
listrik menjadi sinyal listrik yang dalam istilah teknik pengaturan sebagai
suatu blok pemberi sinyal harga terukur (measuring value signal). Blok ini
antara lain terdiri dari piranti absorbsi absorber device, piranti sensor
sensing device, dan elemen khusus yang diperlukan. Jadi pemberi
sinyal harga terukur adalah suatu blok piranti sensor dengan keluaran
sinyal listrik yang sudah terkalibrasi.
Pengendalian biasanya menggunakan sensor untuk mendeteksi /
mengukur keluaran yang akan dikembalikan sebagai umpan balik (feed
back) untuk dibandingkan dengan masukan selaku referensi atau titik
penyetelan (setting point). Sistem pengendalian ini disebut sebagai
system kendali lingkar tertutup (Closed Loop Control).
Pengendalian yang tidak memanfaatkan outputnya sebagai
umpan balik untuk dibandingkan dengan masukan selaku referensi,
disebut sebagai sistem kendali lingkar terbuka (Open Loop Control).
Lebih jelasnya dapat dilihat pada Gambar 4.1 proses yang
dikendalikan , Gambar 4.2 sistem kendali lingkar terbuka , Gambar 4.3
sistem kendali linkar tertutup .
116
117
U(t) = Kp.e(t)
Atau dalam bentuk fungsi alih (Transfer Function :TF) :
Dimana E(s) : Error signal; U(s) : Controller signal; Kp : Gain Over of
Proportional.
Sehingga secara diagram blok dapat dinyatakan :
R(s)
U(s)
Kp
Gambar 4.4 Diagram Blok Pengendali Tipe-P
du (t )
= Ki.e(t ) ; dan
dt
de
= s; dan
dt
U (t ) = Ki e(t )dt
1
edt = s
U ( s) Ki
=
E ( s)
s
Secara diagram blok dapat digambarkan sebagai berikut :
R(s) +
118
E(s)
U(s)
Ki
s
4.3.3
U (t ) = Kp[e(t ) +
1
e(t )dt ]
i
Kp(i.s + 1)
U ( s)
1
= Kp(1 +
)=
i.s
E ( s)
i.s
R(s) +
E(s)
-
Kp( i.s+1)
U(s)
is
119
U (t ) = Kp.e(t ) + D
d
e(t )
dt
U ( s)
= Kp( D .s + 1)
E ( s)
Sehingga secara diagram blok dapat digambarkan sebagai berikut :
R(s) +
E(s)
U(s)
Kp( D.s+1)
120
U (t ) = Kp[e(t ) +
e(t )dt + D
d
e(t )]
dt
Kp( . .s 2 + .s + 1)
U ( s)
1
i D
i
= Kp(1 +
+ D s) =
i .s
i .s
E ( s)
Pengendali PID Termodifikasi (Modified PID Controller)
Hubungan sinyal error dan sinyal kendali dalam bentuk fungsi alih adalah
:
Ds
U ( s)
1
= Kp(1 +
+
)
E ( s)
i .s n D s + 1
Atau dinyatakan dalam bentuk persamaan lain :
U ( s) Kp[(n + 1) i . D .s 2 + ( i + n D ) s + 1]
=
E ( s)
i .s(n D s + 1)
Secara diagram blok sistem dapat digambar sebagai berikut :
E(s)
Kp[(n + 1) i . D .s 2 + ( i + n D ) s + 1]
i .s(n D s + 1)
U(s)
121
Rp
ep(t)
Rp
R
P
Proportional
Ci
RF
ei(t)
ei(t)
R
I
u(t)
Integral
Rd
ed(t)
Cd
Rdi
R
D
Differential
U (t ) =
RF
[ep(t ) + ei(t ) + ed (t )] = Kp[ep(t ) + ei(t ) + ed (t )]
R
Karena :
E p (t ) =
Rp
e(t ) = e(t )
Rp
122
1
1
e (t ) =
e(t ) = e(t )dt
i
Ri C i
ed (t ) = Rd C d
d
d
e(t ) = D e(t )
dt
dt
U (t ) = K p [e(t )
U ( s) = K p [ E ( s) +
e(t )dt D
d
e(t )]
dt
1
1
E ( s) + D sE ( s)] = K p [1 +
+ D s ]E ( s )
is
is
U ( s)
=
E ( s)
K p [1 +
1
+ D s ]E ( s )
is
Kp[ i D s 2 + i s + 1]
1
= K p [1 +
+ s] =
is D
E (s)
is
123
Kompensator
Lead/Lag
melalui
Perancangan Adaptip.
Pada prinsipnya perancangan Pengendali PID adalah menentukan
nilai dari parameter : Kp; Ki atau i dan KD atau D , sehingga respon
sistem hasil desain sesuai dengan spesifikasi dan performansi yang
diinginkan.
Tahapan pekerjaan perancangan pengendali PID secara analitik antara
lain :
(1). Menentukan model matematik plant (model reduksi dalam bentuk
Orde satu atau Orde dua bila plant memiliki system Orde tinggi).
(2). Menentukan spesififikasi performansi :
-Settling time dan % error steady state untuk system Orde satu;
-Settling time dan % over-shoot serta % error steady state untuk
pendekatan respon system Orde dua.
(3). Merancang pengendali PID (tahapan akhir) yang meliputi :
124
* CATATAN :
Bila model plant Orde 0, maka dipilih pengendali P, namun
pengendali P ini jarang digunakan karena terlalu sederhana dan
hanya memenuhi salah satu dari kualitas.
Bila model plant Orde I, maka dipilih pengendali PI dan bila model
plant Orde II dipilih Pengendali PID.
Bila pengendali PD juga jarang digunakan karena memerlukan
Tuning parameter yang presisi, memiliki respon yang sangat cepat
dan cenderung tidak stabil.
R(s) +
E(s)
Kp( is+1)
U(s)
is
K
s+1
C ( s) = E (s)
Karena :
K p ( i s + 1) K
.(
)
is
s + 1
C(s)
125
U (s) = E ( s)
K p ( i s + 1)
is
Dan
R( s) = E ( s) + C ( s) = E ( s) +
E ( s)[ K p K ( i s + 1)]
i s(s + 1)
Berarti :
C ( s)
=
R( s)
K
s + 1
R(s)
U ( s ).
KK p ( i s + 1)
K
E ( s)[
]
s + 1
i s(s + 1)
is
C ( s)
=
=
E ( s)[ K p K ( i s + 1)]
KK p ( i s + 1)
R( s)
E ( s) +
E ( s)[1 +
]
i s(s + 1)
i s(s + 1)
E ( s).
K p ( i s + 1)
KK p ( i s + 1)
i s (s + 1)
i s (s + 1)
i s (s + 1) + KK p ( i s + 1)
KK p ( i s + 1)
i s(s + 1) + KK p ( i s + 1)
126
C ( s)
KpK (is + 1)
=
=
R( s) is(s + 1) + KpK (is + 1)
KpK
KpK
s) + 1
C ( s)
1
= *
R( s) ( s + 1)
Dimana * =
( Kp.K )
Kp.K =
( * .K )
KpK ( i s + 1)
KpK ( i s + 1)
C ( s)
=
=
2
2
R( s) i s + i s + KpK i s + KpK i s + (1 + KpK ) i s + K p K
( i s + 1)
C ( s)
=
R( s) i 2 (1 + K p K ) i
s +1
s +
Kp.K
KpK
Atau dalam persamaan umum dapat dinyatakan :
C ( s)
( i s + 1)
=
1 2 2
R( s)
s +
s +1
2
Dimana
n2
i
K pK
dan
(1 + K p K ) i
K pK
127
Kesimpulan Orde I
a. Hasil desain sistem Orde I adalah paling disukai dalam
praktek, karena tidak memiliki Over-shoot, Zero Off-set (%
Ess=0%) dengan time constan yang baru *.
Jadi plant Orde I dengan pengendali PI, bila dipilih i= ,
system hasil desain adalah sistem Orde I dengan time
constan * dan Zero Off-set.
b. Hasil desain sistem Orde II dengan delay dan Zero Off-set.
Parameter sistem hasi desain antara lain : frekuensi natural
(n); koefisien redaman () dan factor delay (i)
Jadi plant Orde I dengan pengendali PI bila i , sistem
hasil desain adalah Orde II, Zero Off-set dengan parameter
system n , , dan i.
4.4.4 Pnematik
Istilah pnema berasal dari istilah yunani kuno, yang berarti
nafas atau tiupan. Pnematik adalah ilmu yang mempelajari gerakan atau
perpindahan udara dan gejala atau penomena udara.
Ciri-ciri perangkat system pnematik:
Sistem pengempaan, udara dihisap dari atmosphere dan kemudian
dikompresi.
Udara hasil kempaan, suhunya harus didinginkan
Ekspansi udara diperbolehkan, dan melakukan kerja ketika
diperlukan.
Udara hasil ekspansi kemudian dibuang lagi ke atmosphere.
4.4.4.1 Simbol-simbol
Biasanya pada suatu komponen pnematik selalu tertera symbol
daripada komponen tersebut. Pada setiap alat pnematik selalu terdapat
simbol disebelah kanan bawah daripada gambar bagian.
128
129
4.4.4.2.2 Rangkaian OR
Sebuah rangkaian OR terdiri dari dua buah katup yang
dihubungkan parallel. Pada Gambar 4.12 memperlihatkan dua buah
katup 3/2 way (A dan B) mempunyai sebuah sumber tekanan, jika salah
satu tertekan, udara akan mengalir ke dalam silinder penggerak tunggal,
dan menyebabkan piston memukul keluar. Katup bola mengatur udara ke
silinder dan mencegah aliran udara keluar langsung ke pembuangan,
katup menjadi tidak aktif.
130
131
Elektronika Daya
132
5.1
5.2
133
Elektronika Daya
AC
Chopper
DC
Chopper
AC
Chopper
Inverter
Elektronika Daya
134
Perbedaan dan perubahan energi listrik antara sistem tiga, satu fase arus
bolak balik dan arus searah telah diatur dan diformulasikan pada DIN
41750.
a.
b.
c.
d.
e.
135
Elektronika Daya
Kebutuhan Rumah
Pengatur terang redupnya lampu penerangan (Contoh dimmer
ruang lampu dekorasi)
Kendaraan berat
Pengapian elektronik
Pembangkit pulsa untuk pengerak servo
Penggerak stater generator
Konverter dari 12 Volt ke 24 Volt DC
Pengerak power string pada kemudi
Transmisi automatik
Besaran
Pengendali
Bagian
Informasi
Bagian
Pengendali
Bagian
Daya
Aliran
Energi
136
Elektronika Daya
Bagian Informasi
Sering sekali bagian Daya dan bagian Pengendali dilengkapi dengan
bagian informasi, sehingga menjadi sebuah sistem pengendali dan
pengaturan (open loop control dan close loop control) salah satu contoh
pengaturan kecepatan motor listrik. Nilai besaran hasil koreksi eror
langsung diumpankan ke bagian pengendali.
5.3
137
Elektronika Daya
IN = 4000A fmax=50 Hz
URRM = 2000V,
IN = 200A fmax=50 Hz
138
Elektronika Daya
IN = 2400A fmax=50 Hz
UDRM = 2500V,
Triac
Thyristor atau SCR TRIAC mempunyai kontruksi sama dengan
DIAC, hanya saja pada TRIAC terdapat terminal pengontrol (terminal
gate). Sedangkan untuk terminal lainnya dinamakan main terminal 1 dan
main terminal 2 (disingkat mt1 dan mt2). Seperti halnya pada DIAC,
maka TRIAC pun dapat mengaliri arus bolak-balik, tidak seperti SCR
yang hanya mengalirkan arus searah (dari terminal anoda ke terminal
katoda). Lambang TRIAC di dalam skema elektronika, memiliki tiga kaki,
dua diantaranya terminal MT1 (T1) dan MT2 (T2) dan lainnya terminal
Gate (G) : Gambar dibawah memperlihatkan struktur dalam pada TRIAC
: Triac adalah setara dengan dua SCR yang dihubungkan paralel. Artinya
TRIAC dapat menjadi saklar keduanya secara langsung. TRIAC
digolongkan menurut kemampuan pengontakan. TRIAC tidak mempunyai
kemampuan kuasa yang sangat tinggi untuk jenis SCR. Ada dua jenis
TRIAC, Low-Current dan Medium-Current.
139
Elektronika Daya
fmax=50 Hz
UDRM = 1000V,
IN = 40A
fmax=50 Hz
Hubung
dan
Putus
140
Elektronika Daya
IGBT
Fungsinya (ideal):
-
141
Elektronika Daya
Elektronika Daya
142
Elektronika Daya
143
144
Elektronika Daya
Dengan demikian bilai tegangan jatuh serta resapan dayanya pada saat
keadaan menghantar juga kecil. Dengan sifat-sifat seperti ini, IGBT akan
sesuai untuk dioperasikan pada arus yang besar, hingga ratusan amper,
tanpa terjadi kerugian daya yang cukup berarti. IGBT sesuai untuk
aplikasi pada perangkat Inverter maupun Kendali Motor Listrik (Drive).
145
Elektronika Daya
5.4
146
Elektronika Daya
Pengendalian
Arus bolak balik
Alat
kendali
Elektronika Daya
147
148
Elektronika Daya
0)
mengakibatkan
149
Elektronika Daya
Elektronika Daya
150
Elektronika Daya
151
L
. Sehingga arus maksimum yang terjadi secara exponensial
R
U
ivmak = 0
R
152
Elektronika Daya
Uv =
Tg
Tg + To
Uo =
Tg
Tp
U o atau
Tg
T
Uv
=
= g
U o Tg + To T p
Salah satu contoh gambar dibawah adalah bentuk gelombang pada
tegangan dan arus pada beban terhadap waktu dengan Tg=0,75 Tp
153
Elektronika Daya
1
= f PWM = 16kHz
Tp
Pengendali Pulsa
Tg atau To konstan, Tp variable (jarang digunakan)
Dua titik Pengaturan
i konstan, Tp variabel, sistem ini sering dipakai pada pengaturan
154
Elektronika Daya
uv = U o
Arus pada beban iv naik ekponensial dengan konstanta waktu T =
dan hasilnya adalah
L
R
Uo
R
uv = U o
Arus pada beban naik eksponensial tetapi dengan polaritas negatif
adalah
Uo
R
uv = 0
Arus pada beban mempunyai nilai nol.
uv = 0
Identis dengan pada nomer 3
155
Elektronika Daya
L
. Dibawah ini salah satu contoh hasil
R
156
Elektronika Daya
157
6.1.1 Pengontrol
6.1.1.1 Register Perintah
Register perintah diisi langsung dari bus data sistem melalui bus
data internal. Pada informasi 8 bit yang dibawah ke register ini adalah
selalu menunjukkan suatu kode operasi dari sebuah perintah.
6.1.1.2. Pendekoder Perintah
Masing-masing bit dalam register perintah di uji / di periksa
keadaan tegangannya ( H atau L ) oleh pendekoder perintah . Dengan
demikian hal tersebut dapat dipastikan bahwa informasi yang disimpan
dalam register perintah adalah merupakan suatu kode operasi tertentu.
6.1.1.3. Pengontrol Waktu dan Aliran ( Pengontrol Waktu dan Aliran )
Unit ini berfungsi mengkoordinasikan antara jalannya sinyal di
dalam dan di luar mikroprossesor dengan waktu. Unit pengontrol ini
menyimpan informasi internal mikroprossesor yang berasal dari
pendekoder perintah dan dari luar unit sistem. Sinyal yang di terima dari
luar adalah sinyal detak
( clock ), sinyal control ( WR,RD ) dan sinyal
penawaran ( Riset, int ) pengontrol waktu dan logik memberikan informasi
balik pada unit sistem seperti sinyal tulis diberikan ke unit sistem
menunjukkan bahwa pada unit ini akan di tulis sebuah data.
Keseluruhan dari sinyal masuk dan keluar pada unit pengontrol waktu
dan logika ini disebut bus kontrol.
158
6.1.2 Penyimpan
Prinsip dari mekanisme penyimpan dari sebuah mikroprossesor
Multiplexer
A
F
B
C
D
E
H
L
Penghitung perintah ( PC )
Penunjuk Stack (Stack Printer)
Penyimpan sinyal alamat
Mekanisme Penyimpan dari Z 80 dibagi dalam 6 kelompok fungsi
6.1.2.1 Multi plexer / Pemilih Register
Melalui multiplexer 1 pemilih register, lokasi memori dalam blok
register yang dipilih dapat di tulis atau di baca.
6.1.2.2 Register Sementara A - F
Hal ini mengenai dua register 8 bit , yang dapat dipakai sebagai
register tunggal ( 8 bit ) atau dipakai sebagai register pasangan ( 16 bit)
untuk proses internal Mikroprossesor.
Register A - F adalah sama dengan penghitung data dari penghitung
sederhana. Dengan kata lain, dalam register A - F , sebagai contoh :
bagian alamat 16 bit dari sebuah perintah disimpan untuk sementara.
6.1.2.3 Register pasangan BC, DE, HL
Register ini dalam program dipakai sebagai register tunggal atau
sebagai register pasangan. Bila dipakai sebagai register tunggal maka
dia dapat dipakai sebagai penyimpan 8 bit . Bila dipakai sebagai register
pasangan, dia dapat menyimpan 16 bit , sebagai contoh alamat lokasi
memori 16 bit. Dalam mikroprosessor tersedia perintah khusus untuk
register 16 bit ini.
6.1.2.4. Penghitung Perintah
Dalam penghitung perintah terdiri dari alamat masing - masing data
yang dibaca sebagai alamat penyimpan program berikutnya. Data yang
disimpan dalam penyimpan program selalu adalah kode operasi ( up code ) , perintah dan data ( sebagai contoh bagian alamatnya )
Penghitung perintah mempunyai tugas untuk selalu meletakkan
mikroprosessor pada posisinya yang benar pada jalannya program.
159
6.1.3 Operasi
Prinsip Mekanisme Operasi sebuah Mikroprosessor Z 80 dibagi
dalam 5 klompok fungsi :
6.1.3.1 Unit Aritmatik Logika
ALU melaksanakan semua operasi aritmatik dan logika
6.1.3.2 Register Sementara ( Register Operan )
Register sementara berfungsi sebagai penyimpan data sementara.
6.1.3.3 Akkumulator
Operasi Aritmatik dan Logik selalu dijalankan dengan operanoperan pertama disimpan sementara dalam akkumulator operan ke dua
disimpan sementara dalam penyimpan sementara ( register sementara )
Kedua operan dijalankan pada operasi yang ada di akkumulator. ALU
mengisi hasil operasi ke akkumulator.
6.1.3.4 Register kondisi (PSW = Program Stakes Word )
Dalam register kondisi 8 bit terdiri dari 5 flip-flop syarat, yang diset
atau di reset tergantung dari hasil operasi aritmatik atau logik dari ALU.
Flag :
160
161
'
'
'
'
'
'
162
MI
27
MREO
19
32
20
33
21
34
22
35
30
A0
31
IORO
SYSTEM
CONTROL
RD
WR
RFSH
A
1
A
2
A3
A4
A
5
A6
36
28
37
38
HALT
18
39
40
WAIT
CPU
CONTROL
INT
NMI
RESET
CPU
BUS
CONTROL
BUSREQ
BUSACK
24
1
2
16
17
Z 80 CPU
7
A8
A
9
A10
A11
ADDRE
BUS
A12
A13
A14
26
A15
25
23
14
15
12
+
+5V
GND
11
29
7
9
10
13
DATA
BUS
163
BUS - Data
Menggambarkan sejumlah penghantar paralel yang menghubungkan
satuan fungsi dari sistem mikroprosessor .
Data yang bekerja didalam mikroprosessor ditransfer melalui data bus
Transfer data berjalan dalam dua arah ( Bi Directional )
Mikroprosessor Z. 80 dan 8085 mempunyai penghantar data - bus 8 bit.
Untuk mengirim data secara bidireksional ( lintasan dua arah ) antar
berbagai chip yang terdapat dalam suatu sistem mis : dari perantara I/O
menuju mikroprosessor dan dari mikroprosessor menuju memori.
BUS Alamat
Kombinasi sinyal pada penghantar Bus Alamat dari blok fungsi
mikroprosessor. Misalnya : Alamat memori untuk program / data , yang
mana pada lokasi memori ini, - data akan ditulis atau dibaca.
Bus alamat 8085 / Z. 80 terdiri dari 16 buah penghantar yang paralel dan
membentuk alamat dengan lebar sebanyak 16 bit, yaitu 2.16 (2 pangkat
16) atau 65536 Byte ( 64 KB ).
Kombinasi sinyal pada penghantar Bus - alamat dikirim dari
mikroprosessor, dengan demikian Bus - alamat bekerja secara Uni
Directorial (satu arah). Bus ini berpangkal dari mikroprosessor dan
digunakan untuk menghubungkan alamat-alamat CPU dengan semua
chip yang mempunyai alamat. Bus ini digunakan dalam hubungannya
dengan bus data untuk menentukan sumber atau tujuan data yang dikirim
pada bus data.
BUS Kontrol
Sistem penghantar bekerja dengan kombinasi secara tepat dan
logis untuk mengontrol proses jalannya sinyal diluar dari pada
mikroprosessor ( mengsinkronkan kerja CPU dengan blok - blok lainnya )
Penghantar Bus - kontrol bersifat uni directional dengan arah yang
berbeda beda.
Untuk membawa sinyal - sinyal penyerempak antara mikroprosessor dan
semua alat/chip yang dihubungkan dengan Bus - bus
Mis : sinyal baca , tulis, interupsi wait dan .
164
165
H
NOT1
NOT2
ENABLE
DB
DB
L
OUT
IN
3 STATE 1
ENABLE
DB7
DB7
H
OUT
IN
3 STATE 2
6.1.7 Flag
Flag adalah sebuah flip-flop di dalam blok penghitung dari CPU dan
disebut sebagai register Flag.
Keadaan flag ini setelah pelaksanaan sebuah instruksi ( yang
mempengaruhi flag ) akan menghasilkan sifat dari hasil sebuah
operasi.Pada Z. 80, flag dipasangkan dengan akumulator dan dikenal
dengan Program Status Wort ( PSW )
166
Flag carry
Flag pengurangan
Flag parity overflow
Flag half carry
Flag zero
Flag sign
Flag Zero ( Z )
Jenis flag ini menunjukkan apakah pada pelaksanaan terakhir dari
operasi ,hasil pada semua bit adalah = 0
Flag Zero = 1, bila pada semua bit register hasil = 0
Flag Zero = 0, bila tidak semua bit pada register hasil = 0
Contoh :
0 1 1 0 0 0 0 0
1 1 0 0 1 0 1 0
1 0 0 1 0 1 0 1 0
Flag zero = 0
Flag carry = 1
167
2.
Flag Carry ( C )
Flag carry menunjukkan bahwa apakah pada proses operasi
sebuah bit carry dipindahkan dari bit tertinggi MSB pada register
hasil.
Kondisi ini dapat terjadi pada operasi :
Penjumlahan, bila hasil proses data lebih dari 8 bit, atau 16 bit.
Pengurangan a - b , bila b > a, hasilnya juga negatip
Pergeseran , bila nilai 1 bit pada bit tertinggi atau terendah
digeserkan ke carry.
Flag carry = 1, bila terjadi carry ( lebihan/bawaan )
Flag carry = 0, bila tidak terjadi carry.
Flag carry dapat diset melalui perintah SCF dan disalin melalui
perintah CSF.
3.
Flag Sign ( S )
Pada operasi yang mempengaruhi flag, flag sign menyimpan
kondisi bit tertinggi dari register hasil.
Flag sign = 1 bila bit tertinggi dari register hasil = 1
Flag sign = 0 bila bit tertinggi dari register hasil = 0
4.
Flag Parity/Overflow ( /v )
Bit kedua dari register flag mempunyai 4 ( empat ) arti yang
berbeda, tergantung dari hasil akhir pelaksanaan operasi.
a. Flag Overflow
Pengertian ini berlaku setelah pelaksanaan dari perintah aritmatik;
- ADD, ADC, SUB, SBC
- INC, DEC
Flag overflow diset 1 pada proses perpindahan dari bit ke 7 ke bit
8, yaitu yang mempengaruhi tanda bilangan positip atau negatip
pada perhitungan bilangan.
b.Flag parity
Pengertian ini berlaku setelah pelaksanaan dari perintah berikut
ini :
- Perintah logika AND, OR, XOR
- Perintah geser RL, RR, RLC, SLA, SRA, SRL, RLD, RRD
- Aritmatik BCD DAA
- Perintah input dengan pengalamatan tidak langsung IN r, ( c )
Flag parity = 1, bila jumlah bit dari hasil akhir operasi adalah
genap
Flag parity = 0, bila jumlah bit dari hasil akhir operasi adalah
ganjil.
c. Penjumlahan Nol pada perintah Blok
168
6.
Flag Pengurangan ( N )
Urutan perhitungan untuk persamaan desimal (DAA) pada operasi
penjumlahan berbeda dengan operasi pengurangan, hal ini
tergantung pada kondisi bit flag N. Pada operasi pengurangan nilai
flag N di set, sedangkan untuk operasi penjumlahan flag N di reset.
Flag Half Carry ( H )
Bila pada penjumlahan terdapat perpindahan Carry dari Bit 3 ke bit
4 maka Flag Half Carry ( H ) diset, bila tidak ada carry, flag half
carry ( H ) di reset.
Pada pengurangan flag half carry ( H ) di set bila terjadi
perpindahan pada bit ke 4 ke bit 3.
169
170
LD0
SWE
171
Daerah Memori
0000 H alamat
awal EPROM
0FFFH alamat
akhir EPROM
1000H alamat
awal RAM
17FFH alamat
akhir RAM
b. Persamaan Boole
CS EPROM = (( MREQ A15 ) A14 A13 A12 )
CS RAM
172
173
8255 OPERATIONAL
DESCRIPTION
Gambar 6.1.11 Konfigurasi Pin PPI 8255
Pin - Pin Saluran Data :
Bus Data : D7 - D0
Bus Port A : PA7 - PA0
Bus Port B : PB7 - PB0
Bus Port C : PC7 - PC0
Pin - Pin Saluran Pengontrol :
Baca (Read)
: RD
Tulis (Write)
: WR
Reset
: Reset
Pin-pin Pendekode Alamat :
Pin - pin yang sangat penting untuk mengkode alamat register PPI 8255
adalah :
Pin alamat : A1 dan A0 serta pemilih chip (Chip select) : CS
174
: Dihubungkan ke sakelar
Sakelar dipakai untuk memasukkan sinyal baca pada
terminal RD
WR
: Dihubungkan ke sakelar
Sakelar dipakai untuk memasukkan sinyal tulis pada
terminal WR
Sakelar Write (S WR) terbuka : operasi menulis
RESET
: Dihubungkan ke sakelar
Sakelar dipakai untuk memasukkan sinyal Reset pada
terminal Reset
Sakelar Reset (S RS) terbuka : PPI tidak terreset
CS
: Dihubungkan ke sakelar
Sakelar dipakai untuk memasukkan sinyal Pemilihan Chip
pada terminal (CS) Chip Select
Sakelar CS terbuka : PPI aktif
A1-A0
: Dihubungkan ke sakelar
Sakelar dipakai untuk memasukkan data alamat Port
175
CS
X
RD
X
WR
X
A1
X
0
0
0
1
1
1
1
X
A0
X
Operasi reset
Port A, B dan C sebagai
Masukan
0
1
0
0
1
0
1
Bus Data
Bus Data
Bus Data
Bus Data
1
X
Port A
Port B
Port C
Register Kontrol
176
Gambar 6.1.13
177
178
IOREQ
0
0
0
0
A7
0
0
0
0
A6
0
0
0
0
A5
0
0
0
0
A4
0
0
0
0
A3
0
0
0
0
A2
0
0
0
0
A1
0
0
1
1
A0
0
1
0
1
179
180
CS
Chip Select (pemilih chip) kondisi LOW pada pin input ini,
mengijinkan terjadinya komunikasi antara 8255 dengan CPU.
RD
Read (pembacaan) kondisi LOW pada pin input ini, mengijinkan 8255
untuk mengirimkan informasi data ke CPU melalui Bus data.
Pada prinsipnya mengijinkan CPU membaca informasi data dari 8255.
WR
A
0
0
1
0
R
D
0
0
0
W
R
1
1
1
C
S
0
0
0
Input Operation
(READ)
Output Operation
(WRITE)
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
0
0
X
1
X
X
1
X
X
0
1
X
1
1
1
0
0
Disable Function
Reset
Reset kondisi HIGH pada input ini, akan menghapus isi Register
Kontrol dan semua Port (A,B, dan C) dan semua Port di SET
sebagai masukan.
181
182
WR
183
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
GROUP A
Port A
Port C
(Upper)
OUTPUT OUTPUT
OUTPUT OUTPUT
OUTPUT OUTPUT
OUTPUT OUTPUT
OUTPUT INPUT
OUTPUT INPUT
OUTPUT INPUT
OUTPUT INPUT
INPUT OUTPUT
INPUT OUTPUT
INPUT OUTPUT
INPUT OUTPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
184
#
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GROUP B
Port B
Port C
(Lower)
OUTPUT OUTPUT
OUTPUT INPUT
INPUT OUTPUT
INPUT
INPUT
OUTPUT OUTPUT
OUTPUT INPUT
INPUT OUTPUT
INPUT
INPUT
OUTPUT OUTPUT
OUTPUT INPUT
INPUT OUTPUT
INPUT
INPUT
OUTPUT OUTPUT
OUTPUT INPUT
INPUT OUTPUT
INPUT
INPUT
185
186
Z - 80
CLK
1K
1K
Sakelar reset
4K7
1/3 74LS14
26
Z - 80
RESET
10 F/16V
187
+5V
Sakelar INT
10K
16
INT
33 F/16V
Z - 80
+5V
Sakelar NMI
10K
17
NMI
33 F/16V
Saluran RD , Output
CPU akan mengaktifkan saluran RD , RD = Low , selama CPU
melaksanakan perintah untuk membaca data dari lokasi penyimpanan
data/program ( memori ) atau register Input Output ( port ).
188
Saluran WR , Output
CPU akan mengaktifkan saluran WR , WR = Low , selama CPU
melaksanakan perintah untuk menulis data ke lokasi penyimpanan
data/program ( memori ) atau register Input output ( port ).
Untuk saluran - saluran lain pada CPU Z - 80, yang jalannya sinyal
sebagai Input, harus diaktifkan sesuai fungsinya dalam sistim.
+5V
10K
25
10K
24
z - 80
BUSRQ
WAIT
189
0 0 1 1 1 0 1 0
0 0 1 1 0 1 0 0 Alamat sumber penyimpan 16
0 0 0 1 0 0 1 0 BIT
Contoh : INC L
adr
adr
190
4. Pengalamatan Terindeks
Disini alamat efektif disusun dari beberapa bagian yang mana bagianbagian ini dapat berasal dari Register-Register CPU, Register masukan
/keluaran atau dari lokasi penyimpan.
Contoh : LD E, (IX + 12)
adr
adr + 1
adr + 2
Mnemonik
LD r,n
r = Register CPU (8 bit) A,B,C,D,E,F,H,L
n = Data (8 bit)
LD rr, nn
rr = Register CPU (16 bit) BC,DE,HL,IX,IY,SP
nn = Data (16 bit)
Operasi
rn
rr nn
Register CPU r atau rr diisi dengan konstanta n atau nn
yang mengikuti kode mesin
191
Format
adr 0
adr + 1
LD r, n
r
1 1
KONSTANTA
adr
= Alamat Memori
r dan rr = dapat berupa :
A = 111
D = 010
B = 000
E = 011
C = 001
H = 100
L = 101
LD rr, nn
adr
0 0 rr 0 0 0 1
adr + 1 KONSTANTA LSB
adr + 2 KONSTANTA MSB
BC = 00
DE = 01
HL = 10
SP = 11
Flag
Tidak berpengaruh
Flag
Tidak terpengaruh
192
LD A, (nn)
0 1 1 1 0 1 0
Alamat LSB
Alamat MSB
LD rr, (nn)
adr 1 1 1 0 1 1 0 1
adr + 1 0 1
rr 1 0 1 1
adr + 2
Alamat LSB
adr + 3
Alamat MSB
Flag
Tidak terpengaruh.
LD (nn), A
0 0 1 1 0 0 1 0
Alamat LSB
Alamat MSB
1 1
0 1
LD (nn), rr
1 0 1 1 0 1
rr
0 0 1 1
Alamat LSB
Alamat MSB
193
6.1.12.2
194
Format
LD r, (HL)
0 1
r
LD (HL), r
0 1 1 1
LD (BC),A
0 0 0 0
LD (DE), A
0 0 0 1
LD (HL), n
0 0 1 1 0 1 1
KONSTANTA
LD A, (BC)
0 0 0 0
LD A, (DE)
0 0 0 1
Flag
Tidak terpengaruh.
6.1.12.13 Perintah Transfer dengan Pengalamatan tidak Langsung
melalui Register + Offset
Dipergunakan untuk transfer data 8 bit antara Register, CPU dan
Memori. Penunjukkan yang tepat sebenarnya adalah Register tidak
langsung + offset. Sebagai Register alamatnya biasa dipakai Register
index IX dan IY. Untuk itu Register index ini harus diisi terlebih dahulu
dengan alamat basis yang diinginkan.
Mnemonik :
LD r, (IR + e)
LD (IR + e), r
LD (IR + e), n
r
IR
e
n
Operasi
Register CPU Memori
Register CPU r diisi oleh isi dari lokasi Memori yang ditunjuk oleh
isi Register Index + offset
Memori Register CPU
Lokasi memori yang ditunjuk oleh Register Index + offset diisi oleh
register CPU r
195
Format
LD r, (IX + e)
adr
1 1 0 1 1 1 0 1
adr + 1 0 1
r
1 1 0
adr + 2
KONSTANTA e
LD (IX + e), r
1 1 0 1 1 1 0 1
0 1 1 1 0
r
KONSTANTA e
LD r, (IY + e)
adr
1 1 1 1 1 1 0 1
adr + 1 0 1
r
1 1 0
adr + 2
KONSTANTA e
LD (IY + e), r
1 1 1 1 1 1 0 1
0 1 1 1 0
r
KONSTANTA e
LD (IX + e), n
1 1 0 1 1 1 0 1
0 0 1 1 0 1 1 0
KONSTANTA e
LD (IY + e)
1 1 1 1 1 1 0 1
0 0 1 1 0 1 1 0
KONSTANTA e
KONSTANTA n
196
Operasi :
Register alamat SP ini mempunyai sifat yang sangat praktis yaitu
sebelum penyimpanan sebuah byte oleh perintah push, isi dikurangi 1
dan setelah pembacaan sebuah byte oleh perintah POP, isi SP
ditambah 1.
Proses penambahan dan pengurangan isi SP dilakukan secara otomatis
oleh block pemroses perintah.
6.1.12.5 Perintah Transfer dengan Pertukaran Data
Dengan kelompok perintah ini, tidak sama seperti register tujuan di
isi dengan Register sumber, (isi pada register sumber tidak berubah),
tetapi pada perintah ini, isi kedua Register saling bertukar.
Mnemonik :
EX DE, HL
EX (SP), HL
Format :
EX DE, HL
1 1 1 0
EX (SP), HL
1 1 1 0
Operasi :
Isi pasangan Register saling dipertukarkan
D=H
E=L
SP = H
SP + 1 = L
Flag
Tidak terpengaruh
197
IN A, (n)
0 1 1 0
Konstanta
OUT (n), A
0 1 0 0
Konstanta
Operasi :
A, (n)
Akku CPU diisi dengan isi register I/O yang beralamat n
(n), A
Register I/O yang beralamat n diisi oleh isi dari Akku
CPU
Flag
Tidak terpengaruh
CONTOH :
IN A,(20H)
0900
0901
DB
20
198
Format
IN r, (C)
adr 1 1 1 0 1 1 0 1
adr + 1 0 1
r
0 0 0
OUT (C), r
1 1 1 0 1 1 0 1
0 1
r
0 0 1
Operasi
Register CPU tujuan r diisi dengan isi dari Register C yang
merupakan pengalamatan dari port I/O
Register C yang merupakan pengalamatan dari port I/O diisi
dengan isi dari Register CPU r.
Flag :
Pada perintah input (IN)
Flag S = 1, bila bit tertinggi = 1
Flag Z = 1, bila data yang dibaca = 0
Flag P = 1, pada parity genap dari data yang di baca
Register Flag
Flag adalah sebuah flip-flop di dalam blok penghitung dari CPU dan
disebut sebagai Register Flag.
Keadaan Flag ini setelah pelaksanaan sebuah perintah ( yang
mempengaruhi Flag ) akan menghasilkan sifat dari hasil sebuah operasi.
Pada Z-80 , Flag di pasangkan dengan Akkumulator dan dikenal dengan
program status wort ( PSW ).
AKKUMULATOR
D7
FLAG
D0 D7
S
D0
- P/V N C
Flag Zero
Itu menunjukkan, apakah pada pelaksanaan terakhir ini operasi hasil
pada semua bit adalah = 0.
Kondisi Flag
Flag Zero
199
Flag Zero
= 0, bila semua bit pada Register hasil 0.
Contoh :
0000
0000 +
1 0000
Flag Zero = 1
Flag Carry = 1
Flag Carry
Menunjukkan apakah pada proses operasi sebuah bit carry
dipindahkan dari bit tertinggi MSB pada Register hasil , itu dapat terjadi
pada operasi :
Penjumlahan, bila hasil dari 8 bit atau 16 bit.
Pengurangan a - b, bila b>a, hasil juga negatif.
Pergeseran, bila nilai 1 pada bit tertinggi atau terendah di
geserkan ke carry.
Kondisi Flag
Flag Carry
= 1, bila terjadi Carry.
Flag Carry
= 0, bila tidak terjadi Carry.
Flag Carry dapat set melalui perintah SCF dan dibalik melalui
perintah SCF.
Flag Sign
Pada operasi yang mempengaruhi Flag, Flag sign menyimpan
kondisi bit tertinggi dari Register hasil, jadi :
Kondisi Flag
Flag Sign
Flag Sign
200
Mnemonik :
ADD A, r
201
SUB r
ADC A, r
SBC A, r
Operasi :
Isi dari akku dan register CPU disepakati sebagai bilangan biner
8bit dan saling ditambahkan.
Hasil berada pada akkumulator.
A = A+r
A = A-r
A = A+r+C
A = A-r-C
Format
Dalam penjelasan format perintah bentuk ini, kita kelompokkan
atas jenis pengalamatan
a. Register dengan regisater CPU A, B, C, D, E, H, L.
1
ADD A, r
SUB r
ADC A, r
1 0 0 1 1 r
r
r
r = Pengalamatan register CPU
SBC A,r
A = 111
B = 000
C = 011
D = 010
E = 011
H = 100
L = 101
Konstanta 8 bit
Sebagai operan 2 digunakan konstanta yang penulisanya
mengikuti Op - Code
1
1 0
0
0
1
1
0 ADD A, n
Konstanta 8 bit
1
0
1
0
1
Konstanta 8 bit
SUB n
202
0
0
1
1
Konstanta 8 bit
ADC A, n
0
1
1
1
Konstanta 8 bit
SBC A, n
SUB (HL)
ADC A,
(HL)
SBC A,
(HL)
d. Indeks offset
Sebagai operan 2 digunakan isi dari lokasi memori yang
ditunjukkan melalui register index + offset e
1 1 0 1 1 1 0 1 ADD A,
1 0 0 0 0 1 1 0 (IX+e)
Konstanta offset e
1 1 1 1 1 1 0 1 ADD A,
1 0 0 0 0 1 1 0 (IY+e)
Konstanta offset e
1 1 0 1 1 1 0 1 SUB
1 0 0 1 0 1 1 0 (IX+e)
Konstanta offset e
1 1 1 1 1 1 0 1 SUB
1 0 0 1 0 1 1 0 (IY+e)
Konstanta offset e
1 1 0 1 1 1 0 1 ADC A,
1 0 0 0 1 1 1 0 (IX+e)
Konstanta offset e
1 1 1 1 1 1 0 1 ADC A,
1 0 0 0 1 1 1 0 (IY+e)
Konstanta offset e
1 1 0 1 1 1 0 1 SBC A,
1 0 0 1 1 1 1 0 (IX+e)
1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 0 SBC A,
(IY+e)
Konstanta offset e
Konstanta offset e
Flag
203
ADD IX, rr
rr = BC, DE, SP, IX
ADD IY, rr
RR =
BC,DE,SP,IY
Operasi
HL = HL + rr
IX = IX + rr
IY = IY + rr
Isi dari register CPU yang baru (HL, IX atau IY) terdiri dari
penjumlahan isi yang lama dengan isi register CPU yang lain.
Format
0 0 r r 1 0 0 1
1 1 0 1 1 1 0 1
0 0 r r 1 0 0 1
1 1 1 1 1 1 0 1
0 0 r r 1 0 0 1
BC = 00
DE = 01
HL = 10
IY = 11
BC = 00
DE = 01
HL = 10
IX = 11
rr = Register 16 bit
BC = 00
DE = 01
HL = 10
SP = 11
Flag
Bit flag H, N dan C terpengaruh.
Juga pada aritmatika dengan operan 16 bit terdapat perintah yang
melibatkan bit carry dalam perhitungan.
Mnemonik
ADC HL, rr
rr = register 16 bit CPU
SBC HL, rr
BC, DE, HL, SP
Operasi
HL = HL + rr + C
Isi yang baru dari HL terdiri dari hasil penjumlahan yang lama
dari HL ditambah/dikurangi isi dari register 16 bit CPU dan isi
bit carry.
Format
1 1
0 1
rr
1
r
0
r
1
1
1
0
0
1
1
0
1
0
1
1
1
r
0
r
1
0
1
0
= Register 16 bit
0
1
1
0
204
BC
DE = 01
HL = 10
SP = 11
= 00
Flag :
Semua bit Flag terpengaruh.
6.1.15 Perintah Biner AND,OR,EX-OR dan CP
Kebanyakan mikroprosessor dapat melaksanakan biner seperti
AND, OR, EX-OR dan CP.
Seperti pada operasi aritmatika operasi 8 bit berlaku bahwa pada
awalnya sebuah operasi harus berada pada akku dan hasil operasi
kembali berada pada akkumulator CPU, dengan demikian penulisan
mnemonik dapat disingkat sebagai berikut :
Mnemonik :
AND r
OR r
XOR r
CP r
A = A OR r
A = A XOR r
A-r
r = data 8 bit
Operasi :
A = A AND r
Isi yang baru dari akku terdiri dari isi akku yang lama dihubungkan
secara AND/OR/EX-OR dengan isi dari r.
Pada perintah compare sesuai operasi aritmatik pengurangan,
dimana hasil tidak kembali berada pada akku.
Format :
Format penulisan bahasa mesinnya ditentukan berdasarkan :
a.
Pengalamatan register ( r ) : A, B, C, D, E, F, H, L
Register
1
AND r
XOR r r
OR r
CP r
A = 111
E = 011
b.
c.
d.
205
B = 000
H = 100
C = 001
L = 101
D = 010
0
0
1
Konstanta n
AND n
0
1
1
Konstanta n
XOR n
1
0
1
Konstanta n
OR n
1
1
1
Konstanta n
CP n
AND (HL)
XOR (HL)
OR (HL)
CP (HL)
bit
1 1 1 1 1 1 0 1 AND
1 0 1 0 0 1 1 0 (IY+e)
Konstanta offset e
1 1 0 1 1 1 0 1 XOR
1 0 1 0 1 1 1 0 (IX+e)
Konstanta offset e
1 1 1 1 1 1 0 1 XOR
1 0 1 0 1 1 1 0 (IY+e)
Konstanta offset e
1 1 0 1 1 1 0 1 OR
1 1 1 1 1 1 0 1
1 0 1 1 0 1 1 0 (IX+e ) 1 0 1 1 0 1 1 0
Konstanta offset e
Konstanta offset e
OR
(IY+e)
1 1 0 1 1 1 0 1 CP
1 1 1 1 1 1 0 1
1 0 1 1 1 1 1 0 (IX+e ) 1 0 1 1 1 1 1 0
Konstanta offset e
Konstanta offset e
206
CP
(IY+e)
Flag :
Untuk operasi AND, OR dan EX-OR, semua bit flag terpengaruhi C
= 0, H = 1, N = 0
Untuk operasi CP seperti pada operasi pengurangan SUB.
Penggunaan Perintah Biner
Perintah AND digunakan untuk menghapus bit yang diinginkan dari
sebuah data 8 bit.
Contoh :
LD B, C1H
B=11000001
C1H
IN A, (20H)
A=XXXXXXX
X = 0 atau 1
AND B
=
A=XX00000X
Hasil
Bit 5 .........1 direset 0, yang lainnya tetap tidak berubah
Perintah OR digunakan untuk mengeset bit yang dinginkan dari
sebuah data 8 bit
Contoh :
IN A, (20H )
A=XXXXXXXX
X = 0 atau 1
OR 3CH
konstanta = 0 0 1 1 1 1 0 0
CH
A=XX 1111XX
Hasil
Perintah EX-OR digunakan untuk membalik bit yang diinginkan dari
sebuah data 8 bit.
Dengan perintah ini juga dapat dipakai untuk menyamakan 2 byte,
bit-bit yang tidak sama pada akku akan ditunjukkan sebagai 1
Contoh :
IN A, (20H )
A=10001111
8FH
XOR 3CH konstanta = 1 1 0 0 0 0 1 1
C3H
=
A=01001100
Hasil
207
Mnemonik
RRr
Operasi :
Flag :
2. Putar ke kiri / kanan dalam register atau memori dan menuju flag
carry.
Mnemonik :
Mnemonik :
RLC r
RRC r
r = Register CPU 8
bit atau isi memori.
Operasi :
Operasi :
208
Informasi :
Bit akan bergeser 1 kekiri atau kekanan , tetapi isi flag carry tidak
dalam lingkaran perputaran. Bit 7 berpindah ke bit 0 pada RLC, dan
bit 0 berpindah ke bit 7 pada RRC.
Bit yang lain bergeser satu ke kiri
RLC.
Bit yang lain bergeser satu ke kanan
RRC.
Flag :
Flag :
Mnemonik :
RRD (HL)
Operasi :
Flag :
209
Perintah Geser
1. Geser ke kiri secara aritmetik dalam register atau memori
Mnemonik :
SLA r
r
Operasi :
Operasi :
210
Format :
adr
adr + 1
1
0
1
0
0
p
0
p
1
p
Operasi ppp
RLC =
RRC =
RL =
RR =
SLA =
SRA =
SRL =
B
C
D
E
H
L
(HL)
A
000
001
010
011
100
101
111
=
=
=
=
=
=
=
=
000
001
010
011
100
101
110
111
0
r
1
r
1
r
211
Syarat
loncat
Langsung
Tanpa
Syarat
JP adr
Relatif
JR e
tidak
langsung
(melalui
register)
JP (HL)
JP (IX)
JP (IY)
212
Flag zero
Flag Carry
Flag P/V
Flag S
JP Z, adr
JP NZ, adr
JP C, adr
JPNC, adr
JP M, adr
JP P, adr
JR Z, e
JR NZ, e
-
JR C, e
JR NC, e
-
JP PE,
adr
JP PO,
adr
-
JP cc, adr
Format :
adr
C
adr + 1
adr + 2
alamat
tujuan
LSB
alamat
tujuan
MSB
Opcode
Opcode
213
Sebagai syarat loncat hanya dapat dipakai kondisi flag tertentu, seperti
ditunjukkan oleh tabel dibawah ini.
Flag
ccc
Mnemonik
Arti
000
JP NZ, adr loncat ke alamat tujuan bila hasil <> 0 (
Zero
Z=0 )
001
JP Z, adr
loncat ke alamat tujuan bila hasil = 0 ( Z
=1 )
010
JP NC, adr loncat ke alamat tujuan bila carry = 0 (
Carry
C=0 )
011
JP C, adr
loncat ke alamat tujuan bila carry = 1 (
C=1
100
JP PO, adr loncat ke alamat tujuan bila parity ganjil
P/V
( P/V=0 )
101
JP PE, adr loncat ke alamat tujuan bila parity
genap ( P/V=1 )
110
JP P, adr
loncat ke alamat tujuan bila hasil positip
Sign
( S=0 )
111
JP M, adr
loncat ke alamat tujuan bila hasil
negatip ( S=1 )
Setiap perintah loncat selalu hanya dapat menguji sebuah kondisi flag
tertentu yang dihasilkan melalui perintah sebelumnya. Flag Half Carry (H)
dan Flag Subtract ( N ) tidak dapat dipakai sebagai syarat loncat.
Flag : tidak terpengaruh
Perintah loncat dengan pengalamatan relatif
Jenis pengalamatan ini, pada Z-80 hanya dipakai untuk perintah loncat.
Mnemonik
JR e
JR cc, e
1 c c 0
Konstanta e
Op-code
214
00000000
0 sampai + 127 desimal
V = 1 : loncat ke belakang
01111111
11111111
-1 sampai -128 desimal
10000000
Operasi
PC CPU diisi oleh alamat tujuan
yaitu hasil dari PC saat itu
ditambah/dikurangi konstanta e.
CPU akan menjalankan perintah
pada alamat yang ditunjukkan oleh
PC.
Bila
syarat
loncat
yang
ditunjukkan oleh cc terpenuhi,
maka PC akan diisi oleh hasil
penjumlahan/pengurangan
PC
saat itu dengan konstanta e, bila
tidak terpenuhi PC = PC + 1.
215
Program Utama
HALT
Program Bagian 1
RET
R
O
M
Program Bagian
RET
Data yang tidak
berubah (Konstant)
Data yang dapat
berubah ( Variabel )
R
A
M
Daerah Stack
216
217
6.2 MIKROKONTROLER
6.2.1 Algoritma Pemrograman
Tujuan Kegiatan Pembelajaran
Setelah mengikuti kegiatan pembelajaran pada pokok bahasan ini,
diharapkan peserta didik dapat Menguasai Prosedur Penyusunan
Algoritma Pemrograman.
Algoritma
Algoritma adalah urutan langkah-langkah atau tahapan-tahapan
penyelesaian masalah yang disusun secara sistematis dan logis. Kata
Logis merupakan kata kunci dalam Algoritma. Langkah-langkah logis
dalam Algoritma ini harus dapat ditentukan bernilai salah atau benar.
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti
Algoritma adalah proses yang procedural. Definisi procedural menurut
kamus Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas
2. Metode langkah demi langkah secara eksak dalam memecahkan
suatu masalah
Pada pemrograman prosedural, program dibedakan antara bagian data
dengan bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence)
instruksi yang dilaksanakan satu persatu secara berurutan oleh
pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya
pencabangan kondisional. Data yang disimpan dalam memori
dimanipulasi oleh instruksi secara beruntun procedural. Paradikma
pemrograman seperti ini dinamakan pemrograman procedural.
Algoritma adalah bagian paling utama dari pemrograman. Dalam
kehidupan sehari-hari banyak pula dijumpai proses yang dinyatakan
dalam suatu algoritma. Cara-cara membuat kue atau masakan yang
dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma.
Pada setiap resep selalu ada urutan langkah-langkah membuat membuat
masakan. Secara umum pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia,
computer, robot atau alat elektronik lainnya. Pemroses melakukan suatu
proses dengan melaksanakan atau mengeksekusi algoritma yang
menjabarkan proses tersebut. Melaksanakan algoritma berarti
mengerjakan langkah-langkah Pemroses mengerjakan proses sesuai
dengan algoritma yang diberikan kepadanya. Jurus masak membuat kue
berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu
berdasarkan papan not balok.
218
Karena itu suatu algoritma harus dinyatakan dslam bentuk yang dapat
dimengerti pemroses. Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam algoritma
2. Mengerjakan operasi yang sesuai dengan langkah tersebut
Mekanisme pelaksanaan algoritma dilakukan oleh pemroses (komputer).
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh
komputer, algoritma harus ditulis dalam notasi pemrograman sehingga
dinamakan program. Jadi program adalah perwujudan atau implementasi
teknis Algoritma yang ditulis dalam bahasa perograman tertentu sehingga
dapat dilaksanakan oleh komputer.
Program ditulis dalam salah satu bahasa pemrograman dan kegiatan
membuat program disebut Pemrograman (programming). Orang yang
menulis program disebut pemrogram (programmer). Tiap-tiap langkah
yang yang ditulis di dalam program disebut pernyataan (statement) atau
instruksi. Jadi program tersusun atas sederetan instruksi. Bila suatu
instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan
instruksi tersebut dijalankan oleh komputer.
Secara garis besar komputer tersusun dari empat komponen utama,
yaitu ;
1. Piranti masukan, ialah alat yang digunakan untuk untuk memasukkan
data atau program ke dalam memori. Misalnya : keyboard, scanner,
mouse, joystick
2. Piranti keluaran, ialah alat yang digunakan untuk komputer untuk
menampilkan hasil-hasil operasi pemrosesan data. Misalnya :
monitor, printer, plotter
3. Unit pemroses utama (CPU). Ini merupakan otak dari computer yang
berfungsi mengerjakan operasi-operasi dasar seperti operasi
aritmetika dan logika
4. Memory. Tempat menyimpan program yang berisi operasi-operasi
yang akan dikerjakan oleh CPU dan menyimpan data atau informasi
yang akan diolah pemroses ataupun data hasil proses.
219
220
Flowchart
Flowchart adalah suatu metode untuk menggambarkan tahaptahap pemecahan masalah dengan merepresentasikan symbol-simbol
tertentu yang mudah dimengerti, digunakan dan standar untuk diterapkan
Tujuan utama dari penggunaan lowchart adalah untuk menggambarkan
suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan
jelas menggunakan symbol-simbol yang standar. Berikut ini adalah
symbol-simbol standar yang digunakan dalam penulisan program
flowchart.
221
222
223
Operands
ADD
ADC
ADIW
SUB
SUBI
SBC
SBCI
SBIW
AND
ANDI
OR
ORI
EOR
COM
NEG
SBR
CBR
INC
DEC
TST
CLR
SER
MUL
MULS
MULSU
FMUL
FMULS
FMULSU
Rd, Rr
Rd, Rr
Rdl,K
Rd, Rr
Rd, K
Rd, Rr
Rd, K
Rdl,K
Rd, Rr
Rd, K
Rd, Rr
Rd, K
Rd, Rr
Rd
Rd
Rd,K
Rd,K
Rd
Rd
Rd
Rd
Rd
Rd, Rr
Rd, Rr
Rd, Rr
Rd, Rr
Rd, Rr
Rd, Rr
RJMP
IJMP
RCALL
ICALL
RET
RETI
CPSE
CP
CPC
CPI
SBRC
SBRS
SBIC
SBIS
BRBS
BRBC
k
k
Rd,Rr
Rd,Rr
Rd,Rr
Rd,K
Rr, b
Rr, b
P, b
P, b
s, k
s, k
Description
ARITHMETIC AND LOGIC INSTRUCTIONS
Add two Registers
Add with Carry two Registers
Add Immediate to Word
Subtract two Registers
Subtract Constant from Register
Subtract with Carry two Registers
Subtract with Carry Constant from Reg.
Subtract Immediate from Word
Logical AND Registers
Logical AND Register and Constant
Logical OR Registers
Logical OR Register and Constant
Exclusive OR Registers
Ones Complement
Twos Complement
Set Bit(s) in Register
Clear Bit(s) in Register
Increment
Decrement
Test for Zero or Minus
Clear Register
Set Register
Multiply Unsigned
Multiply Signed
Multiply Signed with Unsigned
Fractional Multiply Unsigned
Fractional Multiply Signed
Fractional Multiply Signed with Unsigned
BRANCH INSTRUCTIONS
Relative Jump
Indirect Jump to (Z)
Relative Subroutine Call
Indirect Call to (Z)
Subroutine Return
Interrupt Return
Compare, Skip if Equal
CP Rd,Rr Compare
Compare with Carry
Compare Register with Immediate
Skip if Bit in Register Cleared
Skip if Bit in Register is Set
Skip if Bit in I/O Register Cleared
Skip if Bit in I/O Register is Set
Branch if Status Flag Set
Branch if Status Flag Cleared
Operation
Rd Rd + Rr
Rd Rd + Rr + C
Rdh:Rdl Rdh:Rdl + K
Rd Rd - Rr
Rd Rd - K
Rd Rd - Rr - C
Rd Rd - K - C
Rdh:Rdl Rdh:Rdl - K
Rd Rd Rr
Rd Rd K
Rd Rd v Rr
Rd Rd v K
Rd Rd . Rr
Rd 0xFF - Rd
Rd 0x00 - Rd
Rd Rd v K
Rd Rd (0xFF - K)
Rd Rd + 1
Rd Rd - 1
Rd Rd Rd
Rd Rd . Rd
Rd 0xFF
R1:R0 Rd x Rr
R1:R0 Rd x Rr
R1:R0 Rd x Rr
R1:R0 (Rd x Rr) << 1
R1:R0 (Rd x Rr) << 1
R1:R0 (Rd x Rr) << 1
PC PC + k + 1
PC Z
PC PC + k + 1
PC Z
PC STACK
PC STACK
if (Rd = Rr) PC PC + 2 or 3
Rd - Rr
Rd - Rr - C
Rd - K
if (Rr(b)=0) PC PC + 2 or 3
if (Rr(b)=1) PC PC + 2 or 3
if (P(b)=0) PC PC + 2 or 3
if (P(b)=1) PC PC + 2 or 3
if (SREG(s) = 1) then PCPC+k + 1
if (SREG(s) = 0) then PCPC+k + 1
BREQ
BRNE
BRCS
BRCC
BRSH
BRLO
BRMI
BRPL
BRGE
BRLT
BRHS
BRHC
BRTS
BRTC
BRVS
BRVC
BRIE
BRID
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
MOV
MOVW
LDI
LD
LD
LD
LD
LD
LD
LDD
LD
LD
LD
LDD
LDS
ST
ST
ST
ST
ST
ST
STD
ST
ST
ST
STD
STS
LPM
LPM
LPM
SPM
IN
Rd, Rr
Rd, Rr
Rd, K
Rd, X
Rd, X+
Rd, - X
Rd, Y
Rd, Y+
Rd, - Y
Rd,Y+q
Rd, Z
Rd, Z+
Rd, -Z
Rd, Z+q
Rd, k
X, Rr
X+, Rr
- X, Rr
Y, Rr
Y+, Rr
- Y, Rr
Y+q,Rr
Z, Rr
Z+, Rr
-Z, Rr
Z+q,Rr
k, Rr
Rd, Z
Rd, Z+
Rd, P
Branch if Equal
Branch if Not Equal
Branch if Carry Set
Branch if Carry Cleared
Branch if Same or Higher
Branch if Lower
Branch if Minus
Branch if Plus
Branch if Greater or Equal, Signed
Branch if Less Than Zero, Signed
Branch if Half Carry Flag Set
Branch if Half Carry Flag Cleared
Branch if T Flag Set
Branch if T Flag Cleared
Branch if Overflow Flag is Set
Branch if Overflow Flag is Cleared
Branch if Interrupt Enabled
Branch if Interrupt Disabled
DATA TRANSFER INSTRUCTIONS
Move Between Registers
Copy Register Word
Load Immediate
Load Indirect
Load Indirect and Post-Inc.
Load Indirect and Pre-Dec.
Load Indirect
Load Indirect and Post-Inc.
Load Indirect and Pre-Dec.
Load Indirect with Displacement
Load Indirect
Load Indirect and Post-Inc.
Load Indirect and Pre-Dec.
Load Indirect with Displacement
Load Direct from SRAM
Store Indirect
Store Indirect and Post-Inc.
Store Indirect and Pre-Dec.
Store Indirect
Store Indirect and Post-Inc.
Store Indirect and Pre-Dec.
Store Indirect with Displacement
Store Indirect
Store Indirect and Post-Inc.
Store Indirect and Pre-Dec.
Store Indirect with Displacement
Store Direct to SRAM
Load Program Memory
Load Program Memory
Load Program Memory and Post-Inc
Store Program Memory
In Port
224
if (Z = 1) then PC PC + k + 1
if (Z = 0) then PC PC + k + 1
if (C = 1) then PC PC + k + 1
if (C = 0) then PC PC + k + 1
if (C = 0) then PC PC + k + 1
if (C = 1) then PC PC + k + 1
if (N = 1) then PC PC + k + 1
if (N = 0) then PC PC + k + 1
if (N . V= 0) then PC PC + k + 1
if (N . V= 1) then PC PC + k + 1
if (H = 1) then PC PC + k + 1
if (H = 0) then PC PC + k + 1
if (T = 1) then PC PC + k + 1
if (T = 0) then PC PC + k + 1
if (V = 1) then PC PC + k + 1
if (V = 0) then PC PC + k + 1
if ( I = 1) then PC PC + k + 1
if ( I = 0) then PC PC + k + 1
Rd Rr
Rd+1:Rd Rr+1:Rr
Rd K
Rd (X)
Rd (X), X X + 1
X X - 1, Rd (X)
Rd (Y)
Rd (Y), Y Y + 1
Y Y - 1, Rd (Y)
Rd (Y + q)
Rd (Z)
Rd (Z), Z Z+1
Z Z - 1, Rd (Z)
Rd (Z + q)
Rd (k)
(X) Rr
(X) Rr, X X + 1
X X - 1, (X) Rr
(Y) Rr
(Y) Rr, Y Y + 1
Y Y - 1, (Y) Rr
(Y + q) Rr
(Z) Rr
(Z) Rr, Z Z + 1
Z Z - 1, (Z) Rr
(Z + q) Rr
(k) Rr
R0 (Z)
Rd (Z)
Rd (Z), Z Z+1
(Z) R1:R0
Rd P
OUT
PUSH
POP
P, Rr
Rr
Rd
SBI
CBI
LSL
LSR
ROL
ROR
ASR
SWAP
BSET
BCLR
BST
BLD
SEC
CLC
SEN
CLN
SEZ
CLZ
SEI
CLI
SES
CLS
SEV
CLV
SET
CLT
SEH
CLH
P,b
P,b
Rd
Rd
Rd
Rd
Rd
Rd
s
s
Rr, b
Rd, b
NOP
SLEEP
WDR
BREAK
Out Port
Push Register on Stack
Pop Register from Stack
BIT AND BIT-TEST INSTRUCTIONS
Set Bit in I/O Register
Clear Bit in I/O Register
Logical Shift Left
Logical Shift Right
Rotate Left Through Carry
Rotate Right Through Carry
Arithmetic Shift Right
Swap Nibbles
Flag Set
Flag Clear
Bit Store from Register to T
Bit load from T to Register
Set Carry
Clear Carry
Set Negative Flag
Clear Negative Flag
Set Zero Flag
Clear Zero Flag
Global Interrupt Enable
Global Interrupt Disable
Set Signed Test Flag
Clear Signed Test Flag
Set Twos Complement Overflow.
Clear Twos Complement Overflow
Set T in SREG
Clear T in SREG
Set Half Carry Flag in SREG
Clear Half Carry Flag in SREG
MCU CONTROL INSTRUCTIONS
No Operation
Sleep
Watchdog Reset
Break
225
P Rr
STACK Rr
Rd STACK
I/O(P,b) 1
I/O(P,b) 0
Rd(n+1) Rd(n), Rd(0) 0
Rd(n) Rd(n+1), Rd(7) 0
Rd(0) C,Rd(n+1) Rd(n),CRd(7)
Rd(7) C,Rd(n) Rd(n+1),CRd(0)
Rd(n) Rd(n+1), n=0..6
Rd(3..0) Rd(7..4),Rd(7..4) Rd(3..0)
SREG(s) 1
SREG(s) 0
T Rr(b)
Rd(b) T
C1
C0
N1
N0
Z1
Z0
I1
I0
S1
S0
V1
V0
T1
T0
H1
H0
226
Rangkuman
Algoritma adalah urutan langkah-langkah atau tahapan-tahapan
penyelesaian masalah yang disusun secara sistematis dan logis.
Mekanisme pelaksanaan algoritma dilakukan oleh pemroses (komputer).
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh
komputer, algoritma harus ditulis dalam notasi pemrograman sehingga
dinamakan program. Jadi program adalah perwujudan atau implementasi
teknis Algoritma yang ditulis dalam bahasa perograman tertentu sehingga
dapat dilaksanakan oleh komputer.
Program ditulis dalam salah satu bahasa pemrograman dan kegiatan
membuat program disebut Pemrograman (programming). Orang yang
menulis program disebut pemrogram (programmer). Tiap-tiap langkah
yang yang ditulis di dalam program disebut pernyataan (statement) atau
instruksi. Jadi program tersusun atas sederetan instruksi. Bila suatu
instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan
instruksi tersebut dijalankan oleh komputer.
Flowchart adalah suatu metode untuk menggambarkan tahaptahap pemecahan masalah dengan merepresentasikan symbol-simbol
tertentu yang mudah dimengerti, digunakan dan standar untuk
diterapkan.
Biasanya suatu program yang rumit didahului dengan flowchart system, lalu
dilengkapi pula dengan flowchart terperinci. Keuntungan dari sebuah flowchart
ialah bahwa di menunjukkan urutan langkah-langkah dengan mengunakan
symbol anak panah. Simbol-simbol yang lain digunakan untuk menunjukkan
operasi apa yang dilaksanakan pada tiap-tiap langkah tersebut.
Pembuatan program dapat dilakukan dengan menggunakan bahasa mesin
berupa kode heksadesimal, bahasa assembly dan bahasa tingkat tinggi.
Latihan
Pada Tabel Instruksi Mikrokontroller ATmega8535 tidak ditemukan
instruksi pembagian integer, pada latihan ini kita akan membuat sub
routine yang berfungsi sebagai pembagi integer sebagai berikut ;
r16
r17
Masukan
Keluaran
227
Fungsi : Isi register r16 dibagi dengan isi register r17, hasil pembagian
integer disimpan ke registerr18 sisa pembagian disimpan
ke register r19.
Register r16, r17, r18 dan r19 masing-masing adalah register 8 bit,
sehingga angka yang dapat diproses berkisar antara 0 sampai dengan
255 desimal.
Algoritma atau langkah-langkah pemecahan masalah :
1. Jika r16 lebih kecil dari r17 maka r16 tidak dapat dibagi, maka hasil
pembagian sama dengan 0 ( r18 = 0 ) dan sisa pembagian sama
dengan r16 ( r19 = r16 ) Dan proses pembagian tidak dapat dilakukan
lagi, proses selesai.
2. Jika r16 tidak lebih kecil dari r17 maka lakukan proses pengurangan
r16 r17 hasilnyanya disimpan ke r16
r16 := r16 - r17
228
start
idiv
r18 0
lidiv
tidak
r16 < r17
ya
r16 := r16 - r17
xidiv
r19 r16
r18 := r18 + 1
selesai
table Instruksi
dalam bahasa
229
;===================================================
; Nama sub routine : idiv
; Input : r16, r17
; Output : r18, r19
; Fungsi : pembagian integer, r16/r17 = r18 sisa r19
;
;
;
sisa pembagian disimpan ke r19
;===================================================
idiv:
ldi
lidiv:
cp
brlo
sub
inc
rjmp
xidiv:
mov
ret
r18,0
r16,r17
xidiv
r16,r17
r18
lidiv
r19,r16
125
= .....
50
Algoritma langkah-langkah pemecahan masalah :
1. Dengan menggunakan sub routine di atas, register r16 diisi
dengan data desimal 100, register r17 diisi data desimal 50
2. Panggil sub routine pembagian integer idiv.
230
Flowchart :
r16 125
r17 50
mov
mov
rcall
r16,125
r17,50
idiv
Jika
program
ini
dijalankan,
seharusnya register r18 akan berisi
data decimal 2dan register r19 akan
berisi data decimal 25
idiv
selesai
Tugas
Rencanakan suatu algoritma, flowchart dan program dalam bahasa
assembly untuk memecahkan masalah sebagai berikut :
Isi register r20 dipecah menjadi tiga bagian, yaitu nilai ratusan disimpan
ke register r21, nilai puluhan disimpan ke register r22 dan nilai satuan
disimpan ke register r23.
Misalkan register r20 berisi data decimal 125, maka setelah menjalankan
program ini maka pada register r21 akan berisi data decimal 1, register
r22 berisi data decimal 2 dan register r23 akan berisi data decimal 5.
Gunakan sub routine pembagian integer pada latihan di atas untuk
membantu penyelesaian tugas ini.
Program dibuat sebagai program bagian (sub routine)
Kunci Jawaban
Algoritma langkah-langkah pemecahan masalah :
r16 r20
r17 100
r16
= r18 sisa r19
3.
r17
4.
r21 r18
5.
r16 r19
r17 10
6.
r16
= r18 sisa r19
7.
r17
8.
r22 r18
9.
r23 r19
Flowchart :
1.
2.
start
r20 125
r17 100
idiv
r21 r18
r16 r19
r17 10
idiv
r22 r18
r23 r19
selesai
231
232
pecah3:
ldi
mov
ldi
rcall
mov
mov
ldi
rcall
mov
mov
ret
r20,125
r16,r20
r17,100
idiv
r21,r18
r16,r19
r17,10
idiv
r22,r18
r23,r19
;===================================================
; Nama sub routine : idiv
; Input :r16, r17
; Output :r18, r19
; Fungsi : pembagian integer, r16/r17 = r18 sisa r19
;
;
;
sisa pembagian disimpan ke r19
;===================================================
idiv:
ldi
lidiv:
cp
brlo
sub
inc
rjmp
xidiv:
mov
ret
r18,0
r16,r17
xidiv
r16,r17
r18
lidiv
r19,r16
233
234
235
Konfigurasi Pin
Deskripsi Pin
Vcc
Power Supply
GND
Ground
Port Pin
PA0
236
Fungsi Alternatif
PA1
PA2
PA3
PA4
PA5
PA6
PA7
Port B (PB7..PB0) Port B berfungsi sebagai port I/O dua arah 8 bit
dengan resistor pull-up internal yang dapat diaktifkan
untuk setiap bit yang dipilih.
Port Pin
PB0
Fungsi Alternatif
PB1
PB2
PB3
PB4
PB5
PB6
PB7
Port C (PC7..PC0) Port C berfungsi sebagai port I/O dua arah 8 bit
dengan resistor pull-up internal yang dapat diaktifkan
untuk setiap bit yang dipilih.
Port Pin
PC0
237
Fungsi Alternatif
PC1
PC6
PC7
Port D (PD7..PD0) Port D berfungsi sebagai port I/O dua arah 8 bit
dengan resistor pull-up internal yang dapat diaktifkan
untuk setiap bit yang dipilih.
Port Pin
PD0
Fungsi Alternatif
PD1
PD2
PD3
PD4
PD5
PD6
PD7
OC2 (Timer/Counter2
Match Output)
Output
Compare
RESET
XTAL1
XTAL2
238
AVCC
AREF
239
6.2.3
240
241
242
243
244
Gambar 6.2.3.2 Diagram Block AVR CPU General Purpose Working Registers
Rrgister X
15
7
245
XH
HL
0
R27(0x1B)
Rrgister Y
15
7
R27(0x1A)
YH
YL
0
R29(0x1D)
Rrgister z
15
7
0
0
R28(0x1C)
ZH
ZL
0
R31(0x1F)
0
0
0
0
R30(0x1E)
246
247
248
I/O Memory
Semua I/O dan peripheral Atmega8535 ditempatkan pada
I/O Space. Untuk mengakases lokasi I/O menggunakan instruksi
IN dan OUT yang dapat menstramsfer data antara 32 general
purpose working registers dan I/O space. Register I/O yang berada pada
alamat antara 0x00 sampai dengan 0x1F dapat diakses langsung per bit
denganmenggunakan instruksi SBI dan CBI. Pada register ini, nilai bit
tunggal dapat dicek menggunakan instruksi SBIS dan SBIC.
Ketika menggunakan instruksi khusus untuk I/O IN dan OUT, alamat I/O
0x00 0x3F harus digunakan. Ketika pengalamatan register I/O sebagai
data space menggunakan instruksi LD dan ST, 0x20 harus ditambahkan
pada alamat ini.
I/O Ports
Semua port AVR memiliki fungsi true Read-Modify-Write ketika
digunakan sebagai port I/O digital.Maksudnya bahwa arah satu port pin
dapat dirubah tanpa merubah arah port pin yang lain dengan instruksi
SBI dan CBI. Hal yang sama juga berlaku untuk mengubah nilai keluaran
(jika dikonfigurasi sebagai output) atau enable/disable resistor pull-up
internal jika dikonfigurasi sebagai input. Setiap buffer keluaran memiliki
karakteristik pengendalian yang simetri baik untuk high sink maupun
source. Driver pin cukup kuat untuk men-drive LED secara langsung.
Semua port memeiliki selektor resistor pull-up sendiri-sendiri dengan
suatu sumber tegangan dengan resistansi yang bervariasi. Semua pin I/O
memiliki dioda proteksi ke Vcc dan Gorund.
249
250
PORTxn
PUD
I/O
0
0
0
1
x
0
Input
Input
Pullup
No
Yes
0
1
1
1
0
1
1
x
x
Input
Output
Output
No
No
No
Keterangan
Tri-state (Hi-Z)
Pxn akan menjadi sumber arus,
jika external pulled low
Tri-state (Hi-Z)
Output Low (Sink)
Output High (Source)
...
; Define pull-ups and set outputs high
; Define directions for port pins
ldi
r16,(1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0)
ldi
r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0)
out
PORTB,r16
out
DDRB,r17
; Insert nop for synchronization
nop
; Read port pins
in
r16,PINB
...
251
252
Timer/Counter
Mikrokontroller Atmega8535 memiliki tiga buah Timer/Counter yaitu
Timer/Counter0 8-bit dengan PWM, Timer/Counter1 16-bit dan
Timer/Counter2 8-bit dengan PWM.
Timer/Counter0 8-bit dengan PWM
253
254
Timer/Counter1 16-bit
255
Block Clock Select logic mengatur sumber dan edge clock. the
Timer/ Counter menggunakan pulsa clock ini untuk meng-increment (atau
decrement) nilai counter. Timer/Counter tidak aktif apabila tidak ada
sumber clock yang dipilih. Keluaran dari Clock Select logic adalah sesuai
dengan timer clock (clkT1).
Setiap saat nilai Double buffered Output Compare Register
(OCR1A/B)
dibandingkan
dengan
nilai
Timer/Counter.
Hasil
perbandingan dapat dipergunakan oleh Waveform Generator untuk
menggenerate keluaran PWM atau variable frequency pada pin Output
Compare (OC1A/B). The Compare Match event juga men-set Compare
Flag (OCF1A/B) yang juga dapat dipakai untuk menggenerateoutput
compare interrupt request.
TCNT1, OCR1A/B dan ICR1 adalah register 16-bit yang dapat
diakses oleh CPU AVR 8 bit melalui data bus. Register 16-bit diakses
menggunakan dua operasi baca atau tulis. Setiap timer 16 bit memiliki
register 8 bit temporer untuk menyimpan data sementara untuk
menyimpan byte tinggi dan byte rendah. Ketika byte low sedang ditulisi
oleh CPU, maka byte tinggi disimpan pada register temporer dan ke tika
byte low sedang ditulisi oleh CPU maka keduanya di-kopi ke register 16
bit. Ketika byte low sedang dibaca oleh CPU, maka byte tinggi di-kopi ke
register temporary pada saat clock yang bersamaan. Tidak semua
register 16 bit menggunakan register temporer untuk byte tinggi dan
rendah. Memmbaca regigter 16 bit OCR1A/B tidak menggunakan register
temporer. Untuk menulisi register 16 bit, byte tinggi harus ditulis dulu
sebelum menulis byte rendah. Untuk membaca register 16 bit, byte
rendah harus dibaca dulu sebeum membaca byte tinggi.
Contoh berikut diperlihatkan bagaimana mengakses register 16 bit
dengan asumsi tidak ada interrupt yang meng-update register temporer.
Dengan prinsip yang sama dapat pula mengakses register OCR1A/B dan
ICR1.
...
; Set TCNT1 to 0x01FF
ldi
r17,0x01
ldi
r16,0xFF
out
TCNT1H,r17
out
TCNT1L,r16
; Read TCNT1 into r17:r16
in
r16,TCNT1L
in
r17,TCNT1H
...
256
257
Jika bit ini diberi logika 1, maka Timer/Counter1 overflow interrupt dienable-kan dan I-flag di Status Register akan di-set 1 (interrupts
globally enabled)
2. Menentukan nilai pembagi prescaler dengan men-set register
Timer/Counter1 Control Register B TCCR1B
CS11
CS10
Keterangan
Dengan memilih sumber clock, dihitung nilai yang paling baik dengan
selisih yang paling kecil. Apabila dihitung secara manual akan
diperoleh hasil perbandingan sebagai berikut :
Sumber
Clock
Jumlah
clock
258
pulsa/sumber
Keterangan
clkI/O/1
12.000.000/1 = 12000.000
clkI/O/8
12.000.000/8 = 1.500.000
clkI/O/64
12.000.000/64 = 187.500
clkI/O/256
12.000.000/256 = 46.875
clkI/O/1024
12.000.000/1024 =
11.718,75
Dari table hasil pembagian di atas tampak bahwa sumber clock yang
dapat dipakai adalah sumber clock dengan prescaler pembagi 256
dan 1024. Tetapi karena pre scaler 256 menghasilkan angka bulat
tanpa nilai lebih dibelakang koma, maka sumber clock ini akan
menghasilkan timer yang tepat pula. Oleh karena itu dipilihlah nilai
prescaler ini dengan hasil pembagian 46.875
3. Berikutnya menghitung nilai yang akan dimasukkan ke register
Timer/Counter1 TCNT1H dan TCNT1L
Karena Timer menghitung naik dan over flow jika melewati nilai
$FFFF ke $0000, maka register TCNT1 diisi dengan nilai minus 46.875 atau dalam bilangan heksa $48E5. Nilai byte tinggi 48 inilah
yang nantinya dimasukkan ke register TCNT1H dan Nilai byte rendah
E5 dimasukkan ke register TCNT1L
Untuk mendapatkan nilai-nilai tersebut dalam algoritma langkah 2 dan
3, lebih mudah dilakukan dengan menggunakan kalkulator yang
disertakan dalam CD dengan tampilan sebagai berikut :
259
260
r16,TIFR
r16,TOV1
loopt1
r16,0b00000100
TIFR,r16
Timer/Counter2 8-bit
Timer/Counter (TCNT2) dan Output Compare Register (OCR2)
masing-masing adalah registers 8-bit. Sinyal Interrupt request (dalam
gambar di atas disingkat Int.Req) dapat dilihat pada Timer Interrupt Flag
Register (TIFR). Semua interrupt dimasker secara individual pada
register Timer Interrupt Mask (TIMSK). TIFR dan TIMSK tidak
diperlihatkan pada gambar di atas , register tersebut juga dipergunakan
untuk unit timer yang lain.
Timer/Counter dapat di-clock mengguanakn internal clock melalui
prescaler atau menggunakan clock eksternal asinkron melalui pin
TOSC1/2. Opersi asinkron dikontrol oleh Asynchronous Status Register
(ASSR). Clock Select logic block digunakan untuk mengatur sumber
clock Timer/Counter. Jika tidak ada sumber clock, maka timer/counter
akan berhenti. Keluaran Clock Select logic adalah timer clock (clkT2).
261
262
263
SPI_SlaveInit:
; Set MISO output, all others input
ldi
r17,(1<<DD_MISO)
out
DDR_SPI,r17
; Enable SPI
ldi
r17,(1<<SPE)
out
SPCR,r17
ret
SPI_SlaveReceive:
; Wait for reception complete
sbis SPSR,SPIF
rjmp SPI_SlaveReceive
; Read received data and return
in
r16,SPDR
ret
264
265
main:
ldi
out
ldi
out
rcall
rcall
utama:
in
rcall
rcall
USART
out
portB
rjmp
266
r16,low(RAMEND)
SPL,r16
r16,high(RAMEND)
SPH,r16
init_usart
init_port
r17,pinC
usart_tx
usart_rx
PortB,r17
utama
;==========================================================
;inisialisasi usart
;==========================================================
init_usart:
;set baud rate
ldi
r16,high (ubbr_value)
out
UBRRH, r16
ldi
r16,low (ubbr_value)
out
UBRRL, r16
;enable receive and transmit
ldi
r16, (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)
out
UCSRB,r16
;set format:8 data,1 stop bit
ldi
r16, (1<<URSEL)|(3<<UCSZ0)
out
UCSRC,r16
ret
;==========================================================
;inisialisasi port
;==========================================================
init_port:
ldi
r16,0x00
out
ddra,r16
;PORTA sebagai input
out
ddrc,r16
;PORTC sebagai input
ldi
r16,0xff
out
ddrb,r16
;PORTB sebagai output
out
ddrd,r16
;PORTD sebagai output
ret
267
;==========================================================
; usart transmit data
; fungsi : mengirim isi reg. 17 ke USART
;==========================================================
usart_tx:
sbis
UCSRA,UDRE ;wait for empty transmit buffer
rjmp
usart_tx
out
UDR,r17
;put data into buffer, sends the
data
ret
;==========================================================
; usart receive data
; fungsi : membaca USART dan hasil pembacaan masuk ke reg.
17
;==========================================================
usart_rx:
sbis
UCSRA,RXC
;wait for data to be received
rjmp
usart_rx
in
r17,UDR
;get and return received data from
;buffer
ret
Rangkuman
Mikrokontroller Atmega8535 adalah mikrokontroller AVR 8 bit buatan
ATMEL yang memiliki arsitektur RISC (Reduce Instruction Set
Computing). Instruksi dikemas dalam kode 16 bit dan dijalankan hanya
dengan satu siklus clock.
Fitur Mikrokontroller Atmega8535 adalah
High-performance, Low-power AVR 8-bit Microcontroller
Nonvolatile Program and Data Memories
Peripheral Features
- Two 8-bit Timer/Counters with Separate Prescalers and Compare
Modes
- One 16-bit Timer/Counter with Separate Prescaler, Compare
Mode, and Capture Mode
- Real Time Counter with Separate Oscillator
- Four PWM Channels
- 8-channel, 10-bit ADC
- Byte-oriented Two-wire Serial Interface
- Master/Slave SPI Serial Interface
- Programmable Watchdog Timer with Separate On-chip Oscillator
- On-chip Analog Comparator
268
269
Latihan
Dengan menggunakan software Eagle atau Protel, gambarlah rangkaian
dan layout PCB modul mikrokontroller Atmega8535 seperti gambar
berikut :
270
Tugas
Dari gambar layout PCB modul mikrokontroller yang dibuat pada latihan
di atas, kerjakanlah pembuatan PCB tersebut dan solderilah komponen
yang diperlukan sehingga menjadi modul mikrokontroller yang nantinya
akan dipakai pada modul pembelajaran ini.
Kunci Jawaban
271
272
dan
sambungkan
kabel
LPT
antara
Jalankan program
, tunggu sampai muncul jendela utama
BASCOM-AVR.
Pilih Menu File New atau tekan toolbar Open new edit window
273
Simpan file tersebut dalam satu folder tersendiri karena setiap project
setelah di-compile akan menghasilkan banyak file.
Untuk menyimpan file, pilih menu File Save atau tekan toolbar Save
File
274
Tampak pada contoh di atas muncul pesan keslahan Error 124 pada
baris 12 bahwa tidak ada instruksi LOOP. Untuk memperbaiki kesalahan
yang dimaksud, lompat ke baris yang salah dengan cara double click
pada teks informasi keslahan tersebut.
275
276
Click pada tampilan LED warna hijau IC maka tampilan LED warna
merah pada PB akan menyala sesuai masukan pada PinC.
277
Gambar 6.2.4.7 Jendela AVR Simulasi dan Hardware Simulasi keduanya aktif
Memprogram Mikrokontroller
Pilih jenis programmer melalui port paralel LPT dengan cara pilih
menu Option Programmer, selanjutnya pilih TabStrib Programmer dan
pada ComboBox Programmer pilih STK200/STK300 Programmer,
kemudian tekan tombol OK seperti pada gambar berikut
278
Selanjutnya pilih menu Program Send to chip atau tekan toolbar Run
programmer (F4) dan pilih menu Program
279
Pada combobox Chip, pilih Atmega8535, tekan toolbar Load file into
buffer dan pilih file hex yang akan di-download ke chip mikrokontroller
280
Rangkuman
Software BASCOM-AVR dapat dipergunakan untuk membuat program
dengan bahasa tingkat tinggi BASIC.
Program yang sudah ditulis dapat di-compile dapat disimulasikan pada
computer.
Hasil compiling program berupa file hexa yang nantinya didownloadkan
ke chip mikrokontroller.
Latihan
Salinlah program dibawah ini pada editor BASCOM-AVR, kemudian
simulasikan dan downloadkanlah ke dalam chip microcontroller.
'Hardware : Modul Digital I/O Test pada PORTB/C
'Fungsi
: Kedip
$regfile "m8535.dat"
Config Portd = Output
Do
Portd = 0
Waitms 100
Portd = 255
Waitms 100
Loop
End
281
Tugas
Berikut ini adalah program membaca data analog ADC input kanal
0 dan ditampilkan ke LCD dua baris 16 kolom. Salinlah program tersebut
dan simulasikan pada BASCOM-AVR. Aturlah slider mulai pada posisi
minimal paling bawah sampai pada posisi paling atas. Berapa
penunjukan LCD ketika slider pada posisi minimal dan maksimal ?
$regfile "m8535.dat"
$crystal = 4000000
Dim Ch0 As Word
Dim A0 As Single
Config Adc = Single , Prescaler = Auto , Reference = Avcc
'config ADC
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 =
Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Lcd = 16 * 2
Cursor Off Noblink
Start Adc
Cls
Upperline
Lcd "ADC input = "
Do
Ch0 = Getadc(0)
A0 = Ch0 * 0.0049
Locate 1 , 13
Lcd Fusing(a0 , "#.#")
Loop
End
Kunci Jawaban
282
283
Listing program :
Hardware : Modul Digital I/O pada PORTD/PORTA
Fungsi
: Membaca data deretan saklar pada PORTA
Deretan LED
Listing program :
Cara 1 :
Hardware
Fungsi
: Modul Mikrokontroler
Modul Digital I/O pada PORTB/PORTC
: LED berjalan pada PORTB
$regfile "m8535.dat"
$crystal = 4000000
Config Portc = Input
Config Portb = Output
Do
Portb = &B00000001
Waitms 100
Portb = &B00000010
Waitms 100
Portb = &B00000100
284
Waitms 100
Portb = &B00001000
Waitms 100
Portb = &B00010000
Waitms 100
Portb = &B00100000
Waitms 100
Portb = &B01000000
Waitms 100
Portb = &B10000000
Waitms 100
Loop
End
Cara 2 :
Hardware
Fungsi
: Modul Mikrokontroler
Modul Digital I/O pada PORTB/PORTC
: LED berjalan pada PORTB
$regfile "m8535.dat"
$crystal = 4000000
Dim Dat As Byte
Dim I As Single
Config Portc = Input
Config Portb = Output
Do
Restore Teks
For I = 1 To 8
Read Dat
Portb = Dat
Waitms 100
Next
Loop
End
Teks:
Data &B00000001
Data &B00000010
Data &B00000100
Data &B00001000
Data &B00010000
Data &B00100000
Data &B01000000
Data &B10000000
285
286
287
Lampu
H4
H3
M2
K2
H2
M1
K1
H1
PB.7
PB.6
PB.5
PB.4
PB.3
PB.2
PB.1
PB.0
Heksa
Penyalaan
&H21
&H11
&H0C
&H0A
5 detik
3 detik
5 detik
3 detik
Listing program :
Hardware : Modul Lampu Lalu Lintas pada PORTB/PORTC
Fungsi
: Pengaturan lampu lali lintas sesuai tabel
kebenaran
$regfile "m8535.dat"
$crystal = 4000000
Config Portc = Input
Config Portb = Output
Do
Portb = &H21
Wait 5
Portb = &H11
Wait 3
Portb = &H0C
Wait 5
Portb = &H0A
Wait 3
Loop
End
288
Stepping Motor
Lilitan Motor
L4
L3
L2
L1
PB.7
PB.6
PB.5
PB.4
PB.3
PB.2
PB.1
PB.0
Heksa
&H08
&H04
&H02
&H01
Tunda
Waktu
10 ms
10 ms
10 ms
10 ms
Listing program :
Hardware : Modul Motor Stepper pada PORTB
Fungsi
: Memutar motor stepper
$regfile "m8535.dat"
$crystal = 4000000
Config Portc = Input
Config Portb = Output
Do
Portb = &H08
Waitms 10
Portb = &H04
Waitms 10
Portb = &H02
Waitms 10
Portb = &H01
Waitms 10
Loop
End
289
290
Listing program :
Hardware : Modul Seven Segment pada PORTB/PORTC
Fungsi
: Menampilkan angka 123456 pada Seven Segment
Display
$regfile "m8535.dat"
$crystal = 4000000
Config Portb = Output
Do
Portb = &H51
Waitms 1
Portb = &H42
Waitms 1
Portb = &H33
Waitms 1
Portb = &H24
Waitms 1
Portb = &H15
Waitms 1
Portb = &H06
Waitms 1
Loop
End
291
292
PORTB/PORTC
Fungsi
$regfile "m8535.dat"
$crystal = 4000000
Dim A As Byte
Dim W As Word
Config Portb = Output
Config Portc = Input
Config Adc = Single , Prescaler = Auto
Start Adc
Do
W = Getadc(0)
W = W / 4
A = W
Portb = W
Loop
End
293
294
Listing program :
Hardware : Modul LCD 2 baris 16 kolom pada PORTB
$regfile "m8535.dat"
$crystal = 4000000
Declare Sub Baca_adc()
Declare Sub Tampil_lcd()
Dim Ch0 As Word , Ch1 As Word , Ch2 As Word , Ch3 As Word
Dim A0 As Single , A1 As Single , A2 As Single , A3 As
Single
Config Adc = Single , Prescaler = Auto , Reference = Avcc
'config ADC
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 =
Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Lcd = 16 * 2
Cursor Off Noblink
Start Adc
Cls
Upperline
Lcd "A0:
Lowerline
Lcd "A1:
Waitms 100
A2:
"
A3:
"
Do
Call Baca_adc
Call Tampil_lcd
Waitms 100
Loop
Sub Baca_adc()
Ch0 = Getadc(0)
Ch1 = Getadc(1)
Ch2 = Getadc(2)
Ch3 = Getadc(3)
A0 = Ch0 * 0.0049
A1 = Ch1 * 0.0049
A2 = Ch2 * 0.0049
A3 = Ch3 * 0.0049
End Sub
Sub Tampil_lcd()
Locate 1 , 5
Lcd Fusing(a0
Locate 2 , 5
Lcd Fusing(a1
Locate 1 , 13
Lcd Fusing(a2
Locate 2 , 13
Lcd Fusing(a3
End Sub
End
, "#.#")
, "#.#")
, "#.#")
, "#.#")
295
296
$regfile "m8535.dat"
Dim Detik As Byte , Menit As Byte , Jam As Byte
Dim Hari As Byte , Tanggal As Byte , Bulan As Byte , Tahun
As Byte
Dim Alamat As Byte , Dat As Byte
Dim T As Single
Dim A As Byte
Dim B As Byte
Declare
Declare
Declare
Declare
Declare
Declare
Declare
Sub
Sub
Sub
Sub
Sub
Sub
Sub
Angkalcd
Dispjam
Setting
Current
Initrtc
Baca
Tulis
297
Call Current
'menampilkan tanggal
B = Tanggal
A = &HF0
B = B And A
T = B
Shift T , Right , 4
Locate 1 , 1
Call Angkalcd
B = Tanggal
A = &H0F
B = B And A
T = B
Locate 1 , 2
Call Angkalcd
'menampilkan bulan
B = Bulan
A = &HF0
B = B And A
T = B
Shift T , Right , 4
Locate 1 , 4
Call Angkalcd
B = Bulan
A = &H0F
B = B And A
T = B
Locate 1 , 5
Call Angkalcd
'menampilkan tahun
B = Tahun
A = &HF0
B = B And A
T = B
Shift T , Right , 4
Locate 1 , 7
Call Angkalcd
B = Tahun
A = &H0F
B = B And A
T = B
Locate 1 , 8
Call Angkalcd
'menampilkan jam
B = Jam
A = &HF0
B = B And A
T = B
Shift T , Right , 4
Locate 2 , 1
Call Angkalcd
B = Jam
A = &H0F
B = B And A
T = B
Locate 2 , 2
Call Angkalcd
'menampilkan menit
B = Menit
A = &HF0
B = B And A
T = B
Shift T , Right , 4
Locate 2 , 4
Call Angkalcd
B = Menit
A = &H0F
B = B And A
T = B
Locate 2 , 5
Call Angkalcd
'menampilkan detik
B = Detik
A = &HF0
B = B And A
T = B
Shift T , Right , 4
Locate 2 , 7
Call Angkalcd
B = Detik
A = &H0F
298
299
B = B And A
T = B
Locate 2 , 8
Call Angkalcd
Waitms 100
Loop
End
Sub Angkalcd
If T = 0 Then Lcd "0"
If T = 1 Then Lcd "1"
If T = 2 Then Lcd "2"
If T = 3 Then Lcd "3"
If T = 4 Then Lcd "4"
If T = 5 Then Lcd "5"
If T = 6 Then Lcd "6"
If T = 7 Then Lcd "7"
If T = 8 Then Lcd "8"
If T = 9 Then Lcd "9"
If T = 10 Then Lcd "*"
If T = 11 Then Lcd "#"
End Sub
==========================================================
Sub Program Setting
Menulis Baru : Detik , Menit , Jam , Hari , Tanggal ,
Bulan , Tahun Pada Rtc
Input : Data
Output : Data Pada Alamat Rtc Berubah Ke Data Baru
==========================================================
Sub Setting
Setting jam
Dat = &H09
Alamat = &H04
Call Tulis
Setting menit
Dat = &H53
Alamat = &H02
Call Tulis
Setting detik
Dat = &H00
Alamat = &H00
Call Tulis
Setting hari
Dat = &H01
Alamat = &H06
Call Tulis
Setting tanggal
Dat = &H26
300
Alamat = &H07
Call Tulis
Setting bulan
Dat = &H03
Alamat = &H08
Call Tulis
Setting tahun
Dat = &H08
Alamat = &H09
Call Tulis
End Sub
=========================================================
Sub Program Current
Membaca Data Tanggal , Bulan , Tahun , Jam , Menit ,
Detik Dari Rtc Dan Menempatkannya Dalam Variabel Di Ram
==========================================================
Sub Current
Alamat = &H00
Call Baca
Detik = Dat
Alamat = &H02
Call Baca
Menit = Dat
Alamat = &H04
Call Baca
Jam = Dat
Alamat = &H06
Call Baca
Hari = Dat
Alamat = &H07
Call Baca
Tanggal = Dat
Alamat = &H08
Call Baca
Bulan = Dat
Alamat = &H09
Call Baca
Tahun = Dat
End Sub
=========================================================
Sub Program Inisialisasi Rtc
Menghidupkan Oscilator
Format Jam Bcd , 24h Mode
=========================================================
Sub Initrtc
Config Porta = Output
Config Portd = Output
Porta = &H1A
Portd = &H60
Porta = &H20
Portd = &H00
Porta
Portd
Porta
Portd
=
=
=
=
&H1B
&H60
&H12
&H00
Portd = &H10
End Sub
========================================================
Sub Program Baca Rtc
Input : Alamat
Output : Dat
========================================================
Sub Baca
Config Porta = Output
Config Portd = Output
Porta = Alamat
Portd = &H60
Portd = &H10
Config Porta = Input
Portd = &HC0
Dat = Pina
Portd = &H10
End Sub
========================================================
Sub Program Tulis Rtc
Input : Alamat, Dat
Output : Data Pada Alamat Rtc Berubah Ke Data Baru
========================================================
Sub Tulis
Config Porta = Output
Config Portd = Output
Porta = Alamat
Portd = &H20
Portd = &H10
Portd = &H80
Porta = Dat
Portd = &H10
End Sub
301
302
Rangkuman
1. Sebelum mengakses port digital, harus dilakukan inisialisasi yaitu
menentukan arah data sebagai masukan atau keluaran dengan
instruksi config
Contoh :
Config Portb = Output
Config Portc = Input
Untuk membaca port digital digunakan Pin
Contoh :
A = PinA
2.
3.
303
Latihan
Siapkan peralatan yang diperlukan pada setiap topik di atas.
Salinlah listing program pada software editor BASCOM-AVR
Compile dan download program tersebut pada modul mikrokontroller.
Jalankan program tersebut.
Lakukan semua langkah diatas untuk masing masing percobaan.
Selanjutnya kerjakan soal latihan membuat program sesuai topik di
bawah ini :
1.
Topik
: Input Output Digital
Hardware : Modul Digital I/O Test pada PORTD/A
Input deretan saklar pada PORTA
Output deretan LED pada PORTD
Fungsi
: Counter Up/Down biner ditampilkan pada deretan LED
PORTD dengan tunda waktu 100ms sesuai tabel
kebenaran berikut ini
Tabel kebenaran
PA.7
0
1
0
1
2.
Topik
PA.6
0
0
1
1
PA.1
x
x
x
x
PA.0
x
x
x
x
Keterangan
LED PORTD
Stop
Counter Up
Counter Down
Stop
: Deretan LED
3.
Topik
304
Tabel kebenaran 1
H4
PB.
7
1
1
1
1
H3
PB.
6
1
1
1
1
M2
PB.
5
1
0
0
0
Lampu
K2
H2
PB.
PB.
4
3
0
0
1
0
0
1
0
1
M1
PB.
2
0
0
1
0
K1
PB.
1
0
0
0
1
H1
PB
.0
1
1
0
0
Heksa
Penyalaan
&H21
&H11
&H0C
&H0A
5 detik
3 detik
5 detik
3 detik
Lampu
K2
H2
PB.
PB.
4
3
0
0
1
0
M1
PB.
2
0
0
K1
PB.
1
0
1
H1
PB
.0
0
0
Heksa
Penyalaan
&H21
&H11
1 detik
1 detik
Tabel kebenaran 2
H4
PB.
7
1
1
H3
PB.
6
1
1
M2
PB.
5
0
0
4.
Topik
: Stepping Motor
Hardware : Modul Motor Stepper pada PORTB
Fungsi
: Memutar motor stepper clock wise 5 kali putaran dan
contra clock wise 3 kali putaran setelah itu berhenti.
Tunda waktu 10 ms
5.
Topik
: Seven Segment Display
Hardware : Modul Seven Segment pada PORTB/PORTC
Fungsi
: Counter up 6 digit dengan input dari tombol pada
PinC.0 untuk mereset, tekan tombol PinC.1
6.
Topik
: Analog To Digital Convertion (ADC)
Hardware : Modul Analog Input Test pada PORTA/PORTB
Modul Digital Input Output Test pada PORTB/PORTC
Fungsi
: Tegangan pada ADC0 ditampilkan pada deretan LED
PORTB dengan cara balok seperti pada
tabel kebenaran berikut :
305
Tabel kebenaran
Deretan Saklar PORTA
7.
Keterangan
Input ADC0
dari data maks.
1023
PB.7
PB.6
PB.5
PB.4
PB.3
PB.2
PB.1
PB.0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
>= 80 %
Topik
< 10 %
<= 10 % s.d. <
20 %
<= 20 % s.d. <
30 %
<= 30 % s.d. <
40 %
<= 40 % s.d. <
50 %
8.
Topik
3
1
0
2
/
:
1
0
0
4
/
/
0
5
8
9
306
Tugas
Buatlah program mikrokontroller Atmega8535 untuk suatu sistim otomasi
elektronik sortir barang berdasarkan ketinggian seperti berikut :
Motor Belt
PortD.5
PortD.4
307
Motor Sorong 2
Belt
PortD.3
PortD.2
Shaft
Motor Sorong 1
PortD.1
PortD.0
Shaft
Stop
Stop
Stop
Kanan
Maju
Maju
Kiri
Mundur
Mundur
Stop
Stop
Stop
308
Kunci Jawaban
Start
Inisialisasi Port
Porta = Input
Portd = Output
Awal
Tidak
Sensor 1 = 0
?
Tidak
Ya
Sensor 2 = 0
?
Ya
Maju1
Maju2
Limit Switch
Depan 1 = 0
?
Tidak
Limit Switch
Depan 2 = 0
?
Ya
Mundur2
Ya
Tidak
Ya
Mundur1
Limit Switch
Belakang 1 = 0
?
Tidak
Limit Switch
Belakang 2 = 0
?
Tidak
Ya
Listing Program :
Hardware : Modul Digital Input Output Test pada PORTD/A
Fungsi
: Sistim Otomasi Elektronik Sortir Barang
$regfile "m8535.dat"
Config Portd = Output
Config Porta = Input
Awal:
If Pina.0 = 0 Then Goto Maju1
If Pina.1 = 0 Then Goto Maju2
Portd = &B00010000
Goto Awal
Maju1:
Portd = &B00000001
If Pina.1 = 1 Then Goto Maju1
Mundur1:
Portd = &B00000010
If Pina.2 = 1 Then Goto Mundur1
Portd = &B00000000
Goto Awal
Maju2:
Portd = &B00000100
If Pina.1 = 1 Then Goto Maju2
Mundur2:
Portd = &B00001000
If Pina.2 = 1 Then Goto Mundur2
Portd = &B00000000
Goto Awal
End
309
310
Penutup
311
DAFTAR PUSTAKA
1.
2.
Datasheet, 8-bit AVR Instruction Set, Atmel Corporation, San Jose USA,
2005
3.
4.
5.
BAB VII.
312
7.1 Sensor
Sebelum memahami dan menerapkan penggunaan sensor secara
rinci maka perlu mempelajari sifat-sifat dan klasifikasi dari sensor secara
umum. Sensor adalah komponen listrik atau elektronik, dimana sifat atau
karakter kelistrikannya diperoleh atau diambil melalui besaran listrik
(contoh : arus listrik, tegangan listrik atau juga bisa diperoleh dari
besaran bukan listrik, contoh : gaya, tekanan yang mempunyai besaran
bersifat mekanis, atau temperatur bersifat besaran thermis, dan bisa juga
besaran bersifat kimia, bahkan mungkin bersifat besaran optis).
Sensor dibedakan sesuai dengan aktifitas sensor yang didasarkan
atas konversi sinyal yang dilakukan dari besaran sinyal bukan listrik (non
electric signal value) ke besaran sinyal listrik (electric signal value) yaitu :
sensor aktif (active sensor) dan sensor pasif (passive sensor). Berikut
Gambar 7.1 Sifat dari sensor berdasarkan klasifikasi sesuai fungsinya.
313
314
315
ELEKTRON
316
Ohm
1M
500
100
0
Intensitas cahaya
317
L2= 6Vdc/100mA
LDR
L1
22 0V
U1
U2
L
U
LDR
318
319
320
Overall
range 0C
20 to 1820
-270 to 910
-210 to 1200
-270 to 1370
-270 to 1300
-50 to 1760
-50 to 1760
-270 to 400
0.1 0C
resolution
150 to 1820
-270 to 910
-210 to 1200
-270 to 1370
-260 to 1300
-50 to 1760
-50 to 1760
-270 to 400
0.025 0C
resolution
600 to 1820
-260 to 910
-210 to 1200
-250 to 1370
-230 to 1300
20 to 1760
20 to 1760
-250 to 400
321
Temperature
PT100*,PT1000
Resistence
N/A
Range
-200 to 800 0C
0 to 375 *
0 to 10 k
Linierity
Accuracy @ 25 0C
Temperature
coeficien
RMS Noise (using
filter)
Resolution
Conversion time
per channel
Number of input
Connectors
Input impedance
Overvoltage
protection
Output
10 ppm
0.01 0C *
10 ppm
20 ppm*
3 ppm/ 0C
3 ppm/ 0C
0.01 0C
10 ppm
10 ppm
0.001 0C
0.156V
720 mS**
720 mS**
180 mS
Environmetal
Voltage
N/A
0 to 115
mV
0 to 2.5 V*
10 ppm
0.2%*
100
ppm/ 0C
4
4-pin miniDIN
>>1 M
100V
RS232, D9 female
20 to 30 0C for stated accuracy, 0 to 70 0C
overall, 20 to 90% RH
Motor
322
dI a
+ RI a + K b
dt
(8.1)
dI a (t )
+ RI a (t ) + Vb (t ) , dengan Vb = K b&(t )
dt
(8.2)
Motor
323
Ia =
Va ( s) sKb ( s )
R + sL
(8.3)
V ( s ) sK b ( s )
r ( s) = K m I a ( s) = K m a
R + sL
(8.4)
(8.5)
(s)
Va ( s )
Km
s s J eff L + ( Lf eff + RJ eff + K m K b )
(8.6)
(s)
Va ( s )
s sRJ eff
dengan K =
Tm =
Rf eff
RJ eff
Rf eff + K m
Km
K
=
+ Rf eff + K m K b
s (Tm s + 1)
Km
, konstanta penguatan motor, dan
+ K m Kb
(8.7)
Motor
324
N2
maka
N1
L (s)
Va ( s )
s sRJ eff
nK m
+ Rf eff + K m K b
(8.8)
Motor
325
Gambar 8.3 Prinsip kerja motor DC stepper untuk gerakan full step
Motor
326
Gambar 8.4 Prinsip kerja motor DC stepper untuk gerakan half step
Untuk motor DC stepper 4 fasa pada prinsipnya ada dua macam
cara kerja , yaitu full step dan half step. Lihat table 5.1. Penjabaran
formasi logika dalam tabel ini adalah untuk mewakili putaran penuh 360o
relatif terhadap fasa dari motor.
Motor DC stepper yang ada di pasaran sebagian besar melipatgandakan
jumlah kutub magnet kumparannya dengan memperbanyak kumparan
stator sejenis melingkar berurutan dalam konfigurasi penuh 360o riil
terhadap poros rotor (dengan jumlah fasa tetap). Kondisi ini dilakukan
untuk memperoleh efek riil putaran satu step yang lebih presisi, misalnya
3,6 o / step atau 1,8 o / step.
Untuk memperoleh efek cengkeraman yang lebih kuat, modus
data yang diberikan pada mode full wave dapat dimanipulasi dengan
memberikan double active bits pada setiap formasi (lihat tabel 8.1).
Dengan cara ini torsi yang dihasilkan akan lebih besar. Namun demikian,
penggunaan arus akan berlipat dua karena dalam satu saat yang
bersamaan dua lilitanmendapatkan arus kemudi. Dalam aplikasinya,
sumber daya yang tersedia perlu diperhatikan.
Motor
327
Full Step
1
0
0
0
1
0
0
0
1
0
0
0
Berulang ke step 1
Half Step
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
Berulang ke step 1
0
0
0
1
Tabel 8.2 Formasi double active bit untuk mode putaran full step
Step ke
1
2
3
4
1
0
0
1
Full Step
(double active bits)
1
0
1
1
0
1
0
0
0
0
1
1
Pada full step, suatu titik pada sebuah kutub magnet di rotor akan
kembali mendapat tarikan medan magnet stator pada lilitan yang sama
setelah step ke 4. berikutnya dapat diberikan lagi mulai dari step ke 1.
Untuk half step, setiap kutub magnet pada rotor akan kembali
mendapatkan tarikan dari medan magnet lilitan yang sama setelah step
ke 8. Berikutnya kembali mulai dari
step 1.
Dengan melihat bahwa pergerakan motor DC stepper adalah
berdasarkan perubahan logika pada input lilitan-lilitannya maka menjadi
mudah bagi programmer untuk mengubah-ubah arah gerakan dan
kedudukan rotor pada posisi yang akurat. Hal ini salah satu keuntungan
dari penggunaan motor DC stepper. Agar dapat membuat gerakan yang
lebih presisi, biasanya jumlah batang magnet di rotor diperbanyak dan
lilitan dibuat berpasang-pasangan sesuai dengan posisi kutub magnet
rotor. Cara lain adalah dengan menggunakan system gear pada poros
rotor tanpa mengubah karakteristik motor DC steppernya.
Motor
8.3
328
Motor DC Brushless
Motor
329
Motor
330
Kendali Temperatur
331
Kendali Temperatur
332
Kendali Temperatur
333
9.2
334
Kendali Temperatur
335
Kendali Temperatur
Rangkaian ini terdiri dari OP-AMP, resistor dan variabel resistor, lihat
Gambar 9.6.
336
Kendali Temperatur
Vref
2n 1
5
= 8
2 1
= 0,02 V/bit
= 20 mV/bit
337
Kendali Temperatur
A0 A1 A2 A3 A4 A5 A6
A
+
+
+
+
+
+
+ 7 )
2
4
8 16 32 64 128 256
1
2
Iout = 2 mA x ( +
1 1 1
1
1
1
1
+ + +
+
+
+
) = 1,99 mA
4 8 16 32 64 128 256
338
Kendali Temperatur
BAB X.
334
FUZZY
335
A( x) =
(3.1)
A = {( x, A ( x)) / x X }
Untuk x diskrit dengan n elemen pendukung (n =1, 2, 3, , n) dari
A, maka :
A = 1 ( x) / x1 + 2 ( x) / x2 ) + ..... + n ( x) / xn )}
n
A = A( xi ) / xi
[x:diskrit]
A = A(x) / x
[x : kontinyu]
i =1
(union).
336
337
0.5
338
0
(x-a)
(b-a)
T ( x; a, b, c) = x ( x) = (c-x)
(c-b)
0
xa
a xb
(3.6)
bxc
xc
0.5
0
(x-a)
ba
Tr ( x; a, b, c, d ) = 1
(d x)
(d c)
0
xa
axb
bxc
cxd
xd
339
( x;x1,p,x2 ) = x (x)
1.0
0.5
x1
p-b/ 2
p+b/ 2
x2
( x p + b) 2
2
b2
( x p + b) 2
( x; b, p) = x(x) = 1 2
b2
2
2 ( x p b)
b2
b
2
b
b
p x p+
2
2
b
p+ x p+b
2
pb x p
A={0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 0.8, 0.6, 0.4, 0.2, 0.0 }
Sehingga himpunan fuzzy yang didefinisikan untuk himpunan elemen x
secara diskrit adalah seperti persamaan ini dan bila digambar secara
grafik seperti Gambar10.4.
340
A ={0.0/0, 0.2/1, 0.4/2, 0.6/3, 0.8/4, 1.0/5, 0.8/6, 0.6/7, 0.4/8, 0.2/9,
0.0/10}
A={0.0/0+0.2/1+0.4/2+0.6/3+0.8/4+1.0/5+0.8/6+0.6/7+0.4/8+0.2/9+
0.0/10}
u (x)
1.0
08
0.6
0.4
0.2
10
341
1.0
lambat
sedang
cepat
0.5
100
150
200 250
300
x (rpm)
342
(x) = 1 A(x) , x X
_
343
344
fuzzy sets
INPUT x
Basis
Data
Pengambilan
Keputusan Fuzzy
(Fuzzy Reasoning)
Fuzzifikasi
fuzzy sets
Defuzzifikasi
OUTPUT y
345
KLF
Basis
Pengetahuan
error
Input
Output
Plant
d-error
Sensor
(Elemen Ukur)
KLF
(referensi)
input
Plant
de
(keluaran)
output
346
Y
c
g
f
9 10
11
- +
+ - - + + - -
de
+ +
- - + + - - +
Time (t)
347
Output
(u)
Titik
Referensi
Fungsi
NL
a,e,i
pemendekan
rise time
NL
b,f,j
overshoot
tereduksi
NL
c,g,k
overshoot
tereduksi
NL
d,h,l
oscillasi
tereduksi
NL
NL
NL
set
point
sistem teredam
Penyempurnaan aturan kontrol logika fuzzy dapat dilihat pada Tabel 10.2.
Tabel 10.2 Penyempurnaan Aturan KLF dengan 3(tiga) Nilai
Linguistik
Aturan
Error
d-Error
Output
Titik
No.
(e)
(de)
(u)
Referensi
Fungsi
Range:
ab, ef
pemendekan
rise time
Range:bc,
fg, jk
overshoot
tereduksi
Range:
cd, gh
overshoot
tereduksi
Range:
de,hi
oscillasi
tereduksi
10
NL
Range: ij
sistem
teredam
11
NL
Range: kl
sistem
teredam
348
NMe
NSe
ZEe
PSe
PMe
PBe
NBd
NBc
NBc
NBc
NBc
NMc
NSc
ZEc
NMd
NBc
NBc
NBc
NMc
NSc
ZEc
PSc
NSd
NBc
NBc
NMc
NSc
ZEc
PSc
PM
c
ZEd
NBc
NMc
NSc
ZEc
PSc
PMc
PBc
PSd
NMc
NSc
ZEc
PSc
PMc
PBc
PBc
PMd
NSc
ZEc
PSc
PMc
PBc
PBc
PBc
PBd
ZEc
PSc
PMc
PBc
PBc
PBc
PBc
349
L( Level ) =
X max - X min
RES
350
351
-x4
NB
NS
NK
-x3
-x2
-x 1
PK
PS
PB
x1
x2
x3
x4
a) . Fungsi segitiga
(x)
-x4
NB
NS
NK
-x3
-x2
-x 1
PK
PS
PB
x1
x2
x3
PK
PS
PB
x1
x2
x4
b) . Fungsi Trapesium
(x)
-x4
NB
NS
NK
-x3
-x2
-x 1
x3
c) . Fungsi Eksponensial
x4
352
353
: IF x is A THEN y is B
Pernyataan 2 (fakta)
: y is A
______________________________________________
Penyelesaian
: y is B
(relasi fuzzy)
B = A R = A (AB)
Dengan R adalah relasi fuzzy dari implikasi fuzzy if A then B , tanda
adalah operator komposisi, dan A adalah himpunan fuzzy yang
mempunyai bentuk fungsi keanggotaan : A, sangat A lebih atau kurang A,
tidak A dan sebagainya.
Gneralized Modus Tollens (GML):
Pernyataan 1 (aturan)
: IFx is A THEN y is B
Pernyataan 2 (fakta)
: y is B
______________________________________________
Penyelesaian
: y is A
(relasi fuzzy)
A = B R = B (AB)
354
=
( x, y , z ) =
Ri
( Ai; dan Bi; Ci )
( x) dan ( y ) (z) (3.33)
C
Ai
Bi
i
355
Formulasi Implikasi
Implikasi Fuzzy
a b = a b
= A(u) B(v)
a b = a . b
= A(u) . B(v)
a b = 0 (a+b-1)
b =1
= 0 [A(u) + B(v)=
Rdp: drastic
product
a ,
a b= b,
0,
Ra: arithmetic
a b=(1(1-a+b)
B = 1
A(u ),
A = 1
B (v),
=1(1-A(u) + B(v))
Rm: max-min
a b=(ab)(1-a)
=((A(u)B(v)) (1-
Rs: standard
sequence
a b=
Rb: Boolean
a b=(1-a)b
=(1-A(u)) B(v)
Rg: Gdelian
logic
a b=
R: Goguens
fuzzy
implication
a b=
a =1
a, b < 1
1 , a b
0 , a b
1 , A(u ) B (v)
0 , A(u ) B (v)
1 , a b
b , a b
1 , ab
b / a , ab
1,
A(v)
=
B (v) / A(u ) , A(u
A(v) B (v
1,
d. Operator Komposisi
Fungsi implikasi sistem SISO (Single Input Single Output) diberikan
persamaan dalam bentuk komposisi :
B = A o R
356
Pada sistem MISO (Multi Input Single Output), maka persamaan menjadi:
C = (A, B) o R
e. Mekanisme Penalaran / Inferensi
Sebagaimana diketahui bahwa sistem pengaturan fuzzy terdiri dari
seperangkat aturan kontrol dan untuk mengkombinasikan aturan
digunakan kata hubung JUGA.
Pada aturan kontrol fuzzy secara MISO (Multi Input Single Output),
dengan x dan y adalah input dan z adalah output dalam semesta
pembicaraan X, Y dan Z, maka mekanisme inferensi dinyatakan sebagai :
Input
: x is A AND y is B
R1
R2
..
..
..
Rn
________________________________________________
Penyelesaian
: z is C
i =1
i =1
357
R : ( z ), = Ai ( x0 ) B i ( x0 ),
c
i
ci
i
(10.3)
R : ( z ), = Ai ( x0 ) B i ( x0 ),
c
i
ci
i
(10.4)
C
1
C
0
mi
358
1 A
A1
B
A
1 B
z
1
A2
1 B
C
0
min
R ': ' = U
c c i =1 i
ci
10.2.5.6 Defuzzifikasi
Defuzzifikasi pada dasarnya merupakan pemetaan ruang aksi
kontrol fuzzy menjadi ruang aksi kontrol non-fuzzy (crispy). Prinsip dari
strategi defuzzifikasi bertujuan untuk menghasilkan sinyal atur yang nyata
yang dapat merepresentasikan distribusi dari aksi atur masing-masing
aturan kontrol.
Bentuk persamaan umum proses defuzzifikasi seperti berikut :
z0 = defuzzier (z)
Beberapa metode defuzzifikasi yang dapat digunakan secara umum
yaitu metode titik pusat (the Center of Area =COA), metode titik tengah
maksimum (the Mean of Maximum =MOM), dan metode kriteria max
(the Criterion Max) .
359
z
o (COA)
j =1
(z )z
n
j =1
(z )
c
c ( z ) z dz
=
z
o (COA)
c ( z ) dz
z
360
0
Z
MAX
COA
MOM
Daftar Pustaka
DAFTAR PUSTAKA
Beuth, Klaus,Elektronik 4 Digitaltechnik, Vogel-Buchverlag,
Wuerzburg, 1982ac
Elektronika Daya, Gunadarma
ELWE, Lehrsysteme Leistungelektronik.
Europalehrmittel, Fachkunde Information Elektronik, Verlag
Stuttgart hal 13/14.
Horn / Nur Lesson plan 51520104 PPPGT Malang 1988.
Horn / Rizal, Lesson Plan 51510102.
Horn / Sutrisno Lesson plan 52520203 PPPGT Malang 1988.
ITB, Polyteknik Mekanik Swiss, Teknik Listrik Terpakai, hal 39
47
Kamajaya, Fisika 1, Ganeqa Exact, Bandung, 1994.
MC68HC11F1 Technical Data, Motorola Inc., Arizona, 1990
MC68HC11F1 Programming Reference Guide, Motorola Inc.,
Arizona
M68HC11 Reference Manual, Motorola Inc., Arizona, 2002
MC68HC11F1 Technical Summary 8-Bit Microcontroller,Motorola
Inc., Arizona, 1997
M. Affandi Agus Ponijo, Pengetahuan Dasar Teknik Listrik
M. Affandi Agus Ponijo, Pengetahuan Dasar Teknik Listrik
Microprocessor
and
Microcomputer,
ITT
Fachlergnge,
Pforzheim, 1979
Nur / Supr , Lesson plan 51520101, PPPG Teknologi Malang,
1988.
Ogata, K(1997). Teknik Kontrol Automatik. Jilid 1. Erlangga:
Jakarta
PEDC, Ilmu Listrik, Bandung, PEDC, 1981, hal 127-129,PT
Gunung Agung, 1981.
http://id.wikipedia.org/wiki/Ampere
Daftar Pustaka
(12.01.2008)
Guenter Stein. Autmatisierungstechnik in der
Maschinentechnik. Carl Hanser Verlag. Muenchen. 1993.
40k.
Daftar Istilah
363
DAFTAR ISTILAH
AC Choper
ADC
adder
aktuator
akumulator
alkali
alternatif current
ALU
amper
amplifier
amplitudo
AND
anoda
aritmatika
arus cerat
arus listrik
arus pusar
asam nitrat
assembler
atom
band pas filter
basis
beda potensial
bias
biner
biner
biner
bit
BJT
boolean
break down
bus
caption
carry
celcius.
chip
clock
coil
common
coulomb
counter
CPU
crowbaring
cut-off
daya listrik
DC Choper
dekoder
demodulasi
density
depletion Layer
depolarisator
desimal
destilasi
DIAC
diagram bode
diamater
dielektrikum
difusi
digital
dimmer
dioda
dioda Schottky
dioda varactor
dioda zener
dipole
direct current
diskrit
double
download
drain
efisiensi
ekivalen
Daftar Istilah
ekonomis
elekrolisa
elektro statis
elektroda
elektrolit
elektron
elektronika daya
emitor
EXOR
Fahrenheit.
farad
fase
ferro magnetik
filter
flag
flip-flop
flow chart
fluks
form
forward bias
foto cell
frekuensi
frekuensi modulasi
fungsi
fuzzy
fuzzylemps
galvanis
gate
gaya gerak listrik
gaya gerak magnet
generator
HandShaking
henry
hertz
hidrolika
high pass filter
histerisis
hole
horse power
364
hukum Kirchhoff
hukum ohm
IGBT
Impendansi
indeks
induksi
induktansi
induktor
input
input pembalik
instrumentasi
integer
ionisasi
ISA
isolasi
jembatan Wheatstone
jendela
joule
Joule
junction
kapasitansi
kapasitas panas
katoda
katup
kelvin.
kimiawi
kode program
koefisien
kolektor
kondensator
konduksi
konfigurasi
konstanta
kontrol
kontroler
konveksi
konversi
konverter
korona
Daftar Istilah
korosi
kursor
LDR
loop
loop
low pass filter
LPT
LSI
medan magnit
mekanik
memori
mikrokomputer
mikrokontroller
mneumonic
modulasi
MOS
MOSFET
motor stepper
muatan listrik
multiplekser
Neutron
NOT
offset
ohm
oksidasi
op-amp
op-code
OR
orde dua
orde satu
oscilator
osilasi
osilator
osiloskop
output
overflow
parallel
parity
pengalamatan
365
penghantar
penyearah
penyulutan
penyulutan
permitivitas listrik
pewaktu
phasa
piston
plant
plasma
pneumatik
pointer
pointer
polarisasi
polaritas
pop
port
port
potensial barier
potensiometer
potensiometer
power supply
PPI
PROM
prosedur
Proton
pulsa
push
PWM
radiasi
radiator
radioaktif
RAM
Reamur.
register
register
reluktansi
RePROM
resonansi
Daftar Istilah
reverse bias
ROM
root locus
RS232
satu fase
sekuensial
semi penghantar
semikonduktor
semikonduktor
sensor
seri
servo
siemens
silicon
silikon
sinyal
sinyal
Source
stack
statement
stator
string
subrutin
tabel kebenaran
tahanan
tahanan jenis
tegangan
366
Tegangan Knee
tegangan listrik
temperatur
tesla
thermocouple
thyristor
tiga fase
timer
Titik Q
Toleransi
Transistor
transistor
transistor bipolar,
Transkonduktansi
transportasi
triac
Unijunction Transistor
unipolar
usaha listrik
USB
valensi
variabel
variant
visual basic
volt
watt
weber