mikrokontroler - SMK Negeri 2 Sragen

Download Report

Transcript mikrokontroler - SMK Negeri 2 Sragen

MODUL PRESENTASI
Mata Pelajaran:
Sistem Kendali
MIKROKONTROL
(S K M)
Standar Kompetensi (SK):
Mengoperasikan Sistem Kendali Mikrokontrol
Kompetensi Dasar (KD):
1.
2.
3.
4.
5.
6.
Prinsip pengoperasian sistem pengendali mikro kontroler (KKM : 74)
Merencanakan rangkaian kendali mikrokontroler sederhana (KKM : 72)
Membuat Rangkaian kendali mikrokontroler sederhana (KKM : 70)
Mengoperasikan sistem kendali mikrokontroler (KKM: 72)
Memahami data operasi sistem kendali mikrokontroler (KKM : 72)
Melakukan Tindakan Pengamanan pada sistem kendali Mikrokontrol yang
mengalami gangguan (KKM : 75)
Kriteria Ketuntasan Minimal (KKM) mapel :
72
Apa “Mikrokontroler” itu ?
Mikrokontroler adalah suatu komponen
semikonduktor yang didalamnya sudah terdapat
suatu sistem mikroprosesor, Read Only Memory
(ROM), Random Access Memory (RAM), dan
port I/O
Dasar-dasar teknik digital
Bilangan Biner (Mempunyai basis data 2)
Bilangan Desimal
Bilangan Biner
0
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
Perubahan Biner ke desimal
diperoleh
Contoh : rubahlah biner 101 ke desimal
Langkah 1 : 1 0 1
Langkah 2 : 4 2 1
Kesimpulan :
Langkah 3 : 4 2 1
101 = 5
Langkah 4 : 4 +0+1=5
Latihan : Rubahlah biner ini menjadi desimal
10101
11011
10100
11111
Perubahan Desimal ke Biner
Sistem Double-Dabble (Ganda-plus Sisa)
Anda terus menerus membagi bilangan desimal dengan 2,
dan menuliskan sisanya setelah dibagi. Kemudian sisanya
diambil dalam urutan kebalikannya.
Contoh : Rubah lah desimal 12 ke bilangan binernya
12/2  6 sisa
6/2  3 sisa
3/2  1 sisa
1/2  0 sisa
0
0
1
1
Jika dibaca dari
bawah ke atas
bilangan binernya
1100
Latihan : Rubahlah desimal ke biner
5
10
25
40
97
Bilangan Heksa desimal
(Mempunyai basis data 16)
Bilangan Heksa desimal
Bilangan
Desimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bilangan
Biner
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Bilangan
Heksadesimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Bilangan Heksa desimal Ke Biner
Contoh Bilangan heksa : 9AF
9
A
F
1001
1010
1111
Rubahlah Bilangan heksa ini ke biner
C5E2
F8E6
AB12
Bilangan Biner ke heksadesimal
Contoh Bilangan biner : 1000 1100
1000 1100
8
C
Rubahlah Bilangan heksa ini ke biner
1110
1011 1011
1101 1011 1011
Buatlah konversi bilangan : 0 s.d 100
Desimal
Biner
Heksa
Mikrokontroler adalah salah satu dari bagian dasar dari
suatu sistem komputer.
Meskipun mempunyai bentuk yang jauh lebih kecil dari
suatu komputer pribadi dan komputer mainframe,
mikrokontroler dibangun dari elemen-elemen dasar
yang sama.
Secara sederhana, komputer akan menghasilkan output
spesifik berdasarkan inputan yang diterima dan
program yang dikerjakan.
Seperti umumnya komputer, mikrokontroler adalah alat yang
mengerjakan instruksi-instruksi yang diberikan kepadanya.
Artinya, bagian terpenting dan utama dari suatu sistem
terkomputerisasi adalah program itu sendiri yang dibuat oleh
seorang programmer.
Program ini menginstruksikan komputer untuk melakukan jalinan
yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang
lebih kompleks yang diinginkan oleh programmer.
Mikrokontroler adalah single chip computer yang memiliki
kemampuan untuk diprogram dan digunakan untuk tugastugas yang berorientasi kontrol.
Mikrokontroler datang dengan dua alasan utama, yang
pertama adalah kebutuhan pasar (market need) dan yang
kedua adalah perkembangan teknologi baru.
Yang dimaksud dengan kebutuhan pasar adalah
kebutuhan yang luas dari produk-produk elektronik akan
perangkat pintar sebagai pengontrol dan pemroses data.
Sedangkan yang dimaksud dengan perkembangan
teknologi baru adalah perkembangan teknologi
semikonduktor yang memungkinkan pembuatan chip
dengan kemampuan komputasi yang sangat cepat,
bentuk yang semakin mungil, dan harga yang semakin
murah
Program
LED
switch
Memory
1 2 3 4
5 6 7 8
9 0 + keypad
CPU
(Central
Prosesor Unit)
Clock
sensor
Sistem kerja mikrokontroler
Buzzer
Relay
LDR
Sensor Cahaya
LM35
Sensor suhu
Sistem Input Mikrokontroler
Piranti input menyediakan informasi kepada sistem
komputer dari dunia luar.
Hampir semua input mikrokontroler hanya dapat
memproses sinyal input digital dengan tegangan yang sama
dengan tegangan logika dari sumber.
Level nol (0) disebut dengan VSS dan
tegangan positif sumber (VDD) umumnya adalah 5 volt.
Ada beberapa mikrokontroler yang dilengkapi dengan
piranti konversi ini, yang disebut dengan ADC, dalam satu
rangkaian terpadu.
Sinyal digital
Sinyal analog
V
V
5
ADC
5
(Analog to
Digital
Converter)
0
t
0
t
Sistem Output Mikrokontroler
Piranti output digunakan untuk berkomunikasi informasi
maupun aksi dari sistem komputer dengan dunia luar.
Sistem mikrokontroler mempunyai output yang jauh lebih
sederhana seperti lampu indikator atau beeper.
Mikrokontroler mengolah sinyal secara digital, sehingga
untuk dapat memberikan output analog diperlukan proses
konversi dari sinyal digital menjadi analog.
Piranti yang dapat melakukan konversi ini disebut dengan
DAC (Digital to Analog Converter).
Tanpa DAC
ADC
Mikrokontroler
Suhunya
sekarang :
0110 0100
Sensor
suhu
Dengan DAC
ADC
Mikrokontroler
DAC
Sensor
suhu
Suhunya
sekarang :
100
Sinyal analog
Sinyal digital
V
V
5
DAC
5
(Digital to
Analog
Converter)
0
t
0
t
Keunggulan mikrokontroler
1. Kehandalan tinggi (high reliability) dan kemudahan
integrasi dengan komponen lain (high degree of
integration)
2. Ukuran yang semakin dapat diperkecil (reduced in size)
3. Penggunaan komponen dipersedikit (reduced component
count) yang juga akan menyebabkan biaya produksi dapat
semakin ditekan (lower manufacturing cost)
4. Waktu pembuatan lebih singkat (shorter development
time) sehingga lebih cepat pula dijual ke pasar sesuai
kebutuhan (shorter time to market)
5. Konsumsi daya yang rendah (lower power consumption)
Mikrokontroler AVR merupakan salah satu jenis arsitektur
mikrokontroler yang menjadi andalan Atmel.
Arsitektur ini dirancang memiliki berbagai kelebihan dan
merupakan penyempurnaan dari arsitektur mikrokontrolermikrokontroler yang sudah ada.
Berbagai seri mikrokontroler AVR telah diproduksi oleh Atmel
dan digunakan di dunia sebagai mikrokontroler yang bersifat
low cost dan high performance.
Di Indonesia, mikrokontroler AVR banyak dipakai karena
fiturnya yang cukup lengkap, mudah untuk didapatkan, dan
harganya yang relatif terjangkau.
Antar seri mikrokontroler AVR memiliki beragam tipe dan
fasilitas, namun kesemuanya memiliki arsitektur yang sama,
dan juga set instruksi yang relatif tidak berbeda.
Berikut tabel perbandingan beberapa seri mikrokontroler AVR buatan Atmel
Keterangan:
• Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program
hasil buatan manusia yang harus dijalankan oleh mikrokontroler
• RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk
penyimpanan data sementara dan pengolahan data ketika program sedang running
• EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori
untuk penyimpanan data secara permanen oleh program yang sedang running
• Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran
ataupun masukan bagi program
• Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa
• UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data
khusus secara serial asynchronous
• PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa
• ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal
analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital
dalam range tertentu
• SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial
secara serial synchronous
• ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk
dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan
jumlah pin yang minimal
Arsitektur AVR
Mikrokontroler AVR sudah menggunakan konsep
arsitektur Harvard yang memisahkan memori dan bus
untuk data dan program, serta sudah menerapkan
single level pipelining. Selain itu mikrokontroler AVR
juga mengimplementasikan RISC (Reduced Instruction
Set Computing) sehingga eksekusi instruksi dapat
berlangsung sangat cepat dan efisien.
Seri ATtiny2313 banyak digunakan untuk sistem yang relatif sederhana dan
berukuran kecil.
Berikut adalah feature-feature mikrokontroler seri ATtiny2313.
1. Kapasitas memori Flash 2 Kbytes untuk program
2. Kapasitas memori EEPROM 128 bytes untuk data
3. Maksimal 18 pin I/O
4. 8 interrupt
5. 8-bit timer
6. Analog komparator
7. On-chip oscillator
8. Fasilitas In System Programming (ISP)
Sedangkan ATmega8535 banyak digunakan untuk sistem yang
kompleks, memiliki input sinyal analog, dan membutuhkan
memori yang relatif lebih besar.
Berikut adalah feature-feature mikrokontroler seri
ATmega8535.
1. Memori Flash 8 Kbytes untuk program
2. Memori EEPROM 512 bytes untuk data
3. Memori SRAM 512 bytes untuk data
4. Maksimal 32 pin I/O
5. 20 interrupt
6. Satu 16-bit timer dan dua 8-bit timer
7. 8 channel ADC 10 bit
8. Komunikasi serial melalui SPI dan USART
9. Analog komparator
10.4 I/O PWM
11.Fasilitas In System Programming (ISP)
PENJELASAN FUNGSI PIN
MIKROKONTROLER
AVR ATmega8535
A. Port A
Merupakan 8-bit directional port I/O.
Setiap pinnya dapat menyediakan internal pull-up resistor
(dapat diatur per bit).
Output buffer Port A dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung.
Data Direction Register port A (DDRA) harus disetting
terlebih dahulu sebelum Port A digunakan.
Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A
yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output.
Selain itu, kedelapan pin port A juga digunakan untuk
masukan sinyal analog bagi A/D converter.
B. Port B
Merupakan 8-bit directional port I/O. Setiap
pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit).
Output buffer Port B dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara
langsung.
Data Direction Register port B (DDRB) harus
disetting terlebih dahulu sebelum Port B
digunakan. Bit-bit DDRB diisi 0 jika ingin
memfungsikan pin-pin port B yang bersesuaian
sebagai input, atau diisi 1 jika sebagai output.
Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus
seperti yang dapat dilihat dalam tabel berikut.
C. Port C
Merupakan 8-bit directional port I/O. Setiap pinnya
dapat menyediakan internal pull-up resistor (dapat
diatur per bit).
Output buffer Port C dapat memberi arus 20 mA
dan dapat mengendalikan display LED secara
langsung.
Data Direction Register port C (DDRC) harus
disetting terlebih dahulu sebelum Port C
digunakan.
Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin
port C yang bersesuaian sebagai input, atau diisi 1
jika sebagai output.
Selain itu, dua pin port C (PC6 dan PC7) juga
memiliki fungsi alternatif sebagai oscillator untuk
timer/counter 2.
D. Port D
Merupakan 8-bit directional port I/O. Setiap
pinnya dapat menyediakan internal pull-up
resistor (dapat diatur per bit).
Output buffer Port D dapat memberi arus 20
mA dan dapat mengendalikan display LED
secara langsung.
Data Direction Register port D (DDRD) harus
disetting terlebih dahulu sebelum Port D
digunakan.
Bit-bit DDRD diisi 0 jika ingin memfungsikan
pin-pin port D yang bersesuaian sebagai
input, atau diisi 1 jika sebagai output.
Fungsi-fungsi alternatif khusus
seperti yang dapat dilihat dalam tabel berikut.
E. RESET
RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi
masukan low selama minimal 2 machine cycle maka system akan direset.
F. XTAL1
XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke
internal clock operating circuit.
G. XTAL2
XTAL2 adalah output dari inverting oscillator amplifier.
H. AVcc
Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini
harus secara eksternal terhubung ke Vcc melalui lowpass filter.
I.
AREF
AREF adalah kaki masukan referensi bagi A/D Converter.
Untuk operasionalisasi ADC, suatu level tegangan antara
AGND dan Avcc harus dibeikan ke kaki ini.
J.
AGND
AGND adalah kaki untuk analog ground.
Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog
ground yang terpisah
Sistem minimum (sismin) mikrokontroler adalah rangkaian elektronik
minimum yang diperlukan untuk beroperasinya IC mikrokontroler.
Sismin ini kemudian bisa dihubungkan dengan rangkaian lain untuk
menjalankan fungsi tertentu.
Di keluarga mikrokontroler AVR, seri 8535 adalah salah satu seri yang
sangat banyak digunakan.
Untuk membuat rangkaian sismin Atmel AVR 8535 diperlukan beberapa
komponen yaitu:
IC mikrokontroler ATmega8535
• 1 XTAL 4 MHz atau 8 MHz (XTAL1)
• 3 kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4)
• 1 kapasitor elektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan
10 Kohm (R3)
• 1 tombol reset pushbutton (PB1)
• Selain itu tentunya diperlukan power suply yang bisa memberikan
tegangan 5V DC.
Pemrograman Bahasa C untuk AVR
Bahasa C luas digunakan untuk pemrograman berbagai
jenis perangkat, termasuk mikrokontroler. Bahasa ini
sudah merupakan high level language, dimana
memudahkan programmer menuangkan algoritmanya.
Untuk mengetahui dasar bahasa C dapat dipelajari
sebagai berikut.
1. Struktur penulisan program
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional
[global variables] // Opsional
[functions] // Opsional
void main(void) // Program Utama
{
[Deklarasi local variable/constant]
[Isi Program Utama]
}
2. Tipe data
char
unsigned char
int
unsigned int
Long
unsigned long
float
array
: 1 byte ( -128 s/d 127 )
: 1 byte ( 0 s/d 255 )
: 2 byte ( -32768 s/d 32767 )
: 2 byte ( 0 s/d 65535 )
: 4 byte ( -2147483648 s/d 2147483647 )
: 4 byte ( 0 s/d 4294967295 )
: bilangan desimal
: kumpulan data-data yang sama tipenya.
3. Deklarasi variabel & konstanta
Variabel adalah memori penyimpanan data
yang nilainya dapat diubah-ubah.
Penulisan : [tipe data] [nama] = [nilai] ;
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat
diubah.
Penulisan : const [nama] = [nilai] ;
Tambahan:
Global variabel/konstanta yang dapat diakses di seluruh bagian
program.
Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat
dideklarasikannya.
4. Statement
Statement adalah setiap operasi dalam pemrograman, harus
diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila
diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris
gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi
disebut juga comments / komentar.
suhu=adc/255*100; //contoh rumus perhitungan suhu
5. Function
Function adalah bagian program yang dapat dipanggil
oleh program utama.
Penulisan :
[tipe data hasil] [nama function]([tipe
data input 1],[tipe data input 2])
{
[statement] ;
}
6. Conditional statement
dan looping
if else : digunakan untuk penyeleksian kondisi
if ( [persyaratan] ) {
[statement1];
[statement2];
}
else {
[statement3];
[statement4];
}
for : digunakan untuk looping dengan jumlah yang sudah
diketahui
for ( [nilai awal] ; [persyaratan] ;
[operasi nilai] ) {
[statement1];
[statement2];
}
while : digunakan untuk looping jika dan salama
memenuhi syarat tertentu
while ( [persyaratan] ) {
[statement1];
[statement2];
}
do while : digunakan untuk looping jika dan salama
memenuhi syarat tertentu, namun min 1 kali
do {
[statement1];
[statement2];
}
while ( [persyaratan] )
switch case : digunakan untuk seleksi dengan
banyak kondisi
switch ( [nama variabel] ) {
case [nilai1]: [statement];
break;
case [nilai2]: [statement];
break;
}
7. Operasi logika dan biner
Logika
AND
NOT
OR
:&&
:!
: ||
Biner
AND
:&
OR
:|
XOR
:^
Shift right : >>
Shift left
: <<
Komplemen : ~
8. Operasi relasional (perbandingan)
Sama dengan
Tidak sama dengan
Lebih besar
Lebih besar sama dengan
Lebih kecil
Lebih kecil sama dengan
: ==
: !=
:>
: >=
:<
: <=
9. Operasi aritmatika
1.
2.
3.
4.
5.
+,-,*,/
: tambah,kurang,kali,bagi
+= , -= , *= , /=
: nilai di sebelah kiri operator di
tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator
%
: sisa bagi
++ , -: tambah satu (increment) , kurang satu (decrement)
Contoh :
a = 5 * 6 + 2 / 2 -1
; maka nilai a adalah 30
a *= 5
; jika nilai awal a adalah 30, maka nilai a = 30x5 = 150.
a += 3
; jika nilai awal a adalah 30, maka nilai a = 30+5 = 33.
a++
; jika nilai awal a adalah 5 maka nilai a = a+1 = 6.
a-; jika nilai awal a adalah 5 maka nilai a = a-1 = 4.
PENUGASAN TIDAK TERSTRUKTUR (PTT) XII TPTL-1
Carilah data sheet dari IC mikrokontroller dari type
dibawah ini :
boleh foto copy, download internet…terserah anda
sumbernya !!
Tugas Dapat dikirim Via e-mail
ke :
[email protected]
Absen 1-4
Absen 5-8
Absen 9-12
Absen 13-17
Absen 18-20
Absen 21-24
Absen 25-28
Absen 29-32
Absen 33-34
Absen 35 -36
Dengan subject / judul :
TUGAS SKM
Dilengkapi dgn nama
kelompok
Atau dapat di Print,
dikumpulkan ke Bp. Rokhmad
PENUGASAN TIDAK TERSTRUKTUR (PTT) XII-TPTL-2
Carilah data sheet dari IC mikrokontroller dari type
dibawah ini :
boleh foto copy, download internet…terserah anda
sumbernya !!
Tugas Dapat dikirim Via e-mail
ke :
[email protected]
Absen 1-4
Absen 5-8
Absen 9-12
Absen 13-16
Absen 17-20
Absen 21-24
Absen 25-28
Absen 29-30
Absen 31-32
Absen 33 -34
Dengan subject / judul :
TUGAS SKM
Dilengkapi dgn nama
kelompok
Atau dapat di Print,
dikumpulkan ke Bp. Rokhmad
BUATLAH PROGRAM UNTUK :
TOMBOL START DITEKAN
LED1 MENYALA,
KETIKA TOMBOL STOP DITEKAN,
LED 1 MATI.
LATIHAN 1
BUATLAH PROGRAM UNTUK :
TOMBOL START1 DITEKAN
LED1 MENYALA,
TOMBOL START2 DITEKAN
LED2 MENYALA,
KETIKA TOMBOL STOP DITEKAN,
LED 1 & LED 2 MATI.
LATIHAN 2
BUATLAH PROGRAM UNTUK :
MENYALAKAN LED SECARA
BERURUTAN, DIMULAI DARI START1
UNTUK LED 1, KEMUDIAN START2
UNTUK LED2.
TOMBOL STOP UNTUK MEMATIKAN
SEMUA LED
LATIHAN 3
BUATLAH PROGRAM UNTUK :
MENYALAKAN LED SECARA
BERGANTIAN, START1 UNTUK LED 1,
KEMUDIAN START2 UNTUK LED2.
TOMBOL STOP1 UNTUK MEMATIKAN
LED1, TOMBOL STOP2 UNTUK
MEMATIKAN LED2
LATIHAN 4
BUATLAH PROGRAM UNTUK :
MENYALAKAN LED BERGANTIAN,
SECARA OTOMATIS DENGAN SELANG
WAKTU 1 DETIK.
TOMBOL START UNTUK MULAI,
TOMBOL STOP UNTUK MEMATIKAN.
LATIHAN 5