Showing posts with label hardwere. Show all posts
Showing posts with label hardwere. Show all posts

Tuesday 24 February 2015

HARDWARE :: Kumpulan Sensor-sensor untuk keperluan untuk Robot KRCI

Pada KRCI, penggunaan sensor-sensor yang akurat adalah salah satu faktor penentu kemenangan dalam pertandingan. Berikut ini akan kami bahas mengenai sensor-sensor yang dapat digunakan pada KRCI. Pada kontes ini robot akan bergerak menjelajah ruangan untuk mencari titik api. Agar robot dapat bergerak menjelajah ruangan maka dibutuhkan sensor jarak yang memberikan informasi pada robot akan jarak terhadap dinding-dinding.
Pada kondisi awal robot biasanya diletakkan pada kondisi yag tidak menentu pada posisi awal (home) oleh karena itu terlebih dahulu robot akan menyesuaikan arahnya terhadap salah satu dinding dengan mendeteksi saat sensor jarak robot terhadap dinding.  Caranya dengan memutar robot hingga salah satu sisi sensor (dalam gambar di atas adalah sensor kanan) berhasil menemukan dinding dalam jarak tertentu. Kemudian robot akan tetap berputar hingga sensor mendeteksi jarak yang semakin mendekat. Pada saat jarak sensor semakin menjauh maka robot dinyatakan telah sejajar dengan dinding dan selanjutnya robot dapat bergerak menjelajah ruangan dengan selalu memeriksa kondisi jarak dari sisi kanan, kiri, depan, serong kiri dan serong kanan. Dengan 5 buah sensor tersebut sebetulnya sudah cukup untuk menjelajah ruangan namun akan lebih baik lagi bila digunakan 8 buah sensor yang menempati 8 arah mata angin seperti pada gambar berikut
Robot KRCI mendeteksi 8 arah mata angin
Sensor Ultrasonik
Sensor ini adalah merupakan sensor jarak yang bekerja dengan mengirimkan suara ke obyek yang diukur dan perhitungan jarak dilakukan berdasarkan waktu yang terhitung mulai gelombang ultrasonik dipancarkan hingga diterima kembali.
Devantech SRF-05
Merupakan sensor jarak ultrasonik produksi Devantech yang merupakan penyempurnaan dari versi sebelumnya SRF04. Devantech SRF05 mampu menghitung jarak hingga 4 meter (SRF04 hanya 3 meter). Dengan teknik akses yang masih sama persis dengan SRF04 yaitu dengan memberikan pulsa trigger dan informasi jarak akan dikirim dalam bentuk pulsa echo di mana lebar pulsa akan mewakili jauhnya jarak. Satu hal lagi kelebihan SRF05 adalah kemampuan tambahan untuk diakses dengan hanya menggunakan satu jalur I/O saja selain teknik lama yang menggunakan 2 jalur tetap dipertahankan.
D-Sonar
Sensor Ultrasonic D-Sonar
Merupakan sensor ultrasonik produksi Delta Electronic yang didisain dengan harga yang jauh lebih terjangkau. Sensor ini dapat diakses dengan trigger dan echo seperti pada SRF04 dan juga melalui UART. Dengan melalui UART, informasi jarak tidak hanya berupa lebar pulsa namun juga dapat diminta dalam bentuk jarak.
Sensor Jarak Inframerah
Sharp GP2D12
Sensor jarak ultrasonik memang dapat mengatasi tipuan-tipuan dalam bentuk cermin, namun sensor ini memiliki kelemahan apabila obyek yang dideteksi berupa dinding yang bergelombang di mana sinyal sonar akan dipantulkan ke arah lain sehingga jarak tidak terdeteksi. Untuk mengatasi hal ini, sensor inframerah sebagai pendukung sistem pengukuran jarak adalah alternatif yang baik. Berbeda dengan sensor ultrasonik, sensor inframerah tidak menghitung waktu pancaran sinar melainkan menghitung di bagian mana sinar inframerah yang dikembalikan diterima oleh rangkaian phototransistor. Semakin jauh jarak maka semakin ke kanan sinar inframerah yang diterima pada rangkaian phototransistor dan semakin kecil tegangan outputnya.  Hasil output ini akan diterima oleh adc terlebih dahulu sebelum diambil oleh mikrokontroler.
sudut pantul gp2y0a21
Versi terbaru dari GP2D12 saat ini adalah GP2Y0A21. Bagian LED Drive circuit akan memancarkan cahaya inframerah ke obyek dan memantulkan dalam sudut yang sama. Apabila obyek menjauh maka sinar akan diterima semakin ke kanan dan tegangan keluaran akan semakin mengecil.
Sinar diterima pada phototransistor yang ada di dalam bagian signal processing circuit dan menghasilkan tegangan analog yang dikeluarkan ke bagian output
GP2D12, GP2Y0A21 Block Diagram
Hasil output tegangan tersebut tidaklah linier melainkan membentuk kurva seperti pada gambar berikut. Sensor mulai menampilkan jarak yang valid saat berada di jarak sekitar 4 cm dan menurun hingga 80 cm.
Kurva gp2d12 atau gp2y0a21
Untuk menghitung jarak maka dapat dilakukan dengan dua cara yaitu look up table dan interpolasi. Teknik paling sederhana adalah look up table yaitu dengan menyimpan di memori jarak-jarak berdasar kondisi tegangan sesuai dengan tabel di atas.
Berikut ini adalah beberapa sensor inframerah untuk pengukur jarak yang ada.
  • GP2D12, versi lama dengan jarak maksimum 80 cm
  • GP2Y0A21, versi terbaru dari GP2D12 dengan jarak maksimum 80 cm
  • GP2Y0A02, untuk jarak maksimum 150 cm
