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

[Atmega32][Bascom]Wyświetlacz LCD alfanumeryczny oddalony od uC

bartas87poz 20 Gru 2011 10:16 3666 24
  • #1 10282814
    bartas87poz
    Poziom 9  
    Witam,

    chciałbym się od Was dowiedzieć jak daleko od uC można umieścić wyświetlacz LCD alfanumeryczny? Przygotowałem płytkę z Atmega32 do sterowanie wejściami i wyjściami oraz komunikacja z GSM i zrobiłem wyprowadzenia na LCD. Całość chciałbym zamontować na poddaszu a sterowanie w ścianie.

    LCD z uC połączę przewodem ekranowanym wyprowadzając bezpośrednio z uC styki: D4,D5,D6,D7,E,RS,GND,+5.

    Czy jak LCD będzie oddalone od uC o jakieś 5m to ruszy normalnie czy jest to mało prawdopodobne?
  • #2 10282889
    pawel-jwe
    Poziom 30  
    Najlepiej dla pewności podłącz na sucho przewodem o tej długości.
  • #3 10283106
    mirekk36
    Poziom 42  
    bartas87poz napisał:

    Czy jak LCD będzie oddalone od uC o jakieś 5m to ruszy normalnie czy jest to mało prawdopodobne?


    Sorki ale to jest wręcz nienormalny pomysł :( ....

    Zrób sobie płytkę z LCD plus jakiś mały mikrokontroler, który odbiera dane np po RS232 albo RS485 i wtedy podłącz to do swojej centralki na poddaszu kablem RS232/RS485. Wtedy dane do LCD będziesz normalnie przesyłał do procka który już na krótko jest połączony z LCD , będzie na nim wyświetlał odebrane dane i wtedy to będzie ładnie działać.
  • #4 10290854
    bartas87poz
    Poziom 9  
    Zastanawiałem się nad takim rozwiązaniem, tylko jest jeden problem.
    RS232 już wykorzystuje do komunikacji z GSM.
    Wiec ten port komunikacyjny na pewno odpada.

    Zostaje I2C (jak czytałem może działać tak do 80cm)
    SPI (nie wiem jaki zasięg)
    UART (nie wiem jaki zasięg)

    jakieś pomysły?
  • #5 10290914
    mirekk36
    Poziom 42  
    I2C stosuje się tylko w tym samym urządzeniu, nie jest to magistrala do stosowania na zewnątrz.

    SPI także odpada na większe odległości

    UART panie to jest właśnie RS232 ;)

    Z prostszych sposobów pozostaje ci np komunikacja z LCD oddalonym np przez:

    1. podczerwień jeśli masz zasięg w granicach widoczności
    2. jakaś prosta komunikacja radiowa (dowolne małe moduły radiowe)
  • #6 10291037
    nsvinc
    Poziom 35  
    Bardzo wolne SPI też się nada (zegar<50kHz). Przecież bity idą kablem podobnie jak w przypadku UARTa, z tą różnicą, że synchronicznie (czyli konieczny jest zegar).

    Najlepiej byłoby to SPI podłączyć przez transceivery różnicowe, i wszystkie sygnały pojedyncze zamieniać na różnicowe przed wysłaniem.
    Tak naprawdę to transmisja do "panelu sterowniczego" będzie wymagała trzech linii: SDI,SDO,SCK. Jeśli "centralka" będzie masterem, to z niej wychodzi SDO i SCK, a do niej wchodzi SDI. W panelu sterowniczym jest odwrotnie, wychodzi SDI a wchodzi SDO i SCK.
    Bez problemu możesz zrealizować całą tą transmisję różnicowo; potrzebujesz wtedy trzech nadajników różnicowych, i trzech odbiorników różnicowych; mogą one być praktycznie dowolne - takie do RS485 też się bardzo dobrze będą nadawać :]
    Dzięki transmisji różnicowej uzyskasz nawet na długim 10m kablu spokojnie transmisję rzędu 1Mbps.
  • #7 10291176
    SylwekK
    Poziom 32  
    Zawsze można spróbować napisać jakiś własny prosty protokół. Chyba w tym przypadku nie są potrzebne jakieś zawrotne prędkości ani szyfrowanie i zaawansowana kontrola błędów.
  • #9 10296951
    arktik1
    Poziom 27  
    Przecież można dopisać UART programowy, nie będzie wtedy kolidował z GSM.
    Sprzętowy niech wysyła swoje, a programowy swoje.
  • #11 10298549
    bartas87poz
    Poziom 9  
    Bez przesady ... duże odległości - to tylko 5m

    Najpierw spróbuje doświadczalnie połączyć ten ekranik na takim 5m przewodzie, zobaczę jaki efekt będzie. Rozumiem że mam się spodziewać krzaków.
    Z góry to odrzuciliście ze względu na zakłócenia? A próbował ktoś z Was coś takiego zrobić? Albo słyszał o takiej próbie?

    Upieram się przy tym bo płytkę już wykonałem z ekranikiem i uC. Trudna byłaby przeróbka tego. I co mi szkodzi sprawdzić, zacznę się martwić jak nie zadziała.

    PS: Spokojnych i udanych Świąt wszystkim życzę...
  • #12 10298713
    mirekk36
    Poziom 42  
    bartas87poz napisał:
    A próbował ktoś z Was coś takiego zrobić?


    Na pewno nikt z tych którzy ci tu dobrze radzą nie próbował czegoś takiego zrobić bo to czyste nieporozumienie ;)


    bartas87poz napisał:
    Albo słyszał o takiej próbie?


    Pewnie, co i rusz pojawia się temat początkujących z pytaniami dlaczego im się na wyświetlaczu krzaki pojawiają gdy podłączą LCD na taśmie kilkunastocentymetrowej i wielkie zdziwienie. Poczytaj sobie elektrodę to na pęczki znajdziesz takich tematów i pytań.
  • #13 10298854
    manekinen
    Poziom 29  
    Kolego, w praktyce 30cm to gwarantowane krzaczory. Ten protokół nie został stworzony do takich odległości.

    Możesz zmodyfikować bibliotekę i powstawiać większe opóźnienia, do wyświetlacza dolutować jakieś mocniejsze pullupy, i to zwiększy odległość ale nie na 5m, bez przesady :)

    Do takich rzeczy stosować się powinno właśnie jakiś RS485 na byle softowym uarcie. Po stronie LCD jakiś attiny2313 spokojnie wystarczy. Widziałem też gdzieś w sieci projekt (bodajże na attiny13) który odbierał dane 1wire i pokazywał na LCD (...a jednak to inny lcd był). 1wire to też coś, co można stosować na większe odległości.
  • #14 10299221
    excray
    Poziom 41  
    Komunikacja bez problemu. Trzeba tylko znacznie spowolnić komunikację do kilkuset zmian na liniach na sekundę. HD44780 nie stwarza tutaj problemów co do maksymalnego czasu. Problemem mogą być zakłócenia indukujące się na tak długich przewodach. Ale w tym celu interfejs można wykonać w wersji prądowej z odpowiednią histerezą.
  • #15 10300053
    bolek
    Poziom 35  
    I2C też nie ma problemów pod względem czasu, zegar możesz dać spokojnie 0,1Hz ba możesz sobie nawet wstrzymać komunikacje jednak dlaczego kuleje gdy sygnał poleci poza granice płytki?.
    Bo sa to układy przystosowane do "szybkich" zegarów i siłą rzeczy muszą natychmiast po zboczu zegara próbkować dane- a w tedy lubią pojawiać się przekłamania.
    Ja tu widzę programowy uart i procek przy LCD, nie trzeba nawet różnicówki tak że na trzech żyłach spokojnie podłączysz. Na walkę z błędnymi ramkami masz różne proste sposoby, warunek jest jeden- niech odbiornik próbkuje w środku a nie na początku odebranego bitu, możesz nawet kilka razy
  • #16 10303843
    bartas87poz
    Poziom 9  
    Witam,

    Miałem wczoraj chwilkę czasu i znalazłem kawałek (bodajże 7m) przewodu 10 żyłowego 0,75mm ekranowanego i z ciekawości podłączyłem ten układ. I mimo, że:

    Cytat:
    nikt z tych którzy ci tu dobrze radzą nie próbował czegoś takiego zrobić bo to czyste nieporozumienie


    Cytat:
    w praktyce 30cm to gwarantowane krzaczory. Ten protokół nie został stworzony do takich odległości.


    to podjąłem tą bezsensowną próbę (bo świat lubię poznawać empirycznie).
    Układ na przekór oczywiście ruszył i wyświetlacz nie pokazywał żadnych krzaków.

    I mimo mojego początkującego podejścia postarałem się przeprowadzić parę prób:
    1. Napisałem program co wypełnia CAŁY LCD na zmianę co sekundę innym tekstem.
    -układ obserwowałem przez 5 min (na tyle mi cierpliwości starczyło) nie pokazywał żadnych krzaków.
    2. Oplotłem ten 7m przewód wokół przedłużacza na którym działał uruchomiony komputer i parę innych sprzętów
    -układ chodził, ale parę razy na następne 5 min obserwacji udało się zaobserwować drobne krzaki.
    3. Po podpięciu ekranu przewodu pod GND układu (GND oczywiście filtruje kondensatorami na wyjściu z układu głównego i na wejściu na LCD) przez następne 5 min obserwacji już nic nie zaobserwowałem. Ekran chodzi normalnie.

    Przy następnym takim układzie na pewno pomyśle o wysyłaniu informacji jakimś portem szeregowym - jest to rozsądniejsze rozwiązanie. Ale mimo wszystko LCD ruszył i działa mimo takiej odległości więc mam podstawy się z Wami nie zgodzić.
  • #17 10306634
    bolek
    Poziom 35  
    No i gitara jeśli w miare to działa i dla ciebie jako twórcy jest akceptowalne w użytkowaniu, jednak piszesz że masz podstawy się z nami nie zgodzić i racji nie masz- jak sam stwierdziłeś pojawiały się krzaki. Czyli zgodnie z przewidywaniami, Twoim problemem może być nie tylko LCD ale i proc do którego masz bezpośrednio podłączone "anteny". Poza tym, nie chcę rozpoczynać dyskusji w tym kierunku jednak jak dla mnie to podejrzanie dobrze ci to działa.
    Zwróć uwagę że twój sposób jest w dodatku nie zgodny ze sztuką. Doradzały Ci osoby które zapewne zajmują się urządzeniami od pomysłu do wprowadzenia na rynek i maja lepszą orientacje co można, czego nie i jaki będzie tego efekt. Nikt Ci tych porad z palca nie wyssał. Gdybyś chciał podobny pomysł wprowadzić do sprzedaży , to uwierz mi że nawet nie wpuścili by cię z takim patentem do komory, no chyba tylko po to aby zdoić na kase.
    Jeśli położył byś laske na komorę i wprowadził rynek to reklamacja murowana. Czasami warto o takich aspektach pomyśleć, choćby po to aby w kolejnym projekcie nad tam nie rozmyślać tylko zająć się czymś bardziej sensowym, nie ważne czy robisz to sobie, wujkowi czy kochance.

    Podpowiem że na upartego możesz w tej tasiemce rozdzielić sygnały masą- krzaków powinno być mniej.
  • #18 10711415
    elektro232
    Poziom 11  
    Witam

    miałem kiedyś podłączony HD44780 2x20 na 22 metrowym kablu. kabel najzwyklejszy 16x 0,75 mm kwadratowego, bez przeplotu. Podłaczone to wszystko było do PCeta (nie do mikrokontrolera) i przez 4 lata nikt nie zauważył żeby coś się działo z wyświetlaczem (krzaki). Oczywiście kablem tym puszczone było 12V i przy wyświetlaczu obcinane przez LM7805 do 5V.Uniknąłem w ten sposób spadków napięć bo wyświetlacz był dość duży i podświetlenie skutecznie obniżało kontrast.

    Drugim moim projektem był HD44780 który podłączony był na kablu UTP o długości 10 metrów do Attiny2313.Też działało bezbłędnie przez 2 lata a kabel między wyświetlaczem a prockiem leciał przez skrzynię rozdzielczą elektryki na cały budynek.

    Normy normami a praktyka swoje.Im krótszy i lepiej ekranowany kabel tym lepiej, choć jak pokazuje praktyka można więcej niż mówią normy.Pamiętać należy jednak że takie "eksperymenty" jak 20m kabla do wyświetlacza możemy robić na "własnym podwórku" a dla klienta musi być to zrobione profesjonalnie.
    Na chwilę obecną obydwa w/w rozwiązania zostały zastąpione przez wyniesione wyświetlacze z własnym mikrokontrolerem każdy,a komunikację z nimi zapewnia mi własnego autorstwa protokół transmisji.Obydwa omówione przeze mnie przypadki zostały zrealizowane kiedy jeszcze byłem w trakcie "edukacji elektronicznej" i dziś wiem że kilometry wielożyłowych kabli to nie jest najlepszy pomysł.Wystarczą 3.Ale to już inna bajka.
  • #19 10713861
    Konto nie istnieje
    Konto nie istnieje  
  • #20 11466479
    rychmar
    Poziom 12  
    Jak spowolnić sygnał E ?? Bo własnie walcze z "krzakami" na lcd . LCD oddalony od procka 5m taśmą.
  • #21 11467526
    excray
    Poziom 41  
    HD44780 zapisuje na opadającym zboczu En czyli między komendę ustawienia 0 na linii En wstaw przed i po jakieś opóźnienia. Np. rzędu 1ms.
  • #22 11467673
    Konto nie istnieje
    Konto nie istnieje  
  • #23 11467811
    excray
    Poziom 41  
    Saabotaz napisał:
    Ponieważ to jest Bascom to chyba szybciej będzie wstawić na linii E np w szeregu 6 jakiśch bramek, np inwerterów lub zwykłych buforów.

    Tylko żeby nie doszło do sytuacji że dane zmienią się a linia En jeszcze nie opadnie. Zresztą opóźnienia z bramek nie będą zbyt duże. Można też rozpatrzyć sterowanie prądowe o którym gdzieś tam na początku wspominałem. A dodatkowo warto zacząć uczyć się czegoś bardziej elastycznego niż bascom.
  • #24 11470895
    Konto nie istnieje
    Konto nie istnieje  
  • #25 11471233
    Jacek Rutkowski
    Poziom 28  
    excray napisał:
    Saabotaz napisał:
    Ponieważ to jest Bascom to chyba szybciej będzie wstawić na linii E np w szeregu 6 jakiśch bramek, np inwerterów lub zwykłych buforów.

    Tylko żeby nie doszło do sytuacji że dane zmienią się a linia En jeszcze nie opadnie. Zresztą opóźnienia z bramek nie będą zbyt duże. Można też rozpatrzyć sterowanie prądowe o którym gdzieś tam na początku wspominałem. A dodatkowo warto zacząć uczyć się czegoś bardziej elastycznego niż bascom.

    Są dedykowane różnicowe nadajniki i odbiorniki linii ale łatwiej wykorzystać RS485 i małego procka a wtedy i szybko i pewnie będzie...
REKLAMA