9 Nisan 2013 Salı

ATMega168/328 Bootloader yükleme


Atmel programlayıcınız yoksa ve bootloader yüklü kontrolcü satın almadıysanız, aşağıdaki yöntemle ATMega168 ve AtMega328 kontrolcülerine bootloader kodunu atabilirsiniz. Tabi bunun için elinizde en azından bir Arduino kartı olması gerekiyor.



UNO kartını bilgisayara takıyoruz ve "Examples" klasöründeki ArduinoISP kodunu IDE'ye yüklüyoruz.



Arduino 1.0 sürümünü kullanıyorsanız bu kod içinde bir değişiklik yapmak gerekiyor.
Bunun için; kod içinde heartbeat fonksiyonunu aratın ve fonksiyon içindeki delay(40) değerini, delay(20) olarak değiştirin.

Bu kodu karta yükleyin ve alttaki devrelerden birini kurun.




Ben ATMega328P-PU için sağdaki devreyi kurdum ancak RESET ucundaki 10k direnci kullanmadım. Bağlantılar aşağıdaki şekilde;

UNO D10  ->  ATmega RESET (1)
UNO D11  ->  ATmega SCK (19)
UNO D12  ->  ATmega MISO (18)
UNO D13  ->  ATmega MOSI (17)
UNO 5V    ->  ATmega VCC (7,20)
UNO GND ->  ATmega GND (8,22)

Bunların dışında; isterseniz UNO'ya status ledlerini de bağlayabilirsiniz. 


D9: Heartbeat         - shows the programmer is running
D8: Error                - Lights up if something goes wrong (use red if that makes sense)
D7: Programming    - In communication with the slave

Seri port seçimini de yaptıktan sonra, Programlayıcı olarak "Arduino as ISP" seçiyorsunuz
ve <Burn Bootloader> 'ı seçiyorsunuz.  Birkaç saniyede, bootloader kodu yükleniyor. 




Uno'nun yeni sürümlerinde deneme şansım olmadı. Yüklemede sorun yaşarsanız, ArduinoISP kodunu attıktan sonra, Uno'nun reset ucunu 10uF kondansatör ile şaseye bağlayarak deneyebilirsiniz. 
Ardunio sayfasında bu konuyla ilgili detaylı bilgi bulabilirsiniz. link


ATMEGA 328P