Pendahuluan
Aplikasi elektronika masa
depan banyak berhubungan dengan teknologi robotika. Oleh karena itu,
pengetahuan akan
berbgai sensor dan teknik penggerakan aktuar sangatlah penting. Durasi untuk praktikum
ini 4 jam.
Tujuan Praktikum
1.
Praktikan dapat menjelaskan
cara kerja berbagai sensor yang umum digunakan pada robotika
2. Praktikan dapat memprogram
mikrokontroler AVR ATmega16 sebagai pengendali utama mobile robot.
3.
Praktikan mengusulkan suatu rancangan
dan program Fire
Fighting Robot.
Konsep Sensor
Robotika
Sensor Sharp
GP2D12
GP12D12 dan keluarganya
merupakan sensor deteksi jarak Infra Red pada aplikasi robot, selain itu juga
ukurannya yang kecil menghemat tempat dan daya Karena outputnya analog, maka
sangat tepat jika dipasangkan dengan mikrokontroler AVR. Output sensor ini
tidak linear, jadi Anda harus membuat look up table pada program untuk memperoleh hsil bacaan yang linear.
Blok diagram dari Sharp GP2D12 berisi led pemancar
dan penerima yang memiliki rangkaian pemroses, pengemudi, dan rangkaian osilasi
serta rangkaian output analog seperti gambar berikut:
Sensor
ini mempunyai output 3 kabel, yang terdiri dari :
·
Pin 1 sebagai tegangan output (Vo),
·
Pin 2, GND
·
Pin 3, Vcc
Untuk standarisasi, disarankan untuk kabel berwarna hitam sebagai GND, kuning untuk Vo
dan Merah untuk Vcc.
GP2D12 mendeteksi
bacaan terus menerus ketika diberi daya. Outputnya berupa
tegangan analog yang sesuai dengan jarak yang diukur. Nilai tersebut
diperbaharui setiap 32 ms. Berdasarkan pengukuran, tegangan yang
dihasilkan pada jarak 10cm ialah 2.6V, dan menurun tidak secara linear pada
jarak 80 cm beriksar pada tegangan 0.5 V.
Gambar 10.4
Karakteristik sensor Sharp GP2D12
Sensor Jarak Ultrasonik Devantech SRF04
Devantech SRF04 Ultrasonic
Range Finder memberikan informasi
jarak dari kisaran 3cm hingga 3 meter, atau SRF08 yang mencapai 6 meter. Kit ini
sangat mudah untuk dirangkai dan membutuhkan sumber
daya yang kecil sekali, yang sangat ideal untuk aplikasi mobile robot.
Susunan kakinya sebagai berikut:
Pencari jarak ini bekerja
dengan cara
memancarkan pulsa suara dengan kecepatan
suara (0.9 ft/milidetik).
Tabel 10.1 Karakteristik SRF04
|
Tegangan
|
5v
|
|
Arus
|
30mA Typ. 50mA Max
|
|
Frekwensi
|
40KHz
|
|
Maximum Range
|
3 m
|
|
Minimum Range
|
3 cm
|
|
Sensitifitas
|
Mendeteksi
jarak min 3cm
|
|
Trigger
input
|
10uS Min. TTL level pulse
|
|
Pulsa echo
|
Positive TTL level signal, width
proportional to range.
|
Photoreflector Hamamatsu P5587
Photoreflector P5587 dan P5588 ialah fotoreflektor yang mengkombinasikan
LED infrared dengan daya tinggi dan IC foto
rendah tegangan. Foto IC ini terdiri dari fotodioda sensitifitas tinggi, penguat, Schmitt
trigger dan output fototransistor pada 1
chip. Chip ini dapat digunakan untuk
sensor line follower.
Lynxmotion Singeline Detector
Single Line detector ini merupakan sensor refleksif
infrared yang biasanya dipasang
pada robot sumo atau mobile
robot lainnya. Sensor ini mengeluarkan sinyal TTL yang tergantung pada tingkat kecerahan permukaan di depan
sensor tersebut. Gunakan 2 atau
lebih sensor untuk menghasilkan robot line follower.
Sensor Hamamatsu
UVTron Flame Detector
Hamamatsu UVTron Flame
Detector dan rangkaian driver dapat mendeteksi api dari lilin atau puntung
rokok dalam jarak 5 meter. Biasanya digunakan sebagai alat untuk mendeteksi
sumber api seperti lilin, yang beroperasi pada panjang spectral 185 hingga
160nm.
Gambar
10.8 Paket sensor UVTRON dan driver
C3704
Devais lain yang sering digunakan pada mobile robot ialah sensor kompas dan kamera CMUCam3 yang dapat mendeteksi objek yang bergerak berdasarkan warna, serta mampu
melakukan pemrosesan image dengan cepat.
Gambar 10.9 Paket CMUCam3
Penerapan
pada Program
Percobaan 1.
Membaca data Sharp GP2D12
Langkah-langkahnya;
1.
Siapkan SmartAVR
Robotics, dan hubungkan dengan
kabel AVR ISP Programmer ke
PC. Hubungkan kabel serial dari mikrokontroler ke port serial PC
2.
Hubungkan sensor Sharp GP2D12 di port A.0, motor DC
5-12V di output L293D pin OUT1 dan
OUT2.
3.
Buat program di bawah
ini :
SharpGP2D12.c:
// Percobaan 10.1, percobaan baca data sensor jarak Sharp GP2D12
// LED terhubung di Port B
#include
<mega16.h>
#include <stdio.h>
#include <delay.h>
#define
ADC_VREF_TYPE 0x60
flash unsigned char
string1[]={"data adc: %d; "};
// Baca 8 bit terpenting
unsigned char read_adc(unsigned
char adc_input) {
…
return ADCH;
}
void main(void) {
// Inisialisasi
Port B
PORTB=0xFF;
DDRB=0xFF;
// USART
initialization
// Communication
Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver:
On
// USART
Transmitter: On
// USART
Mode: Asynchronous
// USART
Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;
// ADC
initialization
// ADC Clock
frequency: 31,250 kHz
// ADC Voltage
Reference: AVCC pin
// ADC Auto Trigger
Source: Free Running
// Menggunakan 8 bit data
…
SFIOR&=0x1F;
while (1)
{
PORTB=read_adc(0); // Baca data sensor di PA.0
printf(string1,PORTB);
if (PORTB>100)
{
PORTD=128; //Putar motor DC ke kanan
}
else
{
PORTD=64; //Putar motor DC ke kiri
}
};
}
4. Kompilasi dan jalankan, berikan
halangan pada sensor jarak tersebut, lihat perubahan arah gerak motor DC. Buat
grafik hasi pengukuran sensor tersebut.
Percobaan 2.
Pengatur putaran Motor DC dengan PWM
Langkah-langkahnya;
5.
Siapkan SmartAVR
Robotics, dan hubungkan dengan
kabel AVR ISP Programmer ke
PC.
6.
Hubungkan motor DC ke keluaran
OUT3 dan OUT4 pada IC
L293D.
7.
Buat program di bawah
ini :
PWM.c:
// Percobaan 10.2, Percoban kontrol kecepatan motor dengan PWM
#include <mega16.h>
#include <delay.h>
bit i;
void main(void) {
unsigned int temp;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x30; //PD4 dan PD5 sebagai output
…
TCCR1B=0x12;
TCNT1=0x0000;
ICR1H=0xFF; //Resolusi phase correct PWM 16-bit
ICR1L=0xFF;
OCR1A=0x0000;
OCR1B=0x0000;
i=0;
temp=0x0FF0; //Nilai awal PWM
while
(1)
{
if
(PINC.0==0) //Jika
tombol yang terhubung dengan PC0 ditekan,
{ //
maka motor semakin lambat
delay_ms(100); // dan berputar sampai
berhenti
temp-=0xFF;
if (temp==0xFF01)
temp=0x0000;
}
else //Jika tombol yang terhubung dengan PC0 tidak ditekan,
{ //
maka motor semakin cepat
delay_ms(100); // berputar sampai berputar terus
temp+=0xFF;
if (temp==0x00FE)
temp=0xFFFF;
}
OCR1A=temp;
OCR1B=temp;
};
}
8. Kompilasi dan jalankan program, tekan saklar pada Port C.0 dan
lihat efeknya pada putaran motor DC.
Tugas
Pendahuluan
1. Jelaskan cara kerja
sensor Sharp GP2D12, SRF04, Photoreflector P5887, PING, Pyroelectric, UVTRON
Flame Detector dan Thermal Array Sensor.
2. Buatlah contoh program C untuk mengatur kecepatan putar motor
DC pada robot menggunakan PWM.
Tugas Akhir Praktikum
1. Buatlah rancangan Fire Fighting Robot dan
program yang dapat mendeteksi
penghalang , mendeteksi adanya api serta
mampu memadamkannya. Aktuator menggunakan motor DC
yang dilengkapi dengan
speed encoder. Sensor api menggunakan paket UVTRON Flame
detector. Sensor jarak
menggunakan Sharp GP2D12.
Miliki naskah lengkap ini pada
buku
Panduan Praktikum Mikrokontroler AVR
ATmega16
Terbitan Elex Media Komputindo, Januari 2008
Pesan ke widodo@widodo.com atau desy@elexmedia.co.id.png)
.png)
.png)
.png)
0 comments:
Posting Komentar