Skocz do zawartości

Czas odpowiedzi czujnika na TSOPie


klonyyy

Pomocna odpowiedź

Witam !

Ostatnio się zacząłem zastanawiać jaki może być czas odpowiedzi domowego czujnika na tsopie i diodzie ? Czy będzie on zbliżony do 8ms czujnika GP2Y0D340K ? Jak to sprawdzić w domowych warunkach ? Bo w sumie nie wiem czy opłaca się robić kolejne roboty z tymi czujnikami, jak się okaże, że są dużo wolnijsze od popularnych sharpów.

pozdrawiam,

Piotrek

Link do komentarza
Share on other sites

I to jest dobre pytanie 😋 Dość dawno temu korespondowałem z kolegą marek1707 i poruszałem właśnie ten temat. Z tego, co zrozumiałem prawdziwy czas reakcji TSOP'a (bez zapychania jego filtrów itp.) wynosi około 20ms. Można nadawać mu ciągłą wiązkę, ale nie jest do tego przystosowany i będzie się "zapychał" i tracił na zasięgu/dokładności (o ile można tutaj o niej rozmawiać). Stąd prosty wniosek - specyfikacja czujnika Pololu jest nieco nagięta 😋 Proponuję jednak poczekać na wypowiedź kolegi marek1707 🙂

Link do komentarza
Share on other sites

O, zostałem wywołany do tablicy 🙂 Trochę idę ze spuszczoną głową, bo TSOPami zajmowałem się dawno temu, ale odpowiem jak umiem najlepiej.

Najpierw ustalmy co to jest czas reakcji: niech będzie to czas od momentu pojawienia się przeszkody do chwili otrzymania sygnału na wejściu procesora. Zakładamy, że przeszkoda pojawiła się w zasięgu i w kącie pracy czujnika tak, że nie ma wątpliwości iż ona tam jest. Ponieważ przeszkoda odbija promieniowanie naszej własnej diodki IRED można powiedzieć, że czekamy na zauważenie sygnału nadawanego przez nas samych. No i teraz zaczynają się schody, bo przecież nadawane sygnały mogą być różne.

1. Jeżeli będzie to fala ciągła np. 36kHz wysyłana w "próżnię", to właściwie powinniśmy dostać sygnał zwrotny po dosłownie kilku (5-15) jej okresach od pojawienia się przeszkody, czyli po ok. 130-400us. To dobra wiadomość. Zła jest taka, że chyba nikt już tak nie robi. Fala ciągła to najgorszy możliwy przypadek - tak nie wygląda żaden kod zdalnego sterowania więc i TSOPy bardzo jej nie lubią. Małą wtedy tragicznie małą czułość a w dodatku większość z nich uzna, że wciąż odbierana fala ciągła jest na 100% sygnałem zakłócającym i tak skręci swoje wzmocnienie, że sygnał wyjściowy zniknie i mimo zbliżenia przeszkody na 10cm dostaniemy na wyjściu stan wysoki (brak odbioru). Tak robiły oba moje badane TSOPy. Przy szybkim wjeździe przeszkody w pole widzenia czujnika dostawałem co prawda na chwilę zero a po chwili ono znikało i czujnik był oślepiony bardzo silnym sygnałem.

2. Jeżeli zastosujemy jakąkolwiek modulację to znaczy, że zamiast wysyłania fali ciągłej mamy grupy impulsów 36kHz porozdzielane przerwami. No i teraz dużo mniej ważny jest czas reakcji samego TSOPa (wciąż wynosi 5-15 okresów fali 36kHz) a zaczyna mieć znaczenie "wzór" modulacji. Jeżeli np. będziemy wysyłać rekomendowane przez producenta grupy po 21 impulsów z takimi samymi przerwami - czyli 600us fala 36kHz i 600us ciszy, to mamy już dziury. Najgorszy przypadek będzie wtedy, gdy przeszkoda pojawi się zaraz na początku przerwy - wtedy i tak zobaczymy ją dopiero za 600us plus opóźnienie samego TSOPa (wciąż 5-15 impulsów) czyli za jakieś 750us. W układach mechanicznych to chyba niedużo a zyskaliśmy naprawdę sporo na czułości i tym samym na zasięgu oraz na pewności działania czujnika. Przynajmniej mamy świadomość, że zapodawany sygnał jakoś tam spełnia wymagania producenta.

3. W moich eksperymentach dążyłem do uzyskania jak największego zasięgu bez pomocy wielkich prądów i megadiod IRED. Zauważyłem, że upodobnienie wysyłanego sygnału do kodu zdalnego sterowania pozwala na dalsze, wielokrotne zwiększenie zasięgu uzyskanego metodą modulacji z pkt. 2. Wystarczy opisane grupy nadawać w paczkach po kilka grup oddzielonych jedną większą przerwą. Jeżeli pozwolimy "odpocząć" TSOPowi przez 10-20ms, zaczyna on nabierać czułości. Znów mamy coś do przehandlowania: kolejne zwiększenie zasięgu kosztem czasu reakcji czujnika, bo tym razem przeszkoda może pozostać niezauważona przez 10-20ms. W zamian za to dostajemy zasięg kilkumetrowy w cenie 50-100mA prądu w zwykłej diodce nadawczej.

To wszystko już raz opisywałem, wystarczy poszukać.

Acha, Pololu używa dość egzotycznego czujnika TSSP:

http://www.vishay.com/docs/82470/tssp77038.pdf

