Tuesday 26 March 2013

Membuat AVRisp MKII-Clone Dengan AT90usb162

AVRisp MKii adalah programmer yang dikeluarkan oleh ATMEL untuk mensuport ISP/PDI/TPI. ISP sudah  banyak kita ketahui sebagai programmer hampir seluruh keluarga AVR 8 bit. PDI digunakan untuk memprogram AVR XMEGA, sedangkan TPI digunakan untuk TINY AVR. Dengan kecepatan download maksimal 8Mhz tentu programmer sangat cepat untuk mendownload mikrokontroller Atmel.

Untuk membuat clone-nya saya menggunakan skematik sebagai berikut:


Sumber rangkaian : http://hackaday.com/2011/07/30/avr-programmer-modelled-after-the-mkii-uses-lufa/

Dari rangkaian yang perlu diperhatikan adalah IC MAX3002 yang digunakan sebagai level converter dari 5 Volt ke 3.3 Volt. Untuk AVR yang menggunakan 5V supply IC MAX3002 bisa ditiadakan. Xmega yang menggunakan catu daya 3.3 V dapat di convert tegangannya menggunakan FET atau level coverter lainnya. Untuk project kali ini saya tanpa menggunakan MAX3002 karena cuma menggunakan ISPnya untuk mendownload  5 Volt AVR. Dengan konfigurasi PIN sebagai berikut :

AT90usb162Target AVR
PB4  (T1)RESET
PB2  (MOSI)MOSI
PB3  (MISO)MISO
PB1  (SCK)SCK
GNDGND
VccVcc

Yang dibutuhkan dalam membuat AVRisp mkii clone ini adalah:
  1. Modul AT90usb162 atau membuat rangkaian seperti skematik diatas.
  2. Software FLIP untuk mendownload AT90usb162 menggunakan DFU bootloader. Download disini
  3. LUFA sebagai firmware AVRisp mkii. Download disini.
  4. WinAVR sebagai compiler LUFA. 
  5. AVRstudio sebagai driver dan platform buat mendownload file .HEX. Bisa di download di situs resmi Atmel akan tetapi harus register dulu.
Modul AT90usb162 bisa memakai modul apa saja termasuk modul yang dikeluarkan Atmel AT90USBkey.
Karena harus impor dan pertimbangan harga saya memutuskan menggunakan modul AT90usb162 yang dijual oleh innovative electronics yang saya beli dari digi-ware.com. Berikut modul yang saya pakai :

Sumber Gambar : http://www.innovativeelectronics.com/innovative_electronics/pro_dtavr90usb162cpu.htm

Dengan menambahkan push button untuk pin reset mikrokontroller yang saya jumper diatasnya dan saya lekatkan dengan double-tape. 


Cara Membuat AVRisp MKII

  1. Buat atau beli modul AT90usb162.
  2. Instal seluruh software yang dibutuhkan (FLIP, AVRstudio, WinAVR).
  3. Extract LUFA. Saya menggunakan LUFA versi LUFA-130303
  4. Buka WinAVR. Pilih File > Open Project(s) . Buka LUFA.pnproj
  5. Pilih Project > AVRisp MKII > Buka makefilenya. Kita sesuaikan makefile tersebut sesuai dengan board yang kita beli. Ganti konfigurasi makefile sebagai berikut
    • BOARD = NONE  > karena saya menggunakan board custom
    • F_CPU = 8000000 > crystal board yang saya pakai
  6. Setelah diganti save makefile tersebut dan highlight AVRisp MKii project. Lalu pilih Tool > Make All. Maka anda akan melihat proses compile berjalan setelah selesai anda aka menemukan hasil compilernya di  LUFA-130303\Projects\AVRISP-MKII\AVRISP-MKII.hex
  7. Siapkan software FLIP dan hubungkan modul AT90usb162 menggunakan USB-Mini dengan laptop/ PC anda.
  8. Reset AT90usb162 dengan push button darurat yang sudah dibuat. Install driver otomatis. Maka akan muncul Atmel USB devices di device manager.
  9. Masuk software FLIP, pilih settings > communication > USB atau langsung dengan shortcut CTRL+U. Kemudian pilih file > Load Hex File > AVRISP-MKII.hex. 
  10. Klik Run untuk mendownload software. Klik Start Application. Maka AVRISP MKii sudah dideteksi.
  11. Gunakan AVRstudio/ AVRDUDE untuk mendownload. Untuk ISP maksimal speed yang bisa diapakai adalah 1/4 dari crystal MCU. Misalnya menggunakan 16 Mhz maka maksimum speednya adalah 4 Mhz. Sedangkan untuk mendownload AVR baru gunakan speed dibawah 1 Mhz untuk mengubah fusebit-nya.
  12. Saya menggunakan AVR Studio 6. Pilih tool > Device Programming . Pilih AVRisp MKii sebagai programmer anda. Pilih speed sesuai selera dan klik > Set
  13. Pilih memories untuk mendownload file yang akan di burn ke AVR Target.
  14. Selamat Mencoba :)
Mungkin project ini akan lebih mahal daripada membeli modul-modul AVRisp MKii clone. Akan tetapi tujuan saya lebih kearah memperkenalkan LUFA kepada para hobi elektronika di Indonesia, Project selanjutnya saya akan memposting menggunakan LUFA sebagai pengganti MAX232/ USB2Serial, menhubungkan AT90USB162 dengan PC hanya dengan USB dengan metode VCP Virtual Com Port. 

Thanks to Dean Camera "LUFA is Great !!" Follow his twitter @abcminiuser 

3 comments:

  1. om, mau tanya, pake lufa ini support win7 ga ya? :D

    ReplyDelete
  2. saya lihat anda mencomplie sendiri file AVRISP-MKII.hex. kalau saya lihat di situs https://www.radiolocman.com/shem/schematics.html?di=107190, mereka menyedikan 2 file HEX. AVRISP MKII AVRDUDE.HEX dan AVRISP MKII AVRSTUDIO.HEX. ini bagaimana cara compilenya ya? kan dari LUFA yang sama. Mohon petunjuknya, terima kasih.

    ReplyDelete

Develop STM32 dengan STM32cubeMx + OpenSTM32 IDE

Banyak temen ² yang masih ngoprek STM32 di Keil, yang harus nyari software crack ²an. Bebas sih, tapi saya sepaham dengan dosen saya saat ...