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

Jak ustawić fuse bit CKOPT w ATtiny 2313 za pomocą programatora COMBO3?

MES Mariusz 17 Sie 2007 16:49 2350 13
REKLAMA
  • #1 4187424
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Ktoś wie może jak dobrać się do fuse bitu CKOPT mikrokontrolera ATtiny 2313 za pomocą programatora COMBO3 ?

    Jakoś w opcjach fuse bitów nie widzę CKOPT :-|

    Jak ustawić fuse bit CKOPT w ATtiny 2313 za pomocą programatora COMBO3?
  • REKLAMA
  • Pomocny post
    #2 4188969
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Temat przeniosłem, przeczytaj opisy działów.

    Że fusa nie widzisz to nic dziwnego bo ten procesor go po prostu nie ma...
  • REKLAMA
  • #3 4189133
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Czyli w ten sposób nie poprawię jego odporności na zakłócenia sieci? Hmm :-/. Szkoda.
  • #4 4189575
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    A jaki to kwarc?
  • #5 4191265
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Zaledwie 4 MHz, ale urządzenie jest paskudnie niestabilne i zawiesza się przy włączaniu urządzeń elektrycznych do sieci (np. wentylatora).
  • #6 4191554
    johny_w
    Poziom 24  
    Posty: 673
    Pomógł: 80
    Ocena: 63
    A może by tak odfiltrować zasilanie uC? Zamiast (jak podejrzewam) 7805 dać przetwornicę impulsową (np. LM2675). I jak najbliżej pinu VCC procka dać filtr LC, a jeszcze wcześniej kondensator ok. 10 - 100 uF? No i jak najbardziej oddalić źródło zasilania układu i wentylatora.
  • Pomocny post
    #7 4191912
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Na początek kondensator 100nF, najlepiej na nogi procesora (Vcc/GND) żeby był jak najbliżej i najlepiej jeszcze po jednym przy każdym innym scalaku zasilanym z tego samego napięcia co procesor

    Rezystor podciągający reset do plusa. Ja daję 10K, ale możesz dać mniejszy, w zależności od tego ile programatorowi nie będzie przeszkadzać ;)

    Przy kwarcu kondensatory 33pF, wiem że zalecają mniejsze, ale zawsze jak zaczynałem kombinować to potem było szukanie błędu.

    Filtr LC - dobra rzecz, ale to dałbym dopiero na koniec podobnie jak przetwornicę, kiedy już nic innego nie pomoże. Po prostu może okaże się że nie trzeba orać płytki...

    Miałem kiedyś podobny problem z M16 i CKOPT nie dał tyle co 100nF na procku, taki mały klocuszek a działa nieraz cuda!...
  • REKLAMA
  • #8 4191926
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    a może by tak kolega pokazał na jakimś schemacie jakie w tej chwili kolega ma zrobione zabezpieczenia przed takim zawieszaniem? sorry za to pytanie ale często ludzie dadzą sam 7805 i ze 2 kondensatory elektrolityczne gdzieś po drodze i to wszystko a potem zdziwienie, że się AVRy czy inne procki wieszają. Bardzo często wystarczy umieszczenie w odpowiednich miejscach kondensatorów odsprzęgających np 100n jak również tantalowych blisko nóżek scalaków, odpowiednie prowadzenie ścieżek na płytce i spox. Ale oczywiście niektórych przypadkach można sięgać po takie rozwiązania o jakich mówi kolega Jj_Johnys - czyli dodatkowe filtry RC, perełki ferrytowe , lepsze stabilizatory itp. Ale to już naprawdę na potrzeby sprzętu od którego zależeć może życie ludzkie ;) ;) ... poza tym rezystorek podciągający RESET do VCC i odpowiednie ustawienie nieużywanych nóżek (portów)

    o kolega McRancor mnie uprzedził ;)

    pozdrawiam
  • #9 4195093
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Ja mam pojemności przed i po stabilizatorze, realizowane zgodnie ze sztuką. Dodatkowo przed stabilizatorem próbowałem wstawiać (w szereg z linią zasilającą) przeróżnego rodzaju cewki, dławiki, koraliki, dosłownie kilkanaście rodzajów i efekt (ku mojemu zdziwieniu) zerowy. Spróbuję jeszcze 100nF bezpośrednio na nogi procesora, a jak to nie pomoże, to jeszcze przetwornicę DC/DC przed stabilizatorem. Nawet nie chcę myśleć, co zrobię jak to nie pomoże (kończą mi się pomysły).

    Ten filtr LC bezpośrednio przed nogą Vcc procesora jakiś konkretny ma być ? (wartości)

    Dziękuję i pozdrawiam
    Mariusz
  • Pomocny post
    #10 4195712
    johny_w
    Poziom 24  
    Posty: 673
    Pomógł: 80
    Ocena: 63
    100nF i 10uH. Te 100nF to kondensator o którym również pisał McRancor.
  • #11 4195759
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Jj_Johnys napisał:
    100nF i 10uH. Te 100nF to kondensator o którym również pisał McRancor.

    Przed chwilą sprawdziłem tę opcję ze 100nF na nogach uP - efekt - bez zmian. Teraz spróbuję jeszcze filtr LC 10uH / 100nF bezpośrednio na nodze zasilania, a jak to nie pomoże, to wstawię przetwornicę DC/DC przed stabilizatorem.
  • #12 4205116
    johny_w
    Poziom 24  
    Posty: 673
    Pomógł: 80
    Ocena: 63
    Witam. Tak sobie właśnie myślę, że skoro uC się zawiesza - być może nie jest to wpływ jego zasilania tylko układów wejściowych do niego podłączonych (typu przyciski, itp.). Być może tak jakaś szpilka w momencie nie przewidzianym przez program powoduje zawieszenie się?

    Można by gdybać, ale np. przycisk z zewnętrznym pullup'em radzi sobie lepiej w warunkach przemysłowych niż rezystor wewnętrzny. Można by jeszcze dodać kondensator, można by...

    Warto to najpierw sprawdzić. Ja najpierw znalazłbym miejsce zawieszenia się programu (choćby orientacyjnie). Analizując układ i program. Użyłbym też watchdoga wstawiając jego reset gdzie się da oprócz podejrzanego kawałka kodu. Później tylko w tym miejscu programu.
    Albo jeśli linie RX i TX są wolne - można w różnych miejscach programu wysyłać informacje o stanie programu na terminal. Najlepsza metoda debugowania dla tych maleństw :)

    A co z podciąganiem resetu, o którym koledzy pisali?
  • #13 4205174
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    ooo to samo mniej więcej co kolega Jj_Johnys podpowiedziałem autorowi w nieco innym jego temacie, gdzie również pisze o podobnych problemach ..... ja też twierdzę że poza tym co powiedział kolega powyżej szukać przyczyny czasem z uporem maniaka trzeba szukać u siebie w kodzie a nie w procku i zasilaniu. Tym bardziej, że czasem przeoczyć możemy miejsce gdzie trzeba wywoływać watchdoga ;)

    ja np poza watchdogiem przy takich problemach podłączam też sobie gdzieś czasem poprostu zwykłego LEDa i za pomocą kombinacji jego mrugnięć debuguję progsa ;) - wiem to prymitywne ale często przynosi przy dużym uporze i bez stosowania JTAG'a itp - porządany efekt ;)

    pozdrawiam
  • REKLAMA
  • #14 4205700
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Reset jest podciągnięty do Vcc za pomocą za pomocą rezystora 10k. Ewidentną przyczyną tego, że uP "idzie sobie w maliny" są zakłócenia przewodzone sieci, o czym napisałem w temacie Dobry filtr przeciwzakloceniowy na zasilanie

    Ten wątek zamykam, ponieważ tematy zrównały się.

Podsumowanie tematu

✨ Mikrokontroler ATtiny2313 nie posiada fuse bitu CKOPT, dlatego nie można go ustawić za pomocą programatora COMBO3. Problem niestabilności urządzenia przy zakłóceniach sieciowych, szczególnie przy kwarcu 4 MHz, nie jest możliwy do rozwiązania przez ustawienia fuse bitów. Zalecane jest stosowanie filtrów przeciwzakłóceniowych na zasilaniu, takich jak kondensatory odsprzęgające 100nF umieszczone blisko nóżek procesora, rezystor podciągający reset do Vcc (np. 10kΩ), a także ewentualne filtry LC (np. 10µH i 100nF) oraz przetwornice DC/DC (np. LM2675) zamiast liniowych stabilizatorów 7805. Ważne jest również odpowiednie prowadzenie ścieżek na płytce, stosowanie kondensatorów tantalowych, oraz zabezpieczenia linii resetu i nieużywanych portów. W przypadku zawieszania się mikrokontrolera warto rozważyć debugowanie kodu, użycie watchdoga oraz monitorowanie stanu programu przez interfejs szeregowy lub sygnalizację LED. Przyczyny problemów mogą leżeć także w układach wejściowych podłączonych do mikrokontrolera, a nie tylko w zasilaniu.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA