Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Solved] (LCD + Arduino)*(dzikie GND) = krzaki

ddawi 17 Dec 2019 21:31 618 13
IGE-XAO
  • #1
    ddawi
    Level 6  
    Witam,
    mam problem z LCD 20x4 (HD44780), co jakiś czas wywala krzaki i przeciwdziałam odłączając zasilanie od arduino. Zestaw zawiera 3 przyciski, regulator napięcia, wyświetlacz, wejście na termometr, wejście RS232 i drukarkę (tylko wyjście). Problem niestety, pojawia się losowo, jak ktoś korzysta z programu, zauważyłem, że częściej się pojawiał, dopóki nie uziemiłem obudowy do wspólnej masy. Niestety dalej się to pojawia i już nie mam pomysłu co może być. Może to być też wina RS232, ale ciężko odseparować tę masę. Elementy sprawdzałem kilkakrotnie, wymieniałem, testowałem. Przy dotknięciu masy i trzymaniu innego elementu pojawiają się krzaki, przy dotykaniu masy i obudowy wszystko ok, co jakiś czas coś dodatkowego wypłynie.
    Podłączeni wyświetlacza:
    botland.com.pl/img/p/1085-3299.jpg

    Nie wiem, czy coś jeszcze dodawać, w kodzie nie ma błędów (przynajmniej jeśli chodzi o LCD), a schemat elektroniczny lub PCB nie wiem na ile się przyda, bo nie robiłem tego 1:1 (lekko pozmieniany).

    Rzeczy, które już zrobiłem:
    - przeszukałem różne fora;
    - nawinąłem przewody zasilające, aby pozbyć się zakłóceń;
    - połączyłem masę z metalową obudową/panelem;
    - znalazłem rozwiązanie inicjalizowania LCD co 15 sekund - niestey problem mam, żeby wcisnąć to w program;
    - nie próbowałem z kondensatorem na wejściu do wyświetlacza pomiędzy zasilaniem i masa - warto?
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • IGE-XAO
  • #2
    JohnReese
    Level 11  
    Wstaw dokladny schemat i program bo tak to raczej nikt nie pomoze. Zapodaj moze jakies zdjecia calosci. Kiedys korzystalem z tego wyswietlacza i nie pamietam tego typu problemow.
  • #3
    kaczakat
    Level 33  
    Przejedź lutownicą po pinach, może jest jakiś zimny, jeśli to kabelkowe połączenia wymień kable. Te LCD to też koszt ~30zł, najprościej wziąć inny i powtórzyć testy. Też nie jestem pewien co masz na myśli pisząc o RS232 i drukarce, czy to UART czy RS232, USB czy LPT, no i do czego tego tam używasz.
  • IGE-XAO
  • #4
    ddawi
    Level 6  
    Więc tak, schemat i PCB podrzucam. Co do programu, to na pewno on jest dobry, bo był sprawdzany przez znajomego informatyka i mi to działa, potrafię przejść cały program ponad 20 razy i się nie wywala, ale jak daje do testowania innym, to potrafi (nie zawsze) się zawiesić. LCD wymienione jako pierwsze i nie jest niestety powodem. RS232 połączone z wagą, pobieram wagę do obliczeń, co do drukarki to bezpośrednio po TTL'u się komunikuje. Jest to płytka prototypowa i jest przelutowana na nowo. Przy niektórych wagach, odseparowuje się mase współną od masy płytki (żeby np. falownik nie wpływał na pomiary lub stabilność wagi). I myślałem o czymś podobnym u siebie, żeby odseparować masę wyświetlacza od reszty, ale trochę nie wiem jak.

    Schemat PCB jest nieaktualny - przerobiony, co do kleju na gorąco to on nie wpływa, bo bez kleju też się tak może zrobić.

    (LCD + Arduino)*(dzikie GND) = krzaki (LCD + Arduino)*(dzikie GND) = krzaki (LCD + Arduino)*(dzikie GND) = krzaki (LCD + Arduino)*(dzikie GND) = krzaki (LCD + Arduino)*(dzikie GND) = krzaki (LCD + Arduino)*(dzikie GND) = krzaki
  • #5
    ex-or
    Level 27  
    Moim zdaniem ta pajęczyna nie ma prawa stabilnie działać. Przez chwilę na biurku, jako pierwszy prototyp to pewnie tak.
    Ale nie jestem profesjonalnym elektronikiem więc możliwe że bredzę.
  • #6
    ddawi
    Level 6  
    Oczywiście, że jest to prototypowe, na chwilkę, ale zanim zamówię płytkę, chciałbym po testować. Pajęczyna mimo wszystko działa, zostawiłem to na cały dzień i nic się nie działo, nawet sprawdzałem, czy program działa dobrze i nic się nie wykrzaczyło. Bardziej chodzi o mase, jak się zmienia masa, to powstają krzaki (dotykam GND pilnikiem i są krzaki). Chodzi o jakieś odseparowanie masy np. żeby było tylko do arduino, albo jakiś nowy filtr.
  • #7
    2konrafal1993
    Level 35  
    Ja z kolei miałem takie problemy z wyświetlaczem gdy dałem na pin kontrastu potencjometr o zbyt dużej rezystancji, była to pomyłka ale wyświetlacz był strasznie czuły na wszelkie zakłócenia. Warto sprawdzić czy właśnie tu nie wkradł się błąd.
  • #8
    ddawi
    Level 6  
    Potencjometr wieloobrotowy, który zastosowałem ma 20 kOhm, czy to za dużo? Jaki 2konrafal1993 zastosowałeś - jeżeli pamiętasz albo jaki radzisz?
    Ja jestem świeżo po testach, jak masę od obudowy wypiąłem i zmasowałem obudowę to się już tak nie zawieszało (zawieszało się przez przyciski) tak samo jak dotykałem obudowy i naciskałem to było ok, jak już nie to się krzaczyło - przed odpięiceim masy od obydowy.
  • #9
    Wirnick
    Level 29  
    Ja bym proponował, LCD wpiąć bezpośrednio do ARDUINO. Zmieniłbym port na PCn lub PAn.
  • #10
    ddawi
    Level 6  
    Wirnick wrote:
    Ja bym proponował, LCD wpiąć bezpośrednio do ARDUINO. Zmieniłbym port na PCn lub PAn.


    Mógłbyś bardziej rozbudować PCn i PAn, troszkę mało rozumiem. Mam zamienić powiedzmy 11 i 12 na inne wyjście, żeby nie było na PWM?
  • Helpful post
    #11
    2konrafal1993
    Level 35  
    Zaleca się stosowanie 10k u mnie był 50k albo 100k dokładnie nie pamiętam ale na takiej wartości wyświetlacz był niestabilny i wyświetlał krzaki.
  • Helpful post
    #12
    Wirnick
    Level 29  
    ddawi wrote:
    Mam zamienić powiedzmy 11 i 12 na inne wyjście, żeby nie było na PWM?

    Tak - na jednym porcie 2,3,4,5,11,12 i RW LCD do masy. Celem sprawdzenia - czy jest to programowe lub sprzętowe uszkodzenie.
  • #14
    ddawi
    Level 6  
    Udało się naprawić/znaleźć problem, próbowałem:
    - wymieniłem kabelki do LCD i dodałem 2 kondensatory (suchy i mokry),
    - zmieniłem programowo wejścia LCD do Arduino,
    - nie próbowałem z potencjometrem, w przyszłości spróbuje.
    Okazało się, że miernik wagowy i płytka z Arduino są na różnych zasilaczach, zmieniając masę na płytce z Arduino, nie zmienia się masa na wadze, przez co Arduino wykrywa jakby, coś było wysyłane przez RS232. Co wpływa na zakłócenia na wyświetlaczu. Jak zmasowałem płytkę przez opornik 1 MOhm, to już nie udało się wykrzaczyć wyświetlacza. Możliwe, że jak zasilanie do wagi pójdzie ze wspólnego zasilania co płytka, to będzie wspólna masa i nie będzie problem, ale to jeszcze do potestowania.