Mündəricat:

Ucuz bir USBasp-Clone-da Firmware-ni necə yeniləmək olar: 9 addım
Ucuz bir USBasp-Clone-da Firmware-ni necə yeniləmək olar: 9 addım

Video: Ucuz bir USBasp-Clone-da Firmware-ni necə yeniləmək olar: 9 addım

Video: Ucuz bir USBasp-Clone-da Firmware-ni necə yeniləmək olar: 9 addım
Video: Arduino Kartı Yerine Sadece Mikrodenetleyiciyi Kullanmak 2024, Noyabr
Anonim
Ucuz bir USBasp-Clone-də Firmware-ni necə yeniləmək olar
Ucuz bir USBasp-Clone-də Firmware-ni necə yeniləmək olar

Bu, mənim kimi bir USBasp-klonuna yeni bir firmware yandırmaq üçün kiçik bir bələdçidir. Bu təlimat xüsusi olaraq şəkillərdə görünən USBasp-klon üçün yazılmışdır, lakin hələ də başqaları ilə işləməlidir. Kablolama 5 -ci addımda göstərilir, bir TL var; 9 -cu addımda DR.

Zövq alın!

Addım 1: Problem

Problem
Problem
Problem
Problem

Avrdude, istifadə etdiyim proqramçının köhnəlmiş firmware olduğunu söylədi. Öz proqramlaşdırma üçün normal tullanan lövhəmdə yoxdur. Bunu necə düzəltmək olar. USBasp üçün sxemləri fischl.de saytında tapa bilərsiniz.

Addım 2: Lazımi materiallar

Sizə lazım olacaq…

  • Bir lehimləmə dəmiri
  • Bir Arduino (tercihen Nano)
  • Bəzi keçid telləri
  • Arduino IDE və avrdude quraşdırılmış bir kompüter

Addım 3: Həll

Həll
Həll
Həll
Həll
Həll
Həll

Yeni firmware proqramını ATmega8 -ə yandırmaq üçün RESET pininə nəzarət etməliyik. Adətən, USBasp üzərindəki tullanan özünü proqramlaşdırmaq üçün bağlana bilər, lakin lövhəmin istehsalçısı heç birini daxil etmirdi.

ATmega8 -də, RESET pin pin 29, soldan yuxarıdakı dördüncü pindir. 10V-lik 5V-a qədər çəkmə müqavimətinə bağlıdır. ICSP başlığının 5 pininə bağlamalıyıq.

Bir teli birbaşa rezistora və ya sancağın üzərinə lehimləməyə çalışa bilərik, lakin yorucu və lövhənizə zərər verə bilər. (Mən sınadım və çəkmə rezistorunu yıxdım, bunu məsləhət görmürəm) Həm də daha asan bir yol var!

İstehsalçı özünü proqramlaşdırmaq üçün əsl tullanan olmasa da, mikro nəzarətçinin altına bir başlıq qoydu. Sadəcə bir teli lehimləyə bilərik və…

Addım 4: Voila

Voila!
Voila!

İki sıfırlama pinini bağladıq! Altdakı iki deşik mikrokontrolörün 29 və 14 -cü pinlərini birləşdirir.

Addım 5: Arduino qurmaq

Yeni proqram təminatçısını proqramçıya yandırmaq üçün başqa bir proqramçıya ehtiyacımız var, bu halda üzərində ArduinoISP eskizi olan bir Arduino. Quruluşunuzun eyni olduğundan əmin olmaq üçün 81 -ci sətri qeyd edin

// USE_OLD_STYLE_WIRING -i təyin edin

İndi Arduino'yu proqramçınızdakı ICSP başlığı ilə bağlayın.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (Sıfırla) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

USBasp kompüterdən ayrılmamış vəziyyətdə qalır.

Bir terminal açın və yazın

avrdude -cavrisp -pm8 -b19200 -P [Liman nömrəniz bura gedir, Arduino IDE ilə eyni olmalıdır]

Hər şey qaydasındadırsa, avrdude ATmega8 (sigortalar, imza və s.) Haqqında bəzi məlumatları çap etməlidir.

Addım 6: ATmega8 -in yanması

Çipi yandırmaq üçün hələ də proqram təminatına ehtiyacımız var. Fisch.de saytına gedin və ən yeni versiyasını yükləyin. Arxivi çıxarın və qabığı istifadə edərək ora gedin.

Kodu tərtib etmək mənim üçün işləmədi, amma xoşbəxtlikdən arxivin altında bütün tərtib edilmiş proqramlar var

bin/firmware

Burada üç.hex faylını görməlisiniz. Çipinizlə eyni adda birini seçin. Proqramçım ATmega8 istifadə edir, buna görə seçdim

usbasp.atmega8.yyyy-mm-gg.hex

ATmega8 -ə işləyən bir əlaqə ilə, yanıb sönmək yalnız yazmağı tələb etməlidir

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U flaş: w: [hex fayl]

Hər şey düzgün edildisə, avrdude seçilmiş firmware yazmalı və yoxlamalıdır.

Addım 7: Proqramçının işlədiyinə əmin olmaq

Proqramçının işlədiyinə əmin olmaq
Proqramçının işlədiyinə əmin olmaq

USBasp -ı yenidən proqramçı kimi istifadə etmək üçün 29 -cu pinlə 14 -cü pin arasındakı əlaqəni kəsməliyik. Atlayıcının altından kəsilməsi kifayətdir, lakin onu çıxarmaq da zərər verə bilməz.

Yenidən PC -yə qoşub yazaraq sınaya bilərsiniz

avrdude -cusbasp -pm8

Avrdude hədəfə çata bilməsə belə, ən azından proqramçımızın yeni firmware proqramını qəbul etməlidir.

Addım 8: Problemlərin aradan qaldırılması

Giderme
Giderme

Avrdude belə bir səhv göstərsə, ehtimal ki, Arduinonun avtomatik sıfırlama xüsusiyyəti ilə əlaqəsi var. Bunun qarşısını almaq üçün Arduinonun RESET və GND arasına bir kondansatör əlavə edin. Ümumiyyətlə 10μF kondansatör istifadə etmək tövsiyə olunur, amma mənim vəziyyətimdə 100μF kondansatör çox yaxşı işləyir.

Kimi bir səhv alsanız

avrdude: səhv: proqram aktivdir: hədəf cavab vermir. 1

və ya etibarsız bir imza qaytarılırsa, zəhmət olmasa kabellərinizi yoxlayın. Elektrik kabellərimin paslanması və artıq elektrik enerjisi verməməsi ilə bağlı problemim var idi. Bütün tullanan telləri əvvəlcədən yoxlamağı məsləhət görürəm.

Problem davam edərsə, Arduino -da pin 11 və pin 12 -ni dəyişdirdiyinizə əmin olun.

Zəhmət olmasa, Arduino üçün 19200 ISP olaraq doğru ötürmə sürətini təyin etdiyinizə əmin olun. Seçimlə təyin edilə bilər.

-b19200

Hər hansı bir sualınız varsa və ya bir səhv görsəniz, mənə bildirin:)

Addım 9: TL; DR

  1. Lövhənin altındakı iki sancaqdan bir tel lehimləyin
  2. Köhnə kabel sxemini aktiv etməyinizə əmin olaraq bir Arduino ISP olaraq qurun
  3. Arduino'yu ICSP başlığı ilə proqramçıya bağlayın
  4. Yeni firmware proqramçı üzərində flash
  5. Altdakı əlaqəni çıxarın
  6. SMD rezistorlarını qırmayın

Tövsiyə: