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

Prosta transmisja jednokierunkowa - CC1110 czy coś innego?

kuch_arc 07 Lip 2008 18:16 3611 11
REKLAMA
  • #1 5320581
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    Witam,

    Czytałem kilka wątków traktujących o układach CC1000. Mam dość mało czasu, bo zmieniła mi się koncepcja z karty SD + synchronizacji impulsem radiowym na pełna transmisję radiową, dlatego poszukuje najprostszego rozwiązania..

    Na początku myślałem, że zrobie to tak:

    czujnik->AVR->CC1000 CC1000->AVR->zapis.

    Ale interesująca opcją wydaje się być modół CC1110 który ma 8051 z ADC na pokładzie więc wtedy mógłbym zminimalizować liczbe elementów.

    Mam wobec tego takie pytanka:

    1. Jak zaprogramować CC1110 bez dev kitu za 600 USD?

    2. Czy jest to rozwiązanie prostsze niż np mój AVR + np. to http://www.propox.com/products/t_92.html. ??? Bo w sumie AVRa mam jako tako opanowanego podobnież jak jezyk C.

    3. Szukałem w necie czegoś nt. CC1110 , ale jest strasznie malo informacji (w porownaniu np do CC1000) i troche sie obawiam, ze jest to jakas kabała, w która wolałbym się nie pakować.


    Reasumując, nie miałem doświadczeń z radiem jeszcze żadnych i chciałbym wybrać najprostszą metoda, która pozwoli mi wykonać plan i jednocześnie się czegoś nauczyć.

    Bede wdzieczny za pomoc.
    Pzdro,
    qhash
  • REKLAMA
  • Pomocny post
    #2 5320987
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Witam.
    Przyjrzyj sie układom RFM12B 433 lub 868MHz. Są to gotowe moduły, znacznie tańsze i prostrze w konfiguracji. Dostępne między innymi w TME.
  • REKLAMA
  • #3 5321098
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    Hmmm.. czyli przez SPI ustawiam parametry pracy, potem mam komende do przysylania, ustawiam sobie interrupt zebym samplowal z czujnika/i zaraz potem wysylal co okreslony czas i violla ?

    taki transciever sam retransmituje jak nie dotrze jakis pakiet?
  • REKLAMA
  • #4 5328108
    pawci0
    Poziom 13  
    Posty: 36
    Pomógł: 3
    Ocena: 2
    W RFM12 trasceivery ustawia się poprzez komendy SPI, wysyłanie następuje poprzez wybranie odpowiedniej komendy i wypełnienie bufora FIFO (również via SPI). Odbiór może następować poprzez polling (czyli mikrokontroler sterujący co jakiś czas "odpytuje" urządzenie czy odebrano dane) lub w trybie przerwania (generowane przez RFM12 w momencie wypełnienia bufora odbiorczego). Na forum dostępne gotowe programy w C i bascomie dla trybu pollingowego.
    Sprawdzenie poprawności danych (np. CRC) należy zaimplementować w mikrokontrolerze sterującym (transceiver sam tego nie robi).
    Moduły byłyby idealne gdyby nie fakt, że dostępne są jedynie w obudowach o rastrze 2mm :/
  • #5 5329173
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    to tu jest jakas baza programow ? nie wiedzialem, dzieki

    No to zaczynam kminic,a nad poprawnoscia danych sie zastanawiam, bo nie wiem na ile bedzie potrzebna, tzn. nie wiem jakie jest prawdopodobienstwo utraty pakietu. Musialbym policzyc. Zalezy tez jaka predkosc transmisji uda mi sie osiagnac, moze wystarczajaco duzą, żeby móc odrzucić niepełną ramke danych.
  • Pomocny post
    #6 5329633
    pawci0
    Poziom 13  
    Posty: 36
    Pomógł: 3
    Ocena: 2
    Elektroda zawsze była skarbnicą wiedzy :)
    Więcej o modułach z serii RFM znajdziesz np. tutaj:
    https://www.elektroda.pl/rtvforum/topic890223.html
    Na transceiverach RFM12/B podobno udaje się wyciągnąć nawet 115kb/s, ale wraz ze wzrostem prędkości drastycznie maleje zasięg. Optymalne wydaje się 19,2 kb/s.
    Sprawdzenie poprawności danych jest raczej krytyczne w tego typu aplikacjach - to tylko 2 linijki kodu więcej, a można spać spokojnie :)
  • REKLAMA
  • #7 5342583
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    OK, poprawnosc sobie zrobie... czy przy 9600 b/s na 868 da sie wyciagnac 300 metrow? Bo widze, ze najwiekszym problemem tych transcieverow jest zasieg.... jakbys mogl napisac czy z Twoich doswiadczen moj cel jest osiagalny.
  • #8 5344692
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    jeszcze mam pytanie odnosnie zegara systemowego.
    Czy, żeby to wszystko grało, będe potrzebował taktować AVR z zewnetrzenego kryształka? Czy wewnetrzny oscylator RC wystarczy ? Chodzi mi o błąd i problemy związane z komunikacja z modułami RFM, które maja swoje rezonatory kwarcowe?
  • #9 5353692
    pawci0
    Poziom 13  
    Posty: 36
    Pomógł: 3
    Ocena: 2
    Co do zasięgu powiem tak: wszystko zależy od anteny. Najlepsze zasięgi uzyskuje się na antenach kierunkowych, ale podobno na dobrej dookólnej też można wydusić 200m. O większe osiągi raczej będzie trudno. Polecam w takim wypadku moduł RFM12BP - te wyposażone są w dodatkowy wzmacniacz zasilany 9-12V. Realny zasięg dla nich to około 1 km na dobrej antenie. Dostępne np. w TME, tyle że dwukrotnie droższe :/
    Co do zegara - ja nie miałem problemów przy stosowaniu wbudowanego oscylatora w mikrokontrolerze PIC. Jeśli natomiast z jakichś powodów wewnętrzny zegar jest bardzo niestabilny, to można taktować procka zegarem bezpośrednio z modułów (max 10 MHz, min. chyba 1 MHz).
  • #10 5370954
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    dzięki za poprzednie odpowiedzi.

    W moim systemie musze wysyłać co 1/100 sekundy 8 bajtów (albo 16 , narazie używam tylko 8 bitów z ADC dla prostoty). Robie to na przerwaniu i powiedzmy, że to działa.

    Teraz zastanawiam się jak zrobić reciever, żeby on nasłuchiwał i wrzucał odebrane bajty na wyjście analogowe (możlwe, że będe je też lączyć jakoś i wysyłać na raz na wyjście analogowe). Datasheet jest bardzo ubogi pod tym względem. Jeśli co przerwanie wysyłam pre-amble i sync-bytes to czy dla odbiornika to znak, żeby odbierał? Czy on domyślnie chodzi w nasłuchu? I może jakis hint, jakby to zrobić, żeby ten czas interwał co 1/100 sekundy sie nie rozjechał - na przerwaniu zew?


    Jesli chodzi o układ odbiorczy, to nie będzie problemu z zasilaniem większego, czy ta opcja z wzmocnionym układem PB pomoże coś jeśli nadanij będzie tylko RMF12B ? Czy one moga współpracować??
  • #11 5371530
    MarasK
    Poziom 18  
    Posty: 231
    Pomógł: 19
    Ocena: 4
    chyba właśnie nadajnik powinien być ze wzmacniaczem, jeśli chcesz transmisję jednokierunkową (nadajnik PB, a odbiornik B).
  • #12 5373436
    kuch_arc
    Poziom 14  
    Posty: 239
    Pomógł: 3
    Ocena: 20
    No tak by bylo najlepiej. Ale nie moge miec w nadajniku 9V, a juz wogole duzego poboru mocy.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy wyboru prostego rozwiązania do jednokierunkowej transmisji radiowej dla systemu pomiarowego opartego na mikrokontrolerach AVR i modułach radiowych. Autor rozważa użycie układu CC1110 (z wbudowanym 8051 i ADC) zamiast klasycznego zestawu AVR + CC1000, ale obawia się braku dostępnych materiałów i wysokich kosztów programowania bez zestawu deweloperskiego. W odpowiedziach rekomendowane są moduły RFM12B (433 lub 868 MHz) jako tańsza i prostsza alternatywa, programowane przez SPI, z możliwością obsługi przerwań i bufora FIFO. Podkreślono konieczność implementacji kontroli poprawności danych (np. CRC) w mikrokontrolerze. Zasięg transmisji zależy głównie od anteny i mocy nadajnika; moduły RFM12BP z wbudowanym wzmacniaczem zasilanym 9-12 V mogą osiągać do 1 km, ale są droższe i wymagają wyższego napięcia, co może być problematyczne przy ograniczeniach zasilania. Wskazano, że nadajnik powinien mieć wzmacniacz, a odbiornik może być prostszy. Poruszono też kwestie taktowania mikrokontrolera – wbudowany oscylator RC może wystarczyć, ale stabilność zegara wpływa na komunikację z modułami radiowymi. Autor planuje wysyłać dane co 10 ms (8 bajtów) i pyta o synchronizację odbiornika oraz obsługę przerwań. Ogólnie rekomendowane jest stosowanie gotowych modułów RFM12B z odpowiednią implementacją protokołu i kontroli błędów, co jest prostsze i lepiej udokumentowane niż CC1110.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA