Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

Sterowanie LCD ciekłokrystalicznym

waleryfw 11 Lut 2017 11:07
  • #1 11 Lut 2017 11:07
    waleryfw
    Poziom 12  

    Witam wszystkich . Mam problem z wyświetlaczem LCD takim co jest sterowany z ICL7106 . Jest gotowy program w bascomie z Nowego Elektronika 246-K nr 2 z roku 2008 . Mam program zainteresowanym mogę podesłać . Steruje tym LCD Atmega16 . Zmontowałem i uruchomiłem i jest problem . Wyświetlacz niby wyświetla poprawnie temperaturę i wszystkie inne nastawy działają , ale znaki dziwnie migają i dodatkowo wyświetlane są różne segmenty . Ja zrobiłem tak że w projekcie pod wspólną nóżkę w LCD było na stałe podłączone zasilanie - . Ja pod (BP) podłączyłem generator prostokąta ( ok 120 Hz) i pozmieniałem niektóre opóźnienia w programie . Wynik dobry i już parę dni jak by poprawnie wyświetla . Ale odczy jest wyświetlany tak 1 s świeci LCD a 1 s nie . Wiem że jest dedykowany do tego Atmega169 , ale czy nie idzie tego jakoś ogarnąć na tych starszych wersjach np: 8515 , 8535 , lub sterowanie szeregowe na 74HC595 . Proszę o pomoc

  • #2 15 Lut 2017 12:49
    atom1477
    Poziom 43  

    Póki co jest za mało danych. Po schemacie nie widzę też która to jest elektroda wspólna.

  • #3 15 Lut 2017 13:57
    waleryfw
    Poziom 12  

    Elektroda wspólna na cały wyświetlacz to BP oznaczona na schemacie . Jest ona podłączona na stałe do minusa zasilania . Jak pisałem ja do tej elektrody podłączyłem generator prostokąta i jest jak by lepiej .

  • #4 15 Lut 2017 14:23
    atom1477
    Poziom 43  

    Nie może być ani do masy ani do zewnętrznego osobnego generatora
    Mus być podłączona do procka i sterowania w takt innych segmentów (albo raczej segmenty muszą być sterowane w takt sterowania tej elektrody).
    No to pokaż program. A elektrodę BP podłącz w międzyczasie do jakiegoś pinu uC. Np. do PD5 bo widzę że tylko ten jest wolny.

  • #5 15 Lut 2017 14:29
    robig
    Poziom 15  

    Witam

    taki wyświetlacz należy odpowiednio sterować. Najczęściej był/jest używany razem z legendą ICL7106, podaję więc jak to tam wygląda (opis zaczerpnięty z EDW):

    Spoiler:
    BACKPLANE (w skrócie
    BP). Na tę wspólną elektrodę przez cały czas podawany jest przebieg prostokątny. W układach 710X przy częstotliwości oscylatora równej 40kHz ma on częstotliwość 50Hz (40kHz : 800).Na poszczególne segmenty wyświetlacza również podawane są przebiegi prostokątne o tej częstotliwości. Jeśli dany
    przebieg ma taką samą fazę, jak przebieg podawany na elektrodę BP, wtedy odpowiedni segment wyświetlacza jest wygaszony. Jeśli natomiast przebieg na danym segmencie jest w przeciwfazie (czyli jest niejako odwrócony), wtedy dany segment jest widoczny (staje się ciemny).


    Całość opisu sterowania tym LCD w załączniku.

    Pozdrawiam

  • #6 15 Lut 2017 18:06
    waleryfw
    Poziom 12  

    Wiem że powinien być sterowany w fazie lub nie . Układ wyświetlacza jest czuły na napięcie które jest podczas przełączania segmentów . Są sterowniki na układach AVR i jakoś to poprawnie działa . Przesyłam program z Nowego Elektronika z małymi poprawkami . Zaznaczam że termometr i jego funkcje działają ale to sterowanie nie może tak być . Właśnie ta końcówka wspólna podłączona do masy BP

  • #7 15 Lut 2017 18:10
    atom1477
    Poziom 43  

    No to podłącz końcówkę BP (wraz z tymi innymi które teraz idą do masy) do PD5.

    A program niestety jest bardzo źle napisany.
    Myślałem że Ci to na szybko poprawię, ale jednak nie da rady.

  • #8 15 Lut 2017 20:38
    waleryfw
    Poziom 12  

    Dziękuję koledze atom1477 za zadeklarowaną pomoc . W tym programie końcówka PD5 nie jest przypisana do niczego i "wisi w powietrzy" . Czy powinienem za deklarować jako out

  • #9 15 Lut 2017 20:41
    atom1477
    Poziom 43  

    No oczywiście powinieneś ją zadeklarować jako OUT.
    Ale to tylko początek.
    Do przerobienia w kodzie było by praktycznie wszystko.
    Pomiary są robione w pętli głównej i jest tam delay 750ms.
    I to wszystko wstrzymuje wyświetlanie. Sam pomiar też trwa chwilę, więc łącznie wychodzi pewnie ta 1 sekunda o której pisałeś.
    Wyświetlacz też jest sterowny dziwnie, bo zamiast nadpisywać poprzednią treść to jest jakieś zerowanie, opóźnieniem a potem zapisanie nowej wartości.
    To wszystko musiał by pójść do przeróbki zanim się w ogóle będzie można zabrać za odpowiednie wysterowywanie linii BP i segmentów.

    EDIT. Albo spróbuj taki kod.

  • #10 18 Lut 2017 18:44
    waleryfw
    Poziom 12  

    Dziękuję za poprawiony program . Zmienną Cykl_BP zadeklarowałem jako As Byte bo program nie chciał się kompilować . Teraz kompilacja przebiegła poprawnie . Po niedzieli wgram program do procka i napiszę jakie zmiany są . Jeszcze raz dziękuję koledze atom 1477

  Szukaj w 4mln produktów
Przeglądaj produkty