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.

Regulowany zasięg nadajnika RF

06 Lip 2016 09:42 909 10
  • Poziom 6  
    Poszukuję gotowego modułu/układu nadajnika RF działającego na jakiejkolwiek częstotliwości z możliwością regulacji zasięgu nadawania. Schemat też może być, tylko, że w kwestii budowania układów radiowych jestem kompletnym laikiem.

    W pewnym sensie te wymagania spełnia nRF24L01 i jego Power Amplifier control (bity RF_PWR w rejestrze RF_SETUP). Niestety pozwala on tylko na ustalenie jednej z czterech predefiniowanych mocy nadawania. Ja poszukuję czegoś bardziej elastycznego np. 256 poziomów lub więcej.

    Generalnie zadanie polega na określeniu z centymetrową precyzją czy odbiornik znajduje się w zadanej odległości od nadajnika. Ważne jest to, że pomiar nie może być kierunkowy, tylko sferyczny. Wymagana częstotliwość pomiaru to minimum 10Hz. Mierzone odległości to minimum 200m, a optymalnie 1000m. Warunki pomiaru to otwarta przestrzeń.

    Myślałem również nad inną technologią pomiaru. Na przykład aby zamiast fali radiowych użyć ultradźwięków, które pasują idealnie, ponieważ zamiast regulować zasięg nadawania, mógłbym mierzyć jakimś MCU czas propagacji fali i przeliczyć na odległość. Niestety kierunkowość pomiaru i mały zasięg pomiaru wykluczają tę metodę. Natomiast czasu propagacji fali radiowej raczej nie jestem w stanie zmierzyć - za wolne procesory, a światło za szybkie ;)

    Stąd pomysł regulowania zasięgu nadawania. Co prawda jest to metoda bardzo podatna na zmianę warunków (temperatura, wilgotność, otoczenie), ale jeśli przed każdym użyciem, dokonana zostanie kalibracja i przez czas używania urządzenia (kilkadziesiąt minut) warunki się nie zmienią, to ta metoda może się nawet sprawdzić. Tak mi się wydaje.

    Kolejną alternatywą jest GPS, który niestety nie działa w zamkniętych pomieszczeniach (co nie jest akurat jakimś tam dużym problemem w moim zastosowaniu), ale jego dokładność jest bardzo mała. Można ją zwiększyć uśredniając pomiary, ale wówczas nie jest możliwe dokonywanie pomiaru z częstotliwością 10Hz (najszybszy GPS jaki znalazłem dokonywał pomiaru 20 razy na sekundę, co pozwala uśredniać tylko po dwóch próbkach).

    Gdzieś na tym forum znalazłem pomysł na pomiar amplitudy sygnału, co jest czymś bardzo podobnym do tego co chcę zrobić.
  • Użytkownik usunął konto  
  • Poziom 34  
    Centymetrowa precyzja przy 1000m to dokładność rzędu 0.01%. To tak jak zmierzyć metr z dokładnością 10um !. Stalowa linijka chyba o tyle zmieni swoją długość przy zmianie temperatury o 1 °C. Jest jeszcze druga kwestia natury fizycznej. Dla 2.4Ghz długość fali to około 10 cm. Zbliżenie się do tej granicy wymaga pomiaru przesunięcia fazowego a wiec synchronizacji zegarów nadajnika i odbiornika.
    Pomiar poziomu sygnału radiowego "domowymi" metodami umożliwia w praktyce uzyskanie dokładności 10-20% odległości nadajnik-odbiornik.
    Najbardziej popularne alternatywne metody to:
    1. Nawigacja inercyjna po stronie poruszającego się obiektu i wysyłanie informacji o położeniu drogą radiową.
    2. Wiele odbiorników do tzw. namierzania ruchomego nadajnika lub wiele stacjonarnych nadajników i jeden poruszający się odbiornik.
  • Poziom 29  
    turlam.dropsa napisał:
    Generalnie Twój pomysł jest bez sensu. Co z robisz z wielokrotnymi odbiciami sygnału od ścian?

    A do tego wahania czułości odbiorników (zakładając, że jest jakiś próg odcięcia po stronie odbiorczej - poziom sygnału radiowego, stopa błędów itd.)...

    Generalnie pomiar odległości za pomocą fal radiowych (patrz: radar) nie polega na utracie obiektu z pola widzenia, a na pomiarze czasu propagacji impulsu od źródła do obiektu. Jeżeli nadajnik mierzy czas, to sprawa jest prosta. Jeżeli to odbiornik - trzeba by wraz z impulsem wysłać sygnaturę czasową oraz precyzyjnie synchronizować zegary nadajnika i odbiorników z jakąś referencją. Czyli nie tylko pod górkę, ale do tego jeszcze bardzo strome schody.
  • Poziom 6  
    turlam.dropsa napisał:
    Generalnie Twój pomysł jest bez sensu. Co z robisz z wielokrotnymi odbiciami sygnału od ścian?
    Są gotowe układy do IPS (in building positioning system) działające w różnych technologiach np. bluetooth low energy. Poszukaj choćby na youtube.com.

    Warunki pomiaru to otwarta przestrzeń. Poza tym myślę, że odbicia to nie jest jakiś wielki problem. Dam sobie z tym radę jeśli będę miał metodę pomiaru odległości. Co do Bluetooth to jest to jakiś pomysł. Miałem styczność z iBeaconami w komercyjnym zastosowaniu i z tego co pamiętam to ich dokładność nie była powalająca. Pozwalało raczej na określenie czy coś jest bardzo blisko, blisko czy daleko. Przy czym zasięg to jakieś w porywach 20m, więc do minimalnych 200 jeszcze trochę brakuje, ale mimo wszystko przyjrzę się temu.

    TvWidget napisał:
    Jest jeszcze druga kwestia natury fizycznej. Dla 2.4Ghz długość fali to około 10 cm. Zbliżenie się do tej granicy wymaga pomiaru przesunięcia fazowego a wiec synchronizacji zegarów nadajnika i odbiornika.

    A jak można się w ogóle zbliżyć do tej granicy? Powiedzmy dokładność 20cm?

    TvWidget napisał:
    Nawigacja inercyjna po stronie poruszającego się obiektu i wysyłanie informacji o położeniu drogą radiową.

    Do tego musiałbym znać położenie zerowe obiektu. Szukam go, więc to jest moja niewiadoma. Nawigacji inercyjnej chcę użyć do aproksymacji położenia pomiędzy pomiarami metody o której traktuje ten temat.

    TvWidget napisał:
    Wiele odbiorników do tzw. namierzania ruchomego nadajnika lub wiele stacjonarnych nadajników i jeden poruszający się odbiornik

    Też o tym myślałem i na pewno to wykorzystam. To dla mnie nie problem aby użyć większej liczby nadajników/odbiorników. Oczywiście bez przesady - kilka, nie kilkadziesiąt. Ale aby użyć tego rozwiązania wciąż potrzebuję w miarę dokładnej metody pomiaru. Może nie centymetrowej precyzji, ale nie 5 metrów. Jak to mówią, z g...a bata nie ukręcisz :)

    2N3866 napisał:
    Generalnie pomiar odległości za pomocą fal radiowych (patrz: radar) nie polega na utracie obiektu z pola widzenia, a na pomiarze czasu propagacji impulsu od źródła do obiektu. Jeżeli nadajnik mierzy czas, to sprawa jest prosta. Jeżeli to odbiornik - trzeba by wraz z impulsem wysłać sygnaturę czasową oraz precyzyjnie synchronizować zegary nadajnika i odbiorników z jakąś referencją. Czyli nie tylko pod górkę, ale do tego jeszcze bardzo strome schody.

    Chcę aby urządzenie A określające odległość od urządzenia B nadawało sygnał do urządzenia B, które ten sygnał wysyła ponownie do urządzenia A. Początkowo miałem chytry plan nadawać bajt danych poprzedzony preambułą na częstotliwości 433MHz i odpowiadać jego negacją na częstotliwości 868MHz. Dodatkowo każdy kolejny bajt miał być inny. No ale zmierzenie czasu propagacji sygnału radiowego przy pomocy MCU pędzonego zegarem 32MHz daje marne efekty (optymistyczny błąd to 4-5 metrów).

    Generalnie ten temat traktuję jako pole do dyskusji. Szukam kompromisu. Przy czym nie mogę się na starcie poddać stwierdzając, że się nie da. To nie jest inżynierskie podejście :)
  • Poziom 34  
    Zwróć uwagę to co podkreśliłem. W przypadku pomiaru odległości na podstawie poziomu sygnału dokładność w praktyce jest zależna od odległości nadajnik-odbiornik. Nie jest to wielkość bezwzględna.
    Są takie przewidziane do nawigacji iBeacony zawierające akcelerometr+magnetometr wysyłające dane z nich ramce rozszerzeniowej kilkadziesiąt razy na sekundę. Bez jednak odpowiednio dużej sieci urządzeń odbiorczych nie masz szans na uzyskanie dokładności 20cm. Musisz też pamiętać, że z odległością rośnie wpływ wszelkich przeszkód a w szczególności zakłóceń radiowych
    Przy tak dużych odległościach lepiej będzie zastosować dużą częstotliwość np. 20GHz, odbiorniki z ruchomymi kierunkowymi antenami i określać położenie nadajnika metodą triangulacji.
  • Użytkownik usunął konto  
  • Poziom 6  
    turlam.dropsa napisał:
    To jest ćwiczenie akademickie, majsterkowanie w garażu czy komercyjny projekt? Bo jak na razie bierzesz się za wyważanie drzwi, za którymi jest mur.

    Majsterkowanie w garażu. Wiem, że to nie jest łatwy problem. Przerabiam go w wolnym czasie już któryś tydzień, eksperymentuję, ale bez efektu więc założyłem ten wątek.
  • Poziom 29  
    oggylwiatko napisał:
    Chcę aby urządzenie A określające odległość od urządzenia B nadawało sygnał do urządzenia B, które ten sygnał wysyła ponownie do urządzenia A. Początkowo miałem chytry plan nadawać bajt danych poprzedzony preambułą na częstotliwości 433 MHz i odpowiadać jego negacją na częstotliwości 868 MHz. Dodatkowo każdy kolejny bajt miał być inny. No ale zmierzenie czasu propagacji sygnału radiowego przy pomocy MCU pędzonego zegarem 32 MHz daje marne efekty (optymistyczny błąd to 4-5 metrów).

    Na tym polega problem tej metody, że odstęp czasu między końcem emisji przez urządzenie A i początkiem odpowiedzi od urządzenia B odbieranej przez urządzenie A nie będzie zależny tylko od ich wzajemnej odległości. Inaczej mówiąc: niezmienność czasu reakcji urządzenia B jesteś w stanie zapewnić w ograniczonym stopniu ("jitter"). W przypadku radaru tego problemu nie ma, bo fala się po prostu bezzwłocznie odbija od obiektu i już.
    Do tego dochodzi rozdzielczość pomiaru czasu, którą chyba masz powyżej na myśli.
    Czy analizowałeś granice możliwej odchyłki czasu reakcji urządzenia B i próbowałeś wyliczyć, jak ona wpływa na dokładność pomiaru?
  • Poziom 34  
    Odebranie i odesłanie sygnału o drugą stronę o jakim wspominasz jest znaczenie bardziej skomplikowane niż przypuszczasz. Z powodu fizycznych ograniczeń nie będziesz potrafił dokładnie określić w jakiej chwili czasowej odebrałeś sygnał. Podobnie jak nie będziesz wiedział kiedy go wysłałeś. Zwróć uwagę, że im krótszy impuls/bardziej strome zbocza tym wymagane jest szersze pasmo. Ty natomiast rozważasz użycie bardzo wąskopasmowego nadajnika/odbiornika.
    Skieruj swoją uwagę raczej na technikę impulsów pikosekundowych i na rozwiązania tam stosowane.
  • Poziom 29  
    TvWidget napisał:
    Odebranie i odesłanie sygnału o drugą stronę o jakim wspominasz jest znaczenie bardziej skomplikowane niż przypuszczasz. Z powodu fizycznych ograniczeń nie będziesz potrafił dokładnie określić w jakiej chwili czasowej odebrałeś sygnał. Podobnie jak nie będziesz wiedział kiedy go wysłałeś. Zwróć uwagę, że im krótszy impuls/bardziej strome zbocza tym wymagane jest szersze pasmo. Ty natomiast rozważasz użycie bardzo wąskopasmowego nadajnika/odbiornika.

    Fakt, o ile koniec emisji jeszcze da się jakoś określić (z dokładnością do "rozmycia" momentu czasu w wyniku pracy programu jakiegoś mikrokontrolera), to określenie momentu początku odpowiedzi w środowisku radiowym z zakłóceniami, gdzie trzeba coś "uzbierać", żeby zweryfikować, czy to śmieć, czy poprawna odpowiedź - to już jest lekka kwadratura koła.
    No i przy emisji jakiejś sygnatury, którą odbiornik ma radiowym środowisku z zakłóceniami poprawnie rozpoznać i zareagować, może się okazać, że czas propagacji jest znacznie krótszy od czasu emisji.