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

Wireless rs232. Czy istnieje możliwość zestawienia połączenia rs232?

07 Kwi 2006 23:53 3464 12
  • Poziom 19  
    Wiem, że temat przewijał się sporo razy na elektrodzie i czytałem wiele topiców o tym, ale chciałem tu zebrać potrzebne informacje. Potrzebny mi bezprzewodowy jednokierunkowy rs232 między PC i uC. W tym celu chciałem kupić CC1000PP jednak wiele czytałem ,że trudno go oprogramować dlatego wybrałem hybrydowe moduły radiowe telecontrolli. Na razie zmontowałem z nich taki układ, że przy wciśnięciu przycisku na płytce z nadajnikiem ma się zapalić dioda na płytce z odbiornikiem. Przy uruchamianiu tego spotkało mnie jednak pewne zaskoczenie mianowicie przy wyłączonym nadajniku dioda mruga z częstotliwością ok. 20Hz (tak na oko). Po włączeniu nadajnika nie dzieje się nic a dopiero po jego wyłączeniu dioda na chwilę gaśnie – ale co mnie dziwi nie od razu za z 0,5s opóźnieniem . Nasuwają się trzy wnioski:
    1) odbiornik odwraca sygnał
    2) nie pracuje na stanach tylko na zboczach
    3) istnieją spore zakłócenia
    4) a o opróżnieniu to nie wiem co myśleć
    I teraz pojawia się zasadnicze pytanie czy zważając na te cechy istnieje możliwość zestawienia połączenia rs232 na tych modułach. A jeśli tak to byłbym bardzo wdzięczny gdybyście wytłumaczyli mi jak to zrobić (nigdy się w to nie bawiłem).

    Bardzo dziękuję i pozdrawiam
    Takaba
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Pomocny post
    Poziom 32  
    Prawdopodobnie te moduly nie przenosza " zadnej " czestotliwosci cos w rodzaju pilota samochodowego oczywiscie mozesz probowac bardzo powolne transmisje rzedu kilku sekund na bajt ale pewno nie o to chodzi , znacznie pewniejszym rozwiazaniem beda uklady cc...
    oraz bluetooth np z myszki... , zawsze mozesz sie bawic tworzac od podstaw systemy nadawczo odbiorcze ale to strasznie pracochlonne i jak wlasnie trafiles nie zawsze dziala , w ramach zabawy sprobuj ukladow videosenderow posiadaja tory zarowno 433mhz jak i 2,4 lub 1,2 ghz i pewno bez problemu przeniosa z duza szybkoscia i twoje sygnaly - sa przystosowane do przenoszenia kodow z pilotow podczerwieni gdzie sa wykorzystywane bardzo krotkie impulsy (tor 433mhz) drugi tor to mikrofale i sygnaly video wiec wcale nie powinienes miec problemow z kazda szybkoscia portu rs.
  • Poziom 19  
    Dzięki.
    1) Mi chodzi o wysyłanie danych z komputera do uC więc "wyciągnięcie" bluetooth'a z myszki nic mi nie da bo tam transmisja idzie w drugim kierunku. Ale gdyby mieć jakąś myszkę która w jest w kompecie z odbiornikiem to już można się bawić. Tyle tylko, że zarówna całą elektronika myszki jak i nadajnik byłby na jednej płytce i nie miałbym pojęcia gdzie się dolutować, by móc nadawać...
    2) Videosendery:
    - po pierwsze nie są tanie
    - przesyłają chyba obraz jako sygnał analogowy więc nie wiem jak by to wykożystać do rs232 (słabo się znam na elektronice analogowej)

    ------------------------------------------

    Byłbym wdzięczny gdyby wypowiedział się ktoś kto w swoim układzie zastosował moduły radiowe telecontrolli i podzielił się swoimi doświadczeniami. Już kupiłem te moduły więc chciałbym ich użyć.

    Pozdrawiam
    Takaba
  • Poziom 22  
    takaba Zestawiłem kiedyś transmisję RS232 na modułach RT1 i RR4. Aplikacja dosłownie jak w notach tych modułów, beż żadnych dodatkowych elementów. Główny problem to straszne zbieranie śmieci z otoczenia przez odbiornik. Dopiero dobranie odpowiedniej 1/4 falowej antenki trochę poprawiło sprawę. Przy odrobinie zaparcia da się to zestawić na małych szybkosciach nadawania. U mnie to chodziło bodajże max na 900bps (na szybkości mi nie zależało). Do tego musiałem wysyłać z tego co pamiętam dość rozbudowane rozbiegówki przed wysłaniem głównej ramki danych (kilka bajtów) żeby "rozbudzić" nadajnik. Było to chyba jakoś tak (w bajtach dla 6 bajtowej ramki danych)
    00000000 00000000 00000000 00000000 00000000 00000000
    00000001 00000001 00000001 00000001 00000001 00000001
    00010001 00010001 00010001 00010001 00010001 00010001
    01010101 01010101 01010101 01010101 01010101 01010101
    i 6 bajtów właściwych danych
    Trochę to trwało, ale działało w miarę niezawodnie. Do tego jakiś protokół oczywiście nie wykorzystujący bajtów rozbiegówki lub ignorujący bajty rozbiegówki.
    Można się bawić w korekcję błędów, ale ja nie musiałem aż tak się w to wgłębiać.
  • Poziom 19  
    Heh, z jednej storny niby na plus, że udało Ci się to zrobić, ale czytając Twój post dochodzę do wniosku, że te moduły są jednak lipne...

    Jak już napisałem, nawet gdy nic nie nadaję to dioda podłączona do odbiornika mi mruga, to znaczy, że po podłączeniu tego odbornika do uC on ciągle będzie widział nadchodzące 0 i 1 pomo, że nic nie nadaję - jak sobie z tym poradzić?

    Jak jest z tymi modułami one pracuja na stanach (wysoki, niski) czy na zboczach?
    Bo jak włączam odbiornik to dioda zaczyna świecić a gdy włączam nadajnik i wyłączam to dopiero po tym następuje mrugnięcie diody. Powiedz mi, jak to z tymi modułami jest. Czy zachowują się tak jak powinny czy coś mam źle zrobione?

    Mam takie pytanie, może gdyby zamiast podłączać uC do modułów radiowych bezpośrednio lepiej byłoby za pośrednictwem MC145026. Czy one zajęłyby się "czarną robotą" i poradziły sobie ze śmieciami jakie ściąga odbiornik i dostarczyły czystego cyfrowego sygnału? Jak sądzisz?
  • Poziom 12  
    Ja troszkę zacząłem kiedyś zabawe tymi modułami z telecontrolli i było tak że prosty nadajnik(RT6? - chyba) i odbiornik(RRQ3) zachowywały się coś jak u ciebie, natomiast przy lepszym(RT11) nadajniku przesyłanie stanu przysisku działało prawie bezbłędnie(testowałem do 10m). Niestety później miałem ważniejsze rzeczy na głowie i projekt trafił do szafy. Osobiście polecam CC1000 - nic jeszcze na tym nie robiłem ale rozmawiałem z ludźmi co robili i ni narzekali. A konfiguracja jest napisana pod AVR i PIC w C więc przekompilujesz na cokolwiek. Jedyną wadą tego rozwiązania jest to że musisz mieć dodatkowo uC po stronie odbiornika.
  • Poziom 22  
    Można stwierdzić, że moduły sa raczej lipne, ale czego oczekiwać od modułu za parenaście zł. Z kolei CC1000, z tego co zauważyłem, sprawiają masę kłopotów konfiguracyjnych.

    Dioda mruga Ci bez nadawania, bo odbiornik zbiera śmieci z otoczenia i przypadkowe bity powodują jej załączanie. Do pewnego stopnia poradziłem sobie z tym przez ustawiajenie ramki danych np. na 6 bajtów i określenie niejako protokołu przesyłu w którym po "rozbiegówkach" przesyłane dane miały np. postać 128,129,130,131,132,x gdzie dopiero ostatni bajt był np. właściwym bajtem niosącym jakąś komendę do rozpoznania przez procesor odbiorczy. W przypadku mrugania diodą led mogłoby to być 0/1 w którymś z bitów bajtu.
    Procesor odbiorczy po otrzymaniu 6 bajtów danych (obojętnie czy z nadajnika czy z otoczenia) sprawdzał np. czy pierwszych 5 odebranych bajtów to właśnie 128,129,130,131,132 i wtedy interpretował 6-ty bajt jako właściwą komendę do wykonania. Im większa ramka danych tym mniejsze prawdopodobieństwo że śmieci z otoczenia ułożą się w taką właśnie sekwencję. Jednak coś za coś. Zwiększa się czas przesyłu niestety. Można do tego dołożyć powtórny przesył ramki i sprawdzenie czy zgodna jest z poprzednia (weryfikacja przesyłu jak w MC14xxx).

    Próbowałem zabawy z enkoderami i dekoderami MC, próbowałem też z enkoderem UM108. Efekty nie były szokująco lepsze (prawdę mówiąc z tego co pamietam chyba w ogóle ich nie było) niż przy przesyle na gołych modułach RT1/RR4. Więc zostałem przy gołych modułach.

    Nie odpowiem na pytanie, czy moduły pracują stanami, czy zboczami bo nawet nie wiem.

    Z tego co kiedyś tam wyczytałem możliwe jest bezpośrednie podpięcie RT pod COM komputera (oczywiście przez MAX232). Ja sam wstawiłem jednak po stronie nadajnika procesor, bo po obu stronach miałem moduły nadawcze i odbiorcze (tranceiver :D) i cos musiało mi odpowiednio przełączać między nadawaniem i odbieraniem.
    Jako że nie jestem guru w programowaniu nie wchodziłem w CC1000 i początkującym na dzień dobry raczej tego nie polecam.

    Wejście w układ MC14xxxx zależy od tego co chcesz przesłać. Jeśli ma to być tylko jeden sygnał typu on/off dla diody to można to zrobić na tych układach i wykorzystać wyjście VT z odbiornika. Przesył danych już raczej nie jest na nich możliwy. Do przesyłu bardziej nadają sie układy z serii UM108, ale problem w tym, ze dane w odbiorniku pojawiają się w formie równoległej, co wymaga angażowania do 8 portów procesora lub stosowania dodatkowych konwerterów przesyłu równoległego na szeregowy.[/url]
  • Poziom 19  
    Ok, dziękuję za tak wyczerpującą odpowiedz. Przyznam się, że nie chce zmarnować masy czasu na uruchomienie tych modułów dlatego chyba przesiądę się na przesył w modulowanym IR. Mimo wszystko nie bedzie tylu śmieci - ewentualnie pilot od TV coś zakłuci :)
  • Poziom 22  
    Jak tam sobie chcesz. Nie uważam, żeby uruchomienie ich było skomplikowane bardzo. Tyle samo czasu stracisz na IR. A jednak co radio to radio :D
  • Poziom 19  
    Ale czy przy IR występuje zbieranie śmieci? Będą potrzebne tylko jakieś sumy kontrolne by wyeliminować wpływ innych urządzeń na IR. A tutaj jakiej rozbiegówki, nawawanie masy bajtów w pakiecie z czego tylko jeden to właściwe dane - tragedia...

    Masz rację - co radio, to radio. Ale ja potrzebuję coś w miarę niezawodnego :)

    A dlaczego uważasz, że mc nie nadaj się do przesyłu danych?
  • Poziom 22  
    W IR również występują śmieci :D Nieporównywalnie mniejsze niż przy radiu - śmieciem jest każde inne źródło IR np. błysk zapalniczki :D
    Oczywiście nie chcę rozwijać dyskusji o wyższości jednego nad drugim - wszystko zależy od zastosowań.

    Co do rozbiegówek i nadawania masy bajtów. Wszystko zależy ile danych chcesz przesłać? Poczytaj dokumentację MC145026/27 a zauważysz, że układ przesyła tylko 4 bity danych, więc chcąc niechcąc transmisja 1 bajtu będzie tak czy siak wymagać 4 "nadań" - dwie połówki bajtu nadane 2 razy (co wynika ze specyfiki układu, który dwukrotnie wysyła dane i sprawdza poprawność ich odebrania). Jeśli ma to być sterowanie typu on/off dla jednego urządzenia - fakt, w zupełności 1/2 bajtu wystarcza.
    Poza tym poczytaj sobie wątek https://www.elektroda.pl/rtvforum/topic305123.html
    Użycie MC w układzie z radiem, czy IR sprawia odrobinę problemów z doborem właściwego oscylatora w obu układach i dostosowaniem go do częstotliwości pracy modułów telecontrolli (czy też IR) i prawdopodobnie szybciej dopiszesz sobie programową kontrolę przepływu danych do "gołych" RT i RR niż dobierzesz właściwy układ RC do MC.
  • Poziom 19  
    w IR takie śmieci jak zapalniczka chyba daje się zredukować nadając falę nośną 36kHz pozostaną tylko takie zakłucenia jak inne urządzenia na IR ale to idzie wyeliminować sumami kontrolnymi. Kwestia jest tylko taka, że chcę zrobić transmisję tylko w jednym kierunku. Więc nawet jeśli sumami wykryję, że pojawił się błąd to nadawca o tym nie wie więc nie może zrobić retransmisji. Chyba, że będzie każdy pakiet dublować tak jak w RC5.

    Jeśli w MC muszę dobierac RC to rzeczywiście już lepiej programowo się bawić w kontrolę przepływu.