Sensor Kompas
Saat robot pertama kali berada pada posisi sejajar dengan dinding maka posisi tersebut harus disimpan sebagai referensi. Posisi tersebut disimpan dalam bentuh arah terhadap mata angin sehingga dibutuhkan sensor kompas untuk hal ini.
Devantech CMPS03
Devantech CMPS03 Digital Compass
Merupakan sensor kompas keluaran Devantech dengan antarmuka I2C.
Devantech CMPS10
Devantech CMPS10 Digital Compass
Merupakan versi update dari CMPS03 yang juga dilengkapi dengan sensor akselerasi dan sensor kemiringan. Pada KRCI terdapat salah satu tingkat kesulitan berupa uneven floor. Pada bagian ini robot akan mengalami gangguan navigasi sejenak karena bisa saja sensor jarak mengarah ke atas dan tidak mendeteksi dinding. Agar robot dapat mengetahui kapan terjadinya uneven floor, maka hal ini dapat dideteksi dengan fitur tilt (kemiringan) sensor pada CMPS10.
Uneven Floor
DST Navi
Merupakan sistem navigasi robot Produksi Delta Electronic di mana sistem ini dapat dihubungkan pada 8 buah SRF05, 8 buah GP2D12 dan sebuah Devantech Compass (CMPS03 atau CMPS10)
Modul DST-Navi terhubung dengan 8 SRF05, 8 GP2Y0A21, 1 CMPS10, Modul DST-AVR dan LCD
Pada sistem ini pengguna tidak harus menentukan kapan menggunakan sensor inframerah dan kapan sensor ultrasonik saat mengukur jarak. Terdapat perintah melalui UART yang meminta sistem untuk mengukur jarah di salah satu arah mata angin. Pada saat perintah ini diproses maka sistem akan melakukan dua metode pengukuran dan setelah menentukan hasil yang valid maka sistem akan mengirimkan informasi jarak ke UART. Hal ini akan membuat source code / program yang dibuat oleh pengguna semakin simpel.
Selain informasi jarak, DST-Navi juga dapat mendeteksi posisi robot terhadap arah mata angin ataupun kemiringan  dengan bantuan Devantech Compass. Salah satu aturan KRCI adalah robot kembali ke posisi awal, untuk kasus ini DST Navi juga dapat menyimpan catatan perjalanan robot berupa arah dan kemiringan setiap periode tertentu ke dalam memori sehingga melalui port UART catatan tersebut dapat diminta.
Sensor Api
Terdapat dua jenis sensor api yang sering digunakan yaitu Hamamatsu UVTRON yang mendeteksi titik api dengan mencari sinar ultraviolet dan TPA81 yang menggunakan inframerah.
Hamamatsu UVTRON R9454
UVTRON Sensor R2868 atau R9454
Merupakan sensor api produksi Hamamatsu  dan penyempurnaan dari versi sebelumnya R2868. Sensor ini memiliki ketahanan 10x lebih besar dari R2868 yaitu ( 10.000 m/s2 ). Sensor UVTRON dapat mendeteksi titik api dari jarak 5 meter.  Sensor ini membutuhkan tegangan DC yang cukup besar, yaitu 400 VDC. Untuk mempermudah pengguna dalam memakai sensor ini maka tersedia rangkaian driver C10423 yang menjadi antarmuka UVTRON dengan mikrokontroler. C10423 akan membangkitkan tegangan 400 Volt DC dan membangkitkan pulsa level TTL sehingga dapat dihubungkan langsung ke mikrokontroler
UVTRON Driver C10423
TPA81 Thermopile Array
TPA81 Thermophile Array
Tidak sejauh UVTRON yang mampu mendeteksi api pada jarak 5 meter, sensor ini hanya mendeteksi api pada jarak 2 meter. Namun UVTRON memiliki sudut yang cukup luas dalam mendeteksi titik api sehingga posisi api masih belum dapat dipastikan. Sedangkan Thermophile Array akan mendeteksi posisi titik api berdasarkan pixel-pixel yang mendeteksi cahaya inframerah dari api. Antarmuka TPA81 adalah dalam bentuk I2C

