Mata Pelajaran : Sistem Kendali M I K R O K O N T R O L (S K M)

Post on 14-Feb-2016

103 views 1 download

description

MODUL PRESENTASI. Mata Pelajaran : Sistem Kendali M I K R O K O N T R O L (S K M). Standar Kompetensi (SK): Mengoperasikan Sistem Kendali Mikrokontrol. Kompetensi Dasar (KD): Prinsip pengoperasian sistem pengendali mikro kontroler (KKM : 74) - PowerPoint PPT Presentation

Transcript of Mata Pelajaran : Sistem Kendali M I K R O K O N T R O L (S K M)

Mata Pelajaran:Sistem Kendali

M I K R O K O N T R O L(S K M)

MODUL PRESENTASI

Standar Kompetensi (SK):Mengoperasikan Sistem Kendali Mikrokontrol

Kompetensi Dasar (KD):1. Prinsip pengoperasian sistem pengendali mikro kontroler (KKM : 74)2. Merencanakan rangkaian kendali mikrokontroler sederhana (KKM : 72)3. Membuat Rangkaian kendali mikrokontroler sederhana (KKM : 70)4. Mengoperasikan sistem kendali mikrokontroler (KKM: 72)5. Memahami data operasi sistem kendali mikrokontroler (KKM : 72)6. 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 digitalBilangan Biner (Mempunyai basis data 2)

Bilangan Desimal Bilangan Biner0 0001 0012 0103 0114 1005 1016 1107 111

Perubahan Biner ke desimal

diperoleh

Contoh : rubahlah biner 101 ke desimal Langkah 1 : 1 0 1Langkah 2 : 4 2 1Langkah 3 : 4 2 1Langkah 4 : 4 +0+1=5

Kesimpulan :101 = 5

Latihan : Rubahlah biner ini menjadi desimal

10101

11011

10100

11111

Perubahan Desimal ke BinerSistem 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 06/2 3 sisa 03/2 1 sisa 11/2 0 sisa 1

1 1 0 0

Jika dibaca dari bawah ke atas bilangan binernya

Latihan : Rubahlah desimal ke biner

10

254097

5

Bilangan Heksa desimal(Mempunyai basis data 16)

Bilangan Desimal

Bilangan Biner

Bilangan Heksadesimal

0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 89 1001 9

10 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F

Bilangan Heksa desimal

Bilangan Heksa desimal Ke Biner

9 A F

Contoh Bilangan heksa : 9AF

111110101001

Rubahlah Bilangan heksa ini ke biner

C5E2

F8E6

AB12

Bilangan Biner ke heksadesimal

Contoh Bilangan biner : 1000 1100

1000 1100

C8

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 tugas-tugas 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

CPU (Central

Prosesor Unit)

Memory

Clock

Program

switch

1 2 3 45 6 7 89 0 + -

keypad

sensor

LED

Buzzer

Relay

Sistem kerja mikrokontroler

LM35Sensor suhu

LDRSensor Cahaya

Sistem Input MikrokontrolerPiranti 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.

ADC(Analog to

Digital Converter)

V

t

5

0

V

t

5

0

Sinyal analog Sinyal digital

Sistem Output MikrokontrolerPiranti 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).

Mikrokontroler

Sensor suhu

ADC

Suhunya sekarang :0110 0100

Mikrokontroler

Sensor suhu

ADC

Suhunya sekarang :

100

DAC

Tanpa DAC

Dengan DAC

V

t

5

0

V

t

5

0

Sinyal analogSinyal digital

DAC(Digital to

Analog Converter)

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)

Keunggulan mikrokontroler

Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler yang menjadi andalan Atmel. Arsitektur ini dirancang memiliki berbagai kelebihan dan merupakan penyempurnaan dari arsitektur mikrokontroler-mikrokontroler 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

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.

