Skocz do zawartości

Filtr górnoprzepustowy w czujniku odległości


kubik

Pomocna odpowiedź

Hello,

Próbuję zrozumieć jak zaprojektować, i jak wykorzystać, filtr górnoprzepustowy RC w czujniku odległości. Czujnik zrobiony ma być na bazie diody nadawczej i fototranzystora, działających w paśmie podczerwieni. Filtr miałby za zadanie wycinać z sygnału wyjściowego napięcie światła widzialnego:

(VIN to wejście do przetwornika ADC w mikrokontrolerze)

I teraz tak, załóżmy że dobiorę C1 = 100nF, R2 = 10kOhm to częstotliwość graniczna takiego filtra wyniesie f = 1 / (2 * 3.14 * 100n * 10k) = 159Hz. Tak?

Pytanie pierwsze: nie za mała częstotliwość filtra? Jak się ją dobiera?

I teraz żeby jakoś ten filtr wykorzystać powinienem zapewne wyzwalać diodę nadawczą LED1 z częstotliwością 159Hz lub większą, tak?

Drugie pytanie: z jaką częstotliwość wyzwalać diodę nadawczą i jakie powinno być wypełnienie sygnału?

A być może w ogóle źle myślę i przedstawiony sposób jest do bani...?

Link do komentarza
Share on other sites

Najpierw musisz sobie określić jakie sygnały od siebie oddzielasz i jak bardzo dobrze chcesz to zrobić. Twój przypadek wygląda na prosty, bo częstotliwość przebiegu IR może być prawie dowolnie duża a prądkość zmian oświetlenia jest właściwie żadna. Filtr jaki narysowałeś to najprostszy układ tego typu, tzw. pierwszego rzędu. Jego tłumienie zmienia się o 6dB na oktawę. Częstotliwość jaką sobie wyliczyłeś to ta, przy której działanie filtra zaczyna w ogóle być widoczne. Jest to punkt tłumienia 3dB. Wydaje się niedużo ale sygnał o tej częstotliwości będzie tłumiony już do ok. 0.7. Ponieważ światło otoczenia ma praktycznie zerowe pasmo i tak naprawdę możesz je traktować jak składową stałą sygnału, ten filtr będzie dobry jak każdy inny. Generując IR np. 2kHz możesz zrobić filtr na 10Hz, 100Hz lub 1kHz. Weź tylko pod uwagę fakt, że taki układ RC działa zgodnie z teorią tylko wtedy, gdy nie jest niczym obciążony. Jeżeli podłączysz na jego wyjście cokolwiek, wiele się zmieni - co też jest zgodne z teorią i można to policzyć 🙂

Jeżeli stracisz składową stałą, sygnał wyjściowy będzie symetryczny względem zera, czyli dostaniesz "dołki" prostokątów ujemne.

Kolejnym problemem może być zakres dynamiki. Może tak się zdarzyć, że Twój czujnik będzie widział tyle światła z otoczenia, że nie starczy mu już "przestrzeni" sygnału by oddać na takie tło nałożony sygnał z diody IR. Dlatego warto kupować czujniki mające wbudowany optyczny filtr wycinający światło widzialne zanim w ogóle ono dotrze do krzemu.

Zmniejszanie wypełnienia sygnału powoduje, że w impulsach które wysyłasz jest coraz więcej składowych wysokoczęstotliwościowych ale to akurat dla filtra górnoprzepustowego tylko lepiej. To co wyślesz, to przez ten filtr i tak wróci. Natomiast wypełnienie jest ważne dla układu detekcji. Jeżeli potrafisz go zrobić tak, by był czuły np. tylko na odległość (czas) między kolejnymi zbooczami narastającymi, wysyłanie krótkich impulsów oszczędza mnóstwo prądu. Energia impulsu maleje ale jego moc - nie.

Link do komentarza
Share on other sites

Właściwie nie trzeba robić żadnych filtrów, ani modulować sygnału. Wystarczy dokonać pomiaru ze zgaszoną diodą a potem z zapaloną, a odległość obliczyć na podstawie różnicy. To plus osłonięcie fototranzystora termokurczką zapewnia całkiem przyzwoitą niezależność od warunków oświetlenia.

Link do komentarza
Share on other sites

To się nazywa detekcja synchroniczna 🙂

Można też wziąć gotowy odbiornik IR z wbudowanym detektorem, wzmacniaczem, filtrem 36kHz (lub coś koło tego), wyjściem cyfrowym i zapłacić 5zł, zamiast 2zł za sam fototranzystor. Ale pytanie dotyczyło metody opartej o filtr a nie o to, jak zrobić cały taki układ więc spróbujmy pomóc. Zbudowanie typowego TSOPa "na piechotę" może być bardzo poczające.

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

No właśnie opis nie sugeruje, że to ma być czujnik a'la na tsopie. Do takiego chyba nie wystarczy podłączenie do ADC, przydałoby się jakieś wzmocnienie sygnału itp, bo inaczej zasięg będzie nawet gorszy, niż dla zwykłego pomiaru bez modulacji.

Link do komentarza
Share on other sites

Oczywiście masz rację. Filtr jest tylko fragmentem toru odbiorczego. Będą jeszcze potrzebne inne stopnie i jako przykład skomplikowania rzeczywistej konstrukcji przytoczyłem TSOPa ale ten z kolei nie nadaje się (właśnie z uwagi na dwustanowość wyjścia) do analogowego pomiaru odległości. A jeśli w środku ma jakieś ARW to nawet do zgrubnego, cyfrowego.

Szczerze mówiąc wciąż nie rozumiem jak można próbować mierzyć odległość tak prostymi metodami. Przecież powracająca moc promieniowania zależy od tylu czynników, że system działa dobrze tylko dla konkretnej powierzchni, konkretnego kąta padania itp. Po wyskalowaniu może i jest OK ale to sprawdzi się np. dla myszy w pewnym labiryncie, gdzie wszystkie ścianki są dla danego przypadku (miejmy nadzieję) pomalowane tą samą farbą. Czy metoda dioda LED - fototranzystor stosowana jest powszechnie tylko dlatego, że jest tania i potrzeby nie są wygórowane? W wielu robotach, na schematach widzę takie kombo DIY. Czy w większości przypadków wystarcza odróżnienie stanu "coś jest" od stanu "nic nie widzę"? Przecież wstawienie czujnika opartego na triangulacji jest układowo jeszcze prostsze a daje nieporównywalnie więcej informacji..

Link do komentarza
Share on other sites

Dzięki za rozjaśnienie w głowie, coś zaczynam z tego rozumieć 🙂

Prawda jest taka, że nie zależy mi jakoś szczególnie na nauce i wyważaniu otwartych drzwi. Chcę po prostu skutecznie i prosto zrealizować pomiar odległości dla micromouse'a - czyli w typowej aplikacji. Pomiar powinien działać w zakresie 1 - 20cm.

Do tej pory sądziłem, że nie da się tego zrobić na TSOPie, bo on nie daje informacji o "ilości" światła - zerkam zresztą teraz do noty katalogowej http://www.tme.eu/dok/T/tsop12.pdf i dalej nie wiem jakby to miało działać 🙂

Natomiast co do kosztów, to 2zł czy 5zł nie robi mi różnicy.

Nie rozumiem jednak tego zdania:

Jeżeli stracisz składową stałą, sygnał wyjściowy będzie symetryczny względem zera, czyli dostaniesz "dołki" prostokątów ujemne.

Czym będzie to zero?

Detekcja synchroniczna

Muszę sprawdzić jak to działa w praktyce. Czy przy takim pomiarze zależność jest liniowa, tj. dla światła zastanego wartość wyjściowa wynosi np. X a dla pomiaru z włączonym nadajnikiem podczerwieni X + aY (gdzie 'a' to odległość)? Innymi słowy czy nie występuje problem z kalibracją takiego rodzaju detekcji?

PS marek1707 odpowiedział gdy pisałem tego posta, więc pytanie o TSOPa nie jest już aktualne 🙂

PS2

Przecież wstawienie czujnika opartego na triangulacji jest układowo jeszcze prostsze a daje nieporównywalnie więcej informacji..

Masz na myśli pomiar z jednym nadajnikiem i detekcją, w które miejsce na osi odbiornika pada odbity sygnał? Jak to można łatwo zrealizować, bo to co mi przychodzi do głowy nie jest "jeszcze prostsze" 🙂

Link do komentarza
Share on other sites

Składowa stała: jeżeli sygnał wejściowy (na kolektorze fototranzystora) bedzie prostokątem (dla uproszczenia symetrycznym) o poziomach np. +4.5V i +3.5V to będzie to tak naprawdę przebieg o amplitudzie 0.5V i składowej stałej 4V. Jeżeli teraz filtr obetnie tę ostatnią, zostanie Ci tylko sam prostokąt. Dostaniesz sygnał o poziomach +0.5V i -0.5V. Najlepiej to sobie narysować. Właśnie o tych "ujemnych dołkach" pisałem.

Detekcja synchroniczna jest pewną sprytną operacją umożliwiajacą tłumienie zakłóceń, nawet bardzo dużych na tle słabego sygnału. Tutaj już wiemy, że "zakłóceniem" jest składowa stała a pomiar polegałby na odejmowaniu zmierzonych wartości. W żaden sposób nie poprawia to metody pomiaru odległości i ma wszelkie wady normalnej, stałoprądowej metody odbiciowej uzupełnionej o filtr górnoprzepustowy. To tylko taki filtr bez filtru 🙂

Rzeczywiście samodzielne zrobienie czujnika opartego na pomiarze kąta jest trudne. Można się w to bawić ale po co, skoro produkowane są gotowe i całkiem fajne, np. takie:

http://electropark.pl/czujniki-optyczne/39-gp2d120xj00f-gp2y0a41sk-sksharp-dalmierz-4-30cm-5901000039005.html

To chyba najbardziej popularna seria. Pomyśl o tym. Mają swoje wady choćby to, że dla bardzo małych odległości sygnał spada co może być mylące ale odpowiedni sposób montażu i będzie OK.

Link do komentarza
Share on other sites

Czy metoda dioda LED - fototranzystor stosowana jest powszechnie tylko dlatego, że jest tania i potrzeby nie są wygórowane?
Odpowiedź brzmi tak. Akurat robiłem ostatnio testy tego typu czujników na różnych elementach. Zależność od koloru przeszkody jest faktycznie dużą niedogodnością, ale dla białego, powtarzalność wyników jest całkiem przyzwoita i pozwala na sensowny pomiar do 15-18cm (nawet do 20-kilku, ale wtedy dokładność to 2-3cm). Przy pomiarze różnicowym dopiero silne oświetlenie daje jakieś zauważalne zakłócenie.

Poza tym w MM nie jest na tyle ważna konkretna odległość, a różnica między prawą a lewą ścianą, a do wykrywania obecności ścian powinna wystarczać nawet dokładność kilku cm.

Do tej pory sądziłem, że nie da się tego zrobić na TSOPie, bo on nie daje informacji o "ilości" światła
Bo nie daje niestety. Jedyny sposób na uzyskanie jakiejś (mocna skwantowanej) danej o odległości można uzyskać zmieniając siłę nadawanego sygnału, ale tu utrudnia nam AGC.
Prawda jest taka, że nie zależy mi jakoś szczególnie na nauce i wyważaniu otwartych drzwi.
I na tym bym się skupił 😉
Czy przy takim pomiarze zależność jest liniowa, tj. dla światła zastanego wartość wyjściowa wynosi np. X a dla pomiaru z włączonym nadajnikiem podczerwieni X + aY (gdzie 'a' to odległość)? Innymi słowy czy nie występuje problem z kalibracją takiego rodzaju detekcji?
Niestety w rzeczywistości nic nie jest liniowe. Do tego nie uzyskamy napięć wyższych niż zasilanie i w jego pobliżu charakterystyka 'zwalnia' (możemy zmniejszyć rezystor, ale wtedy spada zasięg i dokładność). Na szczęście dobre osłonięcie fototranzystora rurką termokurczliwą ogranicza problem, dla warunków normalnego oświetlenia.

Na wykresach, normalne oświetlenie to zwykłe żarówki pod sufitem (niezbyt silne, pokój niestety ciemnawy), a silne to lampka halogenowa nad czujnikiem w odległości poniżej 50cm)

Link do komentarza
Share on other sites

Z moich (nikłych) doświadczeń wynika, że jednak odległość myszy od ściany jest ważna a czujniki nie służą tylko do dwustanowego wykrywania obecności ściany ale także do "analogowego" pozycjonowania zwierzaka w korytarzu podczas jazdy. W każdym razie Twój wykres jest bardzo zachęcający i właściwie czujnik działa od zera do 12-15 cm. To do labiryntu (po jakiejś kalibracji ale to nie jest zabronione) zupełnie wystarcza 🙂 Jak wyglądał pomiar i ile trwał? Czy był to jednokrotny odczyt czy jakieś uśrednianie? Czy miałeś jakieś filtry analogowe w torze? Jaka była powtarzalność lub inaczej rozrzut wyników? Czy robiłeś próby ze świetlówkami lub innymi bardziej mrugającymi źródłami niż żarówki? Czy próbowałeś robić detekcję synchroniczną np. z częstotliwością 100Hz? Czasem w węzłach labiryntu stoją słupki z alu o zupełnie innym (jak mniemam) współczynniku odbicia niż białe ściany. Czy to bardzo przeszkadza tym czujnikom? Robiłeś takie porówniania?

Link do komentarza
Share on other sites

Może źle się wyraziłem. Nie chodzi o to ze odległość nie ma znaczenia, tylko ze pomiar nie musi być bezwzględny, tylko istotniejsza jest różnica między prawym a lewym (czy jedziemy środkiem) i zmiany odczytów (zbliżanie oddalanie). W dodatku skoro mamy stała odległość ścian, można dokonać jakiejś autokalibracji.

Na wykresie jest wynik uśredniony z 10 pomiarów następujących tuż po sobie. Taka wartość jest właściwie stała dopóki nie ruszymy przeszkody, lub nie zmienimy znacznie oświetlenia - takie rzeczy jak np rzucanie cienia nie ma raczej wpływu przy normalnym świetle.

Pomiar to po prostu odczyt napięcia, zapalenie diody, odczekanie 1ms (pewnie niepotrzebne) i następna konwersja ADC, zgaszenie diody. Czyli czas 2 pomiarów ADC plus ta 1ms. no jeszcze 2 takty mikroprocesora na obliczenie różnicy 😉

Żadncyh filtrów nie stosowałem, oprócz oczywiście normalnego filtrowania zasilania (kondensatory, cewaka na avcc), żadnej modulacji sygnału też nie próbowałem.

Dokładniejszych testów wpływu oświetlenia nie robiłem, ale świetlówki raczej nie emitują zbyt wiele podczerwieni, więc największy wpływ mają właśnie klasyczne żarówki, halogeny i słońce.

jeśli chodzi o różne typy przeszkody, oprócz bieli mam tylko czarny karton

Jak widać sporo zaniża odczyt.

Link do komentarza
Share on other sites

kubik, a mógłbyś sprawdzić jeszcze jak odczyty zmienią się przy czarnej powierzchni umieszczonej nieprostopadle do wiązki? Tak powiedzmy 45*. I co tam masz za nadajniki i odbiorniki?

Link do komentarza
Share on other sites

kubik, a mógłbyś sprawdzić jeszcze jak odczyty zmienią się przy czarnej powierzchni umieszczonej nieprostopadle do wiązki? Tak powiedzmy 45*. I co tam masz za nadajniki i odbiorniki?

No, dla czarno matowego przedmiotu to już słabo to wygląda (niebieska linia przedmiot prostopadle do czujników, czerwona pod kątem 45st):

Czujnik to para dioda IR http://www.tme.eu/pl/details/l-53f3c/diody-nadawcze-ir/kingbright-electronic/# i fototranzystor http://www.tme.eu/pl/details/l-53p3bt/fototranzystory/kingbright-electronic/#

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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.