İçindekiler:

Atmega328P-PU Önyükleyici (Optiboot) Yazma Kılavuzu: 12 Adım
Atmega328P-PU Önyükleyici (Optiboot) Yazma Kılavuzu: 12 Adım

Video: Atmega328P-PU Önyükleyici (Optiboot) Yazma Kılavuzu: 12 Adım

Video: Atmega328P-PU Önyükleyici (Optiboot) Yazma Kılavuzu: 12 Adım
Video: Arduino Kartı Yerine Sadece Mikrodenetleyiciyi Kullanmak 2024, Temmuz
Anonim
Atmega328P-PU Önyükleyici (Optiboot) Yazma Kılavuzu
Atmega328P-PU Önyükleyici (Optiboot) Yazma Kılavuzu

Yine başka bir Atmega önyükleyici yazma kılavuzu. Ama bu sefer bahse girerim ilk denemede başarılı olacaksın!!

Bu, Arduino panoları için Nick Gammons önyükleyici yazma öğreticisidir.

Adım 1: Birkaç Kelime

Bir kaç kelime
Bir kaç kelime

Atmega328P-PU mikrodenetleyici, tüm dünyada geniş bir yelpazede kullanılan en popüler Arduino yongalarından biridir. Ama en önemlisi, çıplak kemikler Atmega hala standart Uno R3'ün yapabileceğini yapıyor. Bu mikrodenetleyiciyi sevmemin ana nedeni "Düşük Güç" modudur. Birkaç sensör için yeni çizimler yazdım ve bir süredir onları test ediyorum.

Birkaç yıl sonra Arduino ile oynamaya başladığımda ilk siparişim bir Atmega328P mikrodenetleyiciydi. Daha sonra Aliexpress'den sipariş ettiklerimin boş chip olduğunu fark ettim. Cipsler Ali'de çok ucuz, 1.40$'dan satın alabilirsiniz. Ancak Uno Bootloader'ı (Optiboot) içermediler ve onsuz herhangi bir çizim yükleyemedim. Zor bir mola ha??!! Benim için gerçekten soğuk bir duştu ……. Bu yüzden bootloader'ı çiplere yakmanın bir yolunu arıyordum. 5-6 yöntem denedim ama olmadı. Bir hafta sonra bir web sitesi forumunda Nick Gammon'ın önyükleyici yazma eğitiminden bahseden bir konu buldum. İlk deneme ve BAŞARI!!:D Şimdi size Arduino IDE'de işleri karıştırmadan bootloader'ı boş Atmega328P-PU yongalarına nasıl yakacağınızı göstereceğim.

Adım 2: Önyükleyici Nedir? (Optiboot)

Önyükleyici, taslakları doğrudan Arduino IDE'den flash belleğe yüklemenizi sağlayan küçük bir programdır (HEX dosyası, 0.5Kbyte). HEX dosyası her zaman ana programdan önce çalışır ve bu yüzden gereklidir.

Önyükleyici olmadan:

-Mikrodenetleyici hala PROGRAMLANABİLİR!(evet, mümkündür), ancak bunu yapmak için özel bir AVR programlayıcısına ihtiyacınız olacaktır. Ve ucuz değil!

- Arduino IDE üzerinden programlanamaz.

Bu yöntemin desteklenen önyükleyicileri:

Atmega8 (1024 bayt)

Atmega168 Optiboot (512 bayt)

