Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj siękasowanie się pamięci EEPROM w ATTINY2313
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Witam...
Od dłuższego czasu już wykorzystuje w swoich aplikacjach mikroprocesory ATTINY2313. Jakiś czas temu zauwazyłem, ze w niektórych sterownikach po kilku dniach działania skasowaniu ulega wewnętrzna pamięć danych EEPROM. Czy ktoś może już spotkał się z czymś takim?? Sam w to nie dowierzam. Przecież to teoretycznie niemożliwe, aby pamięć EEPROM sama się skasowała. Ale niestety pojawił sie u mnie taki problem i wcale mnie to nie śmieszy. Bardzo prosze o wszelkie wskazówki jak ten problem dałoby się rozwiązać...
Od dłuższego czasu już wykorzystuje w swoich aplikacjach mikroprocesory ATTINY2313. Jakiś czas temu zauwazyłem, ze w niektórych sterownikach po kilku dniach działania skasowaniu ulega wewnętrzna pamięć danych EEPROM. Czy ktoś może już spotkał się z czymś takim?? Sam w to nie dowierzam. Przecież to teoretycznie niemożliwe, aby pamięć EEPROM sama się skasowała. Ale niestety pojawił sie u mnie taki problem i wcale mnie to nie śmieszy. Bardzo prosze o wszelkie wskazówki jak ten problem dałoby się rozwiązać...
Resetowanie się pamięci
Witam
Miałem podobny problem w AT90S8535 ale mi się to działo kiedy z tego procka sterowałem kartą przekażników która włączała rózny sprzęt, co jakiś czas procesor się resetował a w skrajnych przypadkach zmieniała sie zawartość pamięci np. godzina alarmu przyjmowała wartosc 87 zamiast 23 itp. historie. Pomogło jak do końcówki RESET która była podciągnieta przez 10k do + zasilania dodałem jeszcze kondensator 10uF do masy.
pozdr.
Miałem podobny problem w AT90S8535 ale mi się to działo kiedy z tego procka sterowałem kartą przekażników która włączała rózny sprzęt, co jakiś czas procesor się resetował a w skrajnych przypadkach zmieniała sie zawartość pamięci np. godzina alarmu przyjmowała wartosc 87 zamiast 23 itp. historie. Pomogło jak do końcówki RESET która była podciągnieta przez 10k do + zasilania dodałem jeszcze kondensator 10uF do masy.
pozdr.
Witam...
Dziękuję za odpowiedź...
Dodam jeszcze, ze mi coś podobnego dzieje się nie tylko jak steruję przekaźnikami, ale nawet gdy steruję tranzystorami IGBT. Nóżkę reset mam podłączoną bezpośrednio do plusa zasilania.
Gdy robiłem testy z przekaźnikami i podłączyłem nóżkę reset przez kondensator (nie pamiętam już jaki dokładnie), wówczas przy co drugim włączeniu przekaźnika procek się resetował....
Dziękuję za odpowiedź...
Dodam jeszcze, ze mi coś podobnego dzieje się nie tylko jak steruję przekaźnikami, ale nawet gdy steruję tranzystorami IGBT. Nóżkę reset mam podłączoną bezpośrednio do plusa zasilania.
Gdy robiłem testy z przekaźnikami i podłączyłem nóżkę reset przez kondensator (nie pamiętam już jaki dokładnie), wówczas przy co drugim włączeniu przekaźnika procek się resetował....
-
- -
- Posty:57
- Rejestracja:10 lis 2006, o 11:50
- Lokalizacja:Gdansk
Witam
Dzieje się tak z powodu spadku napięcia na pinach zasilających procesor w trakcie włączania i / lub wyłączania przekaźników lub tranzystorów. Spróbuj nie brać napiecia zasilającego procesor z linii zasilającej elementy wykonawcze.
Niestety powodem tego może brak dobrego filtrowania zasilania analogowej oraz cyfrowej części układu. Może być również fakt że użyłeś zbyt cienkich ścieżek zasilających.
Można również pogrzebać coś przy "BROWN-OUT protection", ale myśle że jakiś 100uF elektrolit kondensator na zasilaniu procesora ewentualnie pomoze ( brzmi kosmicznie żeby użyć 100uF, ale jakoś trzeba zgromadzić tą energie potrzebną na czas spadku napięcia ).
Idealnym rozwiązaniem byłoby oddzielenie linii zasilających procesora i układów wykonawczych.
pozdrawiam
Bartek
Dzieje się tak z powodu spadku napięcia na pinach zasilających procesor w trakcie włączania i / lub wyłączania przekaźników lub tranzystorów. Spróbuj nie brać napiecia zasilającego procesor z linii zasilającej elementy wykonawcze.
Niestety powodem tego może brak dobrego filtrowania zasilania analogowej oraz cyfrowej części układu. Może być również fakt że użyłeś zbyt cienkich ścieżek zasilających.
Można również pogrzebać coś przy "BROWN-OUT protection", ale myśle że jakiś 100uF elektrolit kondensator na zasilaniu procesora ewentualnie pomoze ( brzmi kosmicznie żeby użyć 100uF, ale jakoś trzeba zgromadzić tą energie potrzebną na czas spadku napięcia ).
Idealnym rozwiązaniem byłoby oddzielenie linii zasilających procesora i układów wykonawczych.
pozdrawiam
Bartek
UKład BOD włączylem, na zasilaniu procesora mam 100uF kondensator, nawet dodałem układ RC do obwodu reset, ale to właściwie nic nie pomogło. Nadal co jakis czas rejestruje zmiany pamięci EEPROM w trakcie działania sterownika (raz, czy dwa razy w ciągu miesiąca). W najbliższym czasie mam zamiar sprawdzić, czy to sie zmieniają tylko pojedyncze komórki EEPROMu, czy cała pamięć. Ale tak czy inaczej pamięć wciąż się zmienia, co wydaje się być rzeczą niemożliwą. Bardzo proszę o dalsze sugestie jak zapobiec temu problemowi...
Kondensator 0.22F na 5.5V w linii zasilania
http://www.laro.com.pl/index.php5?action=sklep&t=8
http://www.laro.com.pl/index.php5?action=sklep&t=8
No dobrze, ale ja mam włączony układ BOD na napięciu 4,3V, w obwodzie napięcia zasilającego jest kondensator 100uF, jest stabilizator 7805. Przed napięciem 5V jest napięcie 12V i tam jest kondensator 470uF. Jeszcze wcześniej jest zasilacz beztransformatorowy zasilany napięciem 230VAC.
Podłączyłem oscyloskop do napięcia 5V, wyłączyłem wtyczkę napięcia zasilającego układ (powiedzmy, że to był nagły spadek napięcia) i obserwowałem zmiany napięcia 5V. Napięcie 5V nie spadło tak nagle. Procesor przecież nie pobiera aż tak dużo prądu, żeby nagle mógł rozładować pojemność 100+470uF. Więc to że układ BOD nie zdąży zadziałać, gdy napięcie spadnie poniżej 4,3V jest praktycznie niemożliwe. A jednak w czasie ciągłego działania moich sterowników średnio raz w miesiącu zmienia się zawartość pamięci EEPROM. Wcześniej zdażało się, ze zmieniała sie równiez zawartość pamięci RAM, ale odkąd przerobiłem tak program, żeby sterownik chociaż kilka razy dziennie się samoczynnie resetował i odświeżał pamięć RAM, problem z kasowaniem sie pamięci RAM zniknął. Pozostał jeszcze problem z kasowaniem sie pamięci EEPROM.
Przypominam że chodzi konkretnie o procesory ATTINY2313, które sterują przekaźnikami o znikomym poborze prądu sterującego (napięcie nie spada w czasie ich włączania). Przekaźniki są włączane kilka razy dziennie, pamięć EEPROM w mikrokontrolerze zmienia sie średnio raz na miesiąc....
Proszę o dalsze sugestie... jak wyeliminować samoczynne kasowanie sie pamięci EEPROM zawartej w mikrokontrolerze ATTINY2313...
Podłączyłem oscyloskop do napięcia 5V, wyłączyłem wtyczkę napięcia zasilającego układ (powiedzmy, że to był nagły spadek napięcia) i obserwowałem zmiany napięcia 5V. Napięcie 5V nie spadło tak nagle. Procesor przecież nie pobiera aż tak dużo prądu, żeby nagle mógł rozładować pojemność 100+470uF. Więc to że układ BOD nie zdąży zadziałać, gdy napięcie spadnie poniżej 4,3V jest praktycznie niemożliwe. A jednak w czasie ciągłego działania moich sterowników średnio raz w miesiącu zmienia się zawartość pamięci EEPROM. Wcześniej zdażało się, ze zmieniała sie równiez zawartość pamięci RAM, ale odkąd przerobiłem tak program, żeby sterownik chociaż kilka razy dziennie się samoczynnie resetował i odświeżał pamięć RAM, problem z kasowaniem sie pamięci RAM zniknął. Pozostał jeszcze problem z kasowaniem sie pamięci EEPROM.
Przypominam że chodzi konkretnie o procesory ATTINY2313, które sterują przekaźnikami o znikomym poborze prądu sterującego (napięcie nie spada w czasie ich włączania). Przekaźniki są włączane kilka razy dziennie, pamięć EEPROM w mikrokontrolerze zmienia sie średnio raz na miesiąc....
Proszę o dalsze sugestie... jak wyeliminować samoczynne kasowanie sie pamięci EEPROM zawartej w mikrokontrolerze ATTINY2313...
W pobliżu nie ma żadnych promienników dużej energii. Co najwyżej występują przewody z napięciem 230VAC. Sterownik jest bardzo mały i dosyć mocno skondensowany (na płytce o wymiarach 45x45mm). Transformator nie wchodzi w rachubę, bo sie po prostu nie zmieści.
Ale za zasilaczem beztransformatorowym 12V jest stabilizator 78L05, są też kondensatory, napięcie 5V jest tak samo gładkie jak przy stosowaniu zasilacza transformatorowego. Na oscyloskopie nie ma żadnych różnic.
Przepuszczanie przepięc też jest praktycznie niemożliwe, przy stopniu zasilacza 12V są 2 diody zenera własnie na 12V, a więc każdy impuls powyżej tego napięcie zostanie zwarty do masy.
Ale za zasilaczem beztransformatorowym 12V jest stabilizator 78L05, są też kondensatory, napięcie 5V jest tak samo gładkie jak przy stosowaniu zasilacza transformatorowego. Na oscyloskopie nie ma żadnych różnic.
Przepuszczanie przepięc też jest praktycznie niemożliwe, przy stopniu zasilacza 12V są 2 diody zenera własnie na 12V, a więc każdy impuls powyżej tego napięcie zostanie zwarty do masy.
Miałem na myśli przemienniki częstotliwości (a nie promienniki) do zasilania silników indukcyjnych 3-fazowych.
Jeżeli chodzi o wymianę zasilacza, to chodziło mi o podmianę w celach testowych, skąś te problemy się biorą, a przyczyną dużej ilość problemów przy pracy z mikrokontrolerami są właśnie układy zasilające.
Wydaje mi się że jeżeli już kompletnie nie wiadomo skąd to dziwne zachowanie to warto spróbować z zasilaniem.
Pozdrawiam
Marek
Jeżeli chodzi o wymianę zasilacza, to chodziło mi o podmianę w celach testowych, skąś te problemy się biorą, a przyczyną dużej ilość problemów przy pracy z mikrokontrolerami są właśnie układy zasilające.
Wydaje mi się że jeżeli już kompletnie nie wiadomo skąd to dziwne zachowanie to warto spróbować z zasilaniem.
Pozdrawiam
Marek
Wymiana zasilacza nie wchodzi w rachubę, ponieważ sterownik na biurku nie wykazuje problemów. Inaczej... w znakomitej większości miejsc, gdzie jest zainstalowany nie wykazuje problemów. Tylko w rzadkich przypadkach pamięć sie kasuje raz czy dwa w miesiącu. A zatem jest to ewidentna zależność od miejsca instalacji, chociaż wszystkie są praktycznie podobne, puszka podtynkowa w ścianie, wokół tylko troche przewodów 230VAC. Sterownik ma jednak działac w każdym takim miejscu, przeciez nie jest to jakieś miejsce przemysłowe, gdzie można by sie spodziewac dużych spadków napięć, czy zakłóceń e.-m. To puszki podtynkowe w niektórych mieszkaniach (osobiście znam tylko 2 takie miejsca i tam robię testy, dlatego jednocześnie tylko 2 sterowniki mogą być testowane.... nie jest to moje mieszkanie, dlatego trzeba doliczyć też czas wysyłki).
W tej chwili testują sie 2 sterowniki... potrwa to miesiac czy dwa... jeśli znowu pamięć sie skasuje, wówczas zamontowany zostanie sterownik zawierający układ resetu DS1813 oraz własnie proponowany przez awatar100 duży kondensator (zakupiłem na testy 5.5V 1.0F, bo akurat był... myślę, ze powinno wystarczyć;)) Jak bede znał wyniki testu, to od razu tutaj napiszę, ale tak jak zaznaczałem wcześniej.. troche to potrwa....
W tej chwili testują sie 2 sterowniki... potrwa to miesiac czy dwa... jeśli znowu pamięć sie skasuje, wówczas zamontowany zostanie sterownik zawierający układ resetu DS1813 oraz własnie proponowany przez awatar100 duży kondensator (zakupiłem na testy 5.5V 1.0F, bo akurat był... myślę, ze powinno wystarczyć;)) Jak bede znał wyniki testu, to od razu tutaj napiszę, ale tak jak zaznaczałem wcześniej.. troche to potrwa....
-
- -
- Posty:32
- Rejestracja:2 mar 2005, o 11:07
- Lokalizacja:Hajnówka
- Kontaktowanie:
Kiedyś miałem to samo, procek potrafił się resetować, i czasem gubił nastawy z eepromu. Długo z tym walczyłem i w końcu się udało. Przyczyny:
- przepięcia z sieci (nawet spowodowane włożeniem wtyczki do gniazdka gdzieś w tym samym pomieszczeniu) przechodzą przez trafo, diody, 7805 i całą resztę. Nic nie dawały dodatkowe kodnensatory itp. zabiegi. Pomógł filtr sieciowy wstawiony przed transformatorem oraz warystor na wejściu trafa (jeśli nie ma go w filtrze).
- Inną przyczyną były przekaźniki. Przekaźniki należy zabezpieczyć warystorami na odpowiednie napięcie (ze strony styków!!). Przy braku warystorów gdy przekaźnik rozłącza styki, obciążenie o charakterze indukcyjnym (czyt. każde) wymusza dalszy przepływ prądu (przez obwód już otwarty). W takim momencie na stykach występuje iskrzenie które jest źródłem zakłóceń EMC zbyt dużych dla AVR-a.
- Płytka - trudne i ważne - prawidłowe poprowadzenie ścieżek - jak najkrótsze ścieżki zasilania, poligony połączone do GND po obu stronach płytki.
- DS1818 chociaż do końca nie jestem przekonany o potrzebie jego montowania.
Obecnie urządzenia działają idealnie.
- przepięcia z sieci (nawet spowodowane włożeniem wtyczki do gniazdka gdzieś w tym samym pomieszczeniu) przechodzą przez trafo, diody, 7805 i całą resztę. Nic nie dawały dodatkowe kodnensatory itp. zabiegi. Pomógł filtr sieciowy wstawiony przed transformatorem oraz warystor na wejściu trafa (jeśli nie ma go w filtrze).
- Inną przyczyną były przekaźniki. Przekaźniki należy zabezpieczyć warystorami na odpowiednie napięcie (ze strony styków!!). Przy braku warystorów gdy przekaźnik rozłącza styki, obciążenie o charakterze indukcyjnym (czyt. każde) wymusza dalszy przepływ prądu (przez obwód już otwarty). W takim momencie na stykach występuje iskrzenie które jest źródłem zakłóceń EMC zbyt dużych dla AVR-a.
- Płytka - trudne i ważne - prawidłowe poprowadzenie ścieżek - jak najkrótsze ścieżki zasilania, poligony połączone do GND po obu stronach płytki.
- DS1818 chociaż do końca nie jestem przekonany o potrzebie jego montowania.
Obecnie urządzenia działają idealnie.
Witam...
Dziękuję za nowy pomysł;) Przetestuje i napisze czy działa. Ale to dopiero gdzieś w lipcu czy sierpniu, wcześniej nie bede mial takiej możliwości. Jeśli chodzi o zewnętrzny układ resetujący, u mnie się nie sprawdził. Efekt z nim czy bez niego jest taki sam... Kombinowanie z kondensatorami troche poprawiło stabilnośc pracy, ale nie rozwiązało problemu z kasowaniem sie eepromu, czy zawieszaniem procka. W każdym razie problemy te występują raz na miesiąc czy tam 2, czyli trudno je testować. W każdym razie w większości przypadków takie problemy w ogóle nie występują, więc można powiedzieć... jest coraz lepiej, ale problem z kasowaniem się eepromu nie został jeszcze u mnie całkowicie wyeliminowany....
Dziękuję za nowy pomysł;) Przetestuje i napisze czy działa. Ale to dopiero gdzieś w lipcu czy sierpniu, wcześniej nie bede mial takiej możliwości. Jeśli chodzi o zewnętrzny układ resetujący, u mnie się nie sprawdził. Efekt z nim czy bez niego jest taki sam... Kombinowanie z kondensatorami troche poprawiło stabilnośc pracy, ale nie rozwiązało problemu z kasowaniem sie eepromu, czy zawieszaniem procka. W każdym razie problemy te występują raz na miesiąc czy tam 2, czyli trudno je testować. W każdym razie w większości przypadków takie problemy w ogóle nie występują, więc można powiedzieć... jest coraz lepiej, ale problem z kasowaniem się eepromu nie został jeszcze u mnie całkowicie wyeliminowany....
-
- -
- Posty:32
- Rejestracja:2 mar 2005, o 11:07
- Lokalizacja:Hajnówka
- Kontaktowanie:
Ja testowałem swoje układy zapalniczką do gazu - takie domowe źródło zakłóceń. Postrzelaj ją w pobliżu układu, przy przewodach, sprawdź jaki będzie efekt. W moim przypadku procek reagował na 25% strzałów. Ostatecznie układ jest na nie odporny, dzięki ekranowaniu płytki oraz izolacji galwanicznej zasilania. ...aha nie napisałem wcześniej, dobrze jest również odizolować galwanicznie zasilanie układu np przy pomocy przetwornicy DC-DC np. 1 watowej. Uwaga z tymi przetwornicami, wiele z nich ma napięcie wyjściowe uzależnione od obciążenia, producent podaje że ma na wyj 5V a w rzeczywistości do 7 do 4 w zależności od obciążenia. Na szczęście tę informacje również podaje producent, trzeba poszukać w nocie katalogowej. Zauważyłem, że taka przetwornica przepuszcza mniej zakłóceń niż zwykły transformator.
Powodzenia.
Powodzenia.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości