Selasa, 07 April 2009

Mobil Robot & AVR ATmega8535

.
Banyak jenis dan tipe mikrokontroler, semua disesuaikan dengan kebutuhan perancangan.
Jika dulu anda menguasai MCS51 dengan bahasa assembler atau bahkan bahasa C dengan keil C, maka saya sarankan untuk mempelajari jenis mikrokontroler tipe lain. Cari tipe mikrokontroler yang memiliki fitur lengkap dan fleksibilitas tinggi. Jika anda menguasai DSP (Digital Signal Processing) maka gunakan mikroprocessor DSP, menguasai display dan Grafis maka gunakan mikroprocessor grafis, banyak lagi (apa yaa ?).

Saat ini anda akan merancang mobil robot yang menggunakan PWM dan sensor PING saja, anggap anda punya angan-angan mobil robotnya nanti ditambah fungsi mendeteksi perbedaan warna, mendeteksi perubahan suhu, menggunakan sensor inframerah, dapat dikendalikan dengan JoyStick analog, mendeteksi cahaya lilin, dll, maka penggunaan setiap pin pada mikrokontroler haruslah seefisien mungkin, sebab jika tidak mobil robot akan dibongkar kembali karena pin mikrokontroler yang dibutuhkan atau penting telah terpakai. Apabila anda menggunakan kabel jumper yaa lain lagi, tapi kabel jumper yang banyak membuat bingung,
ada kerusakan akan susah diperbaiki, dan mobil robot seperti rongsokan (katanya si seni).

Prioritas pin setiap mikrokontroler disusun berdasarkan fitur yang dimiliki oleh pin-pin
mikrokontroler. Disini agar lebih mudah dipelajari saya gunakan AVR ATmega8535 (bisanya ini si). Dengan fitur yang cukup lengkap untuk diaplikasikan pada mobil robot dan rangkaian kendali. Lihat Data Sheet ATmega8535.

Prioritas yang dapat disusun dari gambar 1 antara lain :
- Fungsi Input dan Output
- Fungsi ADC
- Fungsi USART
- Fungsi PWM
- Fungsi Interupsi eksternal
- Fungsi komparator analog
- Fungsi Serial Interface I2C
- ...

Gunakan terlebih dahulu pin-pin yang tidak memiliki fungsi khusus atau banyak jumlahnya atau pin itu harus digunakan karena wajib.
- PD.0 dan PD.1 gunakan untuk komunikasi serial USART.
- PD.2 dan PD.3 gunakan sebagai interupsi eksternal.
- PD.4 dan PD.5 gunakan sebagai PWM pengatur kecepatan motor DC.
- PB.6 PB.7 PB.8 PC.2 PC.3 PC.4 PC.5 gunakan sebagai Input dan Output biasa.
- PC.0 dan PC.1 gunakan sebagai interface I2C, misal anda menggunakan sensor kelembaban dengan interface I2C atau menggunakan Serial RTC I2C atau Serial EEPROM I2C tambahan.
- PB.0 - PB.7 gunakan sebagai ADC 10 bit akan tetapi jika terpaksa dapat digunakan beberapa pin.
- Pin-pin lain yang anda tidak ketahui fungsinya dapat anda gunakan sesuai keinginan apabila rancangan mobil robot anda sudah Final.

Saya menggunakan PortB untuk mengakses sensor PING, dan seluruh PortD untuk mengakses Motor DC (kecuali PD.2 dan PD.3) alasannya :
Untuk PortD karena saya menggunakan kabel pelangi 10 baris dan jika PD.0 dan PD.1 tidak saya gunakan maka harus mengambil dari port lain yang berarti ada jumper yang tidak perlu sedangkan nantinya pin interupsi PD.2 dan PD.3 nanti akan dipakai sebagai interupsi eksternal, selain itu mobil robot bergerak terus dan tidak perlu komunikasi serial dengan komputer.
Untuk PortB karenaaaaa...... udah terlanjur si. Seharusnya PortC dulu yang saya gunakan sampai habis, tetapi karena tidak masalah ya lanjut aja.

Alasan anda memilih sebuah port terserah anda yang jelas sesuaikan dengan fungsi-fungsi yang anda ingin aplikasikan.

Mungkin cukup ini saja yang dibahas pada ROBOT dan AVR, untuk mikrokontroler tipe lain tidak saya bahas dan maaf karena tidak bisa.

Topik yang Populer