laporan modul 5
Post on 12-Aug-2015
69 Views
Preview:
TRANSCRIPT
DESAIN DAN ANALISIS ROBOT KONTROL DIGITAL
ABDUL ROHMAN SAYYIDFisika Sains/III/A
Universitas Islam Negeri Sunan Gunung Djati BandungBandung
INDONESIArohman.abdul301@gmail.com
Abstract:
At the height and getting kompleknya energy's purpose problem electricity therefore at
needs a system who can manage electric energy purpose that. AVR constitutes one of type in it
mikrokontroler available logistic kind sort. Besides excess from AVR is have Power On Reset ,
which is not necessarily there is reset key from outside since last only by deadening supply ,
therefore self acting AVR will do reset . mikrokontroler just gets to issue one hight's tension or
low, where is point than hight which is well worth 1 (one) and low well worth 0 (zero). while
upon input most link with ground therefore inputan on does splits mikrokontroler shall well
worth 1 therefore will blaze. so even contrariwise. There is point even tension on that series as
big as 5 volts. It means to correspond to theory, since whereas for ATmega8 just gets is conected
with tension among 4,5 – 5,5 V. There Is speed even on motor driver that we utilizes which is as
big as 200 PWM. and our frequency utilize as big as 12 MHz.
Key word: Mikrokontroler, code vision AVR, Tension, Frequency,
Abstrak :
Dengan meningkatnya dan semakin kompleknya persoalan penggunaan energy listrik
maka di butuhkan suatu sistem yang dapat mengatur penggunaan energi listrik tersebut.AVR
merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam
fungsi.Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada
tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR
akan melakukan reset. mikrokontroler hanya dapat mengeluarkan sebuah tegangan hight atau
low, dimana nilai daripada hight yaitu bernilai 1 (satu) dan low bernilai 0 (nol). ketika pada saat
input terhubung dengan ground maka inputan pada kaki mikrokontroler harus bernilai 1 maka
akan menyala. begitupun sebaliknya. Adapun nilai tegangan pada rangkaian tersebut sebesar 5
volt. Hal ini berarti sesuai dengan teori, karena sedangkan untuk ATmega8 hanya dapat bekerja
pada tegangan antara 4,5 – 5,5 V. Adapun kecepatan pada motor driver yang kita gunakan yaitu
sebesar 200 PWM . dan frekuensinya kita menggunakan sebesar 12 MHz.
Kata kunci : Mikrokontroler, code vision AVR, Tegangan, Frekuensi,
1. Pendahuluan
Latarbelakang
Robot kontrol digital merupakan salah
satu jenis robot yang digunakan pada
teknologi saat ini. Robot kontrol digital
adalah sebuah robot yang dikendalikan
dengan menggunakan sebuah tombol ketika
tombol tersebut ditekan maka sesuai dengan
mikrokontroler yang telah diprogram
sebelumnya robot control digital akan
bergerak. Sebagai mahasiswa fisika sains kita
dituntut untuk mengerti dan memahami
system yang ada pada komponen
mikrokontroler sebagai program dan juga
sebagai komponen dasar yang ada pada
komponen-komponen elektronika.
Dasar Teori :
AVR ATmega8 adalah mikrokontroler
CMOS 8-bit berarsitektur AVR RISC yang
memiliki 8K byte in-System Programmable
Flash. Mikrokontroler dengan konsumsi daya
rendah ini mampu mengeksekusi instruksi
dengan kecepatan maksimum 16MIPS pada
frekuensi 16MHz. Jika dibandingkan dengan
ATmega8L perbedaannya hanya terletak pada
besarnya tegangan yang diperlukan untuk
bekerja. Untuk ATmega8 tipe L, mikrokontroler
ini dapat bekerja dengan tegangan antara 2,7 -
5,5 V sedangkan untuk ATmega8 hanya dapat
bekerja pada tegangan antara 4,5 – 5,5 V. AVR
merupakan salah satu jenis mikrokontroler yang
di dalamnya terdapat berbagai macam fungsi.
Perbedaannya pada mikro yang pada umumnya
digunakan seperti MCS51 adalah pada AVR
tidak perlu menggunakan oscillator eksternal
karena di dalamnya sudah terdapat internal
oscillator. Selain itu kelebihan dari AVR adalah
memiliki Power-On Reset, yaitu tidak perlu ada
tombol reset dari luar karena cukup hanya
dengan mematikan supply, maka secara
otomatis AVR akan melakukan reset. Untuk
beberapa jenis AVR terdapat beberapa fungsi
khusus seperti ADC, EEPROM sekitar 128 byte
sampai dengan 512 byte.
Konfigurasi Pin Atmega8
Gambar 2.1. Konfigurasi Pin Atmega8
ATmega8 memiliki 28 Pin, yang
masing-masing pin nya memiliki fungsi yang
berbeda-beda baik sebagai port maupun fungsi
yang lainnya. Berikut akan dijelaskan fungsi
dari masing-masing kaki ATmega8.
VCC
Merupakan supply tegangan digital.
GND
Merupakan ground untuk semua komponen
yang membutuhkan grounding.
Port B (PB7...PB0)
Didalam Port B terdapat XTAL1, XTAL2,
TOSC1, TOSC2. Jumlah Port B adalah 8 buah
pin, mulai dari pin B.0 sampai dengan B.7. Tiap
pin dapat digunakan sebagai input maupun
output. Port B merupakan sebuah 8-bit bi-
directional I/O dengan internal pull-up resistor.
Sebagai input, pin-pin yang terdapat pada port
B yang secara eksternal diturunkan, maka akan
mengeluarkan arus jika pull-up resistor
diaktifkan. Khusus PB6 dapat digunakan
sebagai input Kristal (inverting oscillator
amplifier) dan input ke rangkaian clock internal,
bergantung pada pengaturan Fuse bit yang
digunakan untuk memilih sumber clock.
Sedangkan untuk PB7 dapat digunakan sebagai
output Kristal (output oscillator amplifier)
bergantung pada pengaturan Fuse bit yang
digunakan untuk memilih sumber clock. Jika
sumber clock yang dipilih dari oscillator
internal, PB7 dan PB6 dapat digunakan sebagai
I/O atau jika menggunakan Asyncronous
Timer/Counter2 maka PB6 dan PB7 (TOSC2
dan TOSC1) digunakan untuk saluran input
timer.
Port C (PC5…PC0)
Port C merupakan sebuah 7-bit bi-directional
I/O port yang di dalam masingmasing pin
terdapat pull-up resistor. Jumlah pin nya
Teknologi robot sebenarnya telah ada
sebelum kata “robot” digunakan, ilmuwan
muslim merupakan pionier pertama teknologi
robot. Donald Routledge dalam bukunya
Studies in Medieval Islamic Technology,
mengatakan bahwa hingga zaman modern ini,
tidak satupun dari suatu kebudayaan yang
dapat menandingi lengkapnya instruksi untuk
merancang, memproduksi dan menyusun
berbagai mesin sebagaimana yang disusun
oleh Al-Jazari. Pada 1206 ia merampungkan
sebuah karya dalam bentuk buku yang
berkaitan dengan dunia teknik. Beliau
mendokumentasikan lebih dari 50 karya
temuannya, lengkap dengan rincian desain
dalam buku, “al-Jami Bain al-Ilm Wal ‘Aml
al-Nafi Fi Sinat ‘at al-Hiyal” (The Book of
Knowledge of Ingenious Mechanical
Devices, Springer, 1973 Edition). Bukunya
ini berisi tentang teori dan praktik mekanik.
Karyanya ini sangat berbeda dengan karya
ilmuwan lainnya, karena dengan piawainya
Al-Jazari membeberkan secara detail hal yang
terkait dengan mekanika. Dan merupakan
kontribusi yang sangat berharga dalam sejarah
teknik. Kontribusi Al-Jazari dalam dunia
robotika salah satunya adalah jam gajah yang
bekerja secara otomatis.
Gambar 5.1. Teknologi otomatisasi pada
tahun 1206 karya Al-Jazzari
Kata Robot sendiri pertama kali
digunakan oleh seorang novelist Karel Capek
pada tahun 1920 Ketika membuat Teater
Rossum’s Universal Robots (RUR), Robot
menurut bahasa diambil dari kata Robota
yang berasal dari bahasa Czech yang artinya
pelayan atau pekerja. Sehingga robot dapat
diartikan sebagai mesin yang dapat bekerja
secara terus menerus sebagai pelayan atau
pekerja yang dapat di kontrol atau bekerja
secara otomatis sesuai dengan kebutuhan
manusia atau tujuan pembuatannya. Oleh
karena itu robot tidak harus berbentuk
manusia atau hewan. Secara umum robot
tergolong menjadi dua bagian yaitu robot
otomatis dan robot teleoperated. Robot
otomatis dapat bekerja tanpa kontrol langsung
oleh manusia, robot tersebut bekerja
berdasarkan program yang ditanamkan seperti
robot line follower, robot avoider obstacle,
robot humanoid, lampu lalu lintas, pintu
otomatis, dan sebagainya. Sedangkan robot
teleoperated harus dikontrol langsung oleh
manusia, seperti robot kontrol, televisi,
computer dan lainnya.
Secara umum prinsip dasar sistem
robot terdiri dari tiga bagian utama yaitu
input, proses, dan output. Input robot dapat
berasal dari sensor, tombol kontrol, maupun
program yang tertanam. Proses merupakan
bagian otak robot yang menerima input dan
membuat perintah pada output berisi logika
atau kecerdasan buatan yang tertanam pada
chip mikrokontroler, sedangkan output adalah
actuator yang dapat berisi hidup matinya
motor DC, LED, buzzer atau lainnya.
Gambar 5.2. Prinsip umum sistem robotika
Pada percobaan kali ini, akan dibuat
robot teleoperated sederhana menggunakan
mikrokontroler ATmega 8, dengan kontrol
navigasi tombol push-buttom yang dapat
memberikan perintah pada robot untuk
bergerak maju, mundur, belok kiri dan belok
kanan.
2. Tujuan dan Rumusan Masalah
Adapun tujuan dari percobaan desain dan
analisis robot control digital adalah untuk :
1. Mengetahui dan memahami sistem
minimum mikrokontroler.
2. Mengetahui dan memahami prinsip
input-output mikrokontroler.
3. Mengetahui prinsip kendali motor DC
menggunakan mikrokontroler.
4. Mengetahui prinsip PWM (pulse
width modulation) untuk kendali
kecepatan motor DC.
5. Mampu mendesain dan membuat
robot kontrol digital sederhana.
6. Mengetahui aplikasi mikrokontroler
dalam teknologi digital dan
otomatisasi.
Rumusan masalah :
1. Bagaimana cara mengetahui dan
memahami sistem minimum
mikrokontroler?
2. Bagaimana cara mengetahui dan
memahami prinsip input-output
mikrokontroler.
3. Bagaimana cara mengetahui prinsip
kendali motor DC menggunakan
mikrokontroler.
4. Bagaimana cara mengetahui prinsip
PWM (pulse width modulation) untuk
kendali kecepatan motor DC.
5. Bagaimana cara mampu mendesain dan
membuat robot kontrol digital
sederhana.
Mengetahui aplikasi mikrokontroler dalam
teknologi digital dan otomatisasi.
Metode Percobaan :
ALAT DAN BAHAN
1. Papan PCB/protoboard
2. Multimeter
3. Kabel koneksi
4. Resistor
5. LED
6. Mikrokontroler ATmega 8
7. Motor driver L 293D
8. Tombol push-buttom
9. Software Proteus
10. Software Code Vision AVR
Prosedur percobaan
Desain dan Analisis
Robot Kontrol Digital
Pada percobaan desain dan analisis
robot kontrol digital yang pertama diakukan
yaitu mendesain rangaian desain seperti pada
gambar menggunakan software proteus dan
setelah itu kita membuat program dengan
menggunakan code vision AVR. Setelah
program yang kita buat sudah benar dan
sesuai, kemudian isi dari program code AVR
diinput kedalam mikrokontroler ATmega8
pada desain dan analisis robot control digital
yang ada pada desain proteus. Kemudian
desain dan analisis robot control digital yang
ada pada desain proteus diuji dengan
menekan tombol yang ada pada rangkaian.
Ketika motor berjalan berarti program yang
pada code vision AVR telah benar.
3. Solusi dari Permasalahan
Data dan Analisis :
DIAGRAM ALIR
Gambar Desain dan Analisis
Robot Kontrol Digital
Pada rangkaian desain robot control
digital, pada rangkain ini kita menggunakan
mikrokontroler ATmega 8 karena ATmega 8
lebih sederhana dibandingkan ATmega yang
lain dan ATmega 8 pun lebih sesuai dengan
kebutuhan pada percobaan ini. Pada
percobaan ini pada saat mikrokontroler
bekerja, mikrokontroler hanya dapat
mengeluarkan sebuah tegangan hight atau
low, dimana nilai daripada hight yaitu bernilai
1 (satu) dan low bernilai 0 (nol). ketika pada
saat input terhubung dengan ground maka
inputan pada kaki mikrokontroler harus
bernilai 1 maka akan menyala motor yang ada
pada outputan akan menyala. begitupun
sebaliknya, ketika pada outputan terhubung
dengan power/Vcc maka nilai pada kaki
mikrokontroler harus bernilai 0 untuk
menyala. dari dari tombol-tombol yang
bekerja akan mengerluarkan tegangan yang
berupa low dan nilai tegangan pada outputan
harus terhubung dengan Vcc atau power. Pada
rangkaian mengggunakan crystal yang
berfungsi sebagai pendorong atau pengatur
data yang masuk dan keluar dari
mikrokontroler. Pada saat tombol yang
terhubung dengan PORTD.0 yang telah
diisikan program pada mikrokontrolernya
dengan menggunakan code vision AVR pada
saat tombol PORTD.0 yang berada pada
inputan ditekan maka motor yang berada pada
Desain Robot
kontrol Digital
Merangkai rangkaian
seperti gambar
pada proteus
Membuat program
pada AVR
Uji rangkain
input isi program
AVR kedalam
mikrokontroler ATmega8
inputan 1 dan inputan 2 akan berjalan karena
pada saat tombol ditekan, ketika inputan
bernilai hight maka nilai yang keluar pada
outputan pun akan bernilai hight pula dan
akan menggerakan motor driver L 293D
sehingga robot dapat menjalankan motor
kanan sehingga robot belok kekiri. Pada
inputan 1 dan inputan 2 pasti terhubung
dengan eneble karena enebel bersifat
mendorong agar adanya arus yang masuk.
Begitu pun pada tombol – tombol PORTD.1
yang akan menggerakan robot agar robot
dapat belok ke kanan, dan pada PORTD.2
akan menggerakan robot menjadi maju dan
pada PORTD.3 akan menggerakan kedua
motor untuk mundur. Semua program yang
diinput pada mikrokontroler merupakan
program yang dibuat melalui program code
vision AVR. dan setelah diuji tegangan pada
rangkaian, diketahui nilai tegangan pada
rangkaian tersebut sebesar 5 volt. Hal ini
berarti sesuai dengan teori, karena untuk
ATmega8 hanya dapat bekerja pada tegangan
antara 4,5 – 5,5 V ketika tegangan input
memberikan nilai 5 volt maka nilai pada
tegangan outputan pun akan bernilai sama.
Adapun kecepatan pada motor driver yang
kita gunakan yaitu sebesar 200 PWM . dan
frekuensinya kita menggunakan sebesar 12
MHz dan adapun Program-program yang
digunakan pada kode vision AVR terlampir
pada lampiran.
Pada percobaan ini ada beberapa
kesalahan pada saat penggantian letak kaki
pada inputan, ketika kaki pada inputan
dipindahkan dan ketika diprogram ulang
dengan menggunakan code vision AVR
terjadi kesalahan berupa ketika tombol belum
ditekan, namun motor pada rangkaian sudah
berjalan terlebih dahulu. Hal ini dikarenkan
kesalahan pada saat pemrograman yang
dilakukan menggunakan code vision AVR.
4. Kesimpulan
Dari percobaan yang telah dilakukan,
dapat disimpulkan bahwa ketika suatu arus
yang masuk dari inputan, maka nilai arus
yang akan keluar pada outputan pun nilainya
sama dan mikrokontroler akan bekerja ketika
diisi dengan program yang menggunakan
code vision AVR.
References:
[1] Sanjaya, M. “Modul membuat robot itu
Asyik” Bolabot Techno Robotic School,
Bandung, 2012
[2] Malvino.”prinsip-prinsip elektronika I”
Erlangga, Jakarta,1994
[3] Malvino. “Prinsip-prinsip elektronika I”
Erlangga, Jakarta, 1994.
[4] Winarno & Arifianto, D. “Bikin robot itu
gampang”. Kawan Pustaka, Jakarta,
2011.
[5] Andrianto, H. “ Pemrograman
mikrokontroler AVR ATmega 16
menggunakan bahasa C (Code Vision
AVR)”. Penerbit Informatika, Bandung,
2008.
Lampiran 1
Gambar 1. Robot Kontrol Digital Motor
Kanan Bergerak
Gambar 2. Robot Kontrol Digital Motor Kiri
Bergerak
Gambar 3. Robot Kontrol Digital kedua
Motor Bergerak Maju
Gambar 4. Robot Kontrol Digital kedua
Motor Bergerak Mundur
Lampiran 2
PROGRAM ROBOT KONTROL
DIGITAL MENGGUNAKAN CV AVR
/******************************
This program was produced by the
CodeWizardAVR V2.05.0
Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc,
HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 11/29/2012
Author : Abdul Rohman
Company :
Comments:
Chip type : ATmega8
Program type : Application
AVR Core Clock frequency:
12.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
******************************/
#include <mega8.h>
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=Out
Func1=Out Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=0 State1=0
State0=T
PORTB=0x00;
DDRB=0x06;
// Port C initialization
// Func6=In Func5=In Func4=In
Func3=In Func2=In Func1=In
Func0=In
// State6=T State5=T State4=T
State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T State1=T
State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 11.719 kHz
// Mode: Fast PWM top=0x00FF
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA1;
TCCR1B=0x0D;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s)
initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture
by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
DDRD.0=0; // mendefinisikan sebagai
input
DDRD.1=0; // mendefinisikan sebagai
input
DDRD.2=0; // mendefinisikan sebagai
input
DDRD.3=0; // mendefinisikan sebagai
input
DDRD.5=1; // mendefinisikan sebagai
ouput
DDRD.6=1; // mendefinisikan sebagai
ouput
DDRD.7=1; // mendefinisikan sebagai
ouput
DDRB.0=1; // mendefinisikan sebagai
ouput
PORTD.0=1; // kondisi awal
PORTD.1=1;
PORTD.2=1;
PORTD.3=1;
PORTD.5=1;
PORTD.6=1;
PORTD.7=1;
PORTB.0=1;
OCR1A=200; // pengatur kecepatan
motor menggunakan PWM
OCR1B=200;
while (1)
{
if (PIND.0==0) //gerak kiri
{
PORTD.5=1;
PORTD.6=0;
PORTD.7=0;
PORTB.0=0;
}
else if (PIND.1==0) //gerak
kanan
{
PORTD.5=0;
PORTD.6=0;
PORTD.7=1;
PORTB.0=0;
}
else if (PIND.2==0) //gerak maju
{
PORTD.5=1;
PORTD.6=0;
PORTD.7=1;
PORTB.0=0;
}
else if (PIND.3==0) //gerak
mundur
{
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTB.0=1;
}
else //diam
{
PORTD.5=0;
PORTD.6=0;
PORTD.7=0;
PORTB.0=0;
}
}
}
top related