Jumat, 29 Januari 2010

RFM12BP : Interface dgn AVR

.
Silahkan baca + download :
  1. Data Sheet RFM12BP.
  2. Blog membahas RFM12B.
  3. Tutorial memprogram RFM12B (bisa juga RFM12BP).
  4. Coding RFM12B dalam Bascom.
  5. Aplikasi konfigurasi RFM12B.
Berdasarkan datasheet RFM12B/BP, tegangan supply yang dibutuhkan antara 2,2Vdc - 3,8Vdc dan untuk RFM12BP dibutuhkan tegangan ekstra 12Vdc untuk supply amplifier 500mW. Oleh sebab itu tegangan pada setiap pin RFM12B/BP tidak lebih dari 4Vdc (lebih lengkap baca datasheet hal 3).

Mikrokontroller dengan level tegangan TTL setiap pin bernilai 0Vdc - 5Vdc, sehingga dibutuhkan pengadaptasi tegangan agar Mikrokontroller dan RFM12B/BP dapat berkomunikasi. Beberapa literatur mengatakan bahwa RFM12B/BP memiliki toleransi dan dapat berkomunikasi dengan mikrokontroller secara langsung meskipun level tegangannya berbeda, silahkan anda coba ;) .
Atau anda bisa menggunakan mikrokontroller Low Power seperti ATmega8L jika ingin dihubungkan secara langsung.

Dari blog : http://blog.strobotics.com ada 3 konfigurasi dasar yang bisa digunakan untuk mengakses RFM12B/BP antara lain :
  • Konfigurasi minimal.
  • Non-Interrupt Based FIFO Usage.
  • Speed Optimised FIFO Usage.
Diantara ketiga konfigurasi tersebut saya menggunakan konfigurasi minimal seperti gambar disamping.
Hanya membutuhkan 4 buah jalur komunikasi, sangat sederhana dan mudah.

Sedikit berbeda dengan gambar, setiap pin RFM12B/BP dengan MCU tidak terhubung secara langsung tetapi setiap jalur terdapat resistor 4K7 ohm sebagai penurun tegangan dari 5 Vdc menjadi kira-kira 3,3Vdc (silahkan ukur dengan Voltmeter) agar RFM12B/BP aman (karena berdasarkan datasheet hal 3, maksimal Vin = 4,5 Vdc).

Penjelasan beberapa pin-pin RFM12B/BP berdasarkan link ini :
  • VDD (required) - Sumber tegangan RFM12B/BP antara 2,2Vdc - 3,8Vdc bukan 5Vdc.
  • SDI (required) - Serial Data Input, sebagai Input jika MCU ingin memberikan command atau data yang akan dikirimkan melalui RFM12B/BP.
  • SDO (required) - Serial Data Output, sebagai Output jika RFM12B/BP akan memberikan data ke MCU.
  • SCK (required) - Serial Clock pin sinyal sinkronisasi pada komunikasi data yang diberikan oleh MCU ke RFM12B/BP.
  • nSEL (required) - Chip Select (rendah aktif). Pin ini harus diberi logika 0 jika RFM12B/BP ingin diakses.
  • FSK/DATA/nFFS (optional) - jika tidak digunakan harus diberikan resistor pullup.

Sumber tegangan RFM12B/BP atau pin VDD dapat dibuat menggunakan regulator 3,3 Volt menggunakan IC 78L33, TLV2217-33, LM3940, Zener 3Volt, dsb. Saya menggunakan Zener 3Volt yang pasang seperti gambar disamping. Jangan lupa selalu mengukur tegangan agar tidak merusak RFM12B/BP ataupun MCU.

Saya menggunakan RFM12BP dan saat pertama kali Coding, antena RFM12BP tidak saya pasang tetapi agar komunikasi terjadi, pemancar dan penerima tidak boleh lebih dari 2 meter, terhalang sesuatu, atau didaerah banyak sinyal (noise).
Dan juga saya merancang dengan PCB matriks (PCB lubang IC) belum menggunakan PCB yang bagus tetapi komunikasi lancar dan tidak terjadi error data sedikitpun. Sehingga anda dapat menguji coba juga dengan PCB matriks sebelum menggunakan PCB mahal.

Pada perancangan Hardware RFM12B/BP, lakukan hal berikut :
  • Tempatkan RFM12B/BP sedekat mungkin dengan MCU agar komunikasi SPI tidak mengalami drop tegangan (data error).
  • Program MCU agar pin SDI, SCK, SDO, dan nSEL berlogika 1 semua, pada RFM12B/BP ukur tegangan pada setiap pin tersebut dan tidak boleh lebih dari 4,5 Vdc.
  • Jika anda merancang PCB selalu siapkan LED indikator yang menunjukkan RFM12B/BP mengirim atau menerima data.
Selamat mencoba ;)

Topik yang Populer