atmega 328P-PU mikroişlemciye Arduino Bootloader Kurulumu ve CP2102 USB 2.0 – TTL ile Program Yüklenmesi

Bu yazıda, arduino yazılımını kullanarak bir atmega 328P-PU işlemciyi sadece bir entegre olarak kendi projelerimizde nasıl kullanabileceğimizi anlatacağım. Sayfanın sonunda ise CP2102 USB TTL programlayıcı ile program yüklenmesi sırasında oluşan hata mesajının giderilmesi ile ilgili bir de video ekledim, hata mesajının oluşumunu görmek isteyen arkadaşlar bu videoya da bakabilirler.

Bootloader yükleyeceğim mikroişlemci aşağıdaki resimde gösterdiğim gibidir. Bu işlemcileri alırken dikkat etmeniz gereken 328P yazması. 2 tipi varmış araştırdığıma göre, atmega328-PU ve atmega328P-PU.

 atmega328

Arduino uno üzerinde kullaılan mikroişlemci de atmega328P-PU oladuğundan dolayı , bootloader yükleyeceğimiz işlemci de aynı tip olmalı. Diğer tipteki işlemciyi IDE programı tanımıyormuş. Ben işlemcileri satın alırken şans eseri doğru olanları (atmega328P-PU) almışım, daha sonra bootloader nasıl yapılır araştırırken öğrendim ki diğer tip olan işlemciler burada anlattığım bootloader işlemi için uygun değilmiş, onlar için farklı bir yöntem gerekiyormuş.

Bootloaderı çipimize yüklemeden önce arduino uno bordumuza ISP programınız yüklememiz gerekiyor. Henüz daha herhangi bir bağlantı yapmadan önce aşağıdaki adımları sırasıyla yapalım.

  •  IDE programını açalım ve File>Example>Arduino ISP’yi seçerek programı açıyoruz.
  •  Daha sonra Tools>Boards>Arduino Uno seçeneği ile uno bordumuzu seçiyoruz.
  • yine Tools>Serial Port seçeneği içinde, arduinomuzun bağlı olduğu USB portunu seçiyoruz.
  • UPLOAD butonuna basarak Arduino Unomuza, Arduino ISP programını yüklüyoruz.
  • USB kablosunu bilgisayardan çıkartıyoruz, Arduino bordumuzu boşa alıyoruz.

Buraya kadar herşey yolunda gittiyse, arduino uno bordumuzua normal bir program yükler gibi Arduino ISP programını yüklemiş oluyoruz. Artık elimizdeki aruino uno bordumuz, bir atmega328P-PU işlemciye bootloader yüklemeye hazır hale geldi.

Bootloader yüklemesi yapacağımız mikroişlemcimiz ile arduino arasında gerekli bağlantılar için, öncelikle aşağıdaki devreyi kuracağız. Burada dikkat edilecek husus, arduino bordu herhangi bir şekilde enerjili olmamalı, bilgisayara da bağlnatısı olmamalı. Şimdi aşağıdaki devreyi kuralım…

Devremizi kurduktan sonra Arduino uno bordumuxzun USB kablosunu bilgisayara bağlıyoruz. Yine sırasıyla aşağıdaki adımları yapıyoruz.

  • Tools>Boards>Arduino Uno seçeneği ile uno bordumuzu seçiyoruz.
  • Tools>Serial Port seçeneği içinde, arduinomuzun bağlı olduğu USB portunu seçiyoruz.
  • Tools>Programmer>Arduino as ISP seçiyoruz.

Artık bootloaderı mikroişlemcimize yükleyebiliriz.

  • Tools>Burn Bootloader şeçenğinie tıklıyoruz ve bootloaderin yüklemesinin tamamlanmasını bekliyoruz.

bu işlem yaklaış 30 sn ile 1 dk. arası sürebilir. İşlem tamamlandığında IDE’de Burn bootloader done gibi bir mesaj verecek. bu aşamadan sonra USB kablosunu Uno’dan çıkarıyoruz. Artık elimizde bir arduino uno programlarını yükleyebileceğimiz bir mikroişlemcimiz var.

Mikroişlemciye program yükleme

Bu işlemi birkaç yöntemle yapabiliriz, ancak ben burada 2 farklı yöntemden bahsedeceğim.

1- Arduino Uno bordunu kullanarak mikroişlemciye program yükleme

Aşağıdaki devreyi kurarak istediğimiz programı mikroişlemcimize yükleyebiliriz.

Bu yöntem bir kaç kez yapıldığında sorun olmaz ancak sürekli olarak uno bordun üzerinden işlemciyi sökmek uzun vadede işlemcinin bağlı olduğu soketi bozabilir. O yüzden benim pek tercih etmediğim bir yöntem bu.

2- UST to TTL programlayıcı kullanarak program yüklemek

Piyasada çeşitli programlayıcılar var. hepsi bu yöntem için uygun olmayabilir bunu baştan söylemekte yarar var, ancak benim elimdeki programlayıcı piyasada CP2102 USB 2.0 to TTL modül olarak geçiyor. resmi aşağıdaki gibi;

Bunun da 2 tipi var, bende satın aldıktan sonra öğrendim. Enabled reset olan modülü direkt olarak mikroişlemcinn Rx-Tx-Reset terminallerine bağlayıp program yükleyebiliyormuşsunuz. Araştırmalarımda bu şekilde bir yazıya rastlamıştım ancak benim elimdeki bu şekilde değildi. Ben bu modülü, Arduino pro mini’ye program yüklemek için aldım. Programları sorunsuz olarak yüklüyordu. Pro mini için gerekli olan bağlantıları pin sırasına göre yapıyorsunuz, DTR’yi de pro mininin Reset pinine bağlıyorsunuz ve sorunsuz olarak çalışıyor. Aynı programlama modülünü kullanıyorum ancak Bootloader yüklenmiş olan atmega328P-PU mikroişlemciye program yükleyemiyordum, sürekli aşağıdaki hata mesajını veriyordu.

aşağıdaki devreyi kurup bağlatıları doğru yaptığınızda bu sorun da ortadan kalkıyor ve istediğimiz programı USB TTL programlayıcı ile işlemcimize atabiliyoruz.

Buradaki kritik nokta C1 kondansatörü. 104 (100nf)’lük bir seramik kondansatör programlama sorununu ortadan kaldırıyor. Programlayıcının DTR pini ile Mikroişlemcinin arasına seri bağlanan C1 kondansatörü Programlamanın tamamlanmasını sağlıyor. Resmi aşağıdaki gibi

Devreyi kurduktan sonra  Arduino IDE’yi açıyoruz ve CP2102 yi, bilgisayarın USB portuna takıyoruz.

  • Tools>Board>Arduino Uno seçiyoruz
  • Tools>Serial Port sekmesinden CP2102′ nin bağlı olduğu USB portunu seçiyoruz.
  • UPLOAD butonuna basarak yüklemek istediğimiz programı bootloader yüklemiş olduğumuz atmega328P-PU’ya yüklüyoruz.

programın yüklenmesi ile ilgili video:

Bu arada şunu da belirtmekte fayda var, programı yükleyip programlayıcıyı atmega328’den ayırdıktan sonra elimizde kalan entegre için güç devresini (VCC,GND) de ayrıca kurmamız gerekiyor, bu ayrı bir konu olduğundan şimdilik burada bundan bahsetmeyeceğim.
tüm işlemler bu kadar.Umarım aynı sorunla karşılaşan başka arkadaşlara faydalı olmuştur. Kolay gelsin…

Yorum bırakın