«

»

May 30

Sensor Garis pada Line Following Robot

Pada aplikasi line following robot, sensor garis yang sering digunakan adalah IR LED sebagai sumber cahaya dan Photodioda atau Phototransistor sebagai penerima. Bisa juga menggunakan ultrabright LED sebagai sumber cahaya.

Dari sisi output rangkaian penerima, dapat dipilih opsi output analog atau digital. Output analog sensor dihubungkan dengan input analog mikrokontroler, untuk mikrokontroler yang memiliki built-in ADC. Beberapa mikrokontroler memiliki modul ADC dengan sejumlah input yang di-multipleks. Berarti, satu saat, ADC hanya bisa meng-konversi satu input saja. Dengan kata lain, bila kita memiliki 7 sensor garis yang terhubung dengan 7 input ADC, maka ADC akan melakukan 7 kali konversi secara sekuensial.

Berikut adalah contoh rangkaian sensor dengan output analog:

Data dari sejumlah eksperimen menunjukkan (jarak sumber cahaya dan sensor sekitar 6 mm), untuk jarak antara sensor dan bidang pantul sekitar 3 mm, perbedaan tegangan output sensor ketika sensor menghadap bidang terang dan gelap adalah sekitar 4.5 Volt. Sementara ketika jarak diperbesar menjadi 1 cm, perbedaan tegangan output menjadi 1.2 Volt.

Varian lain adalah sensor garis dengan output digital. Pada varian ini tidak diperlukan ADC.

Berikut adalah contoh rangkaian yang dimaksud:

Kelebihan dari rangkaian ini adalah, karena output-nya sudah digital, maka output sejumlah sensor dapat dibaca sekaligus (dibaca secara paralel).

Bagaimana cara kerjanya?

Pertama, pin mikrokontroler yang terhubung dengan output sensor, yaitu pin R, di-set sebagai OUTPUT dan diberi logika HIGH. Kondisi ini akan menyebabkan kapasitor mengosongkan muatannya (discharge). Selanjutnya, diberikan sedikit waktu agar muatan kapasitor kosong. Untuk rangkaian di atas, berikan waktu minimal 10 mikrodetik. Pada saat muatan kapasitor kosong, tegangan pada pin R mendekati 5V. Waktu discharge tergantung pada karakteristik I/O dari mikrokontroler.

Langkah berikutnya adalah men-set pin mikrokontroler sebagai INPUT dan menunggu sesaat. Ketika pin I/O berubah menjadi INPUT (high impedance), kapasitor mulai diisi. Seberapa cepat waktu pengisian, tergantung pada seberapa besar intensitas cahaya yang diterima oleh phototransistor.

Karena bidang putih memantulkan cahaya, maka intensitas cahaya yang masuk phototransistor cukup tinggi, dan menyebabkan phototransistor mengalirkan arus yang cukup besar. Kapasitor pun akan diisi dengan cepat (sekian puluh mikrodetik), dan menyebabkan tegangan pada pin R turun di bawah level logika LOW, selama delay yang diberikan.

Sebaliknya, pada bidang gelap, arus yang mengalir cukup kecil, sehingga pengisian kapasitor berlangsung lambat (beberapa milidetik). Selama waktu delay yang diberikan, tegangan pada pin R tidak akan mencapai level logika LOW, alias logika HIGH.

Dengan demikian, setelah delay yang diberikan, pada pin R setiap sensor (bila menggunakan beberapa sensor), akan terbaca logika LOW atau HIGH.

Penentuan delay untuk pengisian kapasitor, sangat krusial. Terlebih untuk aplikasi line following robot yang dituntut bergerak cepat di atas garis.

Data dari sejumlah percobaan menunjukkan, ketika jarak antara sensor dan bidang pantul sekitar 3 mm, lebar pulsa output 120 us (bidang putih) – 2.6 ms (bidang hitam). Pada jarak sekitar 1 cm, lebar pulsa output antara 780 us (bidang putih) – 10 ms (bidang hitam).

Berikut adalah contoh program dalam Bahasa BASIC (BASIC Stamp) untuk membaca empat sensor garis secara paralel:

DIRB = %1111     ' P7..P4 sebagai output
PAUSE 0          ' Delay 230 us
DIRB = %0000     ' P7..P4 sebagai input
PAUSE 0          ' Delay = 230 us
qtis = INB       ' Baca P7..P4

Cara yang sama dapat diterapkan pada platform mikrokontroler dan bahasa pemrograman lainnya. Yang perlu diperhatikan adalah besaran delay yang diberikan. Berikut adalah contoh yang sama menggunakan CodeVision AVR:

DDRB = 0xFF;     // PORTB output
PORTB = 0xFF;
delay_us(10);
DDRB = 0x00;     // PORTB input
delay_us(200);
qtis = PINB;     // Baca PORTB

Untuk pelatihan mikrokontroler dan robotik, baik untuk platform AVR, PIC, MCS-51 dan BASIC Stamp, silahkan menghubungi:

NEXT SYSTEM
Robotics Learning Center
ITC Kosambi F2
Bandung 40112
Tel. (022) 4222062, 70775874
http://edukasi.nextsys.web.id

Email: info@nextsys.web.id