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

Transmisja danych cyfrowych po 150m przewodzie - zakłócenia

pgnige 06 Lut 2010 11:30 5998 33
  • #1 7651254
    pgnige
    Poziom 14  
    Witam, mam problem z przesyłem danych cyfrowych na duże odległości tj. przewód 150m.
    Komunikacja odbywa się między dwoma mikroprocesorami atmega8, tak więc obowiązuje standard TTL.
    Przewód to standardowa skrętka 8-mio przewodowa z ekranem.

    Oto sygnał po podpięciu jednego przewodu (wykorzystanie jednej żyły z 8 - bez ekranu):
    Transmisja danych cyfrowych po 150m przewodzie - zakłócenia

    Sygnał po podpięciu ekranu przewodu do wspólnej masy:
    Transmisja danych cyfrowych po 150m przewodzie - zakłócenia

    W związku z tym, że jestem początkujący nie mam pojęcia jak uzyskać stabilny przebieg sygnału cyfrowego bez stanów pośrednich (niedozwolonych j.w.).

    Bardzo proszę o pomoc.
  • #2 7651263
    netsecurite.pl
    Poziom 13  
    poczytaj o rs485
  • #3 7651363
    tmf
    VIP Zasłużony dla elektroda
    Laczysz bezposrednio dwa procesory? To nie moze zadzialac, szczegolnie na skretce. Poczytaj o nadajnikachodbiornikach linii, RS485, CAN. Pamietaj tez, ze w zaleznosci gdzie tenkabel idzie trzeba go zabezpieczyc przed przepieciami i indukowaniem sie wysokich napiec. Napisz jaka jest predkosc transmisji, full-duplex, simplex? To bedzie mozna doradzic cos wiecej.
  • #4 7651367
    pgnige
    Poziom 14  
    Już pytałem tutaj na forum odnośnie transmisji jednoprzewodowej i chodzi mi jedynie o odfiltrowanie tych zakłóceń. Nie wchodzi w grę żadna zmiana transmisji, ani nic innego. Można powiedzieć, że nie ma mikroprocesorów - podaje jedynie sygnał cyfrowy na wejście przewodu i na wyjściu chcę uzyskać identyczny przebieg.

    Transmisja odbywa się na RS232 - nadajniki i odbiorniki w obu mikroprocesorach są ze sobą zwarte i w odpowiednim momencie włączane lub wyłączanie, tak aby można było wysyłać po 3 bajty w obu kierunkach.

    Ten temat napisałem po to, aby uzyskać odpowiedź odnośnie odfiltrowania sygnału po tak długim przewodzie.

    Dodam, że na krótkim tj. 1m działa bez najmniejszych problemów.

    Czy jest możliwość stłumienia tego sygnału czy może coś innego, co rozwiąże ten problem.

    Bardzo proszę o ewentualny schemat takiego rozwiązania.
  • #5 7651433
    Konto nie istnieje
    Poziom 1  
  • #6 7651446
    pgnige
    Poziom 14  
    Nie mam doświadczenia z RS485 w BASCOM'ie.
    Jak taka transmisja wygląda i jak przedstawia się program w tym języku?
  • Pomocny post
    #7 7651454
    _Robak_
    Poziom 33  
    Oj kolego pgnige, niepokorny jesteś ;) Mówliśmy że nie ma prawa działać to pisałeś, że komunikacja śmiga aż miło, ba że jest przetestowana.
    Cytat:

    Wszystko jest sprawdzone i na tak długim przewodzie cyfra jest idealna po odfiltrowaniu, które już zrobiłem. Tak więc 1kHz i więcej spokojnie bez żadnych problemów przez 150m przejdzie.
    To jest 100% pewne - na oscyloskopie sprawdzałem, że dane na wejściu przewodu są w tym samym czasie na jego wyjściu (za filtrem).

    Napisz czy możesz dalej korzystać TYLKO z jednego przewodu, jeśli nie to w programie masz UARTa a dalej konwerter na RS485, czyli z twojej strony to dalej uart. Jeśli chcesz koniecznie cały czas po RSie, to ja bym sygnały tx i rx posłał jako komplementarne sygnały, czyli rx, ~rx, tx i ~tx. Ale na jednym kablu i to napięciowo to nie wiem czy da sie cokolwiek zrobić.
  • #8 7651460
    pgnige
    Poziom 14  
    Cytat z poprzedniego tematu opisuje przesył sygnału zegarowego, a nie faktycznej transmisji danych.
    Dokładnie - chodzi mi cały czas o transmisje na jednym przewodzie i nic innego nie wchodzi w grę.

    Dodano po 3 [minuty]:

    Chcę tylko to co jest na wejściu przesłać dokładnie takie na wyjście przewodu 150m.
    W sieciach komputerowych nie ma problemu przesyłu kilku danych cyfrowych naraz przez skrętkę.
    Tutaj jednak problem jest dość poważny.
  • #9 7651502
    _Robak_
    Poziom 33  
    Tyle że seygnał zegarowy jest najcięższym sygnałem do przesłania, no ale nie ważne ;) Przeczytaj https://www.elektroda.pl/rtvforum/topic89088.html
    Potem znajdź jaki kabel sugeruje zastosować dallas, gdzieś na forum ta informacja jest. Potem sprawdź i pewnie się przekonaj. Myśle ze lepszego rozwiązania nie ma bo by takie po prostu stosowano ;)
    Cytat:

    W sieciach komputerowych nie ma problemu przesyłu kilku danych cyfrowych naraz przez skrętkę.

    Zrozum że w tych sieciach dane śle się różnicowo, czyli zakłócenia się znoszą. U ciebie na jednym kablu są one niejako niemierzalne. Możesz spróbować dać na wejście bramke schmitta, ale to tylko przypuszczenie, być może błędne ;)
  • #10 7651523
    Konto nie istnieje
    Poziom 1  
  • #11 7651573
    pgnige
    Poziom 14  
    Bramka schmitta pomoże w tej sytuacji?
  • #12 7651582
    Tantalos
    Poziom 18  
    Najprościej uodpornić przesył danych można zwiększając prąd płynący w skrętce dając rezystory do masy na wejściu odbiornika i ewentualnie jakiś bufor wysoko-prądowy (np. 74AC245) na wyjściu.
  • #13 7651606
    tmf
    VIP Zasłużony dla elektroda
    Mozesz zastosowac na przewodach nadajniki/odbiorniki linii np. DS7830/DS7820 itd. Szukaj wsrod line driver/receiver. Chociaz najprosciej to zrealizowac stosujac 75176 jako nadajnik/odbiornik RS485, to sie laczy po prostu do portow RX/TX mikrokontrolera. Przy tak dlugiej linii moze jeszcze zajsc koniecnzosc dopasowania poziomu mas. Generalnie problem nie jest tak banalny jak ci sie wydaje i poczytaj najpierw cos o liniach dlugich, przesylaniu sygnalu itd. Bo tu porownywanie tylko ksztaltu przebiegow na oscyloskopie nie wystarczy.
  • #14 7651644
    Samuraj
    Poziom 35  
    pgnige napisał:
    Bramka schmitta pomoże w tej sytuacji?


    Nic nie da, a będzie i jeszcze gorzej gdyż zaraz napiszesz kolejny post że przebieg masz ładny lecz na wyjściu masz co innego jak na wejściu. Już ktoś wyżej pisał że po tej całej transmisji "zjadło" Ci jeden przebieg. Więc jak to przefiltrujesz że będą ładne przebiegi to i tak będziesz mieć problem z odebraniem poprawnych danych.
  • #15 7651733
    Logan
    Poziom 30  
    pgnige napisał:
    W sieciach komputerowych nie ma problemu przesyłu kilku danych cyfrowych naraz przez skrętkę.


    W Twoim przypadku skrętka to chyba najgorsze rozwiązanie, już lepiej będzie na zwykłym, ekranowanym przewodzie sygnałowym.
  • #16 7651748
    pgnige
    Poziom 14  
    Transmisja danych cyfrowych po 150m przewodzie - zakłócenia

    Jak dołączyć do tego bufor (mam cd4050be)?
  • #19 7651847
    _Robak_
    Poziom 33  
    Na stronie 73 jest właściwy schemat ;]
  • #20 7651985
    slx
    Poziom 19  
    Ja robiłem takie coś:
    Transmisja danych cyfrowych po 150m przewodzie - zakłócenia
    działało bezproblemowo z prędkością 19200 na: 200m przewodu domofonowego 6 x 0.5 mm² + 100m przewodu energetycznego 2 x 0.75 mm² + 100m przewodu 8 x 0.5mm²
  • #22 7652245
    pgnige
    Poziom 14  
    slx - Dzięki za schemat, ale ja potrzebuje dwukierunkową transmisję jednoprzewodową.
    _Robak_ - czy schemat z 73 usunie problem?

    O 1-wire nie wiem za dużo (jedynie czujniki DS18B20), więc nie jestem w stanie zastosować tej transmisji do łączenia dwóch mikroprocesorów.
  • #23 7652290
    _Robak_
    Poziom 33  
    Oczywiście że usunie, jednak tylko problem łączenia ze sobą wyjść przeciwsobnych ;)
  • #24 7652456
    Konto nie istnieje
    Poziom 1  
  • #25 7652507
    _Robak_
    Poziom 33  
    Wyjść po prostu wyjść ;)
    Czyli nie moge sobie na płytce dać slavea na 1W bez licencji? Czy nie mogę sprzedawać układów na 1W slave ?
  • #26 7652508
    pgnige
    Poziom 14  
    Jak połączyć dwie atmega8 za pomocą 1-wire w BASCOM (program)?
  • #27 7652539
    _Robak_
    Poziom 33  
    Ja na twoim miejscu najpierw bym jednak odpalił komunikację jakąś, czyli wysyłasz jakieś bity i sprawdzasz czy takie odebrałeś. Jeśli odbiór będzie zły, to choćbyś nie wiem co tam zaimplementował to ten 1W odbierze to co widzi port. Chyba że zrobisz korekcję błędów jakąś.
  • #28 7652546
    janbernat
    Poziom 38  
    Może zacznij od tego aby przy obu procesorach dać oporniki 240om do +.
    Powinny być ok. 120om ale procesor tego chyba nie wytrzyma.
  • #29 7652577
    pgnige
    Poziom 14  
    Ten układ ze strony 73 nie działa poprawnie (diody schottky'ego in5817).
  • #30 7652703
    _Robak_
    Poziom 33  
    Z pewnością nie działa :> Proponuje zacząć od szukania błędu u siebie!
REKLAMA