-
1. Data: 2013-06-03 20:01:18
Temat: Burza i kłopoty w MCU...
Od: sundayman <s...@p...onet.pl>
Chciałbym prosić kolegów o uwagi w następującym problemie;
jest otóż urządzenie (sterownik uruchamiający pewną pompę). Sterownik
jest zrobiony w oparciu o atmegę128. Posiada graficzny LCD, klawiaturę
sterującą, jakieś elementy wykonawcze.
Zasilanie urządzenia jest z panela słonecznego , przez specjalny układ
ładowania (fabryczny) , ładujący 2 akumulatory 12V, czyli nominalne
zasilanie to 24V, choć zmienia się ono i czasem sięga 30V.
Sam sterownik ma 2 przetwornice, jedna daje 12V do zasilania różności, i
potem druga 5V do zasilania MCU itp. Działa poprawnie w zakresie 10-40V
, powyżej tego napięcia zasilanie się odcina.
Sterownik jest w plastykowej obudowie, z aluminiowym frontem, całość z
kolei w dużej plastykowej "skrzyni" typu szafa telekomunikacyjna, która
stoi sobie na ulicy.
Oprogramowanie oczywiście posiada watchdog, i możliwe zabezpieczenia
typu zapisywanie istotnych danych w pamięci nieulotnej procesora
"nadmiarowo", czyli w 5 kopiach, i porównywanie w razie wykrycie zmian.
Tyle tytułem wprowadzenia.
I otóż ostatnio wydarzyła się następująca rzecz;
Podczas intensywnej burzy, zapewne na skutek silnego wyładowania gdzieś
w pobliżu MCU "ocipiał", w ten sposób, że odnosił wrażenie, że
naciśnięte są naraz 2 klawisze sterujące (są one zrealizowane normalnie
jako zwierające do masy, podpięte bezpośrednio pod linie MCU,
zablokowane kondensatorkami 100nf. Co ważne - z użyciem wewnętrznych
(MCU) rezystorów podciągających do 5V).
Uderzenie nastąpiło gdzieś w pobliżu - nie bezpośrednio w jakiś element
instalacji - ot, po prostu gdzieś blisko. Czyli coś się musiało
"wyindukować" w układzie.
Czyli - jakiś cudem nastąpiło "odpięcie" tych wewnętrznych rezystorów
podciągających klawiaturę, i program wykonywał w kółko polecenia, jak
gdyby ktoś stał i cały czas trzymał naciśnięte przyciski...
Nie zadziałało żadne zabezpieczenie typu watch-dog, bo program w sumie
działał poprawnie , tyle, że w "wirtualnej rzeczywistości".
Oczywiście, będę musiał wprowadzić dodatkowe zabezpieczenia w programie,
ale zastanawiam się, jak zapobiec problemowi bardziej "hardwareowo".
Oczywiście zastosuję zewnętrzne rezystory podciągające. Dobrze by było
zamienić obudowę na metalową, uziemioną. No ale to jest na razie problem
- czy jakoś może się sprawdzić ekranowanie poprzez pomalowanie wnętrza
obudowy preparatem w rodzaju "miedź w aerozolu" ?
Czy macie jakieś sposoby na testowanie takich zakłóceń ? jakiś iskrownik
czy coś ?
Jak wspomniałem, zasadniczo cały system jest elektrycznie izolowany -
nie jest w sumie nawet uziemiony chyba - zapewne lepiej jest całość
jakoś uziemić ?
Może jakieś inne sprawdzone sposoby "ochrony" przed silnymi zakłóceniami
EM ?
-
2. Data: 2013-06-03 20:14:52
Temat: Re: Burza i kłopoty w MCU...
Od: LeonKame <k...@l...com>
> Może jakieś inne sprawdzone sposoby "ochrony" przed silnymi zakłóceniami
> EM ?
Sam sobie odpowiedziałes> Metalowa puszka i uziemienie.
-
3. Data: 2013-06-03 22:45:20
Temat: Re: Burza i kłopoty w MCU...
Od: Dariusz Dorochowicz <_...@w...com>
W dniu 2013-06-03 20:01, sundayman pisze:
> Podczas intensywnej burzy, zapewne na skutek silnego wyładowania gdzieś
> w pobliżu MCU "ocipiał", w ten sposób, że odnosił wrażenie, że
> naciśnięte są naraz 2 klawisze sterujące (są one zrealizowane normalnie
> jako zwierające do masy, podpięte bezpośrednio pod linie MCU,
> zablokowane kondensatorkami 100nf. Co ważne - z użyciem wewnętrznych
> (MCU) rezystorów podciągających do 5V).
Znaczy strzeliły wejścia - nic szczególnego jak niezabezpieczone. Jak
tylko przestały reagować to i tak dobrze - bo mogły się po prostu upalić.
> Uderzenie nastąpiło gdzieś w pobliżu - nie bezpośrednio w jakiś element
> instalacji - ot, po prostu gdzieś blisko. Czyli coś się musiało
> "wyindukować" w układzie.
>
> Czyli - jakiś cudem nastąpiło "odpięcie" tych wewnętrznych rezystorów
> podciągających klawiaturę, i program wykonywał w kółko polecenia, jak
> gdyby ktoś stał i cały czas trzymał naciśnięte przyciski...
Żadne cuda - pieprznęło dobrze, jak było blisko i masz dużą powierzchnię
pętli kondensator - procesor to popłynął spory prąd. Nie wiem jaką masz
topologię układu, ale łatwo tu zrobić błąd. Jak masz taki problem, to
rozważ zewnętrzny rezystor podciągający.
> Nie zadziałało żadne zabezpieczenie typu watch-dog, bo program w sumie
> działał poprawnie , tyle, że w "wirtualnej rzeczywistości".
>
> Oczywiście, będę musiał wprowadzić dodatkowe zabezpieczenia w programie,
> ale zastanawiam się, jak zapobiec problemowi bardziej "hardwareowo".
Przed takim problemem programowo się nie zabezpieczysz (przynajmniej
porządnie - zapewniając funkcjonowanie urządzenia).
> Oczywiście zastosuję zewnętrzne rezystory podciągające. Dobrze by było
> zamienić obudowę na metalową, uziemioną. No ale to jest na razie problem
> - czy jakoś może się sprawdzić ekranowanie poprzez pomalowanie wnętrza
> obudowy preparatem w rodzaju "miedź w aerozolu" ?
Pewnie, że może pomóc. Ale lepiej sprawdzi się dobrze zaprojektowany
schemat i PCB.
> Czy macie jakieś sposoby na testowanie takich zakłóceń ? jakiś iskrownik
> czy coś ?
No, laboratorium na CE. Aż żal się robi, co oni z urządzeniami
wyprawiają. Jak strzelali w wejścia sygnałowe, to na stojącym na tym
stole notebooku (na drugim końcu) ekran pokazywał różne rzeczy, ale nie
to, co miało tam być.
Podają 1kV przez 1uF i 40 omów (to ładnych parę amperów jest), plus i
minus, przy założeniu, że kable mogą mieć więcej niż 30m. Ale to i tak
bardzo dobry test, nawet jak kable będą krótsze. Do tego taki fajny
pistolet strzelający chyba 4kV czy coś koło tego, ale małym prądem, i
facet dotyka tym wszystkich dostępnych metalowych elementów - to z
każdym urządzeniem.
> Jak wspomniałem, zasadniczo cały system jest elektrycznie izolowany -
> nie jest w sumie nawet uziemiony chyba - zapewne lepiej jest całość
> jakoś uziemić ?
Lepiej dobrze przemyśleć co i gdzie popłynie - czasem lepiej samemu
"przygotować drogę" prądowi. Prąd i tak sobie drogę znajdzie.
> Może jakieś inne sprawdzone sposoby "ochrony" przed silnymi zakłóceniami
Zabezpieczenie wejść, i jeszcze na dodatek wolnych, to nie problem.
Transil, dobrze policzone oporniki i przemyślany rozpływ prądów (w
scalakach generalnie masz podany maksymalny prąd wejścia). I jeszcze
trzeba uwzględnić przepływ prądu przez rezystory podciągające, może
lepiej dodać je na zewnątrz. Można też inaczej - szybkie diody do
zasilania i masy, o ile kondensator na zasilaniu jest w stanie taki
impuls przyjąć na siebie. Można też dodać transil, ale to przy wyższych
napięciach. No i dobrze poprowadzić masę i ścieżki przewodzące prąd
udarowy.
A tak poza wszystkim - mogło też pójść po zasilaniu.
Pozdrawiam
DD
-
4. Data: 2013-06-04 04:52:15
Temat: Re: Burza i kłopoty w MCU...
Od: sundayman <s...@p...onet.pl>
Hmmm...
Czyli na razie (w urządzeniach , które już są) zastosuję ekranowanie
obudowy z tworzywa preparatem EMI 35, dołożę zewnętrzne rezystory
podciągające, i dodam zabezpieczenie w software, nie pozwalające na
korzystanie z klawiatury "z palca", a z użyciem podania najpierw hasła.
Dodam też wymuszone sprzętowo resetowanie co - powiedzmy - godzina.
W ogóle, na zasilaniu i wejściach czujników (są one w tej samej
skrzynce, więc niedaleko) są warystory oraz transile. No ale to
rzeczywiście na wypadek jakiegoś poważnego przepięcia, jak dotąd się to
nie zdarzyło...
Zastanawiam się, jak by sobie sprokurować jakieś "działko"
elektromagnetyczne, czyli coś, co by generowało silny impuls EM (bez
elektrycznego kontaktu) ?
-
5. Data: 2013-06-04 07:51:18
Temat: Re: Burza i kłopoty w MCU...
Od: pawel2420 <z...@n...pl>
> Zastanawiam się, jak by sobie sprokurować jakieś "działko"
> elektromagnetyczne, czyli coś, co by generowało silny impuls EM (bez
> elektrycznego kontaktu) ?
To akurat zostało bardzo szczegółowo opisane i znormalizowane.
Urządzenia oznaczone znakiem CE muszą spełniać między innymi wymagania
dotyczące odporności na zakłócenia elektromagnetyczne. Zapoznaj się z
tymi wymaganiami i procedurami ich weryfikacji.
Paweł
-
6. Data: 2013-06-04 09:19:39
Temat: Re: Burza i kłopoty w MCU...
Od: Piotr Gałka <p...@c...pl>
Użytkownik "sundayman" <s...@p...onet.pl> napisał w wiadomości
news:koilv9$p9s$1@news.task.gda.pl...
> Oprogramowanie oczywiście posiada watchdog, i możliwe zabezpieczenia typu
> zapisywanie istotnych danych w pamięci nieulotnej procesora "nadmiarowo",
> czyli w 5 kopiach, i porównywanie w razie wykrycie zmian.
Wiele lat temu widziałem taką listę wytycznych (chyba ST) jak powinien być
napisany program pracujący w środowisku zakłóconym. Było chyba ponad 20
punktów. OIDP jedną z wytycznych było, aby w pętli głównej w koło odświeżać
konfigurację portów (np. wejście zamienione przez zakłócenie na wyjście nie
zobaczy już sygnału), no bo w końcu co tu robić jak się nic nie dzieje.
> Czy macie jakieś sposoby na testowanie takich zakłóceń ? jakiś iskrownik
> czy coś ?
>
Do ESD używam: "Piezo zapalarka do gazu EWA". Kosztowała około 10zł (był rok
2002).
Środkowy przewód przedłużyłem poza metalową osłonę i zaizolowałem tak kilka
mm przed nią (jak nie skoczy na zewnątrz to skoczy do osłony).
Osłonę kablem wyprowadziłem do tyłu.
Generowana iskra oczywiście nie tak powtarzalna jak w pistolecie ESD, ale
efekt bardzo zbliżony.
Słyszałem, że do Burst dobrze się sprawdza przekaźnik/stycznik podłączony na
ciągłe iskrzenie, ale nie mam takiego przyrządu.
Do Surge używam szarych komórek - to są z punktu widzenia elektroniki
powolne sygnały - czasy narastania liczone w us więc przewidywalne. Nie
znalazłem nigdzie informacji, czy taki mały 0603 ferryte bead wytrzyma Surge
(tę wersję przez 40om). W ramach eksperymentu przepuściłem przez niego
impulsy 100us 25A (MOSEM z elektrolita) - wytrzymał.
P.G.
-
7. Data: 2013-06-04 09:42:17
Temat: Re: Burza i kłopoty w MCU...
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Piotr Gałka <p...@c...pl> napisał(a):
> OIDP jedną z wytycznych było, aby w pętli głównej w
> koło odświeżać konfigurację portów (np. wejście zamienione przez
> zakłócenie na wyjście nie zobaczy już sygnału), no bo w końcu co tu
> robić jak się nic nie dzieje.
Może u sundaymana wyłączyły się te rezystory podciągające i dodając
odświeżanie ich konfiguracji uniknie się dolutowywania zewnętrznych.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 0 days, 12 hours, 1 minutes and 38 seconds
-
8. Data: 2013-06-04 09:54:43
Temat: Re: Burza i kłopoty w MCU...
Od: Zbych <a...@o...pl>
W dniu 04.06.2013 09:42, Grzegorz Niemirowski pisze:
> Piotr Gałka <p...@c...pl> napisał(a):
>> OIDP jedną z wytycznych było, aby w pętli głównej w
>> koło odświeżać konfigurację portów (np. wejście zamienione przez
>> zakłócenie na wyjście nie zobaczy już sygnału), no bo w końcu co tu
>> robić jak się nic nie dzieje.
>
> Może u sundaymana wyłączyły się te rezystory podciągające i dodając
> odświeżanie ich konfiguracji uniknie się dolutowywania zewnętrznych.
Jakoś nie chce mi się wierzyć, żeby zakłócenie przestawiło konfigurację
portów i nie wykrzaczyło rdzenia procesora.
-
9. Data: 2013-06-04 10:11:51
Temat: Odp: Burza i kłopoty w MCU...
Od: Sylwester Łazar <i...@a...pl>
> Może u sundaymana wyłączyły się te rezystory podciągające i dodając
> odświeżanie ich konfiguracji uniknie się dolutowywania zewnętrznych.
>
> --
> Grzegorz Niemirowski
Wróżenie z fusów.
Jeśli to wyładowanie spowodowało, to niczym się nie da zabezpieczyć.
Poziom energii jest tak wielki, że w przypadku wyładowania w pobliżu,
coś musi się zepsuć. Jeśli się tylko powiesił, to
można zrobić silnik, którego oś załącza krańcówkę i resetuje co obrót wału
mikrokontroler.
Żartuję :-)
Ja bym sprawdził:
a) Czy nie ma błędu w programie,
Zbieg okoliczności mógł nastąpić, że wyszło to podczas burzy
b) Czy czynnik ludzki zadziałał,
c) niedolutowany pin resetu, zasilania, przycisku itp. na płytce.
Miałem taki przypadek, że podejrzewałem (niesłusznie) o zakłócanie
urządzenia RCP.
Okazało się, że był zimny lut na układzie RESETU.
Po przylutowaniu - wszystko działało o.k.
S.
-
10. Data: 2013-06-04 10:26:07
Temat: Re: Burza i kłopoty w MCU...
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Zbych" <a...@o...pl> napisał w wiadomości
news:51ad9d43$0$1261$65785112@news.neostrada.pl...
>>
>> Może u sundaymana wyłączyły się te rezystory podciągające i dodając
>> odświeżanie ich konfiguracji uniknie się dolutowywania zewnętrznych.
>
> Jakoś nie chce mi się wierzyć, żeby zakłócenie przestawiło konfigurację
> portów i nie wykrzaczyło rdzenia procesora.
>
Nie mam pojęcia co się faktycznie dzieje.
Mój model zakłócenia (nie mam argumentów aby go bronić) to przekłamanie od 1
do n bitów w rejestrach.
Jak 1 to dlaczego nie akurat w porcie i rdzenia nie wykrzaczy.
P.G.