Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 21:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 27 ] 
Autor Wiadomość
PostNapisane: 30 wrz 2014, o 18:56 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Witam ;)

Jestem nowy na tym forum wiec z góry przepraszam wszystkich za język laika którym się posługuje.
Chciałbym ustalić czy mikrokontroler Atmel AT90USB1287 został bezpowrotnie uszkodzony czy też wymaga jakiś szczególnych zabiegów aby go ponownie zaprogramować o których nie wiem. Czy istnieje jakaś prosta metoda diagnozy czy kontroler nadaje się do programowania czy tez jest uszkodzony i można go wyrzucić?
Sprawa wygląda tak że wspomniany kontroler jest przeze mnie używany w drukarce 3D na płytce Teensylu. Podczas konserwacji i nagłym odłączeniu zasilania urządzenie przestało działać. Nie można go zaprogramować przez port USB komputra oprogramowaniem FLIP ponieważ komputer zupełnie nie widzi płytki po podłączeniu do portu USB. Posiadam kontroler USBasp i za jego pomocą udało mi się nawiązać kontakt z miktrokontrolerem at90USB1287 przy pomocy oprogramowania Avrdude. Kontroler zgłasza się prawidłowo. Przy probie wgrania bootloadera zawsze podczas weryfikacji pojawia się błąd. Fuse bity są ustawione prawidłowo. Można je odczytać jak i zaprogramować. Czyli reasumując płytka nie jest widoczna przez port usb komputera, istnieje możliwość komunikacji z mikrokotrolerem przez kontroler USBasp ale nie można wgrać prawidłowo bootloadera. Czy to oznacza ze mikrokontroler jest uszkodzony czy może jest jakiś inny sposób aby go ożywić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 19:08 
Offline
Użytkownik

Dołączył(a): 29 wrz 2014
Posty: 28
Pomógł: 5

Skoro możesz wgrać fusebity do mikrokontrolera to wydaje mi się, że problem jest po stronie bootloadera. Jeżeli jesteś pewny, że bootloader jest prawidłowy to może być uszkodzony procesor. Ja tak miałem przy atmedze 168. Coś mi się stało na płytce i już więcej nie mogłem do niej wgrać programu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 20:08 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

No właśnie i tutaj jest pies pogrzebany czy walczyć jeszcze i próbować i tracić czas czy podarować sobie i kupić nowy procesor :?
Wydaje mi się a jestem nawet prawie pewien że bootloader jest na pewno prawidłowy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 20:27 
Offline
Użytkownik

Dołączył(a): 29 wrz 2014
Posty: 28
Pomógł: 5

Jeśli możesz wymienić procesor i masz do niego wsad to myślę, że nie będzie żadnego problemu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 20:34 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Mogę wymienić procesor bo już raz wymieniałem. Niestety procesor kosztuje około 75 zł a poprzednim razem wymieniałem jakoś w styczniu :| Z drugiej strony wymiana procesora nie jest taka prosta bo trzeba go przylutować a nóżek jest tam dosyć :? Dlatego chciałbym mieć pewność że jest uszkodzony bo potem się okaże że mam na półce 5 sprawnych wlutowanych procesorów. Dlatego najlepiej by było gdyby istniała jakaś procedura diagnostyczna procesora. Ale rozumiem że czegoś takiego raczej nie ma :cry:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 21:37 
Offline
Użytkownik

Dołączył(a): 27 paź 2011
Posty: 74
Pomógł: 2

Witaj,
Korzystam na co dzień z tego uC i zdarzyło mi się kilka razy z nie znanych mi do dziś powodów iż procesor przestawał działać.
Jak się okazało u mnie "samoczynnie" przestawiały się fusy na zewnętrzne źródło taktowania.
Co prawda nie wiele Ci to pewnie pomoże ponieważ twierdzisz że fusy są OK.

...jak doskonale wiemy z wieeeeelu postów "zabić" ATMEL-a nie jest tak łatwo...

Gdybyś sobie nie poradził odezwij się na PW zorganizuję Ci taniej uC :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 22:04 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

hmm.. u mnie przyczyną awarii było wyjecie wtyczki zasilania 5V z płytki. Po jej włożeniu układ już nie działał. Na wyświetlaczu LCD już nic się nie wyświetlało. Wydaje mi się że żadnego zwarcia nie było. Wiec strasznie to wszystko delikatne. Co do fuse bitów to wydaje mi się że są ok ponieważ po sprawdzeniu są takie jakie mając być. Wiec chyba są dobre :?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 22:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sty 2013
Posty: 272
Pomógł: 3