Sumber : http://delta-electronic.com/article/2012/01/an0177-sensor-sensor-untuk-keperluan-robot-krci/

Monday 23 February 2015

HARDWARE :: Cara Membuat USB Downloader dengan CodeVision AVR

Untuk itu alat dan bahan yang akan kita butuhkan adalah sebagai berikut :

Hardware dan Komponen
  1. Modul Downloader yang sudah ada / membeli jadi dari toko
  2. Chip Atmega8
  3. Crystal 16,000000 Hz
  4. Capasitor 22pF
  5. Resistor 1kΩ
  6. Switch Button
  7. Project Board (papan simulasi)
  8. PCB Polos.

Software Aplikasi dan Driver Installer
  1. Software CodeVision AVR (harus punya) jika tidak punya download disini
  2. Kode hexa yang nantinya diflash (.bat) / untuk mengisi program ke chip Atmega8 kita
  3. Driver usbasp yang nantinya dibutuhkan laptop/PC untuk menginstal USB downloader yang kita buat tadi
Pertama-tama yang pasti kita lakukan memastikan komponen-komponen sudah ada semuanya. Untuk sebagai percobaan kita rangkaikan Atmega8 dengan crystal 16MHz, capasitor 22pF, kemudian resistor dan switch ke Project Board. Langkah ini kita lakukan untuk menflash / mengisi chip atmega8 agar di dalamnya terisi program yang berfungsi sebagai chip downloader. Untuk itu kita rangkaian seperti digambar di bawah ini :
Scematic untuk Flash Chip Atmega8

Setelah kita sudah selesai merakit rangkaian seperti gambar di atas maka selanjutnya buka software CodeVision AVR yang sudah kita instal di PC/ laptop kalian masing-masing.


Setelah kita akan membuka menu Chip Programmer. Di menu programmer kita perlu mengubah Fuse-Bit di Atmega8, fungsi Fuse-bit ini kita mengganti Clock internal dari ATMEGA8 agar bisa membentuk sebesar 1MHz. Berikut bentuk gambarnya :
Chip Programmer                                        
Kemudian jika sudah semua, langkah selanjutnya kita klik File > Load FLASH dan Load EEPROM, maka akan membuka search file. Kita cari File (.hex) dari file yang sudah kita download di atas tadi, di Folder USBasp > Bin > firmware > Pilih file usbasp.atmega8.2011-05-28.hex (ganti optional file type) untuk melihat kode .hex.
Load FLASH
Load EEPROM
Klik OPEN, ketika semua langkah sudah dilakukan dengan benar maka langkah selanjutnya kita tinggal mengisi opsional-opsional yang sudah kita buat tadi ke dalam memori ATMEGA8. Kita masuk dalam proses mendownload program atau mengisi Chip Atmega8 kita agar menjadi Downloader USB.

