Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

RXD TXD - rs232 jak zrobić transmisje pomiedzy avr, dłusosc

fiskusmati 11 Wrz 2009 23:48 3476 19
  • #1 11 Wrz 2009 23:48
    fiskusmati
    Użytkownik obserwowany

    Witam, ostatnio zainteresowałem sie rs232 i łatwoscią jego działania. Zaplanowałem układ master i kilka układów slave. Wszystkie atmegi8 układ master miałby przesyłac kilka zmiennych funkcją print a układy slave miały by to odbierac. Pierwsze pytanie: Czy można tak podłączyć kilka odbiorników równolegle do jednego nadajnika rs232 (chodzi o to czy ten sygnał nie będzie zasłaby zeby rozdzielic sie na kilka identycznych, z tym jest problem w video). Następnym problemem jest odbiór danych, w skrócie układ master miał by miec w nieskączonej pętli do.loop wstawione gdzies Print time$ ; date$ ; temp1 ; temp2 a układy slave miały by kazdą osobną zmienną zapisac u siebie i wyswietlic na lcd, i pytanie: Czy tutaj wystarczy w pętli do...loop (w tym układzie slave) wstawić tylko Input czas ; data ; temp1 ; temp2 oraz niżej Lcd czas ; temp1 lowerline lcd data l temp2? Trzecim problemem jest długosc kabla, wiadomo 2 linie danych, masa (ew. zasilanie 5V) na kablu telefonicznym zakonczonym wtyczkami rj takimi telefonicznymi 4 pinowymi, ale mogły by byc odległosci nawet większe niz 100m wiec rs232 odpada, przeczytałem o rs422, i trzecie pytanie: Czy mozna z tego zrobic jakies przejscia zeby przesyłac to tak daleko? Moze jakies inne rozwiązanie? Schematy mile widziane :-)


    Cierpliwie czekam na odpowiedzi, pozdrawiam

    0 19
  • Pomocny post
    #2 12 Wrz 2009 00:01
    korrus666
    Poziom 40  

    Jak chcesz przesyłać dane na takie duże odległości to może RS485. W tym przypadku możesz łączyć więcej niż jedno urządzenie. Musiałabyś niestety zastosować konwerter RS232/RS485 przy każdym nadajniku/odbiorniku. Musisz sobie zaprojektować ramkę danych tak żeby odbiornik wiedział co odbiera (np jakiś bajt startowy) wtedy będziesz w odbiorniku po prostu odbierał dane i szukał tego bajtu startowego. Dalej już w kolejności będziesz przesyłał kolejne bajty i na koniec najlepiej jakiś bajt z sumą kontrolną. Tak żeby mieć pewność że dane są prawidłowe i tylko takie wyświetlać.

    0
  • Pomocny post
    #3 12 Wrz 2009 00:06
    Balu
    Poziom 38  

    Można kilka podłączyć, problem w video? co?

    Na daleko to rs485... ethernet... (z sieciówkami 3com'a).
    P.S. literówka w avatarze to niedbalstwo:P

    0
  • Pomocny post
    #4 12 Wrz 2009 00:19
    rusala
    Poziom 22  

    swego czasu przesylalem dane po wlasnie takim kablu telefonicznym do tego "napowietrznym"miedzy dwoma komputerami na odleglosci 25m na normalnym RSie i nawet to chodzilo pomimo, ze specyfikacja mowi cos o 15 czy 16m ;-) Kilka odbiornikow nie bedzie chyba problemem, oczywiscie nie mozna juz tego tak latwo zrobic z nadajnikami. Na wieksze odleglosci mozesz tak jak sugeruja koledzy RS485/422 Tutaj sprawa wielu odbiornikow/nadajnikow jest rozwiazana automatycznie (do conajmniej 32). Odleglosci 100m nie powinny byc problemem, a przy obnizeniu predkosci mozna teoretycznie wyciagnac pomiedzy 1 a 2 km.

    Balu - z wideo pewnie chodzilo o rozdzielenie sygnalu typu composite

    0
  • Pomocny post
    #5 12 Wrz 2009 10:16
    Balu
    Poziom 38  

    @rusala jeśli tak-> świetne porównanie;) Nie ma to jak porównać sygnał analogowy i cyfrowy:)

    0
  • #6 12 Wrz 2009 10:22
    fiskusmati
    Użytkownik obserwowany

    Dokładnie, chodziło o rozdzielenie sygnału video composite, np przykładowo z kamary analogowej video, podłączysz ją pod 2 odbiorniki to jeszcze zadziała ale równolegle pod 10 odbiorników to nie zadziała albo sie nawet uszkodzi.

    A z tym bitem kontrolnym to też myslałem o tym żeby przed każdą zmienną umiescic tak jak by adres urządzenia o którego wysyłamy zmienną, ale to w tym wypadku jezeli jest wiecej niż jeden nadajnik lub odbiorniki wysyłaja też zmienne do układu master np o otworzeniu lodówki. I chodzi o to zeby tylko układ master to odebrał bo w innym przypadku tą zmienną 1 lub 0 odbierze jakis układ slave i wyswietli to jako temp :-) Tylko nie wiem czy to powinno byc np tak ze adres danego urządzenia przypuscmy wybrałem sobie h32h i teraz wysyłam z układu master: Print h32h ; temp1 i zeby urządzenie do ktorego jest to wysyłane odebrało Input kod ; temp1 potem If kod = h32h then
    .....
    end if


    Pozdrawiam

    0
  • Pomocny post
    #7 12 Wrz 2009 11:33
    rusala
    Poziom 22  

    ale to zakreciles chlopie. Czyli teraz chcesz miec komunikacje w 2 strony tak? No to musisz uzyc konwerterow z mozliwoscia wylaczania wyjscia i w momencie jak z mastera przyjdzie adres danego urzadzenia i poprawnie go zdekoduje to wlacza sie w linie zwrotna (jako w tej chwili jedyny nadajnik na niej) i wysyla isfo do jedynego odbiornika na niej czyli mastera w tym wypadku. A no i tak przy okazji zeby nie bylo nieporozumien, przy tej odleglosci i transmisji roznicowej kabel telefoniczny nalezy zamienic na skretke rzecz jasna :-)

    0
  • Pomocny post
    #8 13 Wrz 2009 13:09
    Balu
    Poziom 38  

    Jak w dwie strony to rs485 w sumie po to jest wymyślony:)

    0
  • #9 13 Wrz 2009 16:47
    fiskusmati
    Użytkownik obserwowany

    Rzecz jasna że na skrętkę :-)

    0
  • #10 15 Wrz 2009 23:03
    fiskusmati
    Użytkownik obserwowany

    Patrzyłem, jeżeli chodzi o przejsciówki rs232 > rs484 i nici, znalazłem jedną za 600zł (?) Spodziewałem sie bardziej cany 5zł, jeżeli to jest takie drogie to nie ma co sobie zaprzątać tym głowy.

    Możecie mi koledzy powiedziec czy dac jakis schemat tego? Czy To jest taka ciezka przejsciówka i kosztowna?

    Oraz proszę o wyjaśnienie jakiej długosci mogą byc kabelki w ic2 bo rozumiem ze jest to cos bardzo podobnego do rs232.

    0
  • Pomocny post
    #11 16 Wrz 2009 14:11
    Balu
    Poziom 38  

    Po kolei, schematów pełno w necie do rs232->485, generalnie max232, max485 (czy coś w ten deseń - transceiver do rs485), jakiś układ rc / ne555 i garść elementów.
    Szukaj dobrze;]

    Co do i2c i rs232 to dwie zupełnie inne rzeczy. I2c jest z założenia MAGISTRALĄ lokalną (długość przewodów w cm.) Rs232 nie jest magistralą! Z założenia służy do łączenia urządzeń 1:1.

    End.

    0
  • Pomocny post
    #13 16 Wrz 2009 18:54
    rusala
    Poziom 22  

    Balu a na co ten generator?

    I2C jest czyms ZUPELNIE innym. Przede wszystkicm jest synchroniczne (posiada linie zegarowa) i dziala zawsze w half duplexie. Do tego jak napisal Balu mozna podpiac wiecej niz 2 urzadzenia. Nie pamietam ale zdajsie ze I2C jeszcze smiga przy 2m.

    Transcieverow do 485/422 w cenie 4-8 PLN znajdziesz na peczki chocby na TME. Jako ze jest to w zasadzie tylko translacja napiec/pradow a nie zadnego protokolu podpinasz i dzial - banalnie proste.

    0
  • Pomocny post
    #14 16 Wrz 2009 20:14
    Balu
    Poziom 38  

    Generator albo układ rc do sterowania kierunkiem transmisji:)

    0
  • #15 16 Wrz 2009 22:03
    fiskusmati
    Użytkownik obserwowany

    rusala napisał:
    Transcieverow do 485/422...


    Masz na myśli np rs232 do rs485? Czy w rs485 reż jest rxd i tdx czy cos innego - podobnego?

    Dodano po 11 [minuty]:

    W tme znalazłem układy, ale jakies schematy? Przykładowo do tego: SP485ECP-L układu. któres nozki podłączam podexd i txd w avr a ktores do skrętki i kilkaset metrów i potem odbiornik czyli ten sam układ i bezposrednio do nozek avr'a? zadnych rezystorów kodensatorów z boku? poprostu txd rxd in i 485 out, zasilanie masa i tyle?

    Poprostu zniechęciłem silę nieco dzwoniąc do mdh w ktorym otrzymałem info ze takowy konwanter kosztuje ponad 120zł... sami zobaczcie: nr aukcji allegro: 731901501

    Pozdrawiam

    0
  • Pomocny post
    #16 16 Wrz 2009 22:03
    rusala
    Poziom 22  

    te standardy sa na transmisje roznicowa co oznacza, ze sygnal "leci" dwoma skreconymi przewodami w jednym kierunku. W przypadku 485 sygnal w druga strone leci ta sama para przewodow (oczywiscie nie naraz w obie strony) a 422 zaklada dwie osobne pary na transmisje i odbior. Z "drugiej strony" scalaka masz normalnie linie odbiorcza i nadawcza tak jak RX i TX. Poczytaj datasheety np do MAX485 (dokumentacja bedzie przekrojowa od MAX48 costam do mniejsiwecej MAX491).

    0
  • Pomocny post
    #17 16 Wrz 2009 22:16
    Balu
    Poziom 38  

    Gotowy tyle kosztuje i jest to Zdrowa cena.
    Ktoś to musiał zaprojektować, sprawdzić, polutować, wystawić i jeszcze zarobić...

    0
  • #18 16 Wrz 2009 22:19
    fiskusmati
    Użytkownik obserwowany

    Ok to czy może mogłby któryś z panów zrobić (moze byc i w paintbrushu :-) ) Schemacik tego ustrojstwa tzn, mega8 - max485 - skrętka 100m - max 485 - atmega8

    Pozdrawiam

    0
  • Pomocny post
    #19 16 Wrz 2009 22:22
    rusala
    Poziom 22  

    no oczywiscie, za to sie placi. Co do rezystorow to spojrz w ten datasheet! zobaczysz tam ze na koncu linii (czyli przy odbiorniku) nalezy terminowac linie rezystorem 120 ohm. Maksymalna odleglosc jest spora i wynosi ponad kilometr ale nie mozna sie spodziewac ze transmisja na takiej odleglosci bedzie mogla przebiegac bezblednie przy duzej predkosci. Genarlnie czym dalej tym wolniej ale niema tu zadnej tragedii jesli nie spodziewasz sie transferow po 2 mega bity.

    0
  • #20 16 Wrz 2009 22:28
    fiskusmati
    Użytkownik obserwowany

    9600 bdów chyba mniej sie nie da ;-)

    0