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

Czujnik odbiciowy IR - pomiar odległości, regulacja jasności diody

Tomekddd 04 Sty 2012 14:35 5965 24
  • #1 10347143
    Tomekddd
    Poziom 23  
    Witam, chciałbym zrealizować pomiar odległości na odbiciowym czujniku, jest on zbudowany z diody IR i odbiornika TSOP1736. Attiny13 generuje nośną 36kHz która pod odbiciu od przeszkody wraca do czujnika a procesor sygnalizuje to stanem wysokim na jednym z wyjść. Teraz chciałbym zrobić pomiar odległości i teoretycznie gdybym regulował jasność diody IR to mógłbym mierzyć odległość przeszkody od czujnika bo jeśli potencjometrem zmniejszę prąd diody to zmniejsza sie również zasięg działania.
    Problem mam z tym jak regulować jasność diody z procesora. Myślałem żeby użyć przykładowo Attiny2313 z niego generować PWM sterujący jasnością diody ale dodatkowo zawierający nośna 36kHz aby czujnik reagował na sygnał tylko nie wiem czy PWM nie będzie zakłócał pracy czujnika.

    Proszę o jakąś radę jak zrealizować to najlepiej, z pomiarem odległości myślę ze sobie poradzę gnębi mnie tylko regulacja.
  • #2 10347197
    dondu
    Moderator na urlopie...
    A czy wziąłeś pod uwagę, że przedmioty, od których będzie się odbijać światło będą miały różne powierzchnie i pod różnymi kątami, co oznacza, że powracać będzie różna ilość odbitego światła? Jak więc chcesz ilością światła odbitego określić odległość, do przedmiotów białego i czarnego stojących w tej samej odległości?
  • #3 10347223
    Tomekddd
    Poziom 23  
    Zapomniałem napisać ze to ma reagować tylko na białe ściany, czujnik będzie w robocie który jeździ po labiryncie a tam są tylko białe ściany.

    Samo wykrywanie ścian działa bezproblemowo, a przydałoby się mieć choć orientacyjny pomiar odległości bez konieczności stosowania dodatkowego czujnika.
  • #4 10347280
    Miglans_87
    Poziom 13  
    Kolor też jest ważny... Wiec przedmówca może mieć racje, a nawet ma.

    Jeśli pomiar robisz na tej samej powierzchni i kącie odbicia to będzie działało.
    Na ogół robi się to poprzez wysyłanie wiązki światła i wyliczenie czasu powrotu.
    I tu jest problem z szybkością pracy uP. Znajdziesz na Googlach dużo przykładów jak zrobić Sonar (ultradźwiękiem), lub kupisz gotowe układy w sklepie. Dostajesz gotowy wynik z czujnika. Mniej zabawy i na pewno działa.
  • #5 10347303
    dondu
    Moderator na urlopie...
    Tomekddd napisał:
    Samo wykrywanie ścian działa bezproblemowo, a przydałoby się mieć choć orientacyjny pomiar odległości bez konieczności stosowania dodatkowego czujnika.

    Moim zdaniem nie osiągniesz tego, ale do odważnych świat należy więc próbuj :)
    Dużo zależy od tego co dla ciebie będzie znaczyło "orientacyjny pomiar".
    Jeżeli to robot micromouse, to powinien poruszać się po kątach prostych (przynajmniej na etapie poznawania labiryntu), więc jakaś szansa jest.
    Ale później w czasie jazdy gdy poruszać się będzie także po skosie labiryntu, szanse na mierzenie odległości są według mnie znikome.

    Tutaj znajdziesz sporo dyskusji na temat podobnego czujnika: http://www.forbot.pl/forum/topics61/czujnik-optyczny-vt4761.htm#39781
  • #6 10347355
    Tomekddd
    Poziom 23  
    Własnie taki czujnik mam tylko inny odbiornik bo w sklepie nie mieli. Czujnik działa dość wąskim kątem (termokurczka na diodzie) czyli teoretycznie ma to prawo działać. Chętnie bym sie pobawił doświadczalnie tylko mam problem z regulacją jasności diody IR, teraz mam potencjometr i działa ale pasowałoby to regulować z procesora żeby pomiar był automatyczny.

    Jest jakiś sposób regulacji aby nie wpłynąć na nośną?
  • #8 10347400
    ljmp
    Poziom 14  
    Wykonanie tego na elementach IR także jest możliwe. Moja propozycja jest taka, że pojazd musiałby mieć i diody nadawcze IR, i fototranzystory. Dioda musiałaby nadawać sygnał o stałej częstotliwości tak, żeby odbiornik mógł rozpoznać nadawanie. Fototranzystor musiałby być podłączony pod dwa wejścia: jedno wejście od ADC, a drugie od komparatora analogowego nastawionego na próg o małej wartości, np. 100mV, który wyzwalaby timer, a timer mierzyłby długość impulsów, jeżeli rozpoznałby poprawną długość to wystartowałby konwersję ADC w momencie, gdy sygnał nadajnika jest w stanie wysokim. Wartość ADC oznaczałaby odległość od nadajnika, czyli połowę odległości od ściany. Oczywiście sygnał z fototranzystora musi przejśc przez filtr górnoprzepustowy, tak aby światło dzienne i żarówki (100Hz) nie zabierały sygnału użytecznego z fototranzystora. Dla informacji podam tylko, że przy diodzie wielkości 3mm i fototranzysytorze wielkości 0805 SMD można bez żadnego wysiłku osiągnąć zasięg 50cm, oczywiście moje doświadczenia odnoszą się do nadajnika i odbiornika w linii prostej a nie, gdy sygnał jest odbijany od przeszkody.

    /pozdraviam

    Dodano po 4 [minuty]:

    Jeszcze tylko dodam, że dla nadajnika wielkości 0805 SMD i odbiornika wielkości 0603 SMD uzyskałem zasięg 23cm.
  • #10 10348716
    Tomekddd
    Poziom 23  
    Ok dzięki za wszelkie rady, pokombinuje chyba z użyciem cyfrowego potencjometru.
  • #11 10350670
    _Robak_
    Poziom 33  
    Wydaje mi się że temat jest jak najbardziej do wykonania. Szczególnie że nie ma to pracować w ciężkich warunkach, czyli jak nie zadziała nic się nie stanie;] Zamiast cyfrowego potencjometru możesz użyć 3 komponentów pasywnych i zrobić przetworniczkę:) Potrzebny Ci będzie dławik, dioda schottkey i kondensator.
  • #12 10350730
    Tomekddd
    Poziom 23  
    Jaki to typ przetwornicy? Musze coś o tym poczytać a nie wiem pod jaką nazwą szukać.
    Tym będę regulował napięcie diody? Pytanie jeszcze co się stanie z nośną i jakim sygnałem będę regulował.
  • #13 10351263
    _Robak_
    Poziom 33  
    Chodzi o buck converter ale zapomniałem o 36kHz:) Oczywiście dałoby radę zrobić ale trzeba by bardzo szybko w takim razie to kluczować. W takim razie proponuję zrobić liniowy regulator prądu na wzmacniaczu i mosfecie. Przy czym jeden wzmacniacz by musiał regulować pracę mosfeta a drugi był by odpowiedzialny za zmianę punktu pracy.
  • #14 10351544
    nsvinc
    Poziom 35  
    36kHz nie powinno sprawić problemu, nawet stosując przetwornicę. Przecież od zminimalizowania tętnień 36kHz jest kondensator... Tyle, że jeśli tym buck'iem ma sterować mikrokontroler, to jakąś tam wiedzę trzeba posiadać, aby to prawidlowo zaprojektować i uruchomić.
  • #15 10351600
    _Robak_
    Poziom 33  
    Samo 36kHz oczywiście że nie. Problem w tym że sama przetwornica musiałaby pracować na częstotliwości.. ja wiem 300kHz? Przecież prąd diody musi w sensownym czasie zaniknąć. Przy takiej częstotliwości rozdzielczość pwma może być mała. Choć może jak zaprząc ARMa albo jakąś Xmegę będzie dobrze:) Osobiście zrobiłbym to na liniowym regulatorze.
  • #17 10351664
    _Robak_
    Poziom 33  
    No tak dodając drugi klucz można to zrobić w taki sposób. Choć jak wiemy przerwanie obwodu całkowicie w którym jest cewka należy robić z rozwagą;)
  • #18 10351676
    Tomekddd
    Poziom 23  
    Chyba najłatwiej będzie dać scalony potencjometr 5k, wydaje mi się że budowanie skomplikowanej przetwornicy w tak prostej konstrukcji mija sie z celem tak samo waga tego nie moze być duża.

    Jeśli potencjometr cyfrowy działa tak jak zwykły to bez problemu mogę na niego podać nośną i tylko regulować prąd diody, a dodatkowy plus to sterowanie nim przez ISP lub I2C.

    Zależy mi na łatwej konstrukcji. Stabilizator liniowy też jest ciekawy tylko czy może on pracować na sygnale o takiej częstotliwości?

    Nada się taki układ MCP40D19T-502ET?


    Z drobną pomocą wpadłem na pewien pomysł, skoro nośna generuje z timera czyli to praktycznie PWM o stałym wypełnieniu, jeśli TSOP nie reaguje na wypełnienie a tylko na częstotliwość to mogę śmiało zmieniać wypełnienie nośnej przez co dioda zmieni jasność a TSOP tak czy siak zareaguje na sygnał odbity. Tylko czy aby na pewno wypełnienie nic tu nie nabroi?
  • #19 10355147
    _Robak_
    Poziom 33  
    Niestety, ale w tym wszystkim chodzi o to aby prąd diody był "stały". Z samego założenia pracy przetwornicy wynika że musi ona pracować z częstotliowścią dużo wyższą niż 36kHz bądź jak nsvinc zauważył musisz użyć drugiego klucza.
    A potencjometr, chyba jest ok:) Tylko pamiętaj aby nie przekroczyć max prądu i będzie śmigać.

    Moje zdanie jest takie, jeśli robisz to "na czas" weź potencjometr. Jeśli przy oazji się chcesz czegoś nauczyć zrób na przetwornicy, choć to na pewno dużo trudniejsze wyjście ale przy takich założeniach tak na prawdę nie ma żadnych nieprzewidzianych problemów.
  • #20 10356037
    Snikers
    Poziom 24  
    Czy kolega słyszał o np. SHARP GP2Y0A21YK. Dosyć fajny czujnik, chociaż nie tani.
  • #21 10356254
    Tomekddd
    Poziom 23  
    Słyszałem ale dla wprawy chętnie sam zbuduję, jak sie nie uda to wtedy poszukam gotowców :)
  • #22 10356491
    _Robak_
    Poziom 33  
    Tylko tam jest wykorystana inna zasada, sprawdza się kąt pod jakim pada odbita wiązka.
  • #23 10357123
    Snikers
    Poziom 24  
    _Robak_ napisał:
    Tylko tam jest wykorystana inna zasada, sprawdza się kąt pod jakim pada odbita wiązka.

    Tak, przy pomocy triangulacji.

    Czujnik odbiciowy IR - pomiar odległości, regulacja jasności diody
    Zasada taka jak na obrazku tylko zwykła dioda IR z soczewką zamiast lasera służy za nadajnik.

    ----
    sharp wykorzystuje PSD zamiast CCD. PSD niby trochę gorzej wypada od CCD.
    Czujnik odbiciowy IR - pomiar odległości, regulacja jasności diody
  • #24 10392521
    Tomekddd
    Poziom 23  
    Własnie morduje sie z tym układem... kupiłem wzmacniacz LM358 i na nim zrobiłem regulację jasności diody (przetwornik CA jak w opisie wiązani) za przetwornikiem czyli na wyjściu wzmacniacza szeregowo dioda IR z opornikiem 200Ohm dalej za diodą kolektor tranzystora BC547 emiter do masy a baza przez rezystor 1k do generatora 36kHz zrobionego z Attiny13 (mierzone oscyloskopem 35,53kHz) Do Attiny podpięty TSOP1736 jeśli procesor na wejściu wykryje 0 z TSOPa to na jednym z wyjść wystawia również 0, tu podpięta dioda led sygnalizująca wykrycie przeszkody.

    Wszystko działa prawidłowo tylko że zasięg czujnika to maks 5cm a wcześniej bez regulacji na samym generatorku było dobre 20cm, pojęcia nie mam co jest nie tak... Ma ktoś jakiś pomysł?


    Edit: Własnie podałem sygnał 36kHz z cyfrowego generatora i niestety zasięg nadal 5cm więc coś tu jest nie tak...

    Jak nacisne dowolny przycisk na pilocie od TV to układ reaguje miganiem diody czyli odbiera nawet z kilku metrów nie celowany w czujnik
  • #25 10397407
    ljmp
    Poziom 14  
    200Ω to bardzo duży rezystor proponuję zacząć od 10.
REKLAMA