logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega128][Bascom]Wyświetlacz graficzny - Brak informacji na ekranie - czasami

Roman Szemik 16 Lip 2012 10:55 2498 15
REKLAMA
  • #1 11111047
    Roman Szemik
    Poziom 14  
    Witam.

    Mam następujący problem. Posiadam wyświetlacz graficzny 324x240 współpracujący z atmega128, kwarc 16Mhz. Co jakiś czas kiedy wyłączają się styczniki zakłócenie jest tak duże iż informacje na wyświetlaczu graficznym przestają być wyświetlane. Cały program pracuje poprawnie, a tylko gaśnie wyświetacz (podświetlenie działa cały czas). Oczywiście pomaga ponowny restart całego układu. Na pewno źródłem zakłóceń są styczniki (230V AC - są założone gasiki RC ).
    Moje pytanie jest następujące jako że nie siedzę w programowaniu dobrze - czy jest jakiś sposób w bascomie AVR aby co jakiś czas np. "restartować" sam wyświetlacz graficzny aby wychodził z takich problemów bez szwanku? Na płytce mam pozakładane kondensatorny 100nF, na zasilaniu wyświetlacza również. Czy np. podciągnięcie portów wyświetlacza do plusa za pomocą rezystorów np. 4k7 uchroni wyświetlacz od blokowania się? Proszę o pomoc. Z góry dziękuję.
  • REKLAMA
  • #2 11111210
    Krauser
    Poziom 26  
    Zwykle jest tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Możesz przenieść inicjalizację do pętli głównej i po problemie.
  • #3 11111486
    Konto nie istnieje
    Konto nie istnieje  
  • #4 11112979
    Roman Szemik
    Poziom 14  
    Witam.

    Przenieść inicjalizację do pętli głównej - czyli przenieść
    np: Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Porta , Ce = 6 , Cd = 3 , Wr = 4 , Rd = 5 , Reset = 7 , Fs = 0 , Mode = 8

    Jeśli o to chodzi to przeniosłem i podczas kompilowania bascom wywalił mi masę błędów.

    Pozdrawiam.
  • REKLAMA
  • #5 11118504
    Roman Szemik
    Poziom 14  
    Witam.

    Może ewentualnie jest jakaś możliwość resetowania samego wyświetlacza graficznego z zewnętrznego przycisku któr mógłby być jednym z przycisków na klawiaturze matrycowem (wywoływanie jakiejś procedury w bascomie).
    Dla przypomnienia wszystko poprawnie pracuje i tylko informacje na wyświetlaczu są wygaszone.

    Pozdrawiam
  • Pomocny post
    #6 11118535
    Krauser
    Poziom 26  
    Na pewno zanim cokolwiek wyślesz do wyświetlacza musi zostać uruchomiona procedura Config Graphlcd. Zapewne również nie może się ona powtórzyć później w programie, ale jeśli by znalazła się jako podprogram to pewnie można by to wywoływać w wielu miejscach, również po wciśnięciu klawisza.
  • Pomocny post
    #7 11119131
    piotrva
    VIP Zasłużony dla elektroda
    Panowie, to Bascom.
    Musiałbyś dorwać się do kodów biblioteki w ASM i zobaczyć jaka funkcja w ASM jest odpowiedzialna za reset komunikacji z LCD i jego inicjalizację i ja cyklicznie wywoływać. Bez tego w Bascom będzie ciężko, ewentualnie możesz napisać sam prostą procedurę inicjalizacyjną na podstawie DS sterownika wyświetlacza.
  • REKLAMA
  • #8 11125011
    Roman Szemik
    Poziom 14  
    Witam.

    Wielkie dzięki za sugestie. Z informacji wynika iż nie jest to prosta sprawa dla Bascoma. W związku z powyższym poczyniłem pewne kroki aby pójść inną drogą do celu. Ekranowanie taśmy sterującej wyświetlaczem nic nie dało, odsunięcie taśmy od innych przewodów mocowych też nic nie dało. Oprócz tego odsunąłem przewody idące z transformatora do elektroniki od przewodów zasilających styczniki i ku mojej uciesze gaśnięcie wyświetlacza udało się w pewnym stopniu ograniczyć. Spróbuję jeszcze pozakładać jakieś filtry RC, może na trafo i zobaczymy co na to złośliwość rzeczy martwych.

    Pozdrawiam.
  • #9 11125109
    piotrva
    VIP Zasłużony dla elektroda
    Cóż, powiem szczerze jedną rzecz, choćbyś nie wiem jak dobrze ekranował wszystko, to i tak coś może pójść nie tak w komunikacji i się przywiesi. Ja nawet ostatnio robiłem projekt z wyświetlaczem HD44780 i też pomimo, ze nie było specjalnych źródeł zakłóceń co jakiś czas (po 20-25h pracy układu) pojawiały się na nim krzaczki. Pomogło ponowne inicjalizowanie co jakiś czas.
    ---
    A spróbuj zrobić tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #10 11134943
    Roman Szemik
    Poziom 14  
    Witam.

    Powiedz mi co mam wpisać w nawiasach gdzie jest słowo kod?. Jest to inicjalizacja automatyczna czy czekająca na jakieś zwieszenie się wyświetlacza?

    Pozdrawiam.
  • #11 11135866
    piotrva
    VIP Zasłużony dla elektroda
    W tych nawiasach umieszczasz resztę Swojego programu... To jest tylko szkielet programu, musisz sam uzupełnić...
  • #12 11136067
    zumek
    Poziom 39  
    Roman Szemik napisał:
    ...Powiedz mi co mam wpisać w nawiasach gdzie jest słowo kod?...


    Odpal Bascom, wciśnij F1 i poczytaj sobie o instrukcji INITLCD, bo to jest to, czego szukasz.
  • #13 11136076
    piotrva
    VIP Zasłużony dla elektroda
    Sprawdź to, ale nie wiem czy to zadziała z LCD innym niż HD44780...
  • #14 11138056
    Roman Szemik
    Poziom 14  
    Witam.

    Mam pytanie - czy polecenie INITLCD odnosi się również do wyświetlaczy graficznych? Ja posiadam wyswietlacz graficzny i z nim zwiazane problemy.

    Pozdrawiam.
  • #15 11138247
    Mundi1970
    Poziom 24  
    Jeżeli wykorzystujesz BASCOM'owe biblioteki do obsługi wyświetlacza graficznego, ponowną inicjalizacje możesz spróbować wykonać tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #16 12839799
    Roman Szemik
    Poziom 14  
    Witam.

    Suma summarum zakłócenia przechodziły i w w zasadzie dalej przechodzą przez zasilanie 230V, transformator, mostek, stabilizator i do centrum dowodzenia. Jedynym rozwiązaniem jaki przyniósł efekt zadowalający było zastosowanie pomiędzy uzwojeniem wtórnym trafo a mostkiem - filtra p/zakłóceniowego 2x47mH. Nie pomogło ekranowanie taśmy zasilającej wyświetlacz graficzny, ani osobny zasilacz nawet z innego gniazdka 230V oddalonego od urządzenia o jakieś 10 mb. Dodatkowo równolegle do styków stycznik załączającego wentylator dałem mostki RC 100nF + 100R.

    Pozdrawiam.
REKLAMA