Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
IGE-XAO
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Attiny85 - Little Wire nie reaguje po wgraniu bootloadera micronucleus

Efyr 02 Nov 2015 10:12 1887 5
  • #1
    Efyr
    Level 11  
    Witam
    Zrobiłem płytkę zgodnie z schematem ze strony projektu Little Wire w celu podpięcie czujników 1Wire pod USB: http://littlewire.cc/
    Attiny85 - Little Wire nie reaguje po wgraniu bootloadera micronucleus
    Attiny85 - Little Wire nie reaguje po wgraniu bootloadera micronucleus

    Płytkę sprawdziłem wielokrotnie pod względem poprawności połączeń elektrycznych i wygląda wszystko ok (od nóżek procesora do styków Usb oraz do wyprowadzeń pin).

    Podpiąłem się pod piny wychodzące z płytki i zaprogramowałem przez programator Usbasp (zworki na zasilanie z programatora, oraz zegar 1Mhz - na innym nie widziało procesora) używając programu AVRDude.
    Do połączenia użyłem poniższego schematu:
    Attiny85 - Little Wire nie reaguje po wgraniu bootloadera micronucleus

    Wgrałem bootloadera micronucleus-1.02.hex ze strony projektu. Teoretycznie przeszło wszystko ok, poniżej zrzut ekranu:
    Code:
    c:\AVRDude>avrdude -c usbasp -p t85
    

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.04s

    avrdude: Device signature = 0x1e930b

    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.


    c:\AVRDude> avrdude -c usbasp -p t85 -U flash:w:micronucleus-1.02.hex -U lfuse:w
    :0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xfe:m

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.03s

    avrdude: Device signature = 0x1e930b
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "micronucleus-1.02.hex"
    avrdude: input file micronucleus-1.02.hex auto detected as Intel Hex
    avrdude: writing flash (8140 bytes):

    Writing | ################################################## | 100% 63.26s



    avrdude: 8140 bytes of flash written
    avrdude: verifying flash memory against micronucleus-1.02.hex:
    avrdude: load data flash data from input file micronucleus-1.02.hex:
    avrdude: input file micronucleus-1.02.hex auto detected as Intel Hex
    avrdude: input file micronucleus-1.02.hex contains 8140 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 46.19s



    avrdude: verifying ...
    avrdude: 8140 bytes of flash verified
    avrdude: reading input file "0xe1"
    avrdude: writing lfuse (1 bytes):

    Writing | ################################################## | 100% 0.03s

    avrdude: 1 bytes of lfuse written
    avrdude: verifying lfuse memory against 0xe1:
    avrdude: load data lfuse data from input file 0xe1:
    avrdude: input file 0xe1 contains 1 bytes
    avrdude: reading on-chip lfuse data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...
    avrdude: 1 bytes of lfuse verified
    avrdude: reading input file "0x5d"
    avrdude: writing hfuse (1 bytes):

    Writing | ################################################## | 100% 0.03s

    avrdude: 1 bytes of hfuse written
    avrdude: verifying hfuse memory against 0x5d:
    avrdude: load data hfuse data from input file 0x5d:
    avrdude: input file 0x5d contains 1 bytes
    avrdude: reading on-chip hfuse data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...
    avrdude: 1 bytes of hfuse verified
    avrdude: reading input file "0xfe"
    avrdude: writing efuse (1 bytes):

    Writing | ################################################## | 100% 0.03s

    avrdude: 1 bytes of efuse written
    avrdude: verifying efuse memory against 0xfe:
    avrdude: load data efuse data from input file 0xfe:
    avrdude: input file 0xfe contains 1 bytes
    avrdude: reading on-chip efuse data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...
    avrdude: 1 bytes of efuse verified

    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.


    c:\AVRDude>avrdude -c usbasp -p t85

    avrdude: error: programm enable: target doesn't answer. 1
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


    avrdude done.  Thank you.


    Po wgraniu program już nie wykrywa procesora, co pokazuje ostatni wpis. Po podłączeniu do usb także nic się nie dzieje. Identyczna sytuacja przy drugim procesorze, więcej już nie mam aby testować.
    Jak rozumiem po wgraniu bootloadera płytka podpięta pod Usb powinna być widoczna - system powinien wykryć podpięte urządzenie i ewentualnie zapytać o sterowniki (Win7 x64)? Wtedy mógłbym na botloadera dograć resztę potrzebnego programu LittleWire

    Jakieś pomysły co może być przyczyną? Szukałem informacji w sieci, ale niestety nie znalazłem odpowiedzi na mój problem
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • IGE-XAO
  • Helpful post
    #2
    szczywronek
    Level 27  
    1. Przez ISP nie możesz się połączyć, bo pin reset został wyłączony (patrz wartość bajtu konfiguracyjnego - high fuse).
    2. Komputer powinien wykryć "device'a", jeśli jedna z linii danych została podciągnięta do zasilania (u Ciebie rezystor R3). Jeżeli po podłączeniu do komputera nie dzieje się kompletnie nic (np. komputer nie wykrywa nieznanego/uszkodzonego urządzenia) to jest to problem sprzętowy.
  • IGE-XAO
  • #3
    Efyr
    Level 11  
    Do tego pierwszego miałem takie podejrzenie.
    Co do drugiego, to rozumiem, że podejrzewasz błąd połączeń na płytce? Mierzyłem wielokrotnie, bo to moja pierwsza dwustronna płytka, znalazłem dwa błędy połączeń przejścia jednej warstwy na drugą, ale te usunąłem jeszcze przed wgraniem programu. Potem przeleciałem płytkę trzykrotnie miernikiem i teoretycznie wszytko jest OK. Ale skoro tylko tam może być problem to jeszcze pomierzę wszystko. Mierzę czy rezystancja np od Usb do nóżki procesora się zgadza z tymi ze schematu. Chyba tak najlepiej sprawdzać?
  • Helpful post
    #4
    szczywronek
    Level 27  
    Możesz pokazać zdjęcia układu na forum, jeśli jakość (zdjęć) na to pozwoli to do poszukiwań ewentualnego błędu przyłączą się też forumowicze :)

    Wystarczy wsadzić rezystor w gniazdo USB (między +5V a jedną z linii danych) aby host wykrył, że coś zostało podłączone do magistrali. Jeżeli u Ciebie nie dzieje się nic, to błąd na pewno jest sprzętowy. Zwróć uwagę, czy na pewno właściwie ustaliłeś kolejność linii w gnieździe USB.
  • #5
    Efyr
    Level 11  
    Ok. Przejrzę to. W sumie mierzyłem od pinów wlutowanych w płytkę od strony Usb, może dostałem uszkodzoną wtyczkę - tego nie sprawdziłem. Dioda na płytce się zapala po podłączeniu, czyli przynajmniej masa i +5V przechodzi. Dostęp do płytki będę miał dopiero w nocy/jutro rano - wtedy dam znać co i jak.
  • #6
    Efyr
    Level 11  
    Znalazłem błąd na płytce, miałem zwarcie 60 Ohm pomiędzy nóżkami procesora podłączonymi pod D+ oraz D-.
    Poprawiłem to, tyle, że nadal nie działa. Tzn płytka z procesorem pojawia się na chwilę jako nieznane urządzenie, i po chwili znika z managera urządzeń (tak jakby system je wyłączał).
    Sama płytka bez procesora jest wykrywana jako nieznane urządzenie, już nie znika - pojawia się dymek urządzenie USB ma błąd i nie jest rozpoznane przez Windows (mniej więcej tak brzmiało)

    Jutro jeszcze będę szukał błędów na płytce, ale tu się zastanawiam, czy nie uszkodził się procesor. Na obu zachowuje się tak samo, ale oba były podłączane na źle zrobionej płytce.