Arsitektur AVR

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 program2. Kapasitas memori EEPROM 128 bytes untuk data3. Maksimal 18 pin I/O4. 8 interrupt5. 8-bit timer6. Analog komparator7. On-chip oscillator8. 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 program2. Memori EEPROM 512 bytes untuk data3. Memori SRAM 512 bytes untuk data 4. Maksimal 32 pin I/O 5. 20 interrupt6. Satu 16-bit timer dan dua 8-bit timer7. 8 channel ADC 10 bit8. Komunikasi serial melalui SPI dan USART9. Analog komparator10.4 I/O PWM11.Fasilitas In System Programming (ISP)

PENJELASAN FUNGSI PIN MIKROKONTROLER AVR ATmega8535

A. Port AMerupakan 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 BMerupakan 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 CMerupakan 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 DMerupakan 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. RESETRST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.

F. XTAL1XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.

G. XTAL2XTAL2 adalah output dari inverting oscillator amplifier.

H. AVccAvcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

I. AREFAREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

J. AGNDAGND 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.

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.

Pemrograman Bahasa C untuk AVR

#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] }

1. Struktur penulisan program

char : 1 byte ( -128 s/d 127 )unsigned char : 1 byte ( 0 s/d 255 )int : 2 byte ( -32768 s/d 32767 )unsigned int : 2 byte ( 0 s/d 65535 )Long : 4 byte ( -2147483648 s/d 2147483647 )unsigned long : 4 byte ( 0 s/d 4294967295 )float : bilangan desimalarray : kumpulan data-data yang sama tipenya.

2. Tipe data

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.

3. Deklarasi variabel & konstanta

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

4. Statement

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] ;}

5. Function

if else : digunakan untuk penyeleksian kondisi

if ( [persyaratan] ) {[statement1];[statement2];}else {[statement3];[statement4];}

6. Conditional statement dan looping

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 binerLogika AND :&&NOT : ! OR : ||

BinerAND : &OR : |XOR : ^ Shift right : >>Shift left : << Komplemen : ~

Sama dengan : ==Tidak sama dengan : !=Lebih besar : > Lebih besar sama dengan : >=Lebih kecil : < Lebih kecil sama dengan : <=

8. Operasi relasional (perbandingan)

1. + , - , * , / : tambah,kurang,kali,bagi 2. += , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi

dengan nilai di sebelah kanan operator3. % : sisa bagi4. ++ , -- : tambah satu (increment) , kurang satu (decrement)5. Contoh :

a = 5 * 6 + 2 / 2 -1 ; maka nilai a adalah 30a *= 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.

9. Operasi aritmatika

PENUGASAN TIDAK TERSTRUKTUR (PTT) XII TPTL-1Carilah data sheet dari IC mikrokontroller dari type dibawah ini : boleh foto copy, download internet…terserah anda sumbernya !!

Absen 1-4Absen 5-8Absen 9-12Absen 13-17Absen 18-20Absen 21-24Absen 25-28Absen 29-32Absen 33-34Absen 35 -36

Tugas Dapat dikirim Via e-mail ke : rokhmad_sragen@yahoo.com

Dengan subject / judul : TUGAS SKM

Dilengkapi dgn nama kelompok

Atau dapat di Print, dikumpulkan ke Bp. Rokhmad

PENUGASAN TIDAK TERSTRUKTUR (PTT) XII-TPTL-2Carilah data sheet dari IC mikrokontroller dari type dibawah ini : boleh foto copy, download internet…terserah anda sumbernya !!

Absen 1-4Absen 5-8Absen 9-12Absen 13-16Absen 17-20Absen 21-24Absen 25-28Absen 29-30Absen 31-32Absen 33 -34

Tugas Dapat dikirim Via e-mail ke : rokhmad_sragen@yahoo.com

Dengan subject / judul : TUGAS SKM

Dilengkapi dgn nama kelompok

Atau dapat di Print, dikumpulkan ke Bp. Rokhmad

BUATLAH PROGRAM UNTUK :TOMBOL START DITEKANLED1 MENYALA, KETIKA TOMBOL STOP DITEKAN, LED 1 MATI.

LATIHAN 1

BUATLAH PROGRAM UNTUK :TOMBOL START1 DITEKANLED1 MENYALA, TOMBOL START2 DITEKANLED2 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