Atmega328 Optiboot (16 MHz'de Uno vb. için) (512 bayt)

Lilypad vb. için Atmega328 (8 MHz) (2048 bayt)

Leonardo için Atmega32U4 (4096 bayt) Atmega1280 Optiboot (1024 bayt)

Atmega1284 Optiboot (1024 bayt)

Atmega2560, bekçi zamanlayıcı sorunu için düzeltmeler (8192 bayt)

Atmega16U2 - Uno'nun USB arabirim yongasındaki önyükleyici

Atmega256RFR2 - Pinoccio Scout panosundaki önyükleyici

Aşağıdaki önyükleyicilerin kodu çizime dahil edilmiştir ve hangi imzanın algılandığına bağlı olarak indirilecektir.

Yani ihtiyacımız olan her şeye sahibiz.

Adım 3: Arduino Sketch Master

Arduino Eskizleri Ustası
Arduino Eskizleri Ustası
Arduino Eskizleri Ustası
Arduino Eskizleri Ustası
Arduino Eskizleri Ustası
Arduino Eskizleri Ustası

Öncelikle arduino kütüphanesine ihtiyacınız var.

Buradan indirin:

Veya buradan indirin.

İndirdikten sonra Arduino kütüphaneleri forlder'a çıkarın ve Board Programmer'ı arayın. Açın ve Board Programmer.ino'yu çalıştırın.

Adım 4: Donanım Kurulumu

Donanım Kurulumu
Donanım Kurulumu
Donanım Kurulumu
Donanım Kurulumu
Donanım Kurulumu
Donanım Kurulumu
Donanım Kurulumu
Donanım Kurulumu

Programlamadan önce bağlantı kurmanın 3 yolu vardır:

- AVR ISP kalkanını kullanın

- Arduino A'dan Arduino B'ye

- Ve breadboard yöntemi

Resimde nasıl bağlayacağınızı görebilirsiniz. Breadboard'da seramik kapasitörlere gerçekten ihtiyaç yoktur, ancak 16Mhz kristal eklenmelidir.

Bu sefer AVR ISP kalkanımı kullanıyorum.

Bu yöntemin amacı, programın Optiboot'u (önyükleyici) yazmak için flash belleğe erişmek için seri monitörü kullanmasıdır.

Adım 5: Programlama

Programlama!
Programlama!
Programlama!
Programlama!

Donanım kurulumu tamamlandıktan sonra Board Programmer.ino'yu çalıştırın!

Derleyin ve Arduino'nuza yükleyin, ancak pencereyi kapatmayın! Ona ihtiyacın olacak:)

Yükleme birkaç saniye sürecektir.

Adım 6: Bağlantıyı Kes

Krokiyi yükledikten sonra Arduino'yu PC'nizden ayırın ve bunu breadboard üzerinde yapmayı planlıyorsanız her şeyi bağlayın.

AVR kalkanı kullanıyorsanız, Atmega çipini ZIF soketine yerleştirin ve "kilitleyin".

Çok önemli: Donanım kurulmadığı sürece işlemci VCC almamalıdır!! Bu şekilde bir hasar riskine girersiniz!!

Adım 7: Bağlanın

Bağlamak!
Bağlamak!

Tamam! Donanım kuruldu ve Arduino'yu PC'ye bağladığımız her şey yerinde.

Ardından Seri monitörü açın ve baud hızını 115200 olarak ayarlayın, bunu göreceksiniz.

Seri monitörde Arduino'nun programlama moduna girdiğini görebilirsiniz. Güzel!!:)

Uno'yu (Atmega328P) programlamak istediğimiz için, mesaj istemine bir "U" yazın ve enter tuşuna basın.

Adım 8: Programlama Durumu

Programlama Durumu!
Programlama Durumu!

Bir sonraki pencerede bunu göreceksiniz.

Çıkmayacağız veya Doğrulama, G yazıp enter tuşuna basın!

9. Adım: Eğlence Başlıyor!:)

Eğlence Başlıyor!:)
Eğlence Başlıyor!:)

Enter'a bastıktan sonra şunu göreceksiniz:

Çip siliniyor … Önyükleyici yazılıyor …

0x7E00 ile başlayan taahhüt sayfası 0x7E80 ile başlayan taahhüt sayfası

0x7F00'den başlayan taahhüt sayfası

0x7F80'den başlayan taahhüt sayfası

Yazılı. Doğrulanıyor…

Hata bulunamadı.

Sigortaların yazılması …LFuse = 0xFF

HFuse = 0xDE

EKullanım = 0xFD

Kilit baytı = 0xEF Saat kalibrasyonu = 0x9E

Tamamlandı.

Programlama modu kapalı. Başka bir çip ile devam etmeye hazır olduğunuzda 'C' yazın…

Ve mutlu gün!!:D Atmega328P çipiniz artık eskizleri yüklemeye hazır!

Bu kolaydı değil mi?:)

Adım 10: Yeni Bir Çip

Arduino'yu PC'nizden çıkaran başka bir çip programlamak istiyorsanız, çipi boş olanla değiştirin. Arduino'yu yeniden bağlayın ve adımları tekrar yapın.

Arduino'yu yeniden bağladıktan sonra seri monitör yanıt vermiyorsa, panik yapmayın, sadece kapatın ve yeni bir tane açın.

Adım 11: SORUMLULUK REDDİ!

BUNLARIN HİÇBİRİNE SAHİP DEĞİLİM!! Tüm kredi Nick Gammon'a gidiyor!

Bu yöntemi bu Eğitilebilir Tabloda gösterdim.

Umarım bunu faydalı bulursunuz.

İyi günler.

Adım 12: Garip Şeyler Olduğunda

Garip Şeyler Olduğunda
Garip Şeyler Olduğunda
Garip Şeyler Olduğunda
Garip Şeyler Olduğunda

Geçenlerde bu Arduino Nano'yu Atmega328P-MU işlemcili aldım.

Bu yüzden ona bir eskiz yüklemeyi denedim ama yapamadım. İşlemci, Atmega328 seçenekleriyle hiçbir şeye yanıt vermedi.

TAMAM! Belki önyükleyici bozuktur ve yeniden yazılması gerekir. Başka bir arduino ile bağladım ve bootloader yakma işlemini yaptım. Hala hiçbirşey……!!!!

Tamam o zaman, bir frene ihtiyacım var (kahve ve sigara)!! Son bir şans olarak tekrar Arduino Uno'yu hedef seçtim. Yükleme tamamlandı:D

Şu anda Arduino Uno gibi davranan bir Nano'm var. Bunun neden olduğunu bilmiyorum ama bunun İşlemci imzası nedeniyle olduğunu düşünüyorum. Neyse gerçekten günümü güzelleştirdi ve biraz komik:)

Önerilen: