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



Teraz jest 25 kwi 2024, o 10:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 28 cze 2016, o 20:57 
Offline
Nowy

Dołączył(a): 19 kwi 2014
Posty: 18
Pomógł: 0

Witam!
Na wstępie jeśli temat nie jest pod ten dział, to bardzo proszę o przeniesienie.
Mam problem, który nie wiem skąd się bierze.
Napisałem program do sterowania kamerą oraz telewizorkami od domofonu.

Program wgrywany jest przez mkbootloader. I działa prawidłowo. Komendami poprzez usart mogę go zresetować, wydać inne rozkazy itp.
Tak wygląda po prawidłowym uruchomieniu. (Układ został zresetowany 4 razy poprzez komende oraz pin PC1). Tu jest ok.
Obrazek
Po dłuższym zaniku zasilania (choć nie zawsze), bądź to kilkukrotnym odłączeniu z prądu i włączeniu Atmegi8 robi się coś takiego:
Obrazek

Wygląda na to, że bootloader startuje prawidłowo, ale główny program wpada w jakąś pętle jak dla mnie to on się po prostu uszkadza. Pomaga wgranie od nowa wsadu. Sprawdzałem to na dwóch atmega8 i stało się podobnie.
Tak wygląda schemat całej płytki sterującej.
Obrazek

Macie może jakiś pomysł, czemu się tak dzieje? Do kompilacji używam eclipsa skonfigurowanego wg poradników Pana Mirka.

Z góry dziękuję za odpowiedź.



Ostatnio edytowano 6 lip 2016, o 07:14 przez pawkrol, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 10:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Nie znam się na wzorach więc nie wiem jaka będzie stała czasowa dla "układu RESET" - R3; C7, ale zwróć uwagę na fakt że po włączeniu zasilania układ startuje na zwartym RESECIE ( poj C7 jest ładowana ). Proponuję testowe usunięcie w.w pot. winowajcy.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 10:48 
Offline
Nowy

Dołączył(a): 19 kwi 2014
Posty: 18
Pomógł: 0

Raczej, to nie będzie to :(
Podłączyłem na próbę atmege8 do takiej płytki:
Obrazek

Efekt po paru włączeniach i wyłączeniach taki sam.
Ponadto, jak już wspomniałem sam bootloader ładuje się prawidłowo, a trwa to 3 sekundy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 11:14 
Offline
Moderator
Avatar użytkownika

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

Cytuj:
Podłączyłem na próbę atmege8 do takiej płytki:

Matko Jeryhejska! .... wywal ty tą płytkę w .... ;) i zapomnij o takich archaizmach bo tylko sobie sam krzywdę robisz jako początkujący, nie mówiąc już o trybie "masochizm"

zobacz tu:

_________________
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: 29 cze 2016, o 11:56 
Offline
Nowy

Dołączył(a): 19 kwi 2014
Posty: 18
Pomógł: 0

Panie Mirku rozumiem. Za radą pójdzie w kosz :)
Natomiast mam nadzieje, że główny układ jest w miarę ok. W sumie ma on już dwa lata.
Wydaje mi się, ze problem zaczął się od momentu kiedy dodałem obsługę wgrywania wsadów przez usart.
Choć nie wydaje mi się, aby mkbootloader coś tam robił złego, wszakże po wgraniu przez niego wsadu program działa normalnie.
Brakuje mi po prostu jakiegoś punktu zaczepienia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 cze 2016, o 12:53 
Offline
Moderator
Avatar użytkownika

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

pawkrol napisał(a):
Brakuje mi po prostu jakiegoś punktu zaczepienia.


Punk zaczepienia zwykle jest ten sam, albo bywa ich wiele a widać, że już w samym schemacie popełniłeś nieco baboli, ciężko więc sobie wyobrażać ile mogło ich przybyć na PCB ... no a pomijanie przez ciebie w tym momencie sprawy kodu źródłowego to już w ogóle jest nieco masakra .... Gdybym ja miał tak naprawiać urządzenia - że zamiast dojść co nie tak to wciąż wgrywać nowe wsady ;) eeeeh panie kolego

Pierwsze to co mówił kolega Kicajek - ja tylko dodam do tego że WYWAL W DIABŁY ten rezystor R7 bo to kompletny bezsens niestety czy tego chcesz czy nie ...

Druga sprawa - jak dla mnie przy takim układzie (projekcie) to masz:

1. ZMASAKROWANE ZASILANIE - po prostu istna MASAKRA i widząc to nawet ciężko zastanawiać się nad dalszymi sprawami dokąd się tego nie naprawi

- a brak prawidłowego filtrowania samego procka co w tym układzie gdzie kurczę przekaźniki żywią się również napięciem z +5V z tego samego koryta co procek - no to po prostu podwójny gol samobójczy :(

- zobacz o co chodzi z prawidłowym zasilaniem na ten blog:
http://mirekk36.blogspot.com/2012/04/mi ... lanie.html

ale poczytaj też to:
http://mirekk36.blogspot.com/2012/12/fi ... wazne.html

(poza tym widzę, że masz Bluebooka a nawet w Bluebooku opisuję TAK WAŻNE filtrowanie zasilania, które ty masakrujesz tutaj niestety) :( ....

zamiast zaglądać na bloga z którego wziąłeś sobie ten mega koci rezystor R4 bo dzięki temu później masz same problemy

2. Układ ULN2803 - no zajrzyj panie kochany do jego noty PDF - no proszę cię zajrzyj - toż masz tam jak BYK pokazane na rysunku, że zawiera on w sobie te diody, które ty DODATKOWO i całkiem niepotrzebnie dodajesz D2 - D5 :(
Obrazek
(co ciekawe w Bluebooku też masz ten obrazek i wyjaśnienie)

3. poza tym wszystkim kto tam wie co u ciebie jeszcze szarpie to biedne napięcie +5V np na złączu JP9 - że nie wspomnę o wszystkich innych złączach które są podłączone wprost do procka - tu może być (choć nie musi ale że nie widzę schematu) to napiszę, że może być istna rzeźnia napięcia :( i brak prawidłowego filtrowania tegoż przy procku jak na moim blogu będzie powodował już eeeeh szkoda mówić

4. wziąwszy powyższe BABOLE pod uwagę - to nie gniewaj się, ale podejrzewam, że płytka PCB jest do tego też tragicznie zaprojektowana ...

5. Uwaga! GWÓŹDŹ programu u ciebie - jak dajesz przekaźniki, jak już dałeś do tego ULN2803 to powiedz po JASNY GWINT bierzesz przekaźniki na 5V i podłączasz je do tego samego zasilania co procek ? ZAPAMIĘTAJ - TAK SIĘ NIGDY NIE ROBI, powtórzę - tak się nigdy nie robi - bo to właśnie powoduje, że sam się prosisz o problemy i masz je na własne życzenie tutaj jak na dłoni.

- no dobra to zapytasz to jak się robi? To ci odpowiem bo sprawa jest TAK BANALNIE PROSTA że aż koci strach, masz co najmniej dwa wyjścia ale jest ich jeszcze milion więcej, ja podam dwa

I.) Dajesz przekaźniki np na 12V i zasilasz je w tym swoim układzie właśnie napięciem wejściowym - oczywiście wtedy musisz/powinieneś mieć zasilacza stabilizowany oczywiście a nie tylko taki z mostkiem gretza. Zaś sam procesor zasilasz napięciem +5V i już odpada ci MILIARD problemów ... pomyśl nad tym skoro już sięgnąłeś po ULN2803

II.) Jak już MUSISZ mieć przekaźniki na 5V bo się uparłeś to co za problem dać dwa stabilizatory JEDEN z nich ten co masz 7805 duży którym podasz napięcie TYLKO I WYŁĄCZNIE na przekaźniki. A do tego DRUGI malutki stabilizator np 78L05 którym zasilisz TYLKO sam procesor - chociaż jak mówię - choinka wie z tego twojego schematu to ty tam podłączasz do tych nóg biednego procka - ale jeśli nie jakieś obciążenia to i tak podejrzewam długie anteny zbierające śmieci z powietrza niestety - że mas. Więc na drugi raz pokazuj pełne schematy jak coś


6. Nie wiem jakim napięciem zasilasz ten biedny 7805 i z jakiego zasilacza - ale jeśli to zasilacz niestabilizowany tylko ze zwykłym wyprostowanym napięciem z mostkiem Gretza - to na wejściu tak mały kondensator elektrolityczny może być tragicznym przyczynkiem do RĄBANIA się WSZYSTKIEGO - ŁĄCZNIE Z KASOWANIEM SIĘ pamięci FLASH w procku jeśli masz bootloader. W ogóle złe zasilanie może mieć takie skutki ....


7. Pomyśl na przyszłość o przetwornicy zamiast przestarzałego grzejnika jądrowego w postaci 7805 ;) to tak na marginesie. TYM BARDZIEJ , że to twoje zasilanie biegnie sobie na jakieś dodatkowe złącza a więc kto wie co ty tam z nim jeszcze wyprawiasz i jak je molestujesz ;) ?

8. Kolejny GWÓŹDŹ programu - dokładnie tym razem odnoszę się do kodu źródłowego, którego nie pokazałeś - a zadam tylko takie proste mega podstawowe pytanie - skoro korzystasz z bootloadera - UŻYŁEŚ pan funkcji BOD w fusebitach ??? coś czuję że nie

ale to nie jedyne możliwe BABOLE jakie mogłeś zrobić w kodzie - mogłeś ich zrobić jeszcze MNÓSTWO uwierz mi

9. Na PRZYSZŁOŚĆ - zamiast opowiadać, że wsad się zepsuł (co oczywiście jest możliwe jak napisałem wyżej) to co za problem, no powiedz sam co za problem - wziąć sobie takiego procka którego podejrzewasz że w nim się wsad uszkodził - odczytać z niego wsad i odczytać wsad z dobrego tuż po zaprogramowaniu a następnie włączyć byle porównywanie plików nawet w darmowej wersji Total Commandera ? no co za problem? ;) i jak zobaczysz że nie ma różnic - to przestaniesz sobie wmawiać, że wsad się uszkodził tylko będziesz wiedział już sam - że ZBABOLIŁEŚ program - a jeśli wsad się będzie różnił to już wiesz że zbaboliłeś coś elektronicznie w projekcie

---------------------------------------

jak widzisz - jest co najmniej kilka punktów zaczepienia ? czy nie ma ? ;)

_________________
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: 29 cze 2016, o 13:55 
Offline
Nowy

Dołączył(a): 19 kwi 2014
Posty: 18
Pomógł: 0

Panie Mirku. Dziękuję za cenne uwagi.
Płytka była projektowana długo przed kupnem BB, więc pewnych rzeczy wtedy nie wiedziałem. Ale jak widzę czeka mnie projektowanie od nowa.
Jeszcze raz dziękuje. Jak naprawię błędy to dam znać czy problem ustąpił.
Stabilizator zasilam zasilaczem stabilizowanym 12V. Taki od laptopa.
Do pinów atmegi podłączony jest jedynie wspomniany ULN (wtedy nie wiedziałem, że ULN ma zabezpieczenie i nie trzeba diód przed przekaźnikiem), układ max485 oraz dwa włączniki.
Na pewno zmienię przekaźniki na 12V, chyba że wymyślę jakiś zamiennik (może jakiś transoptor lub tranzystor).
Funkcji BOD, rzeczywiście nie miałem włączonej.
Sprawdziłem te wsady i różnią się od siebie początkiem.
Kod:
Dobry hex.
:20000000B5C0CFC0CEC0CDC0CCC0CBC0D0C2C9C0C8C0C7C0C6C056C1C4C0D2C0C2C0C1C0CA
:20002000C0C0BFC0BEC05A6761737A6F6E792050494E204272616D790D0A005A616C6163BA
:200040007A6F6E792050494E204272616D790D0A004F7477696572616D206272616D650D1B
:200060000A00447A6F776E656B206E6965616B7479776E79200D0A00447A6F776E656B20E8
:20008000616B7479776E790D0A00535430312077796C20647A776F6E656B20706F64776F43
.
.
.
Zły hex.
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:200040007A6F6E792050494E204272616D790D0A004F7477696572616D206272616D650D1B
:200060000A00447A6F776E656B206E6965616B7479776E79200D0A00447A6F776E656B20E8
:20008000616B7479776E790D0A00535430312077796C20647A776F6E656B20706F64776F43
.
.
.



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: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO