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ę

AVR - IIM7010A: Zakłócenia z sieci energetycznej?

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:
AVR - IIM7010A: Zakłócenia z sieci energetycznej?

Postautor: almatea » 27 gru 2006, o 19:30

Witam wszystkich.
Mam poważny problem i nie wiem już jak sobie z nim poradzić.


Jakiś czas temu uruchomiłem 50 urządzeń opartych na mikrokontrolerach Atmega162 i modulach Ethernetowych IIM7010A. Elektronika wydaje sie być naprawdę prosta i poprawna (na podstawie chematu TCPIP.pdf z MCS Electronics). W jej skład wchodzi jeszcze 74HC00 oraz 74HC573. Wszystko pracuje poprawnie. Na mikrokontroler i kostki 74HCXXX zarzuciłem kondensatorki 100 nF.
Pracuje poprawnie, tyle że mało stabilnie.. Zwykła "zabawa" lutownicą transformatorową, której efektem jest m.in. strzelanie w głosnikach radia powoduje zawieszanie się elektroniki. Mikrokontroler niby pracuje poprawnie dalej (chociaż widać to, że wyczuwa zabawę lutownicą), ale moduł traci swój adres IP i gubi połaczenie z Ethernetem. Nie wiem jak temu zaradzić.
Całosc zasilana jest zasilaczem impulsowym 5V o wydajności 1A. Dalej stabilizator LM317 dający 3,3V dla elektroniki. Zastanawiam sie, gdzie leży błąd. Praktycznie urządzenie nie nadaje sie do pracy np. w przemyśle.


Czy ktos wie jak temu zaradzić?

Awatar użytkownika
amok67
-
-
Posty:108
Rejestracja:12 lip 2004, o 09:17
Lokalizacja:Warszawa

Postautor: amok67 » 27 gru 2006, o 23:45

Temat-rzeka.Do zasilania użyj przetwornicy izolowanej, do tego nie oszczędź kasy na porządny filtr sieciowy po stronie pierwotnej, właściwie prowadzona masa na pcb.Na wejściach izolacja optyczna itd.Poszukaj na forach,swego czasu temat był wałkowany w Polskim necie.

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 28 gru 2006, o 07:23

Modul IIM7010A pracuje jako typowa pamiec zewnetrzna. A0-A14, D0-D7, /RD, /WR, /CS.
Czy sensowne było by zastosowanie jakichś kondensatorów na każdą z linii? Np rzędu 20-22 pF. Na żadnym ze schematów do obsługi pamięci zewnętrznych nie spotkałem się z czymś takim dlatego może moje pytanie jest jak najbardziej mylne.
Dodam, że układ zasilany jest z zasilacza komputerowego, więc czy nie mogę uważać go za stabilny?

Czy może ktoś zna i jest w stanie polecić jakąś stronę dotyczącą właściwego prowadzenia masy?

Help please!!!

MDz
-
-
Posty:365
Rejestracja:29 mar 2003, o 13:35
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: MDz » 28 gru 2006, o 17:52

Tak jak napisał mój przedpiśca - temat rzeka.

Jeżeli możesz to pokaż schemat, rysunek płytki, zdjęcie montażu, itd.. Łatwiej będzie zgadywać którędy zakłócenia przedostają się do układu.

Nie napisałeś nic o otoczeniu urządzenia. Tzn. co podłączasz do niego z zewnątrz (czujniki, układy wykonawcze). Być może długie doprowadzenia na wejściach, sprzężenia pojemnościowe na jakimś przekaźniku, itp. stanowią wrota, przez które zakłócenia przenikają do układu. Tu może pomóc optoizolacja, ekranowanie, zasilanie z przetwornicy DC/DC o małej pojemności między wejściem a wyjściem. Ale tego nie da się wyrokować nie widząc układu.

