700 likes | 933 Views
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)
E N D
MODUL PRESENTASI Mata Pelajaran:SistemKendaliM I K R O K O N T R O L(S K M)
StandarKompetensi (SK): MengoperasikanSistemKendaliMikrokontrol KompetensiDasar (KD): Prinsippengoperasiansistempengendalimikrokontroler (KKM : 74) Merencanakanrangkaiankendalimikrokontrolersederhana (KKM : 72) MembuatRangkaiankendalimikrokontrolersederhana (KKM : 70) Mengoperasikansistemkendalimikrokontroler (KKM: 72) Memahami data operasisistemkendalimikrokontroler (KKM : 72) MelakukanTindakanPengamananpadasistemkendaliMikrokontrol yang mengalamigangguan (KKM : 75) KriteriaKetuntasan Minimal (KKM) mapel : 72
Apa “Mikrokontroler” itu ? Mikrokontroleradalahsuatukomponensemikonduktor yang didalamnyasudahterdapatsuatusistemmikroprosesor, Read Only Memory (ROM), Random Access Memory (RAM), dan port I/O
Dasar-dasarteknik digital BilanganBiner (Mempunyai basis data 2)
PerubahanBinerkedesimal diperoleh Contoh : rubahlahbiner 101 kedesimal Langkah 1 : 1 0 1 Langkah 2 : 4 2 1 Langkah 3 : 4 2 1 Langkah 4 : 4 +0+1=5 Kesimpulan : 101 = 5
Latihan : Rubahlahbinerinimenjadidesimal 10101 11011 10100 11111
PerubahanDesimalkeBiner SistemDouble-Dabble (Ganda-plus Sisa) Andaterusmenerusmembagibilangandesimaldengan 2, danmenuliskansisanyasetelahdibagi. Kemudiansisanyadiambildalamurutankebalikannya. Contoh : Rubahlahdesimal12kebilanganbinernya 12/2 6sisa0 6/2 3sisa0 3/2 1sisa 1 1/2 0 sisa1 Jikadibacadaribawahkeatasbilanganbinernya 11 0 0
Latihan : Rubahlahdesimalkebiner 5 10 25 40 97
BilanganHeksadesimal (Mempunyai basis data 16)
BilanganHeksadesimalKeBiner ContohBilanganheksa : 9AF 9 A F 1001 1010 1111
RubahlahBilanganheksainikebiner C5E2 F8E6 AB12
BilanganBinerkeheksadesimal ContohBilanganbiner : 1000 1100 1000 1100 C 8
RubahlahBilanganheksainikebiner 1110 1011 1011 1101 1011 1011
Buatlah konversi bilangan : 0 s.d 100 Desimal Biner Heksa
Mikrokontroleradalahsalahsatudaribagiandasardarisuatusistemkomputer. Meskipunmempunyaibentuk yang jauhlebihkecildarisuatukomputerpribadidankomputer mainframe, mikrokontrolerdibangundarielemen-elemendasar yang sama. Secarasederhana, komputerakanmenghasilkan output spesifikberdasarkaninputan yang diterimadan program yang dikerjakan.
Sepertiumumnyakomputer, mikrokontroleradalahalat yang mengerjakaninstruksi-instruksi yang diberikankepadanya. Artinya, bagianterpentingdanutamadarisuatusistemterkomputerisasiadalah program itusendiri yang dibuatolehseorang programmer. Program inimenginstruksikankomputeruntukmelakukanjalinan yang panjangdariaksi-aksisederhanauntukmelakukantugas yang lebihkompleks yang diinginkanoleh programmer.
Mikrokontroleradalah single chip computer yang memilikikemampuanuntukdiprogramdandigunakanuntuktugas-tugas yang berorientasikontrol. Mikrokontrolerdatangdenganduaalasanutama, yang pertamaadalahkebutuhanpasar (market need) dan yang keduaadalahperkembanganteknologibaru.
Yang dimaksuddengankebutuhanpasaradalahkebutuhan yang luasdariproduk-produkelektronikakanperangkatpintarsebagaipengontroldanpemroses data. Sedangkan yang dimaksuddenganperkembanganteknologibaruadalahperkembanganteknologisemikonduktor yang memungkinkanpembuatan chip dengankemampuankomputasi yang sangatcepat, bentuk yang semakinmungil, danharga yang semakinmurah
Program LED switch Memory 1 2 3 4 CPU (Central Prosesor Unit) Buzzer keypad 5 6 7 8 9 0 + - Clock Relay sensor Sistemkerjamikrokontroler
LDR Sensor Cahaya LM35 Sensor suhu
Sistem Input MikrokontrolerPiranti input menyediakaninformasikepadasistemkomputerdaridunialuar. Hampirsemua input mikrokontrolerhanyadapatmemprosessinyal input digital dengantegangan yang samadenganteganganlogikadarisumber. Level nol (0) disebutdengan VSS dan teganganpositifsumber (VDD) umumnyaadalah 5 volt. Adabeberapamikrokontroler yang dilengkapidenganpirantikonversiini, yang disebutdengan ADC, dalamsaturangkaianterpadu.
Sinyal digital Sinyal analog V V ADC (Analog to Digital Converter) 5 5 0 t 0 t
Sistem Output MikrokontrolerPiranti output digunakanuntukberkomunikasiinformasimaupunaksidarisistemkomputerdengandunialuar. Sistemmikrokontrolermempunyai output yang jauhlebihsederhanasepertilampuindikatoratau beeper. Mikrokontrolermengolahsinyalsecara digital, sehinggauntukdapatmemberikan output analog diperlukanproseskonversidarisinyal digital menjadi analog. Piranti yang dapatmelakukankonversiinidisebutdengan DAC (Digital to Analog Converter).
Tanpa DAC Suhunya sekarang : 0110 0100 Mikrokontroler ADC Sensor suhu Dengan DAC DAC Mikrokontroler ADC Sensor suhu Suhunya sekarang : 100
Sinyal analog Sinyal digital V V DAC (Digital to Analog Converter) 5 5 0 t 0 t
Keunggulanmikrokontroler • Kehandalantinggi (high reliability) dankemudahanintegrasidengankomponen lain (high degree of integration) • Ukuran yang semakindapatdiperkecil (reduced in size) • Penggunaankomponendipersedikit (reduced component count) yang jugaakanmenyebabkanbiayaproduksidapatsemakinditekan (lower manufacturing cost) • Waktupembuatanlebihsingkat (shorter development time) sehinggalebihcepat pula dijualkepasarsesuaikebutuhan (shorter time to market) • Konsumsidaya yang rendah (lower power consumption)
Mikrokontroler AVR merupakansalahsatujenisarsitekturmikrokontroler yang menjadiandalan Atmel. Arsitekturinidirancangmemilikiberbagaikelebihandanmerupakanpenyempurnaandariarsitekturmikrokontroler-mikrokontroler yang sudahada. Berbagaiserimikrokontroler AVR telahdiproduksioleh Atmel dandigunakandiduniasebagaimikrokontroler yang bersifat low cost dan high performance. Di Indonesia, mikrokontroler AVR banyakdipakaikarenafiturnya yang cukuplengkap, mudahuntukdidapatkan, danharganya yang relatifterjangkau. Antarserimikrokontroler AVR memilikiberagamtipedanfasilitas, namunkesemuanyamemilikiarsitektur yang sama, danjuga set instruksi yang relatiftidakberbeda.
Berikuttabelperbandinganbeberapaserimikrokontroler AVR buatan Atmel
Keterangan: • Flash adalahsuatujenis Read Only Memory yang biasanyadiisidengan program hasilbuatanmanusia yang harusdijalankanolehmikrokontroler • RAM (Random Acces Memory) merupakanmemori yang membantu CPU untukpenyimpanan data sementaradanpengolahan data ketika program sedang running • EEPROM (Electrically Erasable Programmable Read Only Memory) adalahmemoriuntukpenyimpanan data secarapermanenoleh program yang sedang running • Port I/O adalah kaki untukjalurkeluarataumasuksinyalsebagaihasilkeluaranataupunmasukanbagi program • Timer adalahmoduldalam hardware yang bekerjauntukmenghitungwaktu/pulsa • UART (Universal Asynchronous Receive Transmit) adalahjalurkomunikasi data khusussecara serial asynchronous • PWM (Pulse Width Modulation) adalahfasilitasuntukmembuatmodulasipulsa • ADC (Analog to Digital Converter) adalahfasilitasuntukdapatmenerimasinyal analog dalam range tertentuuntukkemudiandikonversimenjadisuatunilai digital dalam range tertentu • SPI (Serial Peripheral Interface) adalahjalurkomunikasi data khusussecara serial secara serial synchronous • ISP (In System Programming) adalahkemampuankhususmikrokontroleruntukdapatdiprogramlangsungdalamsistemrangkaiannyadenganmembutuhkanjumlah pin yang minimal
Arsitektur AVR Mikrokontroler AVR sudahmenggunakankonseparsitektur Harvard yang memisahkanmemoridan bus untuk data dan program, sertasudahmenerapkan single level pipelining. Selainitumikrokontroler AVR jugamengimplementasikan RISC (Reduced Instruction Set Computing) sehinggaeksekusiinstruksidapatberlangsungsangatcepatdanefisien.
Seri ATtiny2313 banyakdigunakanuntuksistem yang relatifsederhanadanberukurankecil. • Berikutadalah feature-feature mikrokontrolerseri ATtiny2313. • Kapasitasmemori Flash 2 Kbytes untuk program • Kapasitasmemori EEPROM 128 bytes untuk data • Maksimal 18 pin I/O • 8 interrupt • 8-bit timer • Analog komparator • On-chip oscillator • Fasilitas In System Programming (ISP)
Sedangkan ATmega8535 banyakdigunakanuntuksistem yang kompleks, memiliki input sinyal analog, danmembutuhkanmemori yang relatiflebihbesar. • Berikutadalah feature-feature mikrokontrolerseri ATmega8535. • Memori Flash 8 Kbytes untuk program • Memori EEPROM 512 bytes untuk data • Memori SRAM 512 bytes untuk data • Maksimal 32 pin I/O • 20 interrupt • Satu 16-bit timer dandua 8-bit timer • 8 channel ADC 10 bit • Komunikasi serial melalui SPI dan USART • Analog komparator • 4 I/O PWM • Fasilitas In System Programming (ISP)
PENJELASAN FUNGSI PIN MIKROKONTROLER • AVR ATmega8535
A. Port AMerupakan 8-bit directional port I/O. Setiappinnyadapatmenyediakan internal pull-up resistor (dapatdiatur per bit). Output buffer Port A dapatmemberiarus 20 mAdandapatmengendalikan display LED secaralangsung. Data Direction Register port A (DDRA) harusdisettingterlebihdahulusebelum Port A digunakan. Bit-bit DDRA diisi 0 jikainginmemfungsikan pin-pin port A yang bersesuaiansebagai input, ataudiisi 1 jikasebagai output. Selainitu, kedelapan pin port A jugadigunakanuntukmasukansinyal analog bagi A/D converter.
B. Port BMerupakan 8-bit directional port I/O. Setiappinnyadapatmenyediakan internal pull-up resistor (dapatdiatur per bit). Output buffer Port B dapatmemberiarus 20 mAdandapatmengendalikan display LED secaralangsung. Data Direction Register port B (DDRB) harusdisettingterlebihdahulusebelum Port B digunakan. Bit-bit DDRB diisi 0 jikainginmemfungsikan pin-pin port B yang bersesuaiansebagai input, ataudiisi 1 jikasebagai output.
Pin-pin port B jugamemilikiuntukfungsi-fungsialternatifkhusus seperti yang dapatdilihatdalamtabelberikut.
C. Port CMerupakan 8-bit directional port I/O. Setiappinnyadapatmenyediakan internal pull-up resistor (dapatdiatur per bit). Output buffer Port C dapatmemberiarus 20 mAdandapatmengendalikan display LED secaralangsung. Data Direction Register port C (DDRC) harusdisettingterlebihdahulusebelum Port C digunakan. Bit-bit DDRC diisi 0 jikainginmemfungsikan pin-pin port C yang bersesuaiansebagai input, ataudiisi 1 jikasebagai output. Selainitu, dua pin port C (PC6 dan PC7) jugamemilikifungsialternatifsebagai oscillator untuk timer/counter 2.
D. Port DMerupakan 8-bit directional port I/O. Setiappinnyadapatmenyediakan internal pull-up resistor (dapatdiatur per bit). Output buffer Port D dapatmemberiarus 20 mAdandapatmengendalikan display LED secaralangsung. Data Direction Register port D (DDRD) harusdisettingterlebihdahulusebelum Port D digunakan. Bit-bit DDRD diisi 0 jikainginmemfungsikan pin-pin port D yang bersesuaiansebagai input, ataudiisi 1 jikasebagai output.
Fungsi-fungsialternatifkhusus seperti yang dapatdilihatdalamtabelberikut.
E. RESETRST pada pin 9 merupakan reset dari AVR. Jikapada pin inidiberimasukan low selama minimal 2 machine cycle maka system akandi-reset.F. XTAL1XTAL1 adalahmasukanke inverting oscillator amplifier dan input ke internal clock operating circuit.G. XTAL2XTAL2 adalah output dari inverting oscillator amplifier.H. AVccAvccadalah kaki masukanteganganbagi A/D Converter. Kaki iniharussecaraeksternalterhubungkeVccmelaluilowpass filter.
AREFAREF adalah kaki masukanreferensibagi A/D Converter. Untukoperasionalisasi ADC, suatu level teganganantara AGND danAvccharusdibeikanke kaki ini. J. AGNDAGND adalah kaki untuk analog ground. Hubungkan kaki inike GND, kecualijika board memilikianlaog ground yang terpisah
Sistem minimum (sismin) mikrokontroleradalahrangkaianelektronik minimum yang diperlukanuntukberoperasinya IC mikrokontroler. Sismininikemudianbisadihubungkandenganrangkaian lain untukmenjalankanfungsitertentu. • Di keluargamikrokontroler AVR, seri 8535 adalahsalahsatuseri yang sangatbanyakdigunakan. • Untukmembuatrangkaiansismin Atmel AVR 8535 diperlukanbeberapakomponenyaitu: • IC mikrokontroler ATmega8535 • 1 XTAL 4 MHz atau 8 MHz (XTAL1) • 3 kapasitorkertasyaitudua 22 pF (C2 dan C3) serta 100 nF (C4) • 1 kapasitorelektrolit 4.7 uF (C12) 2 resistor yaitu 100 ohm (R1) dan 10 Kohm (R3) • 1 tombol reset pushbutton (PB1) • Selainitutentunyadiperlukan power suply yang bisamemberikantegangan 5V DC.
PemrogramanBahasa C untuk AVR Bahasa C luasdigunakanuntukpemrogramanberbagaijenisperangkat, termasukmikrokontroler. Bahasainisudahmerupakan high level language, dimanamemudahkan programmer menuangkanalgoritmanya. Untukmengetahuidasarbahasa C dapatdipelajarisebagaiberikut.
1. Strukturpenulisan 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 : 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 : bilangandesimal • array : kumpulan data-data yang samatipenya.
3. Deklarasivariabel & konstanta • Variabeladalahmemoripenyimpanan data • yang nilainyadapatdiubah-ubah. • Penulisan : [tipe data] [nama] = [nilai] ; • Konstantaadalahmemoripenyimpanan data yang nilainyatidakdapatdiubah.Penulisan : const [nama] = [nilai] ; • Tambahan:Global variabel/konstanta yang dapatdiaksesdiseluruhbagian program. • Local variabel/konstanta yang hanyadapatdiaksesolehfungsitempatdideklarasikannya.
4. Statement Statement adalahsetiapoperasidalampemrograman, harusdiakhiridengan [ ; ] atau [ } ]. Statement tidakakandieksekusibiladiawalidengantanda [ // ] untuksatubaris. Lebihdari 1 barisgunakanpasangan [ /* ] dan [ */ ]. Statement yang tidakdieksekusidisebutjuga comments / komentar. suhu=adc/255*100; //contohrumusperhitungansuhu