logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP

elktrod 23 Wrz 2023 10:43 1161 18
  • #1 20743963
    elktrod
    Poziom 36  
    Zakupiłem taką podstawkę:
    Link
    Za pomocą USBASP w porcie ATMEGI 328 są widoczne w MkAvrCalculatorze, natomiast ATTINY 2313 w swoim porcie nie są widoczne pod MkAvrCalculatorem. Czy przyczyną jest brak rezonatora kwarcowego MCU? Jeżeli tak, to o jakiej częstotliwości mam go wstawić i jakie wartości kondensatorów C2 i C3?
    Ponadto jaki rezonator kwarcowy wstawić w miejsce oznaczone EXMCU i jakie wartości kondensatorów C4 i C5? Czy takie po 22pF będą dobre?
    W takim stanie jak jest teraz ta podstawka to ATTINY 45 także są rozpoznawane, nie posiadam ATTINY 84 aby sprawdzić czy one są też widoczne… Nurtuje mnie dlaczego ATTINY2313 są niewidoczne pod MkAvrCalculatorem, raczej błędy w lutowaniu wykluczam? Wkładałem nowe procesory. W zestawie był tylko jeden rezonator 16 MHz. Proszę o pomoc w tym temacie...
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
  • Pomocny post
    #2 20744174
    rb401
    Poziom 39  
    elktrod napisał:
    Nurtuje mnie dlaczego ATTINY2313 są niewidoczne pod MkAvrCalculatorem, raczej błędy w lutowaniu wykluczam


    Jeśli masz pewność że te sygnały niezbędne do programowania, dochodzą na tą podstawkę (można przemierzyć od podstawki, która Ci działa), to może być taka kwestia, że ten kwarc w Twojej sytuacji jest niezbędny. Przynajmniej do czasu przeprogramowania na generator wewnętrzny.
    Jeśli Twoje kostki mają akurat ustawione fusebity na generator kwarcowy, to z nimi nie pogadasz dopóki nie będzie kwarcu lub zewnętrznego taktowania.

    Co do kwarcu, to do samego programowania nie jest wymagana jakaś konkretna częstotliwość. Może być dowolny jaki leży pod ręką, może najlepiej coś w okolicy 8MHz, bo nie wiadomo jak ustawione są fusebity w kostce, którą posiadasz. Przykładowo jest różna nastawa fusebitów na zakres do 8MHz i od 8MHz. To taki 8MHz pójdzie na obydwóch. Co do kondensatorów, to może pójść bez nich ale lepiej dać dla pewniejszej pracy kwarcu coś w zakresie 12-22pF.
    Tak że warto uzupełnić tą płytkę o ten kwarc, bo to niczemu nie szkodzi.
  • Pomocny post
    #3 20744339
    tmf
    VIP Zasłużony dla elektroda
    rb401 napisał:
    może być taka kwestia, że ten kwarc w Twojej sytuacji jest niezbędny

    Nowe MCU fabrycznie mają ustawiony wewnętrzny generator RC, więc kwarcu nie potrzebują. Problemem może być, że częstotliwość jest domyślnie dzielona przez 8 i po prostu programowanie po SPI jest zbyt szybkie. Taktowanie ISP musi być co najmniej 4x wyższe niż częstotliwość taktowania MCU. Czyli należy zwolnić zegar ISP.
  • #4 20744405
    elktrod
    Poziom 36  
    Zapomiałem uściślić, chodzi o ATTINY2313 - 20PU - nowe (dziewicze), może to ma znaczenie? Połączenia na płytce pomiędzy odpowiednimi znaczącymi pinami podstawek jak i do samego programatora sprawdziłem - są OK, zresztą skoro nowe ATMEGi 328 wykrywa?
  • Pomocny post
    #5 20744449
    rb401
    Poziom 39  
    elktrod napisał:
    Zapomiałem uściślić, chodzi o ATTINY2313 - 20PU - nowe (dziewicze), może to ma znaczenie?


    Jeśli są to kostki, kupowane jako nówki bezpośrednio czy pośrednio od Chińczyka to może być różnie z ich "dziewictwem". Ale w każdym razie, warto sprawdzić czy nie zachodzi to o czym pisze kolega tmf.
    Czyli sprawdzić i zwolnić transmisję ISP z USBASP jeśli jest wybrana zbyt duża.I wtedy próbować się skomunikować (np. ustawić 375kHz lub trochę niższą częstotliwość ISP). W przypadku taktowania wewnętrznego 8MHz dzielonego przez 8, jak pisze kolega tmf (co zdaje się jest też wspomniane w DS, jako stan fabryczny fusebitów), jest problem bo UsbAsp umożliwia transmisję do 1,5MHz, co w takim przypadku jest za dużą prędkością i efekt jest taki jakby kostki nie było.
    Czyli najpierw kwestia zmniejszenia taktowania ISP a jak nie pomoże to założenie kwarcu (co i tak może się przydać w przyszłości).
  • #6 20744868
    elktrod
    Poziom 36  
    Zwolnienie transmisji w żadnej opcji nie zadziałało ani też wybór auto SCK ani też podpięcie oscylatora zewnętrznego 4MHz ani 8MHz ani 12MHz ani 16MHz:
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
    Podpiąłem "na pająka" ATTINY85 do gniazda ATTINY2313 i odczyt ATTINY85 nastąpił prawidłowo, czyli odpada wersja złego podłączenia (co sugerowałby komunikat rc=-1) czy złego lutowania po raz kolejny i chyba dwudziesty raz sprawdzałem na różne sposoby jak widzicie:
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
    Nawet na pająka jedno ATTINY2313-20PU podpiąłem do sprawnego gniazda ATMEGI 328 zachowując odpowiedniość podłączenia zasilania, SCK, MISO, MOSI i RST i nie następuje odczyt ATTINY2313-20PU.
    Przypuszczam, że cała partia ATTINY 2313-20PU w ilości 10 sztuk jest wadliwa (nigdy mi się to nie zdarzyło jeszcze) lub programowo coś nie gra? A może one wymagają rezonatora 93750 Hz (patrz grafika) - nie mam takiego? Ale ustawiałem SCK na 93,75kHz i nic. Lub coś przeoczyłem? Szkoda, że nie zachowałem sobie jednej sztuki dobrej ATTINY2313 z poprzedniej partii...
    Załączyłem grafiki, może ktoś coś jeszcze wymyśli? Udaję się na urlop, więc ponad tydzień mnie tu nie będzie...
  • Pomocny post
    #8 20744966
    bart-projects
    Poziom 29  
    Nie wiem czy na pewno jeśli piszesz "sprawdziłem wszystkie opcje" to je sprawdziłeś.
    Musisz odhaczyć "additional option" bo ona ma wyzszy priorytet niż "AutoSCK".
    Parametr -B używa się do spowaliniania SCK i im wyższa wartośc tym bardziej spowalnia się zegar. Zobacz na moje screeny.
    W jednym mam odhaczoną opcję -B i program specjalnie zwalnia do -B 375
    Kiedy jednak zahaczę opcję to spowalnia tylko -B 8 a to wszystko przy "AutoSCK".

    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
  • Pomocny post
    #9 20748167
    rb401
    Poziom 39  
    elktrod napisał:
    Przypuszczam, że cała partia ATTINY 2313-20PU w ilości 10 sztuk jest wadliwa (nigdy mi się to nie zdarzyło jeszcze) lub programowo coś nie gra?



    Proponuję spróbować inne oprogramowanie (do MkAvrCalculator osobiście nie mam pełnego zaufania a po za tym go nie posiadam). Ja akurat korzystam z AVRDUDESS. Można ściągnąć od Zaka tutaj (najwygodniejsza jak dla mnie, wersja portable):
    https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

    Akurat znalazłem kostkę Attiny2313, autentyczny oryginał z Atmela i ustawiłem fusebity na wartości fabryczne zgodne z DS. Czyli taktowanie wewnętrzne 8MHz podzielone przez 8.
    Robiąc próby wykrywania kostki przy różnych częstotliwościach ISP uzyskałem takie rezultaty:


    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP

    Czyli dla częstotliwości 375kHz i większych (parametr -B mniejszy lub równy 2.0), kostka nie odpowiada. Nie odpowiada też kiedy parametru -B nie ma wcale. AVRdude lub sam USBasp wtedy domyślnie ustawia 375kHz.
    Dopiero dla częstotliwości 187,5KHz i mniejszych (parametr -B większy lub równy 4.0) kostka wykrywana jest poprawnie.

    I to by się pokrywało z informacją w DS dotyczącą wymogu czasowego na ISP:

    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP

    Czyli przy założeniu symetrycznego przebiegu na CLK, wymagane jest by częstotliwość ISP była co najmniej cztery razy niższa niż taktowanie procesora. I tutaj jeśli mamy 1MHz taktowania procesora, to górną częstotliwością na ISP będzie około 250kHz, co potwierdza doświadczenie.



    elktrod napisał:
    ani też podpięcie oscylatora zewnętrznego 4MHz ani 8MHz ani 12MHz ani 16MHz


    Tak myślę że w tej kwestii najprościej by było na tej płytce zrobić dwa połączenia:

    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP

    i po prostu "pożyczyć" ten zamontowany kwarc od podstawki 328. Tym bardziej że specyfiką płytki jest to że nigdy dwie kostki na raz się nie wkłada. A ten kwarc prawdopodobnie masz sprawdzony bo programowałeś z powodzeniem ATmega 328.
  • Pomocny post
    #10 20748358
    bart-projects
    Poziom 29  
    Jesli już sie wypowiedziałem to czuję się winny sprawdzić jak wyżej wspomniany program czuje się z Tiny2313 :D
    Otóż - flawlessy - bez problemu. Co ciekawe sprawdziłem czy Tiny jest ustawione w tryb CKDIV8 i jest. Także 1MHz bez problemu nawet jak ktoś zaznaczy AutoSCK przełącza się automatycznie tylko z pewnym widocznym poślizgiem w odświeżaniu UI. Niemniej da się połaczyć z takim Tiny2313 z zegarem przez osiem bez problemu nawet przy -B=03.
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP

    Mam jeszcze jeden pomysł. Widziałem, że kiedyś montowano kondensator równolegle do linii RESET procesora. Wtedy komunikację nawiazywał dopiero przy SCK <=32k. Przyznam, że tu nie przyglądałem sie płytce.
  • #11 20868248
    elktrod
    Poziom 36  
    Dawno mnie nie było, ale jestem winien ciągu dalszego... Otóż zamówiłem w Chinach jeszcze w dwóch różnych miejscach po 5 sztuk ATTINY2313 i sprawdziłem wszystkie. Z kolejnych 10 sztuk tylko 3 sztuki ATTINY2313 komunikują się właściwie i to niezależnie od tego jakie opcje są ustawione pod MkAvrCalculatorem jak i niezależnie od tego czy podpięty jest kwarc czy nie. WNIOSEK: niestety Chińczycy sprzedają totalne badziewia! I nowe nie znaczy wcale, że dobre!
    Tak zachowuje się większość:
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
    A tak zachowują się dobre po kliknięciu opcji: Sprawdź podłączony AVR:
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
  • #12 20868385
    tmf
    VIP Zasłużony dla elektroda
    Byłbym ostrożny z tak kategorycznymi osądami. Masz dosyć "garażowy" programator i tu może być problem. Trzeba by przetestować te układy na firmowych narzędziach. Oczywiście może być i tak, że są to odpady z produkcji, posiadające różne wady. Swoją drogą to co cie podkusiło do zakupu tanich scalaków w Chinach?
  • #13 20868476
    elktrod
    Poziom 36  
    Od kilku lat jest to dla mnie w zasadzie pierwsze przykre doświadczenie właśnie tylko z ATTINY2313 - zawsze musi kiedyś nastąpić ten pierwszy raz... Chociaż nadal myślę i myślę, dlaczego z innymi procesorami nie mam takich złych przygód? Dlatego tmf podaj mi nazwę firmowego narzędzia lub link do firmowego programatora. Mogę też na mój koszt podesłać Ci lub komuś po podaniu adresu na priv kilka sztuk tych niewykrywanych ATTINY2313 przez mój programator w celu diagnozy czyli w celu kategorycznego osądu w czym problem? Co do zakupu, to lepiej taniej kupić i mniej stracić niż więcej i nic więcej mną nie kierowało. Na zabawę też lepiej jest mniej wydać niż więcej...
  • Pomocny post
    #14 20868685
    tmf
    VIP Zasłużony dla elektroda
    Tak od końca - może się okazać, że w efekcie wydałeś więcej. Jeżeli np. na 10 kupionych układów działa 1, to znaczy, że cena jednostkowa jest 10x większa, tak naprawdę znacznie większa, bo czas, który się traci na wykrycie problemu nie jest darmowy. Moim zdaniem jednym z głównych błędów popełnianych przez hobbystów jest kupowanie tanich rzeczy i nadmierne patrzenie na koszty. Oczywiście, należy zachować rozsądek, ale tak naprawdę koszty liczą się w produkcji, a nie w hobbystycznym budowaniu układów. Takin procesorów ile może hobbysta rocznie zużyć? 10? Jeśli MCU kosztuje jednostkowo np. 3 zł, a w innym miejscu 30 zł, to mamy rocznie 30 zł vs. 300 zł. Pozornie różnica duża, ale to już jest tylko 22 zł 50 gr miesięcznie. Nie robiąc nic można tyle zaoszczędzić :)
    Co do narzędzi - Atmel-ICE, lub tańszy SNAP. Cokolwiek, co firma produkująca MCU poleca.
  • #15 20950760
    elktrod
    Poziom 36  
    Wszystkie moje "garażowe" programatory są sprawne, jak i płytka (podstawki) z pierwszego postu nie wymagały żadnej interwencji jak i programy, niestety potwierdziłem sprzedaż odpadów produkcyjnych przez znany portal zagraniczny (2 razy) jak i polski czy nie polski już dzisiaj nie wiadomo co polskie a co nie (raz) czyli trzykrotnie w kwestii zakupu wyłącznie ATTINY2313...
    Podstawka ATMEGA i ATTINY do ARDUINO UNO i ATBUSBASP
    Tak się zastanawiam dlaczego ceny ATTINY2313 są tak zróżnicowane, przecież chyba nikt w Polsce ich nie produkuje, wiadomo gdzie sklepu się zaopatrują, więc jak te sklepy ponoszą ryzyko takich zakupów jak ja gdy na 13 sztuk jedna jest sprawna i do sprzedaży stosują selekcję jak ja do lutowania, to stąd bierze się cena dziesięciokrotna a moja porażka w zakupach nie jest mi już tak bolesna...
    tmf napisał:
    Oczywiście może być i tak, że są to odpady z produkcji

    Miałeś rację... Dlatego poproszę jeszcze o link sprzedawcy z niewygórowanymi cenami i sprawnym asortymentem - może być na priv?
    Od tej pory dobrym doświadczeniem dla mnie stało się zachowanie sobie a muzom jednej dobrej sztuki danego procesora dla szybkiej konfrontacji czy wina: programatora, programu, jego nastaw, naszego błędu obsługi, połączeń, płytek, itd itp... Zaoszczędzamy sobie w ten sposób czas na szukanie dziury w całym...
    Do bogatych nie należę i chyba nie jestem odosobniony w tym temacie, więc wybaczcie, że szukam tańszej alternatywy dla hobby...
  • Pomocny post
    #16 20953751
    jony
    Specjalista elektronik
    Jeśli chodzi o oryginały to niestety, wygląda na to, że tylko sklepy typu TME gwarantują kupno oryginału.
    Takie czasy.
  • Pomocny post
    #17 20960524
    tmf
    VIP Zasłużony dla elektroda
    TME, Farnell,itd. Generalnie duże sklepy/hurtownie. Nie ma sensu szarpać się z możliwymi podróbkami/odpadami. Weź pod uwagę, że jako hobbyści nie mamy ani wystarczającej wiedzy, ani sprzętu, aby efektywnie wyszukiwać problemy z projektem, który przecież może nie działać, bo nie mamy dużych gwarancji, że nasze umiejętności nie zawiodły... W efekcie tracisz czas na rozwiązywanie problemów, które w normalnych okolicznościach by nie wystąpiły. A czas jest jedynym zasobem, którego nie można kupić...
  • #18 21261803
    elktrod
    Poziom 36  
    tmf napisał:
    Masz dosyć "garażowy" programator i tu może być problem. Trzeba by przetestować te układy na firmowych narzędziach.

    Dokładnie prawie po roku dorobiłem się wreszcie innego programatora: X-Gecu T48 i on bez problemu odczytał i zapisał wszystkie w/w kości ATTINY2313 uważane przeze mnie onegdaj za wadliwe.
    Po moich doświadczeniach w tym temacie optuję za posiadaniem dwóch programatorów o różnych rozwiązaniach w celu sprawdzania sobie ich sprawności nawzajem bo czasem tracimy sporo czasu na ustalanie przyczyny, która może tkwić w nich czy też w oprogramowaniu jak i w naszym sprzęcie komputerowym czy w ich wzajemnej współpracy? Tak na dobrą sprawę wina po trosze mgła być w każdym w/w aspekcie i nie udało mi się jej ustalić, zwłaszcza tmf, że w innym temacie napisałeś w domyśle chyba o programatorze, że:
    tmf napisał:
    Ten tańszy zadziała dokładnie tak samo jak droższy
    ...
    A jednak nie zawsze...
    Ponadto nie wiem dalej tak na dobrą sprawę jaki programator jest firmowym czy też, które kości są firmowymi skoro i tak wszystko produkowane jest w Chinach?
  • Pomocny post
    #19 21262121
    jony
    Specjalista elektronik
    elktrod napisał:
    które kości są firmowymi skoro i tak wszystko produkowane jest w Chinach?

    Z tego co się orientuje to akurat microchip nie ma żadnej fabryki w chinach.
    Te układy co ja mam, pochodzą z montowni w Tajlandii.

Podsumowanie tematu

Użytkownik napotkał problem z programowaniem mikrokontrolera ATTINY2313 na podstawce ATMEGA i ATTINY przy użyciu programatora USBASP. Mikrokontrolery ATMEGA 328 są wykrywane, natomiast ATTINY2313 nie. Istnieje podejrzenie, że problem może wynikać z braku rezonatora kwarcowego, co jest potwierdzone przez odpowiedzi innych uczestników dyskusji. Sugerowane rozwiązania obejmują dodanie rezonatora o częstotliwości 8 MHz oraz kondensatorów o pojemności 12-22 pF. Użytkownik sprawdził połączenia i lutowanie, a także próbował różnych częstotliwości SCK, jednak ATTINY2313 nadal nie był wykrywany. W końcu, po zakupie kolejnych mikrokontrolerów, okazało się, że tylko część z nich działa poprawnie, co sugeruje, że mogły to być wadliwe egzemplarze. Uczestnicy dyskusji podkreślają znaczenie używania sprawdzonych programatorów oraz oryginalnych komponentów.
Podsumowanie wygenerowane przez model językowy.
REKLAMA