Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Attiny13 - W losowych momentach nie chce dać się zaprogramować

Michał 911 19 Lut 2014 19:47 1404 20
  • #1 19 Lut 2014 19:47
    Michał 911
    Poziom 18  

    Witam,

    Mam taki problem;
    Zmontowałem sobie płytkę z attiny13, którego raz mogę, a raz nie mogę zaprogramować (częściej nie mogę).
    Próbowałem używać różnych programów do wgrywania (avrdude, avr burn O mat, mk avr kalkulator, pony prog, khazama programmer)... Tak kombinowałem z różnymi programami, ponieważ ostatnio w ogóle miałem problemy z wgraniem programu na jaki kolwiek uC, ale już się poprawiło i teraz khazama działa zawsze (tylko nie w tym przypadku), a inne programy prawie zawsze...
    Już myślałem, że to może coś z programatorem, że np. attiny13 nie programuje (chociaż jest na liście układów obsługiwanych), ale na wszelki wypadek próbowałem też użyć innego programatora; Willem 4 pro (na LPT).
    Dodam jeszcze, że inne procki jeden i drugi programator programuje bez problemu, więc programatory raczej sprawne...
    Nie wiem, jak zachowywał by się taki attiny na płytce stykowej, ale podejrzewam, że by się zaprogramował...
    Wstawiam błędy jakie wywala mi khazama AVR Programmer. Jak naciskam "auto program", to wyskakują mi po kolei takie okna:
    Attiny13 - W losowych momentach nie chce dać się zaprogramować
    Ten to normalne, że wyskakuje - pojawia się zawsze - potem jeszcze raz i dopiero układ się programuje.
    Attiny13 - W losowych momentach nie chce dać się zaprogramować
    Ten błąd wyskakuje - gdy nie mogę zaprogramować attiny.
    Attiny13 - W losowych momentach nie chce dać się zaprogramować
    Znowu ten błąd - w tym miejscu też jest to normalne.
    Następnie:
    Attiny13 - W losowych momentach nie chce dać się zaprogramować




    - też wyskakuje tylko wtedy gdy nie mogę zaprogramować uC.
    I na koniec komunikat, czy uC został/nie został zaprogramowany;
    Attiny13 - W losowych momentach nie chce dać się zaprogramować

    Kasowanie układu przez Pony Prog też próbowałem, ale już nawet to nie działa :(

    Schemat: układu:
    Attiny13 - W losowych momentach nie chce dać się zaprogramować

    Już sam zauważyłem jeden błąd; między wyjściem transoptora a attiny powinien być rezystor - myślałem też nad opcją zepsutego w ten sposób attiny, ale odlutowałem tą nóżkę transoptora, wymieniłem uC i nadal to samo...
    Zaraz mnie coś trafi z tym attiny13... :|
    Już mi się pomysły skończyły co jeszcze może być zepsute. Programy do wgrywania - nie, programatory - nie, 2 szt. attiny też raczej nie (zwłaszcza, że co jakiś czas daje się to zaprogramować), na PCB nie ma nigdzie przerw, ani zwarć - kilka razy sprawdzałem, attiny jest poprawnie zasilany - 5,04V (mierzone na nóżkach uC)

    Z góry dzięki za odpowiedzi

    0 20
  • #2 19 Lut 2014 20:15
    piotrva
    Moderator na urlopie...

    Hmm, a czy próbowałeś programować ten procesor poza układem?
    Problemem moim zdaniem mogą być obciążenia i wymuszenia (np. czujnik przejścia przez zero) podłączone na liniach programatora.
    Nb. sam miałem kiedyś podobny problem z ATTiny2313 - jeden z moich pierwszych programatorów nie radził sobie z podłączonymi tam układami.

    0
  • #3 19 Lut 2014 20:21
    Michał 911
    Poziom 18  

    piotrva napisał:
    Hmm, a czy próbowałeś programować ten procesor poza układem?

    Nie, ale na 90% się zaprogramuje.
    piotrva napisał:
    Problemem moim zdaniem mogą być obciążenia i wymuszenia (np. czujnik przejścia przez zero) podłączone na liniach programatora.

    Ale po odlutowaniu nóżki, która powoduje te wymuszenia nadal to samo, więc to raczej odpada - innych czujników jeszcze nie mam podłączonych.

    0
  • #5 19 Lut 2014 21:03
    Michał 911
    Poziom 18  

    Attiny13 - W losowych momentach nie chce dać się zaprogramować Attiny13 - W losowych momentach nie chce dać się zaprogramować Attiny13 - W losowych momentach nie chce dać się zaprogramować Attiny13 - W losowych momentach nie chce dać się zaprogramować

    Nie wiem, czy to może jakoś wpływać na działanie układu, ale poligon po stronie napić niskich mam z Vcc a nie GND...
    Po prostu tak mi było wygodniej zrobić.

    0
  • #7 19 Lut 2014 21:13
    Michał 911
    Poziom 18  

    To, że ścieżki między złączem a programatorem (np. MISO z MOSI) dość znacznie różnią się długością to raczej nie ma wpływu na działanie? (W końcu to transmisja szeregowa...)

    A co z tym poligonem?

    0
  • #8 19 Lut 2014 21:17
    Marek_Skalski
    Moderator Projektowanie

    Przecież na pierwszych screenach widać, że problem dotyczy SPI.
    Patrząc na schemat, stawiam diamenty przeciw orzeszkom, że SPI jest blokowany przez detektor przejścia przez zero. Podłącz ten sygnał przez jumpera, którego będziesz ściągał do programowania i montował podczas normalnej pracy po zaprogramowaniu. Sygnały wyjściowe też nie powinny się pojawiać od razu. Konfiguracja portów powinna być min. 2s (wartość przyjęta arbitralnie) od resetu. W ten sposób nie będzie konfliktów między uC i programatorem.

    0
  • #10 19 Lut 2014 21:22
    Michał 911
    Poziom 18  

    Marek_Skalski napisał:
    Przecież na pierwszych screenach widać, że problem dotyczy SPI.

    Tzn. ISP jak już, ale jak już wcześniej napisałem odłączyłem tą nóżkę (tego detektora) a problem jest nadal...

    0
  • #11 19 Lut 2014 21:45
    Marek_Skalski
    Moderator Projektowanie

    Michał 911 napisał:
    ISP jak już

    ISP - In-System Programmable - to jest feature, który działa.
    SPI - Serial Peripherial Interface - to jest hardware, z którym masz problem.

    Pull-up 100R to chyba lekka przesada?
    Dondu ma rację, ja nie zwróciłem uwagi na wartość.
    Powodzenia!

    0
  • #12 19 Lut 2014 21:45
    Michał 911
    Poziom 18  

    dondu napisał:
    Wylutuj rezystory R1, R12 i R6, a pin 7 6N137 złącz do masy i spróbuj zaprogramować.

    Tak zrobiłem. Rezystora R12 nie miałem jeszcze wlutowanego.
    Niestety nadal nie działa :(

    0
  • Pomocny post
    #13 19 Lut 2014 21:47
    dondu
    Moderator Mikrokontrolery Projektowanie

    W takim razie, musisz potwierdzić te brakujące 10%:

    Michał 911 napisał:
    piotrva napisał:
    Hmm, a czy próbowałeś programować ten procesor poza układem?

    Nie, ale na 90% się zaprogramuje.

    0
  • #14 19 Lut 2014 21:52
    Michał 911
    Poziom 18  

    Marek_Skalski napisał:

    ISP - In-System Programmable - to jest feature, który działa.
    SPI - Serial Peripherial Interface - to jest hardware, z którym masz problem.


    Z tego co mi wiadomo:
    ISP - służy do programowania mikrokontrolera
    SPI - służy do podłączania układów z tą magistralą do mikrokontrolera

    Marek_Skalski napisał:
    Pull-up 100R to chyba lekka przesada?

    Tak profilaktycznie - układ będzie pracował w dość wilgotnym środowisku i nie chciałem, żeby wilgoć była w stanie udawać zadziałanie czujnika.
    Poza tym na razie nie miałem go wlutowanego.

    0
  • #15 19 Lut 2014 22:01
    excray
    Poziom 39  

    Moim zdaniem problem leży w R12 który ma zbyt małą wartość i programator ma problem ze ściągnięciem tej linii do 0V. R11 zresztą też jest zbyt mały choć to nie ma wpływu na programowanie.

    0
  • #16 19 Lut 2014 22:01
    Michał 911
    Poziom 18  

    dondu napisał:
    W takim razie, musisz potwierdzić te brakujące 10%:

    No proszę - a jednak - nie działa. Czyżby ten transoptor jednak pouszkadzał uC???
    Tylko teraz zagadka: dlaczego raz działa, a raz nie?

    0
  • Pomocny post
    #17 19 Lut 2014 22:02
    dondu
    Moderator Mikrokontrolery Projektowanie

    excray napisał:
    Moim zdaniem problem leży w R12 który ma zbyt małą wartość i programator ma problem ze ściągnięciem tej linii do 0V.


    ... ale:

    Michał 911 napisał:
    dondu napisał:
    Wylutuj rezystory R1, R12 i R6, a pin 7 6N137 złącz do masy i spróbuj zaprogramować.

    Tak zrobiłem. Rezystora R12 nie miałem jeszcze wlutowanego.
    Niestety nadal nie działa :(

    0
  • #18 19 Lut 2014 22:03
    excray
    Poziom 39  

    Ok, doczytałem że tego R12 nie ma. Spróbuj na zwolnionym SPI programować.

    0
  • #19 19 Lut 2014 22:17
    Michał 911
    Poziom 18  

    excray napisał:
    Spróbuj na zwolnionym SPI programować.

    Zwolnionym tj. bez tych rezystorów podciągających i tego detektora zera?

    0
  • #21 19 Lut 2014 22:56
    Michał 911
    Poziom 18  

    olelek napisał:
    Dla avrdude opcja -B5 w wierszu poleceń, lub odpowiednia zworka na USBASP.

    Zworkę miałem założoną cały czas, a co do avrdude, to nie wiem w którym miejscu to wpisać.
    Jak domyślnie jest:
    Kod: fortran
    Zaloguj się, aby zobaczyć kod

    To próbowałem to wpisać po:
    Kod: fortran
    Zaloguj się, aby zobaczyć kod
    , ale to nie działa...

    0