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

Moduły radiowe 433MHz do komunikacji RS232 z AT90S2313, 600 baud, bezproblemowe

Ziele6 25 Sie 2006 17:58 4088 14
REKLAMA
  • #1 2952669
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    Mam układ dwóch uP (at90s2313) które komunikują się w jedną stronę przez rs232. Potrzebuje rozdzielić te dwa układy i wstawić pomiędzy tor radiowy 433MHz. Wysyłane jest pare bajtów co 1 sekunde przy predkości 600 baud. Które moduły wybarać żeby to ruszyło odrazu bez żadnych kombinacji. Czas mnie goni i niestety nie mam czasu na eksperymenty :( próbowałem na tych tych tanich modułach z AVT rt1 i rr3 ale one sa do niczego. Coć tam odbiornik odbiera (widać po podpięciu led'a) ale chyba to sa jakies śmieci :( Próbowałem też dawać na rozbieg pare nieznaczących bajtów i też nic. Proszę o pomoc.
  • REKLAMA
  • #2 2952742
    Elektrooonik
    Poziom 29  
    Posty: 1212
    Pomógł: 127
    Ocena: 83
    Cześć!
    Ponad rok temu próbowałem uruchomić podobny układ, też transmisja 90s2313 po rs232 przez tanie moduły radiowe z AVT ale niestety po kilku tygodniach prób z róznymi predkosciami tranmisji, kodowaniem itp nie udało mi się tego zrealizować, do transmisji cyfrowej odbiornik łapie za dużo zakłóceń.

    Polecam temat https://www.elektroda.pl/rtvforum/topic252499.html w którym o tym pisałem.

    Zainteresuj się modułami CC 1000, są o wiele lepsze, opisywane są w przytoczonym przeze mnie temacie.

    Pozdrawiam
    Paweł
  • #3 2952949
    Jaca
    Poziom 32  
    Posty: 1332
    Pomógł: 239
    Ocena: 217
    Robiłem kiedyś transmisję radiową na RT4 i RR3 i pracowało to poprawnie. Początki były ciężkie aż do momentu kiedy dostrzegłem w dokumentacji RT4, że maksymalna częstotliwość danych (przepustowość) tego układu wynosi 4 kHz. Prędkość 2400 body jest więc dla RT4 za duża. Osobiście nie używałem UART'a uC do transmisji danych poprzez RT4. Wykonałem sobie własną ramkę danych (preambuła, id, info, dane, crc) i wysyłałem to szeregowo przez zwykły (dowolny) pin uC.

    Pozdrawiam...
  • REKLAMA
  • #4 2953131
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    Elektrooonik: trochę poczytałem na tematy cc1000 i całkiem fajne moduły. Tylko że na ruchomienie tego potrzeba dużo czasu i niezbędna jest modyfikacja kodu tzn dołożenie konfiguracji modułów. Jak narazie w tej kwesti jestem ziolony jak mój nick ;) Wolałbym coś co wkładam pomiedzy dwa uP i chodzi odrazu.
    Jaca: te RR3 o których mówisz to sa te same co z avt? czy tez jakies inne? Ja potrzebuje 600baud lub nawe troche mniej bo to w koncu pare bajtów więc chyba bym się nie zlapał na tych ograniczeniach.
  • REKLAMA
  • #5 2953152
    mgradzki
    Poziom 16  
    Posty: 295
    Pomógł: 7
    Ocena: 11
    A na jaką max. odległość można przesyłać dane przy użyciu tych modułów (CC1000) ??
  • #6 2953199
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    Z tego co wyczytałem to do 2km przy dobrych antenach i braku zakłuceń. Wracając do mojego problemu ktoś może jeszcze jakieś sprawdzone moduły polecić?
  • REKLAMA
  • #7 2953317
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    2Km to bajka producenta ;) w praktyce dobrym wynikiem jest kilkaset metrów, zakłócenia będą zawsze, a "dobra antena" to pojęcie bardzo względne (nie wiadomo jaka charakterystyka jest wymagana) CC1000 są sprawdzonym rozwiązaniem, ale trudnym, jak sam zauważyłeś, w implementacji. Nie spotkałem się z takimi jakich wymagasz, zawsze była wymagana konfiguracja, chyba że zastosujesz radiomodemy, są drogie, ale przy odpowiedniej konfiguracji będą przezroczyste dla systemu.

    Radiomodemy oparte o cc1000 produkuje soyter, kiedyś był opis podobnych w EP
  • #8 2953433
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    A nie ma czegoś takiego jak te rt1 i rr3 z avt tyle że w lepszym wydaniu?
  • #9 2958489
    bajk
    Poziom 13  
    Posty: 88
    Pomógł: 3
    Ocena: 1
    Dodam, że jest jeszcze mały i tani transceiver CC2500, sam go na razie nie sprawdzałem, ale cena (10,90+vat) wygląda zachęcająco, tymbardziej, że do działania potrzebuje tylko kwarcu (+2 kondensatory) i jednego rezystora, a antena jak podali w pdf (alternatywna) to kawałek ścieżki od jednego pinu do drugiego - tylko trzeba wiedzieć jak ją dobrze poprowadzić :(.

    Może nie jest to najprostsze rozwiązanie od zaraz, ale jak by kogoś to interesowało to tylko tak dodałem.

    Co do modułów firmy telecontrolli to ja używałem RT4 i RR3, udało mi się nawiązać taką w miarę komunikację (przechodziły całe ramki z pseudo sumą kontrolną), ale po dołożeniu serwa zasilanie było niestabilne, dodałem diodę przed modułem w odbiorniku i parę kondensatorów udało się uzyskać częściowy sukces, tyle że przechodziło mniej ramek i serwo skakało zamiast się poruszać płynnie, bez serwa wszystko było nawet ok, ale zasilnie musi być stabilne i przeszkadzają zakłucenia wokoło. Nic dziwnego, że te moduły nadają się głównie do pilotów od alarmów samochodowych. Oczywiście transmisja była przez uarta, z odwróconym przebiegiem (linia uartu normalnie jest w stanie wysokim - czyli moduł nad. ciągle by pracował) no i przydaje się też preambuła chociaż już potem działało i bez niej.

    Są jeszcze odpowiedniki tych modułów, chyba jakieś bt cośtam dostępne w gammie, spotkałem się kiedyś z projektem zrealizowanego na nich toru zdalnego sterowania, ale nie mogę znaleźć tej strony, gdzieś na elektrodzie był link do niej. Podobno są dużo bardziej odporne na zakłucenia i mająwiększy zasięg niż rr i rt.
  • #11 2962015
    Robin Robinowski
    Poziom 13  
    Posty: 59
    Pomógł: 2
    Ocena: 3
    Sprawdzone rozwiązanie jak juz zauważył MCRancor to CC1000. Wymaga sporo wysiłku od strony programowej ale efekt jest zadowalający. Co do zasięgu to udało mi się osiągnąć 50m w budynku, na wolnej przestrzeni jest znacznie lepiej (kilkaset). Wypadało by się jednak zastanowić czy program do obsługi modułów zmieści ci sie na At90S2313. Mi kod w C zajął ponad 5k ( ale miałem tam jeszcze dużo własnego kodu), rozwiazaniem wtedy moze byc assembler. Jest nawet jakis gotowiec na elektrodzie.
  • #12 2964084
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    Mam w obu gdzieś po 1KB wolnego miesca więc chyba raczej nie zmieści mi się kod. Jeden uP czyta dane z cyfrowego termometru dallasa przez 1wire wiec zrobiłem to w bascomie bo najprościej było. Znalazłem jakiś przykład pod bascoma ale jeszcze nie komplowałem tego. Zamówiłem sobie te cc1000pp bo i tak sie przydadzą ale ten projekt jednak chciałbym zrobić na czymś nieprogramowalnym.

    edit: tak mnie jeszcze naszło.. czy jest możliwość zaprogramowania na stałe cc1000? tak żeby go podpiąć do uarta i nie bawić się w konfigurację?
  • #13 2964458
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Mozesz zrobic tak, ze do ukladu dorzucasz dodatkowego uC np ATmege8 ( w zupelnosci wystarczy) ktora bedzie obslugiwala CC1000. Praktycznie zadnych zewnetrznych elementow nie potrzeba,tylo uC i modul CC1000 np z propoxa. uC moze chodzi na wewnetrznym oscylatorze 8Mhz. Jako wyjscie danych z uC - RS232 i masz bezprzewodowa komunikacje po RSie. A jeden uC wiecej to nie tragedia, dolozysz te 5 zł wiecej i masz wiele problemow z glowy. Ale co fakt to fakt. CC1000 tzreba skonfigurowac.
  • #14 2965252
    Robin Robinowski
    Poziom 13  
    Posty: 59
    Pomógł: 2
    Ocena: 3
    Niestety ale moduły CC1000 wymagają konfiguracji. ATmega8 to dobry pomysł, choć ja bym wszystko puścił na Atmega 8, po co dwa procesory ???
    Natomiast jeśli chcesz ominąć część programową to może spróbuj tego :

    http://www.lprs.co.uk/main/product.info.php?productid=154

    Ściągnij, przeczytaj dokumentacje i do dzieła :-)

    Wszystko masz w jednym układzie jak widać na zamieszczonym rysunku.


    Pozdrawiam

    R.R
    Załączniki:
    • Moduły radiowe 433MHz do komunikacji RS232 z AT90S2313, 600 baud, bezproblemowe rf.jpg (26.88 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #15 2969382
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    Ciekawe te nadajniki easy-Radio ale troche cena powala no i dostępność :( Chyba jednak będę musiał użyć cc1000pp. Przykład w bascomie jest tu: https://www.elektroda.pl/rtvforum/topic126349.html ale prawie wszystko leci na wstawkach asemblera, a ja niezabardzo go rozumiem. Czy byłby mi ktos w stanie powiedzieć jak przy uzyciu tego przykładu wysałać tablicę 9 bajtów (deklarowana: Dim Bd(9) As Byte) i po drugiej stronie odebrać i wpisać dane do takiej tablicy?

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy wyboru modułów radiowych 433 MHz do bezproblemowej, jednokierunkowej komunikacji RS232 między dwoma mikrokontrolerami AT90S2313 przy prędkości 600 baud. Użytkownik próbował tanich modułów RT1 i RR3 z AVT, które okazały się niewystarczające ze względu na zakłócenia i brak stabilnej transmisji. Zalecane są moduły CC1000, które oferują lepszą jakość transmisji i zasięg do kilkuset metrów, jednak wymagają konfiguracji i dodatkowego oprogramowania, co może być problematyczne przy ograniczonej pamięci mikrokontrolera. Propozycją jest zastosowanie dodatkowego mikrokontrolera (np. ATmega8) do obsługi CC1000 i konwersji danych na RS232, co upraszcza integrację. Alternatywnie wskazano na radiomodemy gotowe do pracy bez konfiguracji, np. easy-Radio z LPRS, choć ich cena i dostępność mogą być ograniczeniem. Wspomniano także o innych modułach, takich jak CC2500 oraz hybrydowych TX5000 i RX5000 firmy RFM, które mają mniejszy zasięg. Przykłady implementacji w Bascomie z użyciem asemblera są dostępne, ale wymagają znajomości niskopoziomowego programowania. Podsumowując, dla prostoty i natychmiastowego działania trudno znaleźć moduł radiowy 433 MHz do RS232 bez konfiguracji, a najlepszym kompromisem jest użycie CC1000 z dodatkowym mikrokontrolerem lub gotowych radiomodemów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA