Elektroda.pl
Elektroda.pl
X
PLC Fatek
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Problem z wyświetlaczem, zakłócenia elektromagnetyczne

motoman2 19 Maj 2015 21:57 939 8
  • #1 19 Maj 2015 21:57
    motoman2
    Poziom 6  

    Witam uprzejmie,

    Korzystamy z następujących wyświetlaczy: http://www.artronic.com.pl/o_produkcie.php?id=684

    Zakłócenia elektromagnetyczne wywoływane przez zapalarkę piezoelektryczną powoduję znikanie obrazu z ekranu wyświetlacza. Czasami obraz znika ze wszystkich trzech segmentów (są trzy układy scalone na płytce wyświetlacza - każdy odpowiada za obszar 64x64 pikseli), czasem obraz znika z jednego bądź z dwóch segmentów. Wystarczy w programie wywołać funkcję displayOn(), aby obraz natychmiast ponownie pojawił się na ekranie - nie jest wymagane ponowne odrysowanie grafiki. Ponieważ w programie regularnie wywoływana jest funkcja displayOn() toteż obraz automatycznie ponownie pojawia się na ekranie.

    Oto film przedstawiający problem: https://www.youtube.com/watch?v=ZD_wyllutGk

    Byłbym wdzięczny za pomoc w rozwiązaniu problemu. W jaki sposób zakłócenie może oddziaływać na wyświetlacz i w jaki sposób można go uodpornić na zakłócenia?
    Wydaje mi się, że istotną wskazówką pomocną w określeniu, w jaki sposób zakłócenie oddziałuje na wyświetlacz może być fakt, że pod wpływem zakłócenia obraz znika z ekranu, a po wywołaniu funkcji displayOn() obraz ponownie pojawia się na ekranie.

    W przedstawionym filmie jest zdjęta obudowa. Jednak zamknięcie metalowej obudowy urządzenia tylko w nieznacznym stopniu poprawia sytuację i nie rozwiązuje problemu.

    Poniżej przedstawiam funkcję displayOn(), o której mowa powyżej.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 8
  • Semicon
  • #2 20 Maj 2015 05:22
    435758
    Użytkownik usunął konto  
  • Semicon
  • #4 20 Maj 2015 13:42
    motoman2
    Poziom 6  

    Chciałbym dodać, że silne zakłócenia wywoływane zapalarką nie wpływają na wykreślaną grafikę (grafika nie jest zniekształcona, nie pojawiają się dodatkowe piksele, nie znikają piksele). Zatem zakłócenia nie wpływają na linie sygnałowe E, RS, CSA, CSB, PB0-PB7. To pozwala przypuszczać, że PCB jest prawidłowe skoro dość silne zakłócenie nie powoduje zniekształcenia grafiki. Zatem prezentacja schematów jest prawdopodobnie bezprzedmiotowa. Zakłócenie powoduje zniknięcie obrazu z wyświetlacza - wystarczy wywołać funkcję displayOn(), żeby obraz powrócił. To jest mój problem i piszę z nadzieją, że może znajdzie się ktoś, kto doświadczył dokładnie tego samego i znalazł rozwiązanie tego konkretnego problemu. Na ogół ludzie mają problemy z tym, że zakłócenia powodują zniekształcanie wykreślanej grafiki. Wtedy wiadomo, w którym kierunku iść, aby rozwiązać problem. Ja mam nieco inny problem.

    Ścieżki mam szerokie (sporo szersze niż normalnie się robi). Uprzedzając inne propozycje, robiłem testy z krótkimi ścieżkami, robiłem testy z dodatkowymi masami (dodatkowy kabel; co drugi przewód w taśmie to masa podłączany obustronnie, jednostronnie w dwóch wariantach itp.), robiłem testy z klamrami ferrytowymi na przewodach sygnałowych, robiłem testy z kondensatorami między masą a obudową, robiłem testy z ekranowaniem, robiłem testy z odsunięciem wyświetlacza od okna w obudowie, robiłem testy z siatką ekranującą ekran wyświetlacza, robiłem testy z filtrami RC dla każdej linii sygnałowej oddzielnie, robiłem testy z zamkniętą obudową.
    Na zasilaniu są kondensatory X i Y. Mikroprocesor ma wszędzie odpowiednie kondensatory zgodnie z notami katalogowymi, są dławiki odsprzęgające, wszystkie wejścia są separowane galwanicznie. Na płycie jest w różnych miejscach kilka kondensatorów 1nF między masą a PE. Obudowa jest metalowa. Uczestniczyłem w instytucie w badaniach z zakresu EMC; byłem na szkoleniu; czytałem na ten temat - problematykę znam i na tym podstawowym poziomie wykonałem wszystkie zabezpieczenia i testy.

    0
  • #5 20 Maj 2015 14:44
    dondu
    Moderator Mikrokontrolery Projektowanie

    Jeżeli uważasz, że zaprojektowałeś oraz wykonałeś urządzenie "zgodnie ze sztuką", to jak mamy Ci pomóc bez podstawowych materiałów do analizy (tym bardziej, ze piszesz o taśmie do wyświetlacza)?

    Może więc zrób tak:
    1. Dodaj odpowiednie rezystory pull-up i/lub pull-down na pinach wyświetlacza tak, by blokowały możliwość zapisu do niego podczas, gdy nie są do niego podłączone piny sterujące z mikrokontrolera.
    2. Po wyświetleniu napisów ustaw piny mikrokontrolera sterujące wyświetlaczem tak, by ich stan odpowiadał rezystorom z pkt. 1
    3. Odłącz fizycznie mikrokontroler od pinów sterujących wyświetlaczem.
    3. Wywołaj zakłócenia.

    Rezultat próby upewni Ciebie co do tego, gdzie należy szukać przyczyny problemów.

    0
  • #6 22 Maj 2015 13:48
    motoman2
    Poziom 6  

    dondu napisał:
    Rezultat próby upewni Ciebie co do tego, gdzie należy szukać przyczyny problemów.


    Dziękuję za te uwagi. Dziś będę odłączał całkowicie wyświetlacz - tuż po przesłaniu grafiki odłączę wszystkie linie, zasilanie będzie z baterii.

    Mam jeszcze jedną, może istotną obserwację. Mój wyświetlacz ma kontroler KS0108. W nieskończonej pętli robię nieustannie odczyt statusu wyświetlacza. Normalnie piąty bit odczytanego bajtu ma wartość 0 - oznacza to DISPLAY ON. Na skutek zakłóceń, gdy obraz znika z wyświetlacza, na pewien krótki czas piąty bit zmienia się na wartość 1 - oznacza to DISPLAY OFF. Co to może oznaczać?

    0
  • #7 30 Maj 2015 16:00
    motoman2
    Poziom 6  

    Dziś wykonałem następujący eksperyment.
    Początkowo wyświetlacz był podłączony do układu z mikrokontrolerem. Mikrokontroler przesłał grafikę do wyświetlacza. Następnie wyświetlacz został całkowicie odłączony od mikrokontrolera - zasilanie wyświetlacza zostało uprzednio podłączone z baterii. Z tyłu wyświetlacza założyłem wcześniej płytkę, która zawiera rezystory założone między liniami sygnałowymi wyświetlacza a masą, kondensator na zasilaniu, kondensator na RST, rezystor ustawiający właściwy kontrast, podłączenie do baterii zasilającej wyświetlacz. Po tych operacjach wyświetlacz był całkowicie odseparowany galwanicznie od jakiegokolwiek układu.
    Następnie zacząłem generować zakłócenia. Jeden biegun zapalarki piezoelektrycznej, przedłużony kawałkiem granatowego przewodu, został na stałe podłączony krokodylkiem do kombinerek; drugi biegun trzymałem w niewielkiej odległości od kombinerek i ściskając zapalarkę uzyskiwałem przeskakującą do kombinerek iskrę. Granatowy przewód zacząłem zbliżać do wyświetlacza. Grafika z wyświetlacza zaczęła znikać z tych segmentów, do których zbliżałem granatowy przewód - wyświetlacz ma rozdzielczość 192x64; na PCB wyświetlacza są układy scalone kompatybilne z KS0108, z czego każdy odpowiada za segment grafiki o wymiarach 64x64 piksele.

    Oto film z eksperymentu: https://youtu.be/BI6yHHnOMIU

    Oto filmo-zdjęcie przedstawiające tył wyświetlacza: https://youtu.be/RJFNKu8pqLY

    Czy na podstawie tego eksperymentu ktoś mógłby coś więcej powiedzieć o przyczynie zakłóceń i jak sobie z tym radzić?

    0
  • #8 31 Maj 2015 11:58
    dondu
    Moderator Mikrokontrolery Projektowanie

    Czyli zrobiłeś to o co prosiłem - super.

    motoman2 napisał:
    Czy na podstawie tego eksperymentu ktoś mógłby coś więcej powiedzieć o przyczynie zakłóceń ...

    Przyczyna zakłóceń jest znana - Twoje działanie opisane i pokazane na filmie.

    motoman2 napisał:
    ... jak sobie z tym radzić?

    To indywidualna cecha wyświetlacza - nic na to nie poradzisz bez ingerencji w jego układy. Co więcej, być może każdy inny wyświetlacz będzie zachowywał się podobnie ... męczysz go w sposób nie występujący w normalnych warunkach eksploatacji.

    0
  • #9 01 Cze 2015 14:32
    Mirko51
    Poziom 15  

    motoman2 napisał:
    jak sobie z tym radzić?


    w sumie masz takie rozwiązania:

    1. zostawić ten LCD - uodpornić software (inicjalizacja LCD cyklicznie np. co 10s + odświerzanie zawartości ekranu np. co 1s. Oczywiście jeśli odbędzie się to bez czyszczenia zawartości ekranu i sterownik ma krótkie czasy reakcji, to użytkownik nie zauważy ponownego odrysowywania/inicjalizacji LCD). Uszczelnić elektromagnetycznie panel frontowy - czyli poszukać przezroczystych ekranów EMC (Transparent EMI shield). Może coś w Astat zaproponują?

    2. wymienić LCD na inny. Np. taki, który nie posiada sterownika grafiki, a jedynie drivery do segmentów. Sam sterownik może być w procesorze albo na płytce elektroniki urządzenia.

    Mieliśmy kilka lat temu podobny przypadek podczas badań w lab EMC. Zastosowany model LCD 320x240 posiadał wbudowany sterownik grafiki EPSON. Łączył się on z procesorem magistralą równoległą. Podczas badań na odporność na zakłócenia radiowe pojawiała się na ekranie sieczka. Po ustąpieniu zakłóceń nie zanikała. Zaburzona była praca kontrolera. Przerobiliśmy moduł LCD - usunęliśmy kontroler, dane były przesyłane wprost z procesora przez 4-bitową magistralę do LCD. Rozwiązało to definitywnie problem zakłóceń.

    0