BAB
I
PENDAHULUAN
1.1. Latar Belakang Masalah
Yang dimaksud
mikrokontroler adalah sebuah mikroprosesorlengkap yang terkandung di dalam
sebuah chip yang mempunyai masukan dan
keluaran kendali dengan program yang bisa ditulis dan dihapus dengan cara yang khusus.
Cara kerja mikrokontroler sebenarnya hanya membaca dan menulis data. Sebagai contoh, bayangkan diri kita saat mulai belajar membaca dan
menulis, ketika kita sudah bisa melakukan hal itu maka kita dapat membaca
tulisan apapun baik buku cerpen, artikel dan sebagainya, dan kita juga dapat
menulis hal-hal sebaliknya.
Apabila kita sudah mahir membaca dan menulis data
maka kita dapat membuat program untuk membuat suatu sistem pengaturan
otomatis menggunakan mikrokontroler sesuai keinginan kita.
Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan di dalam sebuah PC,
karena sebuah mikrokontroler umumnya telah berisi
komponen-komponen pendukung, seperti : prosesor, memori, dan I/O. Namun, secara analogi mikrokontroler merupakan komputer
didalam chip yang digunakan untuk mengontrol
peralatan elektronik, yang ditekankan untuk efisiensi
dan efektifitas biaya. Secara harfiahnya juga dapat disebut "pengendali kecil"
dimana
Sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-
komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan
akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.
Dengan penggunaan mikrokontroler ini maka :
1. Sistem elektronik akan menjadi lebih ringkas.
2. Tingkat keamanan dan akurasi yang lebih baik.
3. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar
dari sistem adalah perangkat lunak yang mudah dimodifikasi.
4. Kemudahan dalam penggunaannya
untuk sistem
yang berbasis
mikrokontroler.
5. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak.
Namun demikian, tidak sepenuhnya mikrokontroler
dapat mereduksi
komponen ICTTL dan CMOS karena seringkali masih diperlukan untuk aplikasi
kecepatan tinggi atau menambah jumlah saluran masukan dan keluaran (I/O).
Beberapa periperal yang langsung dapat dimanfaatkan, misalnya port paralel, port
serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital
dan sebagainya hanya menggunakan sistem minimum
yang tidak rumit atau
kompleks.
1.2.
Rumusan
Masalah
a.
Bagaimana cara
kerja IC ATMEGA8 dan IC ATMEGA16.
b.
Bagaimana cara downloader dan sistem minimum bekerja.
c. Seperti apakah penerapan IC ATMEGA8.
1.3. Tujuan
Tujuan pembuatan
makalah ini adalah umtuk mengetahui cara kerja sistim minimum dan downloader
menggunakan IC ATMEGA dan cara penerapannya dengan membuat jam digital
menggunakan seven segmen, dilain hal itu juga untuk pengetahuan kami tentang
elektronika. Agar
dapat memahami tentang Penggunaan IC Mikrokontroler ATMEGA 16/32/8535 sebagai
komponen pengendali elektronika atau robotika dan dapat membuat downloader mikrokontroler,
serta dapat menggunakan software simulator baik berupa proteus
BAB II
PEMBAHASAN
2.1. Rangkaian
Sistem Minimum Mikrokontroler ATMEGA16/32/8535
memakai Software AVR Studio 4, PonyProg
2000, ISP Prog V.168
2.1.1. Sistim Minimum ATMEGA16
Sistem Minimum Mikrokontroller AVR
ATmega16, rangkaian ini sangat berguna bagi kita yang ingin belajar ataupun
membuat system kontrol menggunakan Mikrokontroller AVR khusunya ATmega dari
Atmel. Rangakaian ini kami beri nama “Sistem Minimum Mikrokontroller AVR
ATmega16” sebenarnya system minum ini tidak hanya bisa digunakan untuk AVR atmega16
saja, tetapi dapat digunakan juga untuk mikrokontroller AVR lainya seperti
ATmega8535, atmega8, ATmega32 dan lain-lain. Bagi anda yang ingin menggunakan
mikrokontroller yang lain silahkan saja caranya tinggal mengganti IC ATmega16
dengan IC yang ATmega yang anda ingin gunakan.
Rangkaian Sistem Minimum Mikrokontroler adalah rangkaian elektronika yang
terdiri dari komponen-komponen dasar yang dibutuhkan oleh suatu mikrokontroler
untuk dapat berfungsi dengan baik. Pada umumnya, suatu mikrokontoler membutuhkan
dua elemen (selain power supply) untuk berfungsi: Kristal
Oscillator (XTAL), dan Rangkaian RESET. Analogi fungsi Kristal Oscillator
adalah jantung pada tubuh manusia. Perbedaannya, jantung memompa darah dan
seluruh kandungannya, sedangkan XTAL memompa data. Dan fungsi rangkaian RESET
adalah untuk membuat mikrokontroler memulai kembali pembacaan program, hal
tersebut dibutuhkan pada saat mikrokontroler mengalami gangguan dalam
meng-eksekusi program. Rangkaian
selengkapnya adalah sebagai Berikut:
Gambar 2.1 skema layout sistem minimum
Gambar 2.2 layout sistem minimum pada
papan pcb
Gambar 2.3 Sistem minimum yang sudah jadi
Daftar Komponen Sistim Minimum
ATMEGA16
1. IC Mikrokontroler ATMEGA 16/32/5835
2. Soket IC 40 Pin
3. Resistor (R1) = 10K
4. Capasitor (C1&C2= 33pF atau 22pF
5. Xtal
= 12 Mhz
6. Capasitor (C3) = 16v/100mF
7. PusButton
8. IC Regulator 7805
9. Resistor (R=330)
10. Dioda 14007
11. Led
12. Conector 8 pin dan 2 pin
13. PCB Fiber
2.1.2. Sistim Minimum ATMEGA8
Dengan menggunakan minimum sistem yang kompatibel dengan atmega8 . disini mikrokontroler atmega8 bertindak sebagai mikro target dimana kita membutuhkan downloader lain intuk mendownload firmware ke atmega8. downloader tersebut bisa berupa downloader paralel atau serial dengan tools programmernya menggunakan Ponyprog atau bisa juga dengan menggunakan Downloader USBASP lain yang sudah jadi
berikut penampakan dari sistim minimum atmega8.
Gambar 2.4 Sistim minimum ATMEGA8
kemudian sediakan USBASP (Downloader) yang lain untuk mendownload firmware ke atmega8. (Downloader tidak harus yang berbasis USBASP bisa yang lain asal kompatibel dengan MOSI,MISO,SCK dan reset mikrokontroler AVR).
Ok karena laptop kami tidak ada PORT paralel atau serial maka kami pakai yang versi USBASP. (Kalau yang pakai PC bisa coba download pakai Downloader paralel atau serial dengan Software Ponyprog) beri supply ke minimum sistem target dan perhatikan Pin MOSI,MISO,SCK dan Reset untuk lebih jelasnya silakan lihat di datasheet atmega8.
Gambar 2.5 Koneksi USBASP dengan minimum sistem target.
selanjutnya buka software downloader (khazama/avrdude/Extreme burner AVR dll ), disini saya menggunakan Khazama Avr Downloader.
Gambar 2.6 Layout PCB Sistim Minimum ATMEGA8
Gambar 2.7 Skematik Sistim Minimum ATMEGA8
Jumper self programming merupakan suatu jumper yang digunakan untuk membuat board USBASP menjadi minimum sistem (target board). Bila USBASP anda tidak ada fasilitas jumper self programming anda dapat membuat jumper manual sendiri yaitu dengan cara menghubungkan kaki (pin nomor 1) dengan kaki (pin nomor 16) atmega8.
2.2. Adaptor atau baterai 5V DC
daptor adalah rangkaian yang berfungsi untuk mengubah arus AC menjadi arus DC. Kelebihan dari rangkaian ini adalah arus yang dihasilkan cukup stabil dan besarnya tegangan yang dihasilkan bisa kita atur dengan cara menyesuaikan komponen yang digunakan dengan output tegangan yang kita kehendaki. Adaptor banyak digunakan dalam berbagai alat sebagai catu daya, seperti Amplifier, TV mini, radio, dan alat elektronik lainnya.
Gambar 2.8 Skema Rangkain Adaptor
Daftar komponen:
1. C1 = Elco 1000 uF/16 V
2. C2 = Elco 100 nF/16 V
3. D1, D2 = Dioda 1N 4002
4. IC1 = IC Regulator 7805
5. T1 = Trafo stepdown 220 V/12 V 1 A CT
2.3. Rangkaian
Downloader Driver USB Mikrokontroler ATMEGA8
16PU
merupakan sebuah piranti yang digunakan untuk memasukkan file program (*hex) yang telah kita buat dengan bahasa pemograman (c/ assembly) ke dalam mikrokontroler. Rangkaian downloader merupakan rangkaian
elektronik yang digunakan untuk perantara memasukan kode atau instruksi yang
dibuat pada aplikasi mikrokontroler Atmega kemudian instruksi tersebut disimpan
di dalam IC Atmega. Komponen-komponen yang ada pada rangkaian downloader adalah
:
1. Capasitor (C1, C2) = 22pF warna orange
2. Capasitor Elco (C3) = 10v/4,7 µF
3. Capasitor (C4) = 100nF warna kuning
4. Dioda Zener (D1, D3) = 3V6
5. IC1 = ATMEGA8 16 PU/PI
6. LED1 = LED Red
7. LED2 = LED Green
8. Kristal (Q1) = 12Mhz
9. Resistor ¼ Watt (R5, R6) = 68 Ohm
10. Resistor ¼ Watt (R8) = 2,2
kOhm
11. Resistor ¼ Watt (R1, R2) =
330 Ohm
12. Resistor ¼ Watt (R7) = 10
kOhm
13. Resistor ¼ Watt (R3) = 1 kOhm
14. Conector (X1) = USB
Gambar 2.9 Skema rangkaian downloader USB
Gambar 2.10 Layout ke PCB
Gambar 2.11 downloader yang sudah jadi
Data Sheet ATmega8
Gambar 2.12 Pinout ATMEGA8
Pin Descriptions
VCC Digital supply voltage.
GND Ground.
Port B
(PB7..PB0) XTAL1/XTAL2/TOSC1/ TOSC2
Port B is an 8-bit bi-directional I/O
port with internal pull-up resistors (selected for each bit). The Port B
output buffers have symmetrical drive
characteristics with both high sink and source capability. As inputs, Port B pins
that are externally pulled low will source current if the pull-up resistors are
activated. The Port B pins are tri-stated when a reset condition becomes
active, even if the clock is not running.
Depending on the clock selection fuse
settings, PB6 can be used as input to the inverting Oscillator amplifier and
input to the internal clock operating circuit. Depending on the clock selection
fuse settings, PB7 can be used as output from the inverting Oscillator
amplifier.
If the Internal Calibrated RC Oscillator
is used as chip clock source, PB7..6 is used as TOSC2..1 input for the
Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set. The various special
features of Port B are elaborated in “Alternate Functions of Port B” on page 58
and “System Clock and Clock Options” on page 25.
Port C
(PC5..PC0)
Port C is an 7-bit bi-directional I/O
port with internal pull-up resistors (selected for each bit). The Port C output
buffers have symmetrical
drive characteristics with both high sink and source capability. As
inputs, Port C pins that are externally pulled low will source current if the
pull-up resistors are activated. The Port C pins are tri-stated when a reset
condition becomes active, even if the clock is not running.
PC6/RESET
If the RSTDISBL Fuse is programmed, PC6
is used as an I/O pin. Note that the electrical char- acteristics of PC6 differ
from those of the other pins of Port C. If the RSTDISBL Fuse is unprogrammed,
PC6 is used as a Reset input. A low level on this pin for longer than the
minimum pulse length will generate a Reset, even if the clock is not running. The
minimum pulse length is given in Table 15 on page 38. Shorter pulses are not guaranteed
to generate a Reset. The various special features of Port C are elaborated on
page 61.
Port D
(PD7..PD0)
Port D is an 8-bit bi-directional I/O
port with internal pull-up resistors (selected for each bit). The Port D output
buffers have symmetrical
drive characteristics with both high sink and source capability. As
inputs, Port D pins that are externally pulled low will source current if the
pull-up resistors are activated. The Port D pins are tri-stated when a reset
condition becomes active, even if the clock is not running. Port D also serves
the functions of various special features of the ATmega8 as listed on page 63.
RESET
Reset input. A low level on this pin for
longer than the minimum pulse length will generate a reset, even if the clock
is not running. The minimum pulse length is given in Table 15 on page 38.
Shorter pulses are not guaranteed to generate a reset.
AVCC
AVCC is the supply voltage pin for the A/D
Converter, Port C (3..0), and ADC (7..6). It should be externally connected to
VCC, even if the ADC is not used. If the ADC is used, it should be con nected
to VCC through a low-pass filter. Note that Port C (5..4) use digital supply
voltage, VCC.
AREF
AREF is the analog reference pin for the A/D Converter.
ADC7..6 (TQFP and QFN/MLF Package Only)
In the
TQFP and QFN/MLF package, ADC7..6 serve as analog inputs to
the A/D converter. These pins are
powered from the analog supply and serve as 10-bit ADC channels.
2.4. Penerapan IC ATmega8 dengan
membuat jam digital seven segment sederhana
membuat jam digital sederhana
dengan menggunakan 4 buah 7segment dan ATmega8 dan untuk metode pemrogramannya
hanya menggunakan library "delay.h". Terus Bagaimana caranya? kenapa
tidak menggunakan IC decoder untuk 7segment seperti IC 7447? Jawabannya
sederhana yaitu selain rangkaiannya tidak terlalu rumit juga bisa menghemat
penggunaan PORT pada mikrokontroler. Caranya dapat kamu lihat seperti gambar
skematik rangkaian dibawah ini :
Gambar 2.13 skematik rangkaian
Jika kita lihat skematik rangkaian
diatas semua 7Segment terhubung paralel dengan PORTD pada mikrokontroler
kemudian kaki Common / Enable pada seven segment yang biasa kita hubung
langsung ke ground itu kita hubungkan dengan PORTC pada mikrokontroler,
ditambah dengan 2 buah LED dan push
button yang tersambung dengan PORTB.
Terus bagaimana cara kerjanya
sehingga 7segment bisa menampilkan angka yang berbeda sementara semua
tersambung secara paralel dengan PORTD?. Caranya adalah kita menggunakan metode
scanning yaitu menyalakan 7segment secara bergantian dengan kecepatan tinggi
sehingga tampak menyala secara normal. Yang berfungsi untuk mengatur pergantian
7segment adalah PORTC yang jika berlogika 0 (terground) maka 7segment akan
aktif, sebaliknya jika berlogika 1 (tercatu) maka 7segment akan mati.
berikut script programnya:
#include <mega8.h>
#include <delay.h>
//-------------------7seg-------------------------------
#define set PORTD
//-------------------enable-----------------------------
#define enable1 PORTC.2
#define enable2 PORTC.3
#define enable3 PORTC.4
#define enable4 PORTC.5
//-------------------tombol----------------------------
#define tombol1 PINB.1
#define tombol2 PINB.3
//-------------------kondisi---------------------------
#define mati 1
#define nyala 0
unsigned char x=5,a
,y,detik,sat_mnt,pul_mnt,sat_jam,pul_jam,hit[10]={0b01111111, 0b00011100,
0b10111011, 0b10111110, 0b11011100, 0b11101110, 0b11100111, 0b00111100, 0b11111111,
0b11111110}; //common katoda
void rolling()
{
enable4=1;enable1=0;
set=hit[sat_mnt];
delay_ms(x);
if(sat_mnt>9){sat_mnt=0;pul_mnt++;}
enable1=1;enable2=0;
set=hit[pul_mnt];
delay_ms(x);
if(pul_mnt>5){pul_mnt=0;sat_jam++;}
enable2=1;enable3=0;
set=hit[sat_jam];
delay_ms(x);
if(sat_jam>9){sat_jam=0;pul_jam++;}
enable3=1; enable4=0;
set=hit[pul_jam];
delay_ms(x);
if(pul_jam>=4&&sat_jam==2){sat_jam=0;pul_jam=0;}
}
void setting()
{
while(1)
{
if (tombol1==0)
{
delay_ms(200);
while(tombol1==0);
a++;
if(a==1)
{
for(;;)
{
enable4=1;enable1=0;;set=hit[sat_mnt];
if(tombol2==0){ delay_ms(200);
while(tombol2==0);sat_mnt++;if(sat_mnt>9)sat_mnt=0;}
else if(tombol1==0){break;};
};
}
else if(a==2)
{ for(;;)
{
enable1=1;enable2=0;;set=hit[pul_mnt];
if(tombol2==0){ delay_ms(200);
while(tombol2==0);pul_mnt++;if(pul_mnt>5)pul_mnt=0;}
else
if(tombol1==0){break;};
};
}
else if(a==3)
{
for(;;)
{
enable2=1;enable3=0;;set=hit[sat_jam];
if(tombol2==0){ delay_ms(200);
while(tombol2==0);sat_jam++;if(sat_jam>9)sat_jam=0;}
else if(tombol1==0){break;};
};
}
else if(a==4)
{
for(;;)
{
enable3=1;
enable4=0;;set=hit[pul_jam];
if(tombol2==0){delay_ms(200);
while(tombol2==0);pul_jam++;if(pul_jam>2)pul_jam=0;}
else
if(tombol1==0){break;};
};
}
else if(a>4){a=0;goto lanjut;};
}
else if(a==0)break;
}
lanjut:
}
void jalan()
{
for (detik=1;detik<60;detik++)
{
DDRB.4=DDRB.5=1;
PORTB.5=1;
PORTB.4=1;
for (y=0;y<=24;y++)
{
rolling();
setting();
};
PORTB.4=0;
PORTB.5=0;
for (y=0;y<=24;y++)
{
rolling();
setting();
};
};
sat_mnt++;
}
void main(void)
{
PORTB=0xFF;
DDRB=0x00;
PORTC=0xFF;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;
set=hit[0];
delay_ms(10);
while(1)
{ jalan(); }
}
Gambar 2.14 layout PCB
Gambar 2.15 Layout Rangkaian
2.5.
Daftar Harga Komponen
Daftar Harga Membuat Downloader
1. Capasitor (C1, C2) 22pF warna orange =
Rp 200,-
2. Capasitor Elco (C3) 10v/4,7 µF =
Rp 250,-
3. Capasitor (C4) 100nF warna kuning =
Rp 500,-
4. Dioda Zener (D1, D3) 3V6 =
Rp 1.000,-
5. IC ATMEGA8
16 PU/PI + Socket =
Rp 35.000,-
6. LED1 LED Red =
Rp 200,-
7. LED2 LED Green =
Rp 200,-
8. Kristal (Q1) 12Mhz =
Rp 1.500,-
9. Resistor ¼ Watt (R5, R6) 68 Ohm (x 2) = Rp 200,-
10. Resistor ¼ Watt (R8) 2,2 kOhm =
Rp 100,-
11. Resistor ¼ Watt (R1, R2) 330
Ohm (x 2) = Rp 200,-
12. Resistor ¼ Watt (R7) 10 kOhm =
Rp 100,-
13. Resistor ¼ Watt (R3) 1 kOhm (x 2) =
Rp 200,-
14.
PCB bolong =
Rp 3.000,-
15.
Pin Konektor 2 kaki & 5 kaki (x 2) =
Rp 5.000,-
16. Conector
(X1) USB =
Rp 4.000,- +
Jumlah =
Rp 51.650,-
Daftar Harga Membuat Sistim
Minimum ATMEGA16
1. IC Mikrokontroler ATMEGA 16/32/5835 =
Rp 35.000,-
2. Soket IC 40 Pin =
Rp 1.500,-
3. Resistor (R1)10K = Rp 100,-
4. Capasitor (C1&C2 33pF atau 22pF =
Rp 500,-
5. Xtal 12 Mhz =
Rp 1.500,-
6. Capasitor (C3) 16v/100mF =
Rp 750,-
7. PusButton =
Rp 500,-
9. Resistor (R=330) =
Rp 100,-
11. Led =
Rp 200,-
12. Conector 8 pin dan 2 pin =
Rp 1.500,-
13. PCB Fiber =
Rp 3.500,- +
Jumlah =
Rp 45.150,-
Daftar Harga Membuat Sistim
Minimum ATMEGA8
2. Soket IC 28 Pin =
Rp 850,-
3. Resistor (R1)10K =
Rp 100,-
4. Capasitor (C1&C2) 22pF = Rp 200,-
5. Xtal 12 Mhz =
Rp 1.500,-
6. Capasitor (C3) 16v/10mF =
Rp 250,-
7. PusButton =
Rp 500,-
9. Resistor (R=330) =
Rp 100,-
11. Led =
Rp 200,-
12. Conector 4 pin dan 5 pin =
Rp 7.000,-
13. PCB bolong = Rp 3.500,- +
Jumlah =
Rp 14.200,-
Daftar Harga Membuat Adaptor
1. C1 = Elco 1000 uF/16 V = Rp 1.500,-
2. C2 = Elco 100 nF/16 V = Rp 1.000,-
3. D1, D2 = Dioda 1N 4002 = Rp 300,-
4. IC1 = IC Regulator 7805 = Rp 1.500,-
5. T1 = Trafo stepdown 220 V/12 V 1 A CT = Rp 17.500,- +
Jumlah = Rp 21.800,-
Daftar Harga Membuat Jam Digital
ATMEGA8 Sederhana
1.
Socket IC ATMEGA8 =
Rp 1.500,-
2.
Capasitor 22pf (x2) =
Rp 200,-
3. Push Button (x3) =
Rp 1.500,-
4 . Kristal 12 Mhz =
Rp 1.500,-
5.
Resistor 1 Kohm =
Rp 100,-
6. Resistor 220 ohm = Rp 200,-
7. LED Merah (x2) =
Rp 500,-
8. Resistor 4,7 Kohm = Rp 100,-
9. 7 Segment CK (x4) =
Rp 16.000,-
10. PCB Polos =
Rp 3.500,-
11. IC Regulator 7805 =
Rp 1.500,- +
Jumlah =
Rp 26.600,-
Daftar Harga Komponen Tambahan
1.kabel koneksi USB =
Rp 8.000,-
2.print =
Rp 10.000,-
2.Tespen =
Rp 10.000,-
3.Solder + Timah =
Rp 35.000,- +
Jumlah =
Rp 63.000,-
Jumlah Total
1. Daftar Harga Membuat Downloader =
Rp 51.650,-
2. Daftar Harga Membuat Sismin ATMEGA16 =
Rp 45.150,-
3. Daftar Harga Membuat Sismin ATMEGA8 =
Rp 14.200,-
4. Daftar Harga Membuat Adaptor = Rp 21.800,-
5. Daftar Harga Membuat Jam Digital ATMEGA8
Sederhana = Rp 26.600,-
6. Daftar Harga Komponen Tambahan = Rp 63.000,-
Jumlah =
Rp252.400,-
BAB III
PENUTUP
3.1. Kesimpulan
Kesimpulan dari makalah
ini adalah dalam pembuatan jam digital seven segmen menggunakan IC ATMEGA8
tidaklah mudah. Karena pada dasarnya kita harus mengusai bahasa pemrograman,
khususnya assembler dan C++ serta kita harus membuat 3 buah rangkaian
diantaranya yaitu :
1. Rangkaian
adaptor, adalah yang berfungsi sebagai inputan daya DC sebesar 5V
2. Rangkaian
downloader, sebagai perantara masuknya program dari komputer ke IC ATMEGA.
3. Rangkaian Sistim Minimum, untuk mengontrol berfungsi
tidaknya IC ATMEGA.
3.2.
Saran
Saran kami disini adalah sebelum program di download
ke IC ATMEGA alangkah baiknya di simulasikan terlebih dahulu menggunakan
software Proteus.
DAFTAR
PUSTAKA