o którym Vishay pisze otwartym tekstem, że w odróżnieniu od tych przeznaczonych do zdalnego sterowania, ten może odbierać zarówno falę modulowaną jak i ciągłą. Na jego schemacie blokowym nie ma wewnętrznego układu ARW regulującego wzmocnienie a więc ten czujnik nie marudzi na falę ciągłą produkowaną przez 555 i nie powinien tracić czułości (ani jej zyskiwać przy przerwach). Dlatego w tym układzie spodziewałbym się typowego opóźnienia 5-15 impulsów fali (tj. 130-400us), zależnego jak zwykle od warunków pracy czyli od siły sygnału odbieranego.

Czujnik Sharpa pracuje na zasadzie triangulacji i zawsze będzie wolniejszy choćby z tego powodu, że musi policzyć odległość do przeszkody na podstawie jednowymiarowego obrazu otrzymanego z detektora. Za to w pakiecie dostajemy prawie zupełny brak czułości na typ powierzchni przeszkody, bo czujnika nie obchodzi (jak niestety TSOPa) jasność tego co widzi tylko kąt, pod jakim zobaczył światełko własnej diodki IRED. Producent określa, że stan aktywny na wyjściu dostaniemy przy odległości 320-480mm (typowo 400mm). Na TSOPie jest to niemożliwe. Biała kartka będzie wykrywana z 2m a czarna tkanina - jak dobrze pójdzie - z 20cm. To samo z przedmiotami większymi i mniejszymi. W TSOPie zasięg można wyregulować na jakąś konkretną odległość tylko dla pewnego rodzaju materiału przeszkody i dla pewnych jej rozmiarów 🙁

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Czyli podsumowując to Tsop'owi z porządnym sterowaniem i przerwami na "odpoczynek" zabiera 10-20ms, także nie wiem czy jest to znaczna różnica w porównaniu to Sharpa. Jeśli nawet te 20ms to będzie za długo zawsze chyba można zmniejszyć przerwy do tych 10ms, prawda ? Tylko zastanawia mnie jedno, czemu sharp tak dobrze radzi sobie z trudnymi do wykrycia przez tsop'a powierzchniami ? Przecież czarna powierzchnia odbija światło tak samo gorzej i dla tsopa i dla sharpa.

W końcu jeśli użycie czujników ogranicza się do ringu, to nie martwiłbym się o rodzaj powierzchni z której jest zrobiony przeciwnik, gdyż on sam świeci podczerwienią, i nawet gdy wiązka nie jest modulowana ułatwia wykrycie przeciwnika czujnikowie na tsopie. Kiedyś to sprawdzałem i robot był w stanie zobaczyć przeciwnika w obszarze całego ringu, podczas gdy bez włączonej diody wykrywał go z ok. 30cm.

Link do komentarza
Share on other sites

Nie możesz porównywać ziemniaków z jabłkami. Odbiornik TSOPa nie ma żadnych problemów z wykryciem obecności przeszkody w odległości nawet kilku metrów. To, że dla Ciebie jest za wolny wynika tylko i wyłącznie z faktu, że tak została zaprojektowana jego automatyka wzmocnienia. On nie musi być szybki - ma być dokładnie taki jak potrzeba do odbioru kodów zdalnego sterowania - a one mają ustaloną od lat postać. Gdyby nie wbudowana automatyka, która jest jedną z funkcji chroniących odbiornik przed zakłóceniami od lamp i ekranów monitorów, TSOP byłby idealnym odbiornikiem do naszych potrzeb. Zobacz: przykład TSSP zastosowanego w płytce Pololu świadczy o tym, że bez problemów można zrobić szybki odbiornik podczerwieni. Brak automatyki wzmocnienia jest w naszym przypadku zaletą, ale taki odbiornik scalony trudno kupić i dlatego wszyscy używają TSOPów i.. narzekają.

Sharp z kolei ma odbiornik przystosowany dokładnie do jego potrzeb. Ma podobny zasięg i pewnie jakąś (inną) automatykę wzmocnienia choć tutaj nie zależy nam na sile sygnału, bo Sharp nie bada amplitudy. Ten czujnik analizuje miejsce skąd sygnał przyszedł a nie jego amplitudę. Sygnał może być słabszy lub silniejszy, ale ważne jest gdzie padł na skomplikowany detektor a nie z jaką siłą. To dlatego Sharp nie jest czuły na typ powierzchni, na takiej czy na innej plamka promieniowania IR będzie widoczna w tym samym miejscu. Odbiornik Sharpa też ma z pewnością jakiś zakres sensownej pracy - na bardzo czarnej (oczywiście w podczerwieni) przeszkodzie plamki promieniowania nie będzie widać i Sharp odległości nie policzy, cudów nie ma.

O tych 10/20ms "odpoczynku" pisałem w kontekście uzyskania maksymalnego zasięgu wielu metrów. Jeżeli wystarcza Ci odległość < 1m, spokojnie możesz wysyłać falę 36kHz przez 500-600us i potem przez tyle samo czasu robić przerwę. Będziesz miał czas reakcji co najwyżej 600us a statystycznie połowę tego - to chyba nieźle, prawda?

  • Lubię! 1
Link do komentarza
Share on other sites

Będziesz miał czas reakcji co najwyżej 600us a statystycznie połowę tego - to chyba nieźle, prawda?

No pewnie, że nieźle, a nawet bardzo dobrze, szczególnie biorąc pod uwagę różnicę w cenach obu czujników 🙂 . Dziękuję Marku za tak obszerne wyjaśnienie o co w tym wszystkim chodzi, naprawdę fajnie czyta się Twoje posty.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.