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

Wykrywanie przeszkód

seth_pila 10 Wrz 2005 14:19 11044 80
  • #61
    seth_pila
    Poziom 11  
    TSOP podłączony dokładnie jak na schemacie, tam nie ma dużej możliwości manewru, zaledwie 3 elementy.

    Dodano po 1 [godziny] 3 [minuty]:

    Może sformułuję moje pytanie dokładniej:
    Jak „rozdzielić” dwa zakresy napięć, jedno które waha się w granicach 2-4.5V (stan niski) a drugie to stan wysoki 4.6V (lub 5V jak się go puści przez 74HC14). Zależy mi aby te 2-4.5V „stało się” 0V, a 4.6V stało się 5V (logiczna 1 i 0). Czy wykorzystać do tego jakoś komparator np. LM 339N (jeśli tak to jak, bo raz już próbowałem i na wyjściu komparatora poziomy napięć też nie były 0 i 5V).
  • OptexOptex
  • #62
    takaba
    Poziom 19  
    TSOP nie daje na wyjsciu stanu wysokigo i niskiego! (o ile jeszcze pamiętam - dawno nic z nim nie robiłem). Dlatego nigdy nie dostaniesz 5V na jego wyjsciu!
    On ma pinie z sygnałem daje mase lub nic. Spróboj podłaczyc diode led między vcc a sygnał: gdy tsop cos odbierze dioda się zapali. A teraz podlacz diode miedzy gnd a sygnal - nie zapali sie. Musisz wymusic stan wysoki przez rezystor, poplynie przez niego 5V i uC musi wtedy widziec stan wysoki. Gdy tsop cos odbierze, zewrze to do masy - napiecie spadnie do czegos bliskiego 0V - uC powinien "widziec" stan niski. Zaden scalak a tymbardziej komparator (w koncu tsop nie ma analogowego wyjscia) nie jest potrzebny.
  • #63
    seth_pila
    Poziom 11  
    Z TSOPem odpiętym pod minus diody LED a plus do Vcc ładnie działa już od dłuższego czasu, ale gdy ten sam sygnał chce dać na mikroklocka to go nie rozpoznaje czy to "0" czy "1".
    Wybacz że zapytam, ale czy mógłbyś sprecyzować stwierdzenie:
    Musisz wymusic stan wysoki przez rezystor, poplynie przez niego 5V i uC musi wtedy widziec stan wysoki. Gdy tsop cos odbierze, zewrze to do masy - napiecie spadnie do czegos bliskiego 0V - uC powinien "widziec" stan niski
    Gdzie mam wymusić ten stan wysoki - na czym, gdzie mam podpiąć ten rezystor?
  • OptexOptex
  • #64
    takaba
    Poziom 19  
    tj. jedno wyprowadzenie rezystora dejesz do vcc a drugie do wyjscia (sygnalu) tsopa.
  • #65
    seth_pila
    Poziom 11  
    Ale jeśli sie nie myle to tak jest zrobione w schemacie który zamieściłem, z dokumentacji TSOPa?
  • #66
    takaba
    Poziom 19  
    Nie, nie mylisz się. Ten schemat to pokazuje, a Ty twierdzisz, że masz to tak zrobione. Trudno mi cokolwiek powiedziec. Schemat z noty jednak mimo wszystko jest dobry.
    Może jeszcze ktoś się wypowie w tym temacie i doradzi coś koledze?
  • #67
    seth_pila
    Poziom 11  
    Nie twierdze ze schemat z noty jest zły. Problem w tym ze moja róznica napiec pomiedzy stanem gdy czujnik widzi obiekt a nie widzi, jest znikoma. Gdy widzi - około 3V, gdy nie widzi - 4.6V. I jak tu mikroklocek ma wyczaić które to "0" a które "1".
    Aczkolwiek dochodzę do wnisku, że problem tkwi chyba w programie który generuje impulsy o cz. 36kHz. Częstotliwość się zgadza (bo inaczej nic by się nie działo w obwodzie) ale może czasy wypuszczenie paczki impulsów są błędne - bo jest to w języku Bascomowym (czyli nmniej więcej) 30ms.
  • #68
    takaba
    Poziom 19  
    na początek możesz sprawdzać działanie tsopa pilotem od telewizora :) Wtedy jesli coś nie będzie działać to będziesz wiedzieć, że problem tkwi w tsopie a nie w generatorze 36kHz
  • #69
    seth_pila
    Poziom 11  
    To już też przećwiczyłem i pilocik ładnie śmiga - zapala diode. Ale nawet przy odbiorze sygnału z pilota, napięcie na tsopie spada do okolo 4V.
    Przećwicze jeszcze manewr z bascomową komendą getrc czy jakoś tak.

    Dodano po 2 [godziny] 6 [minuty]:

    Getrc nie jest jednak dobrą metodą, bo trzeba na diode podać sygnał odpowiadający jakiejs komendzie w kodzie rc5, co dodatkowo zabiera zasoby Timera1.
  • #70
    konradek26
    Poziom 17  
    Można wykorzystać NE555 do generowania 36khz? Pod ktora nozke podlaczyc diode ? :idea:
  • #71
    seth_pila
    Poziom 11  
    Spójrz na poprzednią strone pod koniec, tam opisałem moje podłączanie diody IR pod timer 555. Wyjście z timera to pin 3 jeśli się nie mylę i tam podłączasz wszystkie zabawki.
  • #72
    sepher
    Poziom 19  
    Ostatnio była okazja aby pobawic się trochę, więc wrzucam kilka filmów z walk eRobot vs. tekturowy karton. Maszyna trochę szaleje - guma jak widać była nierówna i brudna (zdarzało się, że robot widział krawędź tam gdzie jej nie było), dodatkowo w pobliżu stały biurka, były jakieś drzwi, co wpływało na działanie sonarów (złe odczyty, echo etc.) ale jakoś sobie radzi ;). Filmy 'ważą' około 10MB.

    pobierz filmy
  • #73
    seth_pila
    Poziom 11  
    Czasem do najłatwiejszego rozwiązania najtrudniej dojść. Poskładałem coś takiego: dioda IR, fototranzystor z filtrem światła dziennego (działa tylko na IR), z kolektora sygnał podaje na 74HC14. Jest to taki podrasowany transoptor odbiciowy. Układzik reaguje wyśmienicie na pojawiające się w polu działania przeszkody. Zbiera info spokojnie z 15cm. Jak do wykrywania przeszkód na drodze nadaje się w zupełności. Przeprowadze jeszcze dodatkowe testy, zobacze czy nie zbiera jakichś "śmieci" z światła dziennego, lub innych zakłuceń i dam znać.
  • #74
    seth_pila
    Poziom 11  
    A jednak zbiera światło dzienne. Gdy słońce pada na fototranzystor nic nie dają wtedy nawet filtry które są ponoć tam zamontowane.
  • #75
    takaba
    Poziom 19  
    Ale co Ci dadzą filtry skoro światło dzienne zawiera IR. Zwykła żarówka emituje 95% dostarczonej energi jako IR zaledwie 5% to światło widzialne. Jedyne co może Ci pomóc to modulowanie IR falą nośną, żadne filtry nie pomogą... Czyli najlepszy sposób to czujnik zrobiony na TSOP'ie ewentualnie samemu też możesz zrobić transoptor takie jak teraz tylko na modulowaną podczerwień.
  • #76
    seth_pila
    Poziom 11  
    Nie wiem czy to dostrzegłeś, ale kombinuje jak koń pod góre żeby jakoś tego TSOPa zastąpić czymś innym, bo mi mikroklocek nie chce poprawnie rozpoznawać napięć na wyjściu z tsopa (tzn wszystko jest OK jak daje sygnał na wejście INTx i zbocze np. opadające, ale wejścia INTx są 2, a mi potrzeba conajmniej 4 tsopy).Jak podaje na jakiekolwiek inne wejście nie jest w stanie rozpoznać czy to stan wysoki czy niski (już o tym pisałem), a jak narazie błędu w połączeniu układu bądź programie nie znalazłem.
  • #77
    takaba
    Poziom 19  
    mikroklocek <rotfl> nizłe. Mikroklocek to można w klopie zrobić :D
    Przepraszam, rozbawiłeś mnie tym. Rozumiem, że chcesz czymkolwiek zastąpić tego TSOP'a. Ja tylko mowię, że potrzebujesz nośnej by wyeliminować wpływ środowiska na odczyty czujnika.
  • #78
    seth_pila
    Poziom 11  
    A ja Ci mówie że o tym wiem i mi to działa jak podaje 36kHz'ów na diode i na tsopie odbiera, ale tylko w przerwaniu gdy ustawione jest wyzwalanie zboczem narastającym lub opadającym. A ja bym chciał to odbierać na jakimkolwiek pinie, bo widziałem wśród wielu projektów "tutejszych" forumowiczów, że podają to na jakiekolwiek wejście (a ten wariant mi z niewiadomych powodów nie działa).
  • #79
    takaba
    Poziom 19  
    Probowałem wcześniej pomóc. Teraz już mogę tylko powiedzieć współczuję, że nie chce działać. Napewno, da się zrobić by działało. Najlepiej gdybyś znał w okolicy jakiegoś elektronika - może on by Ci pomógł.
  • #80
    don pawcio
    Poziom 12  
    Czesc.

    Jakis czas temu mialem podobna sytuacje i zmarnowalem miesiac, wcale nie przesadzam, na dojscie o co chodzi. Tylko u mnie to byl odbiornik radiowy. Sprawa okazala sie banalna. Wystarczylo na wejsciu uC wstawic filtr RC dolnoprzepustowy. Sprobuj moze u ciebie tez pomoze. A najlepiej to zobaczyc co pokazalby oscyloskop. Gdybym go mial to bym ten stracony miesiac zycia uratowal. Tylko wazne jest to, ze ten filtr mosi miec odpowiednio duza stala czasowa, czyli kondensator i opornik mosza miec dostateczna wartosc.

    Zycze powodzenia.
  • #81
    sepher
    Poziom 19  
    A potrzebny jest aż tak szybki czas reakcji? W robocie któregu widać na filmikach zamontowane są czujniki z TSOP i nie ma z nimi żadnego problemu. Modulacja zasilania diod zrobiona jest na timerze, który zmienia stan pinu na przeciwny po przepełnieniu. Nawej jeśli próbkujesz wejścia co 100ms (co dla procka jest prawie wiecznością ;)) to nie sądzę, żeby robot miał tendencję do wpadania na ściany (no chyba, że jest naprawde bardzo szybki). Jeśli chcesz korzystac z przerwania, mógłbyś połączyć wszystkie TSOP do wejścia INT przez bramkę OR. W praktyce rozwiązania z modulacją sprawdzają się znacznie lepiej. Na tym samym robocie zamontowane są czujniki linii (dlatego wraca na gume po zjechaniu) i po odwróceniu go 'do góry brzuchem' zdarza mu się wariować. W tym zastosowaniu sprawdzają się dlatego, że są od góry i z boków osłonięte przez 'nadwozie' i nie dostaje się do nich zbyt wiele niepożądanego światła.