Skocz do zawartości

Czujnik odległości ??


mkb

Pomocna odpowiedź

Witam !

Mam pytanie odnośnie dobrego czujnika badającego odległość przedmiotu w tym przypadku piłki na pochylni o długości (80cm), chciałbym aby czujnik mógł pokazywać również wartość gdy piłka znajduje sie 2-3 cm od niego.

Jakie moglibyście polecić czujniki lubi inne rozwiązanie sprawdzania pozycji piłki ponieważ nie mam już kompletnie pomysłu na to proszę o odpowiedź

Pozdrawiam 🙂

[ Dodano: 28-02-2013, 00:36 ]

chciałbym jeszcze dodać że zależy mi na dokładności mniej więcej 1mm-3mm 😉

Link do komentarza
Share on other sites

Warunki pierwszej części postu spełniają analogowe sharpy, ale gdy zobaczyłem, o jakiej dokładności mówimy, to raczej odpada. Z taką dokładnością to chyba tylko przemysłowe laserowe czujniki odległości.

Link do komentarza
Share on other sites

Właśnie z tego co się orientowałem to sharp który ma odległość do 80 cm ma tolerancje +- 3mm lecz jego właściwy pomiar zaczyna się od 10 cm. A potrzebowałbym tak jak napisane pomiędzy 2-3cm :->

Pozdrawiam

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

A może nie musisz znać położenia przedmiotu z taką dokładnością w całym zakresie? Być może z dużej odległości wystarczy mieć np. 1 cm (albo wręcz wiedzieć, że przedmiot w ogóle gdzieś jest na pochylni) a dopiero gdy zbliża się do czegoś (strefa odbioru? manipulator? chwytak? itp) można dać czujnik dokładniejszy. A może wystarczą np. 2 Sharpy 80cm umieszczone prawie naprzeciw siebie? Wtedy jeden pokrywałby zakres tam, gdzie drugi już się "kończy" a raczej nie powinny patrzeć sobie w oczy 🙂 Minimalna odległość pracy jest oczywiście do obejścia odsunięciem czujnika. Napisz bardziej szczegółowo co Ci chodzi po głowie, to będzie można "szerzej" myśleć bo być może rzeczywiste wymagania są niższe niż sobie w pierwszej chwili założyłeś (albo niestety wyższe..). Poza tym co to znaczy odległość kulki? Od krawędzi? Której? Od środka? Czujniki optyczne (i chyba różne inne też) w przypadku kuli będą dawać odczyt "rozmyty". Tylko coś bardzo wąskiego, coś co trafiałoby zawsze w ten sam punkt kulek będących w różnych odległościach (laser umieszczony równolegle do osi?) dawałoby jakieś spójne pomiary. Czy kulki mogą być różnej wielkości? Z różnych materiałów? Kolory? Faktury? Czy to jest sytuacja dynamiczna (poruszają się i to szybko) czy raczej coś wolnego? Może wystarczyłoby podstawić pod jeden koniec (lub może pod oba końce?) pochylni tensometr/y i mierzyć środek cieżkości takiego układu? Czy kulki będą tam pojedyńczo czy stadami?

EDIT: literówki.

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

Jeśli sharp ma zakres pomiarowy od 10cm, to możesz go przesunąć o te 10cm do tyłu, i już problem znika ()chyba, że nie masz miejsca.

Link do komentarza
Share on other sites

A mam do was pytanie odnośnie pomiaru odległości poprzez odczyt oporności , na jakiej zasadzie to zrobić ? ponieważ zrobiłem coś takiego na arduino UNO, jak na przedstawionym powyżej filmiku , i sygnał analogowy odczytywany na arduino jest taki sam nie ważne gdzie kulka się znajduje. Jak to rozwiązać proszę o podpowiedzi :->

Link do komentarza
Share on other sites

Niestety ale nic to nie zmieniło dalej trudność z otrzymaniem zmiennego spadku napięcia w zależności od miejsca kulki

Link do komentarza
Share on other sites