Jeżeli masz problemy to generalnie:
- po 100nF (ceramiczne!), na krótkich ścieżkach do zasilania każdego układu scalonego
- kilka.. kilkadziesiąt uF (tantal lub dobrej jakości el. Al) na kilka kostek.
- szerokie ścieżki masy zbiegające się gwiaździście w punkcie zasilania (nie zawsze da się tak ładnie, ale należy unikać np. jednej, długiej ścieżki masy zygzakującej po całej płytce od układu do układu.).
- ścieżki sygnałowe ekranowane po drugiej stronie masą. Unikaj np. sytuacji gdy ścieżka sygnałowa obiega płytkę wzdłuż jednego brzegu a masa przewodząca prądy powrotne układa się akurat po jej przeciwnej stronie.

W każdym razie wszelkie _zauważone_ zakłócenia należy eliminować do upadłego - najlepiej w miejscu powstawania. WatchDog to wprawdzie świetny wynalazek, ale powinien służyć wyłącznie do "ratowania życia" w sytuacjach awaryjnych, tzn. tylko w razie zaistnienia tych zaburzeń, które wyłamują się wszelkim regułom i występują, choć teoretycznie nigdy wystąpić nie powinny.
Czy może ktoś zna i jest w stanie polecić jakąś stronę dotyczącą właściwego prowadzenia masy?
Poczytaj np.:
http://www.compliance-club.com/keith_armstrong.asp
oraz
http://gayos.w.interia.pl/zaklocenia.html

--
MDz

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 28 gru 2006, o 18:26

Jeśli chodzi o schemat i wzór płytki, to mogę krótko napisać - Ethernetowy Sterownik I/O EP 11/2006. Na schemacie jest kilka błędów (ale nie z winy autora) : niewłaściwa nazwa mikrokontrolera - powinna być Atmega162, adresy PCF8574AP są takie same. Na płytce poprawnie.

Elektronika działa naprawdę poprawnie.
Zasilana była z zasilacza impulsowego jak i transformatorowego. Efekt ten sam.
Do układu na wejściu dorzucono dwa kondensatory elektrolityczne 4700uF.
Bez zmian. Jeśli chodzi o kondensatory 100nF, to na tą chwilę posiada je każda z kostek, tyle że są to kondensatory monolityczne. Jednak kilkukrotne użycie lutownicy transformatorowej wpiętej w tego samego Acara powoduje zawieszenie się układu. Procesory wykrywa brak połączenia i sygnalizuje to, tyle że traci się Ping na siecie Ethernet. Dorzuciłem ponowne nadawanie adresu IP, jednak czasem następuje takie zwieszenie modułu Ethernetowego, że dioda link przestaje działać.
Zastosowane tam bramki NAND 74HC00, pracującymi w roli inwerterów zastępowałem NOTami w postaci 74HC14. Efekt bez zmian. Próbowałem jeszcze z zwykłych TTLi - UCY7400. Nadal bez zmian.

Nie wiem, jak wyeliminować zakłócenia.

Bardzo proszę o pomoc.
Może ma ktoś jakiś pomysł.

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 28 gru 2006, o 20:23

Cześć Rafał.
A jak się zachowuje procek? Czy jak przestaje migać dioda Link to procek się też wiesza?
Dioda Link (z tego co pamiętam) jest sterowana bezpośrednio z modułu IIM7010 - jeśli procesor dalej pracuje może dało by się zrobić reset modułu przed ponownym wysłaniem MACAdresu i Nr IP albo reset całego urządzenia z ponowna inicjalizacją modułu. Może zamiast walczyć z zakłóceniami (przemysłowymi) należy wykrywać zawieszenie się połączenia, modułu, procka i robić reset z powtórzeniem transmisji danych co do których nie masz pewności że zostały poprawnie przesłane/odczytane. Może pomógłby zwykły watchdog.

Adam.

Awatar użytkownika
amok67
-
-
Posty:108
Rejestracja:12 lip 2004, o 09:17
Lokalizacja:Warszawa

Postautor: amok67 » 28 gru 2006, o 20:28

http://atmel.com/dyn/resources/prod_doc ... oc1619.pdf
http://atmel.com/dyn/resources/prod_doc ... oc4279.pdf

[ Dodano: 28-12-2006, 20:31 ]
"...Może zamiast walczyć z zakłóceniami (przemysłowymi) należy..."
A zamiast leczyć zęby... ;-)
Pozdrawiam.

Adam Ruta
-
-
Posty:104
Rejestracja:21 lut 2003, o 22:29
Lokalizacja:Warszawa

Postautor: Adam Ruta » 28 gru 2006, o 21:26

Drogi kolego Amok67
Chyba nie czytałeś dokładnie - Rafał napisał
Jakiś czas temu uruchomiłem 50 urządzeń opartych na mikrokontrolerach Atmega162 i modulach Ethernetowych IIM7010A.
Rozumiem że segerujesz że Rafał powiniem skoncentrować się na zbudowanie nowego lub poprawieniu starego hardwaru.
A zamiast leczyć zęby...
Ja raczej proponuję poprawić oprogramowanie - koszty na pewno będą niższe. Przy nowych instalacjach pewnie będzie można powalczyć z zakłóceniami. Ja właśnie proponuję leczenie zębów (juz istniejących).

Pozdrawiam,
Adam

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 28 gru 2006, o 23:12

No więc dziękuję za wszelkie sugestie.

Urządzenie wykrywa sytuację, w której gaśnie dioda link i dokonuje startu Watchdoga.
Dodam, że w tym przypadku musiała nastąpić mała modyfikacja polegająca na podłączeniu jednego z pinów AVRa do bramki NAND tak, aby to on startował jako pierwszy a następnie sterował Resetem modułu. I tutaj też wszystko gra.
Tylko problem w tym, że robi to zbyt często co powoduje kilkunastosekundowe przestoje w pracy urządzenia. Program obsługujący - napisany w Visual Basicu 6.0 działa w oparciu o 15 sekundowy timer, który sprawdza status połączenia i odpowiednio na niego reaguje.

Każda podpowiedź jest dla mnie cenna, ale zastanawiam się, czy nie mogę wykluczyć błędu w programie napędzającym mikrokontroler. De facto cała sytuacja nie dotyczy wszystkich urządzeń. Są pewne miejsca w których po prostu zakłócenia nie występują i elektronika działa poprawnie.

Pozdrawiam wszystkich i dziękuję za zainteresowanie tematem.
Czy ktoś ma jeszcze jakiś pomysł??

Awatar użytkownika
amok67
-
-
Posty:108
Rejestracja:12 lip 2004, o 09:17
Lokalizacja:Warszawa

Postautor: amok67 » 28 gru 2006, o 23:23

;-) Cze ponownie. Sorry Adam ale ja nadal się będę upierał by najpierw poprawić zasilanie.
Co osiągniesz poprzez przerobienie softu, mając co 0.1, 02, 03, 04, a może co 5, 10, 15 sekund "strzały" prądowe w zasilaniu?Na dobry początek może wstawić kondensatory bezpośrednio od strony lutu, gdzie się da pomiędzy zasilanie.Czy to aż taka wielka przeróbka?Ferryty na kablach?Itd itp. A potem niech przerabia soft.


almatea, a robiłeś testy na zasilaniu bateryjnym?

MDz
-
-
Posty:365
Rejestracja:29 mar 2003, o 13:35
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: MDz » 28 gru 2006, o 23:41

Jeśli chodzi o schemat i wzór płytki, to mogę krótko napisać - Ethernetowy Sterownik I/O EP 11/2006.
Zerknąłem na artykuł w EP.

1) Jeżeli chodzi o projekt płytki to (oględnie mówiąc) nie jestem zachwycony. Najbardziej rzucają się w oczy długie, cienkie, "łańcuchowe" połączenia masy. Przede wszystkim w długi łańcuszek połączono wszystkie porty wyjściowe (zarówno rejestry PCF jak i tranzystory wykonawcze - czyli część układu najbardziej odpowiedzialną za wprowadzanie prądów zakłoceniowych na pokład.

Z mojego pobieżnego oglądu wynika, że płytka kwalifikuje się do gruntownego przeprojektowania. Przede wszystkim ścieżki sygnałowe w obszarze uC-HC573-IM7010 można poprowadzić krócej i w sposób bardziej zwarty a wygospodarowane miejsce wykorzystać do poprowadzenia solidnego "kręgosłupa" masy dzielącego układ na dwie części: "wrażliwy" sterownik (uC + IM7010) oraz "śmieciotwóczą" część wykonawczą. A także na wypełnienie masą (plackami miedzi połączonymi z GND) wszelkich wiekszych pustych obszarów na pcb.

2) Na płytce praktycznie nie widzę kondensatorów blokujących (C16, C17,..). Rozumiem, że masz je dolutowane bezpośrednio na nózkach IC. Choć jeżeli masa w punkcie "A" i masa w (elektrycznie odległym) punkcie "B" reprezentują coś zupełnie innego, to samo blokowanie kondensatorami i tak niewiele da.

3) LM317 obniża napięcie z 5V do 3V3 a więc nominalny spadek napięcia między wejściem w wyjściem wynosi 1.7V. Z noty katalogowej NS:
(http://boss.iele.polsl.gliwice.pl/pdf/N ... /lm317.pdf ->
str.6 -> wykres "Dropout Voltage")
wynika, że układ pracuje bez marginesu bezpieczeństwa - praktycznie na granicy stabilizacji. Tym samym impulsowe zakłócenia na linii Vcc=+5V mogą się szczególnie łatwo przenosić na linię zasilającą 3.3V

4)
Układy PCF8574 pracują z zasilaniem +5V. Do tego samego napięcia podciagasz linie SCL (R5) i SDA (R6). Jednak takie podciąganie na niewiele się zdaje, skoro do tej samej magistrali I2C podłączyłeś uC zasilany z napięcia 3V3. Skutkiem tego diody zabezpieczające na liniach portów uC obcinają stan wysoki na poziomie poniżej 4V. Wprawdzie w warunkach statycznych nie będzie to krytyczne (choć przez diody klampujące na liniach portów raczej planowo nie powinno nic płynąć), to jednak marginesy zakłoceniowe w stanie "H" masz węższe niż nominalnie. Jeżeli na zawiłych ścieżkach masy łączących U5,U8 i U9 odłożą się jakieś szpilki (pochodzące np. od przepływu prądów wyjściowych) to stan (teoretycznie) wysoki widziany przez wejscia SCL i SDA rejestrów PCF przestanie nim być w praktyce.

5) Nie napisałeś nic na temat otoczenia w jakim ma pracować Twój układ. W obecnej postaci układy wykonawcze - tzn. mosfety wystawione na świat gołym drenem, bez jakichkolwiek zabezpieczeń - nadają się wyłącznie do podłączenia led-ów lub tansoptorów. I to na krótkich wyprowadzeniach. Ale niczego innego z realnego świata.

- po pierwsze: BS170 ma jakieś 5pF pojemności zwrotnej. Niby niewiele, ale szpilka zakłóceniowa zaindukowana na wyłączonym drenie przenosi się bezpośrednio na linie PCF8574. Nie masz żadnych elementów zabezpieczających i tłumiących przepięcia na liniach drenów Oxx. (Np. przy sterowaniu obciążeń "przemysłowych" za pomocą przekaźnika często daje się przed nim jeszcze dodatkową optoizolację - bo te niewielkie parę pF pomiędzy cewką a stykami potrafi przepuścić szpilkę ubijającą procesor.)

- po drugie: Prąd obciążenia płynący w źródle dowolnego BS170 wraca cienkimi liniami masy, na przełaj przez całą płytkę do zasilacza. W warunkach statycznych odkłada na tych ścieżkach jakieś dziesiątki czy setki mV. Ale w stanach przejściowych... strach się bać! Zwłaszcza, że do tej samej "masy" odnosisz m.in. poziomy logiczne na liniach I2C.

W realnym świecie (czyt: w przemyśle) układ sterownika znajduje się w środku pomiędzy kilkoma długimi antenami:
- kablem zasilającym a dalej, za zasilaczem (a dokładniej za jego pojemnością międzyuzwojeniową) całą siecią energetyczną.
- długimi doprowadzeniami czujników (wejścia)
- układami wykonawczymi na długich kablach a do tego zwykle sprzężonymi (pojemnościowo lub indukcyjnie) z siecią energetyczną.

