Grafika znika z ekranu wyświetlacza LCD pod wpływem zakłóceń

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Witam uprzejmie,

Używam wyświetlacza graficznego LCD 192x64 typu LCD-AG-192064G-BIW W/B-E6
PBF. Wyświetlacz sterowany jest przez mikrokontroler ATmega128. Pojawił się
problem polegający na tym, że pod wpływem zakłóceń (jonizator skonstruowany
specjalnie w celu sprawdzania naszych urządzeń; włączanie wyłącznika
głównego prostownika impulsowego 600A, w którym siedzi wyświetlacz; moment
rozpoczęcia generowania impulsów przez prostownik) wykreślona na
wyświetlaczu grafika znika. Na ogół znika cała grafika, a czasami tylko z
któregoś z trzech "segmentów" -- obszar wyświetlacza podzielony jest na trzy
logiczne segmenty, między którymi należy się przełączać, aby móc wykreślać
grafikę w danym obszarze wyświetlacza. W znacznym stopniu pomogły
kondensatory przed transformatorem na zasilaniu 230V (150nF/275VAC między L
a PE oraz 150nF między N a PE oraz 100nF między N a L; PE jest połączony z
obudową) oraz kondensator 1nF między metalową obudową urządzenia, a masą
elektroniki. Niemniej zabiegi te nie wyeliminowały problemu w 100% -- raz na
jakiś czas problem się zdarza.
    Wysłanie komendy do wyświetlacza poprzedzone jest sprawdzeniem (odczytem
stanu wyświetlacza), czy wyświetlacz nie jest zajęty. Wystąpienie zakłócenia
powoduje najprawdopodobniej, że przez moment wyświetlacz nie odpowiada i
program główny dłużej oczekuje w pętli oczekującej na odpowiedź kontrolera
wyświetlacza, informującej o tym, że ten gotowy jest do przyjęcia komendy.
Tu nie mam pewności, gdyż nie ja badałem oscyloskopem ten efekt, a jedynie
słyszałem od kolegi.
    Żeby przywrócić działanie wyświetlacza, wystarczy użyć procedury
inicjalizacyjnej wklejonej poniżej (nie trzeba od nowa odrysowywać grafiki
na wyświetlaczu). W efekcie w programie głównym wywołuję tę funkcję kilka
razy na sekundę, tak na wszelki wypadek.
    Ciekawi mnie, dlaczego zakłócenie działa właśnie w ten sposób, że nie
zakłóca wykreślania grafiki (że na ekranie zaczyna się robić "kaszanka"),
ale po prostu wyłącza obraz? Niemniej ten obraz (poprawny) jest nadal w
pamięci wyświetlacza i wystarczy przeprowadzić inicjalizację wyświetlacza,
aby grafika znów pojawiła się na ekranie.
Ponadto, może opisany przeze mnie sposób reakcji wyświetlacza na zakłócenie
pozwoli komuś z Was określić, jak zakłócenie "przenika" do kontrolera
wyświetlacza i jak je wyeliminować. Będę wdzięczny za rady.

Pozdrawiam,
 Robbo


    cbi(KS0108_CONTROL_PORT, KS0108_CONTROL_RS);
    cbi(KS0108_CONTROL_PORT, KS0108_CONTROL_RW);

    /* left part of the display */
    cbi(KS0108_CONTROL_PORT, KS0108_CONTROL_CSA);
    cbi(KS0108_CONTROL_PORT, KS0108_CONTROL_CSB);

    KS0108_writeCommand(0x3E /* display turn off */ | 0x01);
    KS0108_writeCommand(0xC0 /* set z address */ | 0x00);


    /* right part of the display */
    sbi(KS0108_CONTROL_PORT, KS0108_CONTROL_CSA);
    cbi(KS0108_CONTROL_PORT, KS0108_CONTROL_CSB);

    KS0108_writeCommand(0x3E /* display turn off */ | 0x01);
    KS0108_writeCommand(0xC0 /* set z address */ | 0x00);



    /* middle part of the display */
    sbi(KS0108_CONTROL_PORT, KS0108_CONTROL_CSB);
    cbi(KS0108_CONTROL_PORT, KS0108_CONTROL_CSA);

    KS0108_writeCommand(0x3E /* display turn off */ | 0x01);
    KS0108_writeCommand(0xC0 /* set z address */ | 0x00);



Re: Grafika znika z ekranu wyświetlacza LCD pod wpływem zakłóceń
Quoted text here. Click to load it

Taa... kupuj wyswietlacze dobrej jakosci. Te ktore nie mialy flooda na
plytce a tylko mozaike sciezek bylo bardzo latwo oglupic. Potem kupilem
partie 'porzadnych', z ladnie poprowadzonymi masami na plytce i bylo je
ciezko oglupic.
Potem pomyslalem i porzadnie poprowadzilem masy i uziemienia, wtedy
nawet te 'zle' wyswietlacze zaczely dzialac. U mnie byla to wredna petla
masy zamykana przez ramke LCD dotykajaca do zewnetrznej czesci obudowy.


--
Jerry1111

Re: Grafika znika z ekranu wyświetlacza LCD pod wpływem zakłóceń
U mnie jest przekladka i ramka wyswietlacza (lakierowana zreszta
nieprzewodzaca farba) nie ma styku galwanicznego z metalowa obudowa
urzadzenia (takze malowana).
Zrobilem pewien eksperyment. Wyjalem plytke elektroniki i wyswietlacz z
obudowy. Tasme miedzy wyswietlaczem a plytka elektroniki oplotlem kablem
zasilajacym od mojego testowego stycznika (który non-stop zalacza i wylacza
sie). Po wlaczeniu zasilania stycznika, wyswietlacz zaczal wariowac. Grubym
kablem polaczylem mase wyswietlacza z masa elektroniki. Ten zabieg pomógl
bardzo znacznie. Potem (z ta dodatkowa masa pociagnieta grubszym przewodem)
elektronike schowalem do obudowy. Wlaczylem stycznik, przytykajac jego kabel
zasilajacy do obudowy w okolicy wyswietlacza, a potem takze prowadzac go
równolegle z kablem zasilajacym elektronike. Wynik byl w porzadku. Potem
odlaczylem te dodatkowa mase i znów przeprowadzilem eksperyment na
elektronice zamknietej w obudowie. Nie bylo wyraznej róznicy miedzy stanem z
dodatkowa masa, a stanem bez tej masy. Dodatkowy kabel laczacy mase
wyswietlacza z masa elektroniki bardzo pomaga na golej elektronice,
natomiast przy stosowanej przeze mnie metalowej obudowie, nie ma juz takiego
znaczenia.



Re: Grafika znika z ekranu wyświetlacza LCD pod wpływem zakłóceń
Quoted text here. Click to load it

Obudowa uziemiona? Gdzie masz y-caps? Jak zasilana elektronika
(trafo/dobry smps/dupny smps)? Dlugosc kabla?

Na wszystko patrz pod katem impedancji tego grubego kabla masy (bo to Ci
ustala tak naprawde stan pinow przy zakloceniu).

--
Jerry1111

Site Timeline