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

Lidar DIY - oparty o dalmierz laserowy i Arduino

ghost666 06 Lis 2015 11:57 10815 16
  • Lidar DIY - oparty o dalmierz laserowy i Arduino
    Autora do realizacji opisanego poniżej projektu skłonił zakup prostego dalmierza laserowego - wykorzystując takie urządzenie, można skonstruować prosty LIDAR. Wykorzystany w projekcie dalmierz ma dokładność ±2 mm i jest w stanie mierzyć odległości do 45 m - to dostatecznie dużo jak na potrzeby autora.

    Co jeszcze będzie potrzebne do realizacji zadania oprócz samego dalmierza:

    * Moduł Arduino Mega
    * 2 x serwomotory
    * Pochył sterowany poprzez serwomotor
    * Układ LM317 i inne elementy do konstrukcji zasilacza 3 V
    * Zasilacz 5 V, 3A dla całego systemu.
    * Kabelki, złącza etc.

    Krok 1: Dalmierz UT390b i jego możliwości

    Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino






    W sieci można odnaleźć informacje odnośnie wykorzystanego w projekcie dalmierza UT390b oraz sposobu w jaki odczytywać można z niego dane przez port szeregowy. Istnieją też specjalnie biblioteki, np. do Arduino, dedykowane do obsługi tego urządzenia. W poszukiwaniu informacji można odwiedzić poniższe strony:

    * https://github.com/erniejunior/UT390B_Arduino_Library
    * http://blog.qartis.com/arduino-laser-distance-meter/
    * http://blog.qartis.com/laser-distance-meter-update-serial-commands-timing-measurements/

    Do połączenia z dalmierzem potrzebne są jedynie trzy przewody - masa, RX i TX - które podłącza się do urządzenia do złącza pod klapką baterii. W instrukcji, dostępnej pod powyższymi linkami, znaleźć można rozpiskę złącza. Trzeba przylutować trzy przewody do gniazdka i już - prawie gotowe. Uwaga! Sygnał TX pochodzący z Arduino jest w standardzie 5 V, a to napięcie jest zbyt wysokie dla dalmierza i może go uszkodzić. Aby tego uniknąć, wystarczy podłączyć go do Arduino poprzez dzielnik napięciowy.

    Innym problemem jest to, że UT390b wyłącza się czasami automatycznie lub na skutek wygenerowania jakiegoś błędu. Żeby rozwiązać ten problem, trzeba wymienić baterie na zasilacz i dodać zdalny reset. Do konstrukcji zasilacza autor projektu wybrał układ LM317.

    Gdy dalmierz wykryje błąd, trzeba wyłączyć i włączyć ponownie mu zasilanie, a następnie nacisnąć przycisk ON, jeśli po prostu wyłączy się automatycznie to wystarczy samo naciśnięcie przycisku ON.

    Krok 2: Pomiary

    Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino


    Aby rozpocząć pomiary, trzeba nacisnąć przycisk. Następnie dwa serwomotory zmieniają pozycję dalmierza, przemiatają zadany obszar. Dla każdej pozycji - określanej z pomocą dwóch kątów: Φ oraz θ - wartość zmierzonej odległości przesyłana jest do komputera i zapisywana na dysku.

    Krok 3: Wizualizacja danych.

    Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino Lidar DIY - oparty o dalmierz laserowy i Arduino


    Gdy wszystkie dane spłyną do komputera - kąty i odległość - chcemy móc zaprezentować graficznie wyniki pomiaru. Niestety nie udało się odnaleźć gotowego oprogramowania tego rodzaju, gdyż siatka pomiarowa programu nie jest jednorodna, ale na szczęście autor stworzył kiedyś (20 lat wcześniej) program do wizualizacji map topograficznych w 3D. Oprogramowanie napisane jest w Turbo Pascalu i pozwala na rysowanie map na podstawie dostarczonych danych.

    Korzystając z programu, można wizualizować dane pochodzące z LIDARu. Klawiatura pozwala na płynne obracanie i translację widoku 3D, a także na zmianę punktu obserwacji itp.

    Krok 4: wyniki



    Skanowanie pokoju było pierwszym testem przeprowadzonym z wykorzystaniem LIDARu. Niektóre linie na obrazie 3D są odrobinę zniekształcone ponieważ podczas obrazowania autor musiał zdjąć dalmierz z podstawy w urządzeniu, aby go ponownie włączyć. System resetowania dalmierza został dodany później, zwiększono też stabilność podstawy, tak więc produkowane teraz obrazki są o wiele lepsze.

    Źródło: http://www.instructables.com/id/Simple-LiDAR-using-the-laser-rangefinder-Uni-T-UT3/?ALLSTEPS


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2 06 Lis 2015 19:15
    323493
    Użytkownik usunął konto  
  • #3 06 Lis 2015 21:01
    ghost666
    Tłumacz Redaktor

    Mictronic napisał:
    Jak działa taki dalmierz? Co jest bezpośrednio detektorem i jak wykrywa się wiązke z takiej odległości?


    https://en.wikipedia.org/wiki/Laser_rangefinder

  • #4 06 Lis 2015 23:30
    323493
    Użytkownik usunął konto  
  • #5 07 Lis 2015 09:05
    teofil111
    Poziom 12  

    Elektronicznie nie ma dużego problemu aby zmierzyć czas pomiędzy wysłaniem wiązki lasera a jej odebraniem. Im szybszy licznik tym większa precyzja, prawdopodobnie wiązka jest dodatkowo zmodulowana aby odfiltrować przy odbiorze inne źródła światła, jak w odbiornikach IR.

  • #7 07 Lis 2015 18:42
    maciej_333
    Poziom 34  

    deus.ex.machina napisał:
    Mictronic napisał:


    Brak konkretów, interesuje mnie strona elektroniczna rozwiązania jak w tych prostych dalmierzach.


    TDC - od jakiegoś czasu są dostępne relatywnie tanie scalone TDC.
    http://www.acam.de/fileadmin/Download/pdf/TDC/English/AN034_en.pdf

    Dokładnie tak jest to wykonywane. Na Timerach wbudowanych w mikrokontroler trudno byłoby uzyskać odpowiednią rozdzielczość. Przykładem może być też TDC7200 z Texas Instruments. Ma rozdzielczość pomiaru czasu niby 55 ps. Światło wysłane przez laser pokonuje drogę równą dwukrotnej odległości od nadajnika do obiektu. Zatem zakładając c = 3*10^8 m/s uzyskać można rozdzielczość pomiaru odległości 27,5 ps * 3*10^8 m/s = 8,25 mm. Jest to oczywiście bardzo teoretyczne stwierdzenie. Konieczne byłoby uśrednienie jakiejś serii pomiarowej.

    teofil111 :arrow: Inna sprawa, że wysyłany impuls musi być bardzo krótki, by mierzyć małe odległości. Nie wiem jak zatem można to modulować w prosty sposób. W pilotach IR wszystko odbywa się na zupełnie innej zasadzie.

  • #8 08 Lis 2015 12:23
    deus.ex.machina
    Poziom 32  

    maciej_333 napisał:

    Dokładnie tak jest to wykonywane. Na Timerach wbudowanych w mikrokontroler trudno byłoby uzyskać odpowiednią rozdzielczość. Przykładem może być też TDC7200 z Texas Instruments. Ma rozdzielczość pomiaru czasu niby 55 ps. Światło wysłane przez laser pokonuje drogę równą dwukrotnej odległości od nadajnika do obiektu. Zatem zakładając c = 3*10^8 m/s uzyskać można rozdzielczość pomiaru odległości 27,5 ps * 3*10^8 m/s = 8,25 mm. Jest to oczywiście bardzo teoretyczne stwierdzenie. Konieczne byłoby uśrednienie jakiejś serii pomiarowej.

    teofil111 :arrow: Inna sprawa, że wysyłany impuls musi być bardzo krótki, by mierzyć małe odległości. Nie wiem jak zatem można to modulować w prosty sposób. W pilotach IR wszystko odbywa się na zupełnie innej zasadzie.


    To akurat jest dość proste ale pytanie jest o to co jest wspierane przez demodulator.
    Zawsze można użyć kodu Barkera

  • #9 08 Lis 2015 12:44
    maciej_333
    Poziom 34  

    Zakładając minimalną odległość mierzoną na 1 m i c = 3*10^8 m/s uzyskać można maksymalny czas trwania impulsu: 2 m / 3*10^8 m/s = 6,67 ns. Zakładając np. 7 bitów dowolnego kodu, wychodzi 6,67 ns / 7 = 0,95 ns. Wychodziłoby zatem, że światło należałoby modulować z przepływnością prawie 1 Gb/s. W telekomunikacji nie jest to dziś aż tak dużo, ale w tanim urządzeniu z pewnością się czegoś takiego nie robi. Moim zdaniem rolę odgrywa tu statystyka i czułość odbiornika na określoną długość fali. Może być też zastosowana przesłona na fotodiodzie odbiornika, dobrana do długości fali lasera.

    Moim zdaniem demodulator to tylko fotodioda, ewentualna przesłona, wzmacniacz transimpednacyjny i komparator z pętlą histerezy.

  • #10 11 Lis 2015 16:28
    323493
    Użytkownik usunął konto  
  • #12 15 Lis 2015 16:57
    slawek-matyl
    Poziom 11  

    Coś mi się wydaje że taki dalmierz nie pracuje na zasadzie pomiaru czasu przelotu. Po pierwsze zastosowana dioda laserowa świeci w zakresie widma czerwonego, nie jest to typowy laser impulsowy pracujący w podczerwieni. Zasada działania będzie opierała się na triangulacji, lub bardziej prawdopodobne: na przesunięciu fazy modulowanego sygnału ciągłego. Dalmierze time to fly nie są dokładne co to mm, raczej stosuje się je na duże odległości i przeważnie działają w bliskiej podczerwieni 905-1550nm

  • #13 16 Lis 2015 17:29
    323493
    Użytkownik usunął konto  
  • #14 16 Lis 2015 17:58
    maciej_333
    Poziom 34  

    Mictronic napisał:
    Czyli zmodulowana wiązka jakąś dowolną częstotliwościa, zostaje wysłana, odbija sie od obiektu, wraca do odbiornika i miesza się z częstotliwością nadawczą. Czyli dla małych odległości częstotliwość będzie bardzo bardzo mała? Czy to stąd wynika tak wolne odświeżanie pomiaru?

    Może tak też być. Wystarczyłoby kluczować laser jakąś niską częstotliwością. Nie sądzę by było potrzebne więcej niż kilkadziesiąt kHz. Potem mierzy się przesunięcie fazowe odebranego sygnału względem nadawanego. Wystarczy zatem prosty detektor amplitudy. Potem i tak może to iść do TDC. Żadnych analogowych mieszaczy się raczej nie stosuje. Zresztą tu obie częstotliwości będą takie same. Wolne odświeżanie wynika prawdopodobnie z potrzeby uśredniania serii pomiarów.

  • #15 16 Lis 2015 23:05
    slawek-matyl
    Poziom 11  

    Tutaj macie jak to leica robi: Link
    Tu też ciekawostka Link

    Oczywiście że wolna praca wskazuje na uśrednianie pomiarów, co zwiększa stosunek sygnał / szum.
    Typowy dalmierz impulsowy wysyła jeden impuls, jednak istnieją dalmierze podszumowe, wysyłające paczkę impulsów Link

  • #16 07 Gru 2015 19:03
    323493
    Użytkownik usunął konto  
  • #17 08 Gru 2015 10:34
    slawek-matyl
    Poziom 11  

    Trochę skąpe te informacje podałeś, nie bardzo rozumiem co gdzie i jak. Jeśli się da spisać, to spisz nazwy scalaków pozostałych na płytce. Na drugiej stronie PCB coś jest albo nie rozbierałeś? Napięcie 100 V to tak jak mówisz napięcie polaryzacji fotodiody. W opisie używaj albo laser oraz fotodioda, tak to ciężko zrozumieć o którym elemencie myślisz pisząc dioda. Na początek wypadało by zaobserwować przebieg na laserze, najlepiej było by mierzyć napięcie na anodzie i katodzie różnicowo. Pamiętaj że często różnica pomiędzy minimalną a maksymalną mocą lasera to około 100 mV napięcia przewodzenia. Dużo lepiej było by mierzyć prąd, jest znaczna różnica w pomiarze prądu pomiędzy mocą maksymalną Pmax a początkiem generowania Ith.
    Nie ukrywam też mnie interesuje co tam wykombinowali