Cała ta misterna pajęczynka jest zanurzona w bogatym w zakłócenia środowisku elektromagnetycznym. Sztuka projektowania polega m.in. na tym, żeby energia zakłóceń docierających do sterownika nie leciała na wskroś przez najwrażliwsze fragmenty układu, ale, żeby go omijała przez mądrze zaprojektowane połączenia mas i ekranów, ograniczniki przepięć, pojemności filtrujące itd... Twój układ tych warunków nie spełnia. I nie łudź się, że pomoże tu lepsze oprogramowanie watchdoga. Nie od dziś wiadomo jakich chorób nie powinno się leczyć pudrem. ;-)

--
MDz

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 29 gru 2006, o 06:45

Dziękuję za wszelkie odpowiedzi.

Jeśli chodzi o rolę tranzystorów, to właściwie urządzenie nie steruje niczym. Zupełnie może ich nie być, włącznie z kostką PCF8574AP. Pewnie zostaną dzisiaj na próbę wylutowane.

Drugą różnicą polega na tym, że w moim przypadku całość elektroniki w późniejszym etapie została przerzucona na 5V, wypadła z gry dioda LED i dioda 3V3.
Jedynie na 3,3V pozostał moduł IIM7010A, który wg noty katalogowej dopuszcza pracę z liniami 5V. Dodam oczywiście, że problem występował zarówno przed jak i po modyfikacji.
Do tego rzeczywiście stabilizator LM317 pracował na granicy, dlatego na wejście dostał bezpośrednio 12V, które dalej idzie na stabilizator LM7805.

Czy ktoś widzi jakąś szansę na ratowanie obecnego laminatu?
Może poprzez dołożenie dodatkowych ścieżek masy w postaci grubych izolowanych przewodów? Może coś jeszcze?

Pozdrawiam

P.S. Na forum jestem w związku z tematem praktycznie co 2 godz.

Awatar użytkownika
amok67
-
-
Posty:108
Rejestracja:12 lip 2004, o 09:17
Lokalizacja:Warszawa

Postautor: amok67 » 29 gru 2006, o 12:01

Ja bym zrobił nowe PCB.Cienko widzę przeróbkę starego.Pozdrawiam.

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 30 gru 2006, o 09:43

Czy ma ktoś pomysł jak przedewszystkim ją przerobić i jakie podstawowe zmiany powinny się znaleźć?

Pozdrawiam

[ Dodano: 30-12-2006, 13:32 ]
Zanim zabiorę się za wykonywanie nowego laminatu, czego to staram się unikać, spróbuję poszukać jeszcze jakiegoś wysokostabilizowanego zasilacza.

Testowalem lutownicą sprzęty RTV i Audio i "strzelało" radio Philipsa, piecyk gitarowy Kustoma, natomist nie do ruszenia był amplituner Technicsa SA-DA8.

Czyżby jego zasilanie było tak rewelacyjnie tłumione i odsprzęgane?

Może ktoś polecić schemat jakiegoś dobrego zasilacza audio?

Rosa
-
-
Posty:7
Rejestracja:25 lut 2004, o 20:43

Postautor: Rosa » 27 sty 2007, o 21:17

Cześć
Zastosuj akumulator 3,3V do zasilania elektroniki-były stosowane na płytach głównych komp.- koszt 10zł . Jeżeli będzie działać to pozostanie zrobienie prostego układu ładowania akumulatora.
Rosa

michalko12
-
-
Posty:10
Rejestracja:5 lut 2006, o 20:05
Lokalizacja:Warszawa

Re: AVR - IIM7010A: Zakłócenia z sieci energetycznej?

Postautor: michalko12 » 28 sty 2007, o 00:47

W jej skład wchodzi jeszcze 74HC00 oraz 74HC573....
Z własnej praktyki wiem że te układy zwłaszcza 74HC573 innych producentów niż Texas Instruments strasznie sie zakłócają i nie pomagają żadne patenty. Nieprzecudowane i bez żadnych izolacji galwanicznych udządzenie z 80c515 i 74HC573(TI), nie daje rady zakłócić całe stado styczników (bez żadnych gasików) w odłegłości kilkudziesięciu cm.

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 56 gości