Masz dwa druty: lewy L i prawy P a między nimi kulkę. Każdy z drutów ma dwa końce: 1 i 2. Zakładając, że obie jedynki są obok siebie (na jednym końcu pochylni), jedną jedynkę podłączasz do masy a drugą jedynkę do wejścia ADC. Jednocześnie tę drugą jedynkę podciągasz opornikiem do plusa zasilania. Dwójki pozostają niepodłączone. Jeżeli położysz gdzieś kulkę, stworzy się opornik składający się z odcinka drutu od jedynki do kulki - przeskok na drugą stronę - i od kulki do drugiej jedynki. Ten "druciany" opornik wraz z opornikiem podciągającym do plusa stworzą dzielnik rezystorowy a napięcie z niego odbierane będzie wprost proporcjonalne do położenia kulki. Minimalnie możesz dostać 0V (kulka tuż przy jedynkach) ale maksymalnie (kulka przy dwójkach) będzie to:

U = Vcc*(Rd/(Rd+Rp))

gdzie:

Vcc to napięcie zasilania do którego "podciągasz",
Rd to sumaryczna rezystancja obu drutów połączonych szeregowo,
Rp to rezystor podciągający.

Jeżeli rozepniesz zwykłe druty (np miedziane) to rezystancja "pomiarowa" będzie tak mała (np. 0.3 oma), że przy sensownej wartości opornika podciągającego (np. 1k) dostaniesz napięcia w zakresie 0-1.5mV i nie zmierzysz tego bez precyzyjnego wzmacniacza. Musisz więc użyć drutu oporowego tak, by dostać w sumie np. 100 omów. Wtedy przy 5V zasilania i oporniku podciągającym 1k dostaniesz zakres 0-450mV a to już zmierzyć łatwiej. Możesz jeszcze bardziej obniżyć wartość rezystora podciągającego ale to znacznie zwiększy prąd pobierany przez układ. Np. dla tych 100 omów w drucie i podciągania też 100 omów dostaniesz już max. 2.5V ale za to dzielnik będzie pobierał 25mA. Jeżeli nie jest to problemem, to masz rozwiązanie bo 2.5V może być pełną skalą przetwornika i wykorzystasz tym samym całą jego rozdzielczość.

W programie musisz założyć pewne uśrednianie wyników (lub wręcz odrzucanie wartości ewidentnie błędnych) bo toczenie się kulki po drutach może powodować chwilowe zrywanie kontaktu i podskoki napięcia do 5V. Można to spróbować odfiltrować jeszcze po stronie analogowej np. zamiast podłączać wejscie ADC wprost do dzielnika dać szeregowo dodatkowy rezystor np. 1k a na samym wejściu przetwornika dołączyć kondensator z 10uF do masy.

EDIT: Może zamiast pisać, że coś nie działa opisz przede wszystkim co nie działa. No wiesz, schemat itp. Układ pomiarowy jest prosty jak.. drut 🙂 i nie bardzo widzę co tu może nie działać.

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

mkb,

Made out of cheap components which I had in my lab. The frame is made with a metal building kit (EiTech). The beam is a 500mm (8mm dia.) carbon pipe, the steel ball is 12mm, the wires are thin guitar e-strings (0.22mm), driven with a current of 500mA.

Even the measured signal is extremely noisy, a Kalman filter does a good ball position estimation. The position accuracy is about 3mm.

[\quote]

z opisu filmu. Ja bym polecił drut oporowy, ale nie wiem czy się nie zerwie po naciągnięciu. Autor napisał, że odczyt jest zaszumiony (nie dziwię się, to są struny gitarowe, czyli tak naprawdę sprężynki o stosunkowo niedużym oporze).

Dobrze by było, abyś wyznaczył rezystancję uzytego drutu i potem sterował go źródłem prądowym o nieco wyższym prądzie (ale uwaga, bo zakłócenia przy wyższym prądzie będą większe pod względem amplitudy - sygnał i tak warto wzmacniać na wzmacniaczu operacyjnym i potem filtrować cyfrowo, minimum to filtr medianowy).

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.