Kita Koneksikan rangkaian yang kita buat ke Downloder yang sudah jadi beli dari Toko atau pinjam dari teman. Setelah terkoneksi maka Klik "Program All" disamping kolom chip atmega8. Tunggu sampai program selesai di Flash atau diisikan ke chip atmega8 kita yang masih kosong tadi.
* loading
Setelah chip sudah terflash atau terisi oleh program tadi sekarang kita menggambar layout PCB untuk dijadikan USB Downloader buatan kita sendiri nanti (made in sendiri), hehe

Rangkaian yang akan kita buat sebagai berikut ini.
* atmega8, atmega44, atmega88


Gambar di bawah ini merupakan hasil jadi yang telah saya dan teman-teman buat untuk sebagai Tugas Kuliahmembuat USB Downloader Mikrokontroler. Setelah Semuanya jadi, maka kita selanjutnya mencoba koneksi USB Downloader yang sudah kita buat tadi ke PC/ Laptop kalian masing-masing.
* loading
Instal Driver untuk USBasp ke dalam PC / Laptop kita masing-masing agar USB Downloader kita bisa terdeteksi untuk memprogram atau menflash ke chip yang lainnya. Drivernya bisa didownload link di atas. Ikuti langkah-langkah sebagai berikut sampai benar-benar clear dan finish maka Downloader yang kita buat selesai mencapainya.
* loading
Akhirnya kita sudah selesai melakukan Percobaan Membuat USB Downloader dengan menggunakan fasilitas bantuan Software CodeVision AVR yang sering kita gunakan dalam membuat robot dan sejenis. Semoga info ini bermanfaat buat kalian teman-teman, mohon maaf jika ada penulisan salah kata harap dimaklumi,, hehe

HARDWARE :: Cara Kerja Sensor Api UV-Tron | Modul Flame Detector

Sensor api UV-Tron adalah sebuah sensor yang mendeteksi adanya nyala api yang memancarkan sinar ultraviolet. Pancaran cahaya ultraviolet dari sebuah nyala lilin berjarak 5 meter dapat  dideteksi oleh sensor ini. Sensor api UV-Tron biasanya digunakan pada lomba robot, seperti KRCI (kontes robot cerdas indonesia) yang berfungsi mendeteksi keberadaan lilin yang akan dipadamkan oleh sirobot. Untuk lebih mudah jika anda berniat untuk membeli sensor UV-Tron sebaiknya langsung membeli lengkap dengan drivernya alias membeli yang sudah jadi modul yang siap dipakai. Sensor UV-Tron akan mengeluarkan logika high (1) jika ia mendeteksi keberadaan api dan sebaliknya sensor UV-Tron akan mengeluarkan logika low (0) jika ia tidak mendeteksi api, anda bisa mengecek keluarannya dengan multimeter analog. Perlu diketahui, output yang dikeluarkan adalah sinyal kotak dengan frekuensi yang bergantung pada kapasitor yang digunakan pada driver. Pemilihan kapasitor driver harus disesuaikan dengan kebutuhan, jika kita ingin mendapatkan output dengan sampling yang lebih cepat maka gunakan kapasitor dengan kapasitansi yang lebih kecil (biasanya 0.01 µF), sebaliknya jika ingin sampling yang lebih lambat gunakan kapasitansi kapasitor yang lebih besar (misal 1 µF). Biasanya nilai kapasitansi 0.01 µF memiliki periode sampling 0.01s begitupun untuk 1 µF memiliki periode sampling 1s kira-kira begitu.
prinsip kerja Modul Sensor Hamamatsu UVTRON R2868

 Gambar Modul Sensor Hamamatsu UVTRON R2868

HARDWARE :: sensor api pengganti UVtron dan Thermal array


 
UVtron, Thermal Array, IR camera
yaitu pake remotenya nintendo wii.
  

remote wiimote dari nintendo
sensor api paket hemat dari remote wii ini rupanya cuman setengah harga dari UVtron+driver loh (kalo pake harga batam).
  
 
pada bagian depan dari remote ini memiliki kamera infra merah dengan spesifikasi berikut:
1. kamera resolusi 1024×768
2. Up to 4 blob (cahaya IR terang melebihi thresholdnya)
3. 100 proses gambar perdetik
3. interfacing i2c
4. output i2c berupa koordinat dari 4 blob tersebut.
wiring cameranya:
Jika menggunakan crystal quartz (4kaki) :
 
jika menggunakan crystal resonator (2kaki) perhatikan yang didalam kotak ya
 
bentuk jadinya
    
yang keren dari internet, yang tengah / yang jelek itu punya saya
cuman lum dilanjutkan, timahnya habis trus resistor ma capasitor ada dibawah pcb :p
setelah itu tinggal dihubungkan ke arduino dan pasang kaca hitam bawaannya.
jika ingin pakai library arduinonya download PVision.zip  ubah ke ZIP ya
tapi jika gak mau pakai library, ini contoh akses IR kamera nya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Wii Remote IR sensor  test sample code  by kako
// modified output for Wii-BlobTrack program by RobotFreak
 
#include
 
int IRsensorAddress = 0xB0;
int slaveAddress;
int ledPin = 13;
boolean ledState = false;
byte data_buf[16];
int i;
 
int Ix[4];
int Iy[4];
int s;
 
void Write_2bytes(byte d1, byte d2)
{
    Wire.beginTransmission(slaveAddress);
    Wire.send(d1); Wire.send(d2);
    Wire.endTransmission();
}
 
void setup()
{
    slaveAddress = IRsensorAddress >> 1;   // This results in 0x21 as the address to pass to TWI
    Serial.begin(38400);
    pinMode(ledPin, OUTPUT);      // Set the LED pin as output
    Wire.begin();
    // IR sensor initialize
    Write_2bytes(0x30,0x01); delay(10);
    Write_2bytes(0x30,0x08); delay(10);
    Write_2bytes(0x06,0x90); delay(10);
    Write_2bytes(0x08,0xC0); delay(10);
    Write_2bytes(0x1A,0x40); delay(10);
    Write_2bytes(0x33,0x33); delay(10);
    delay(100);
}
void loop()
{
    ledState = !ledState;
    if (ledState) { digitalWrite(ledPin,HIGH); } else { digitalWrite(ledPin,LOW); }
 
    //IR sensor read
    Wire.beginTransmission(slaveAddress);
    Wire.send(0x36);
    Wire.endTransmission();
 
    Wire.requestFrom(slaveAddress, 16);        // Request the 2 byte heading (MSB comes first)
    for (i=0;i    i=0;
    while(Wire.available() && i < 16) {
        data_buf[i] = Wire.receive();
        i++;
    }
 
    Ix[0] = data_buf[1];
    Iy[0] = data_buf[2];
    s   = data_buf[3];
    Ix[0] += (s & 0x30) <    Iy[0] += (s & 0xC0) <
    Ix[1] = data_buf[4];
    Iy[1] = data_buf[5];
    s   = data_buf[6];
    Ix[1] += (s & 0x30) <    Iy[1] += (s & 0xC0) <
    Ix[2] = data_buf[7];
    Iy[2] = data_buf[8];
    s   = data_buf[9];
    Ix[2] += (s & 0x30) <    Iy[2] += (s & 0xC0) <
    Ix[3] = data_buf[10];
    Iy[3] = data_buf[11];
    s   = data_buf[12];
    Ix[3] += (s & 0x30) <    Iy[3] += (s & 0xC0) <
    for(i=0; i    {
      if (Ix[i] < 1000)
        Serial.print(" ");
      if (Ix[i] < 100)
        Serial.print(" ");
      if (Ix[i] < 10)
        Serial.print(" ");
      Serial.print( int(Ix[i]) );
      Serial.print(",");
      if (Iy[i] < 1000)
        Serial.print(" ");
      if (Iy[i] < 100)
        Serial.print(" ");
      if (Iy[i] < 10)
        Serial.print(" ");
      Serial.print( int(Iy[i]) );
      if (i        Serial.print(",");
    }
    Serial.println("");
    delay(3);
}
sumber:
https://handritoar.wordpress.com/2011/11/28/sensor-api-paket-hemat-tapi-efisien/
.