Tomek_75 napisał(a):
Przy probie wgrania bootloadera zawsze podczas weryfikacji pojawia się błąd

A coś więcej? Jaki to błąd? Po co w ogóle weryfikować? Może masz przez fusy zablokowaną możliwość odczytu wsadu?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 wrz 2014, o 23:01 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Zatem wygląda to tak

Przy odczycie danych procesora jest wszystko ok

Obrazek


Przy odczycie fuse bitow też chyba jest wszystko ok ponieważ odczyt zgadza się z danymi do których. dotarłem. Zapisać je też mogę i wszystko jest ok.

Obrazek

Przy próbie wgrania bootloadera wygląda to tak jak. Po co weryfikować? Generalnie to po wczytaniu z weryfikacją czy też bez weryfikacji płytka i tak nie działa nie jest widoczna po podłączeniu do usb :|

Obrazek

Zgodnie z zaleceniami obrazki zostały umieszczone na serwerze forum. 8-)



Ostatnio edytowano 1 paź 2014, o 18:09 przez Tomek_75, łącznie edytowano 4 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 paź 2014, o 19:57 
Offline
Nowy

Dołączył(a): 23 mar 2014
Posty: 7
Pomógł: 1

Witam. Myślę,że warto spróbować przez usbasp, zmienić fusebity na fabryczne, wgrać na nowo bootloader i ponownie zmienić fusebity na 0x99 i 0x5e (jakie teraz odczytujesz). Być może obecne ustawienie fusebitów nie pozwala na ponowne wgranie i weryfikację bootloadera. Avrdude wgrywa Ci bootloader pod adres E000 a powinien pod F000. Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 paź 2014, o 20:04 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Dotarłem do broszury Atmel dotyczącej tego kontrolera. Na stronie 360 są podane wartości dla fuse bitów.

http://www.atmel.com/Images/doc7593.pdf

Extended Fuse Byte (0xF3) - u mnie - 0xf3
Fuse High Byte (AT90USB128: 0x99) - u mnie 0x99
Fuse low byte (0x5E) - u mnie 0x5e

Czyli generalnie takie same nie licząc równicy w wielkości liter. Pytanie czy wielkość liter ma znaczenie :D
Sprawdziłem i wygląda na to że nie ma znaczenia. Czyli fuse bity są ustawione zgodnie z danymi fabrycznymi.
Znalazłem jednak rozbieżność u ustawieniach lock bit. Nie wiem tylko czy to może mieć jakieś znaczenie. Poniżej obrazek.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 07:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 sty 2014
Posty: 116
Pomógł: 9

No to po kolei dla usystematyzowania tego co wiemy.
Fusy masz ogólnie ok tylko jeśli nie używasz JTAG to go wyłącz (JTAGEN = 1).
I teraz tak wgrywasz botloader. Jak widać się wgrywa, tylko jak na mój gust coś wielki ten botloader, ale skoro działało to ok.
Na razie na płytce nie powinno się nic dziać.
Przez botloader wgrywasz właściwy program i co się dzieje?

_________________
"Actum ne agas!"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 08:38 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

pietszyk napisał(a):
Fusy masz ogólnie ok tylko jeśli nie używasz JTAG to go wyłącz (JTAGEN = 1).


Niestety i ta zmiana nic nie daje :cry:

pietszyk napisał(a):
I teraz tak wgrywasz botloader. Jak widać się wgrywa, tylko jak na mój gust coś wielki ten botloader, ale skoro działało to ok.


Bootloader się wgrywa. Niestety nie przechodzi weryfikacji. Bootloader nie działa. Wgranie go nie przynosi żadnego efektu. Płytka dalej jest martwa. Nie jest widoczna przez komputer po podpięciu przez USB tym samym nie można wgrać oprogramowania przez program FLIP. Sam bootloader jest pobrany ze strony Atmela, mam też inne wersje wszystkie mają podobną objętość około 13 kB żaden nie działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 19:36 
Offline
Nowy

Dołączył(a): 23 mar 2014
Posty: 7
Pomógł: 1

