Usb ISP Programlayıcı

 Birkaç projemde atmega328p kullanıyorum. Yazılım kısmınıda arduino ide yazmıştım. Zaten arduino kullanmamın sebebi nadiren uğraştığım bu işlerde bana kolaylık sağlaması. Kodu yazıyorum, anında yüklüyorum, seriporttan bilgi alıyorum vs... sağlanan fayda kolaylık. Hata ayıklama kolay oluyor. Çok önceden pic programlamıştım. Pic için bir ide üzerinde kodu yaz, hex çevir, yükleyici programına veya isis e hexi göster yükle, test et, sorun varsa, bir kelime hatası yaptıysan baştan başla... bir sürü hikaye... Neyse Şu an pic ile ilgili birşey hatırlamıyorum desem yeridir. Dediğim gibi arduino bana kolaylık sağladığında arduino ve 328 ile projelerimi geliştirdim. Programlayıcı olarakta yine arduinonun kendisini kullanarak 328 leri icsp üzerinden kendin bordumun üzerinde programladım.

Görece olarak tek seferde yüksek adetlerde alım üretim yapıyorum. 328p yi en son yanlış hatırlarmıyorsam 15tl gibi bir fiyata almıştım. Şu an fiyatlar hali ile çok daha yüksek 40tl civarında. Daha ucuz aynı pin yapısına sahip başka bir mcu olurmu derken denemek için birkaçtane atmega48pa satın aldım. atmega48, 328 in 1/4 hafızasına sahip ama benim için uygun görünüyor.

Atmega48 i benim borda takıp normal 328 e program atıyormuş gibi bir denem yaptım. Sonuç başarısız oldu. Başıma gelecekleri az çok tahmin ettiğimden ayrıca iki adet ucuz usbisp programlayıcılardan aldım.

USB ISP Programlayıcı

Programlayıcı bilgisayara (win10) bağladığımda HID cihaz olarak driver ı otomatik yüklendi. Buna karşın kullanım ürün açıklamasında olduğu gibi olmadı. Usbasp yaygın ucuz bir programlayıcı benim satın aldığım ise usbasp nin çakması usbisp... Arduino IDE üzerinden bu programlayıcı ile şu anda yazılım yüklemek mümkün görünmüyor. Biraz araştırma ile bu programlayıcı için ProgISP 1.72 nin uygun olduğunu öğrendim. İhtiyaç duyabilecekler için Programı indirdiğim linki ekliyorum. Link ölür ise şimdilik bende kopyası var...

https://iarduino.ru/lib/1477308306-9509.zip

PROGISP Programı

Program HID cihaz olarak tanınmış olan programlayıcı doğrudan görüyor. Resimde kırmızı çember içine aldığım alandaki logo programlayıcı takılı değil iken gri renk alıyor...

10 Pinli kablosu arduino bordları ile doğrudan uyumlu değil. bağlantıları tekrar düzenleyen bir aparata veya kabloya ihtiyaç var...

AVR ISP pinouts

Bu aşamayı da geçtikten sonra arduino ide de yazdığım programının hex kodunu ProgISP programı yardımı ile 328p ye yüklemeyi başardım. Gayet hızlı ve sorunsuz bir yükleme oldu. Bu aşamada fark ettiğim başka bir sorun ise programının doğru saat hızında çalışmadığı oldu. Bu durumla karşılaşınca fuse ayarlarını yapmam gerektiğini biliyordum. Sorun ise nasıl olacağı idi...

Arduino IDE ile yazılan programların HEX dosyasını almak için derleme sonrasında temp klasörüne giderek orada oluşan HEX dosyasını almak gerekiyor.

Hex dosyası için : arduino ide hex dosyası - Google'da Ara

Fuse ayarlarını yapmanın en kolay yolu çalışan bir 328 i proramlayıcıya bağlayarak mevcut ayarları okudum. Sonrasında boş olan 328 e aynı ayarları yazdım.

PROGISP Fuse Bits

Sonuç olarak benim esas amacım bu olmasa da usb isp programlayıcı ile atmega328 programlaya başararak bir aşama kaydettim. Biraz daha uğraşacağım şeyler var. İlerleme sağladıkça konuya devam ederim.


Bu konu daha önce tarafımdan;
https://mekatronik.org/forum/threads/usbisp-programlayici.2080 bağlantısı üzerinde paylaşılmıştır. 

2 Yorumlar

  1. Merhaba, Sertac Bey forumdaki imzanızdan gorup geldim sitenize onceliklle tesekkur ederim kaynak olusturdugunuz icin :) bundan ben yaklasik 3 sene once almistim fw yukseltmek/yazmak zorunda kalmistim gelen isp programlayıcıya siz direkt calistirabilmissiniz sanirim

    YanıtlaSil
    Yanıtlar
    1. Fw update öncesi de çalıştırabildim ancak sadece Progisp programı ile... Avrdudes ve Arduino Ide için fw update şart...

      Sil
Daha yeni Daha eski