Witam. W poprzednim poście nie dość wyraźnie wyjaśniłem o co mi chodzi. Bootloader jest wgrywany fabrycznie od adresu 0xf00 i zajmuje 4kB, zmieniane są też fabrycznie fusebity by nie nadpisać bootloadera przy wgrywaniu programu, dlatego u Ciebie weryfikacja zapisu startuje od 0xe00 a nie jak powinna od 0xf00, stąd błędy weryfikacji. Przeczytaj dokładnie http://www.atmel.com/Images/doc7618.pdf. Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 19:58 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

ska_and napisał(a):
zmieniane są też fabrycznie fusebity by nie nadpisać bootloadera przy wgrywaniu programu


O ile dobrze zrozumiałem to aby wgrać bootloadera należy wprowadzić inne wartości fuse bitów niż fabryczne ponieważ moje są ustawione zgodnie z broszurą Atmel. Czy zatem mógłby mi ktoś podpowiedzieć jakie mam wprowadzić inne fuse bity niż fabryczne? :?

ska_and napisał(a):
Bootloader jest wgrywany fabrycznie od adresu 0xf00 i zajmuje 4kB


Bootloadery do których dotarłem maja objętość około 12-13 kB oznacza to że są :? nieprawidłowe?

Przepraszam ale jestem zupełnymi laikiem i sam odpowiedzi na powyższe kwestie nie jestem w stanie ustalić. :cry:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 20:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

"Tomek_75"

spróbuj komendą z CMD

avrdude -c usbasp -p usb1287 -t (wejdziesz w tryb consoli SPI)
tam wpisz erase i enter ( komenda wymazuje wszystko z pamięci flash i eeprom)

potem spróbuj wgrac bootloader ... pamiętaj że fusy dla kwarca to połowa sukcesu jeszcze musisz odblokować zawsze sekcję bootloadera fusami najlepiej wypal bootloader Teensylu / Printrboard" z menu "board" w Arduino IDE

spróbuj też odłaczyć teensylu, zdjąć zworkę oznaczoną "ALE" i podłączyć ponownie powinien się pojawić port UART w MU. gdyż bootloader DFU jest wgrany fabrycznie w UC ...

Co do bootloadera dla Arduino znajdziesz wszystko tutaj http://www.geeetech.com/wiki/index.php/ ... stalled.29

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 21:32 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Dziękuje z zaangażowanie i probe pomocy. Niestety podpowiedzi są jak dla mnie zbyt ogólne. Pojawiają się fuse bity które trzeba zmienić na inne niż fabryczne aby wgrać bootloadera potem go odblokować itp ale nikt niestety nie podaje wartości tych fuse bitów. Ja niestety jestem laikiem i nawet przy pomocy broszurek nie jestem w stanie ustalić jakie maja być ich wartości. To co wyczytałem to że bootrst powinien być 0, natomiast HWBE = 1 (ale może źle wyczytałem bo się na tym zupełnie nie znam :? ). Próbowałem również innych możliwych kombinacji z wartościami tych bitów ale zawsze przy weryfikacji pojawia się błąd 0x0c co jak wyczytałem oznacza "errUSBR 0x0C Device detected unexpected USB reset signaling". Więc może mój programator usbasp jest uszkodzony :?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 paź 2014, o 22:54 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

SunRiver napisał(a):
spróbuj też odłaczyć teensylu, zdjąć zworkę oznaczoną "ALE" i podłączyć ponownie powinien się pojawić port UART w MU. gdyż bootloader DFU jest wgrany fabrycznie w UC ...


Gdybym mógł skorzystać z fabrycznego bootloadera to by nie było tego wątku. :evil:

SunRiver napisał(a):
Co do bootloadera dla Arduino znajdziesz wszystko tutaj http://www.geeetech.com/wiki/index.php/ ... stalled.29

Niestety nie mogę skorzystać z tej metody ponieważ moja płytka jest martwa pod Windows przy podłączeniu jej przez USB o czym pisałem już wyraźnie w powyższych postach :evil:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2014, o 09:24 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Chciałbym prosić o wyjaśnienie jednej kwestii. Czy taki układa jak 90usb1287 który ma zaimplementowaną obsługę komunikacji przez złącze usb w przypadku jeżeli pamięć kontrolera jest wyczyszczona czyli nie jest wgrany bootlader po podłączeniu do komputera takiego układu powinno:

1. komputer wykrywa jakieś urządzenie jednak nie jest w stanie go zainstalować.
2. komputer nie wykrywa niczego. Płytka z układem 90usb1287 jest dla komputera niewidoczna.

Jeżeli punkt 2 to mój układ może być sprawny. Jeżeli punkt 1 to na pewno jest uszkodzony i programowanie nie ma sensu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2014, o 12:09 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Miałem kolego ten sam problem na Tensylu z tym ze u mnie spowodowane to było chińskim zasilaczem który zrobił zwarcie wywalając bezpiecznik na płytce i uszkadzając piny odpowiedzialne za komunikację po USB, podłączenie procka pod SPI udało się ale piny z USB były uszkodzone już na stałe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2014, o 12:52 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

I właśnie wydaje mi się że u mnie jest podobny przypadek czyli uszkodzenie obszaru uC odpowiedzialnego za komunikację przez USB.
Rodzi się zatem kolejne pytanie. Oprogramowanie sterujące pracą drukarki wczytuje się przez program FLIP (komunikacja przez usb). Czy jest możliwe wgranie oprogramowania sterującego np. typu Marlin przez usbasp? Jeżeli nie albo jest to bardzo skomplikowane oznacza to - lutownica :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2014, o 17:53 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Chciałbym wszystkim serdecznie podziękować za porady i pomoc. Niestety układu nie udało mi się przywrócić do życia. Po raz drugi musiałem przelutować układ na nowy :cry:

Operacje przeszczepu poszła dosyć gładko. Płytka już jest widoczna w Windows. Programowanie przez Flip poszło bezproblemowo :D

Mama nadzieje że tym razem układ wytrzyma dłużej niż 8 miesięcy. Jeżeli ktoś ma pomysł jak zabezpieczyć układ 90usb1287 na płytce Teensylu przed uszkodzeniami na skutek przepięć, zwarć itp. to chętnie skorzystam i zastosuje. 8-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2014, o 00:23 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Co prawda już po fakcie więc nie zdążyłem tego wypróbować ale to jest to czego szukałem aby prawidłowo wgrać bootlader. Poniżej podaje może się komuś kiedyś przyda 8-)

Remove the BOOT jumper from the Printrboard. Press the Reset button

Connect the 6 pin programming cable to the Printrboard's ICSP header. Pin 1 (red wire) is closest to the SD card slot.

Connect your programmer's USB cable.

Run the following avrdude commands, where BootloaderNAME_HERE.hex is the name of the Bootloader file you wish to install

avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0xDE:m -U hfuse:w:0x9B:m -U efuse:w:0xF0:m

avrdude -c usbtiny -p at90usb1286 -U flash:w:BootloaderNAME_HERE.hex:i

Replace jumper on the Printrboard. Press Reset again.

WARNING: Triple check the fuse values! Setting incorrect values will brick the microcontroller! Fuse values above are for the CDC and HID bootloaders. Fuses for the

factory DFU bootloader should be set as

avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0x5E:m -U hfuse:w:0x99:m -U efuse:w:0xF3:m

Poniżej link który w sposób obszerny rozwija temat łącznie z kalkulatorem fusebitów.

http://blog.lincomatic.com/?p=548



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2014, o 22:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 paź 2013
Posty: 59
Lokalizacja: Skierniewice
Pomógł: 0

witam,

Czy poniższe linie:

Cytuj:
avrdude.exe: set SCK frequency to 187500 Hz
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes! Invalid device signature.
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07

avrdude.exe done. Thank you.

Compiled special for http://forum.atnel.pl (v5.11.1)


mogą wskazywać spalony uP Atmega8?

Pozdro



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 paź 2014, o 22:55 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

w 99,9999% przypadków ten komunikat to wskazuje ale na błędne połączenia

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2014, o 23:51 
Offline
Nowy

Dołączył(a): 30 wrz 2014
Posty: 15
Pomógł: 0

Sprawa mojego układu ostatecznie została rozwiązana. Nie było możliwości jego zaprogramowania ponieważ na pewno uległ on uszkodzeniu. Dodatkowo na płytce padły wszystkie 4 stepstic czyli układy sterujące pracą silników krokowych. 8-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2014, o 00:14 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

Rozwazasz bledy konstrukcji pcb?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 27 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO