Skocz do zawartości

Dopracowywanie czujnika odległości na IR


l153k

Pomocna odpowiedź

Witam wszystkich serdecznie, jako że to mój pierwszy post na tym forum 🙂

pracuję nad swoim robotem typu MicroMouse, i o ile części mechaniczne i cyfrowe idą jak na razie jak burza, tak mam problem z czujnikami odległości.

Wymyśliłem to sobie tak (ale jestem otwarty na inne propozycje 🙂 ):

Dioda nadawcza IR błyska sobie z f=40kHz (to mam i działa, tzn wierzę, że działa, bo w aparacie migania nie widać)

Odbiornik to fototranzystor, w najgorszych warunkach (mocne światło) wyrzuca z siebie 20mA, więc aby przerobić to na napięcie, wstawię rezystor 250Ω (wtedy dla 20mA -> 5V na rezystorze).

Napięcie z dzielnika fototranzystorowo-rezystorowego będzie powtórzone przez wzmacniacz operacyjny, stamtąd poleci na filtr górnoprzepustowy (kondensator i rezystor), a za filtrem będzie już prawie tylko miganie nadajnika. Tam będzie kondensator (który to troszkę wygładzi), a dalej być może nawet wzmacniający OpAmp, żeby wykorzystać całe ADC, a nie tylko zakres jakieś 0-0,5V...

Tak by to wyglądało w uproszczeniu:

Eksperymenty przeprowadzam cały czas na płytce stykowej, ale rewelacji nie ma, także byłbym wdzięczny, gdyby ktoś doświadczony rzucił na to okiem-może są tam błędy już na etapie koncepcyjnym...

pozdrawiam

Link do komentarza
Share on other sites

Witam, na forum, ostatnio prowadzimy tutaj długą dyskusję w temacie, jaki możecie Ciebie zainteresować:

https://www.forbot.pl/forum/topics34/teoretyzowanie-przed-praktyka-1-podczerwien-w-robotyce-amatorskiej-vt9084.htm

Na kolejnych stronach pojawią się schematy i wyniki eksperymentów 🙂

Link do komentarza
Share on other sites

tak, przeczytałem od deski do deski, stamtąd właśnie wziął się ten pomysł 🙂

Tylko nie chciałem zaśmiecać tamtej dyskusji pytaniami z tego tematu. A coś mi definitywnie nie działa 😋

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

prawdziwy schemat będzie po niedzieli, na razie wracam do domu do rodzinki 🙂

ale tak mi się w pociągu wymyśliło... taki filtr:

sygnał
|
|
=  kondensator
|
|
+----- przefiltrowany
|
|
[ ] rezystor
|
|
GND

będzie dobrze przepuszczał sinusy itp. gdy będą miały część dodatnią i część ujemną... a u mnie to było bardziej jak wyprostowany sinus (prostokąt to takie więcej sinusów 🙂 ). Tak jakby kondensator w filtrze był ładowany, ale nie rozładowywany, aż się zatka... ?

Oscylogramów nie mam jak zrobić, przynajmniej nie w tym miesiącu 🙁

Link do komentarza
Share on other sites

W domu składam drugą kopię takiego czujnika. Nie mam oscyloskopu, dlatego zmniejszyłem częstotliwość do takiej, jaką można usłyszeć w słuchawkach. Na razie jest tak: rezystor, fototranzystor tworzą dzielnik napięcia. Ze środka (napięcie podzielone) sygnał leci na filtr górnoprzepustowy obliczony na mniej więcej tą częstotliwość.

Kiedy podłączę słuchawki do masy i fototranzystora, słychać pisk i słuchawki się grzeją, kiedy podłączę je za filtrem, słyszę ten sam pisk ("na ucho" równej głośności), ale słuchawka się nie grzeje-czyli zakłócenia, a w szczególności składowe stałe są tak jakby odfiltrowane 🙂 Zwłaszcza że woltomierz w tym miejscu pokazuje jakieś marne ułamki miliwolta.

Regulując opornik nad fototranzystorem znalazłem taki opór, że światło żarówkowe, niknące słońce i takie tam, zdają się w ogóle nie wpływać na głośność dźwięku, jedyny sposób żeby podgłośnić i ściszyć, to postawić białe pudełko w innym miejscu 🙂

A teraz to z czym sobie nie radzę:

Próbowałem wzmocnić ten sygnał wzmacniaczem operacyjnym (LM311P i KA311), niby wiem o co w tym chodzi ale moja wiedza ma widocznie jakieś braki.

Wszystko podłączyłem jak na rysunku, i... nic. Wiem, że zasilając go z 5V nie uda mi się tyle uzyskać na wyjściu, ale mimo wszystko trochę powinien wzmocnić. Próbowałem kręcić potencjometrem między wyjściem i wejściem IN(-), próbowałem podłączać je bezpośrednio... cisza.

Byłbym wdzięczny, gdyby ktoś opisał takie absolutne minimum teoretyczne, żeby wystarczyło do używania takiego LM311 i podobnych. Naczytałem się już dość o nieskończonych impedancjach i wzmocnieniach, odwracającym wejściu, różnych sprzężeniach, zasilaniu symetrycznym, ale jak dotąd nic nie umiem z tym zrobić... I do czego jest właściwie to balance i strobe?

Link do komentarza
Share on other sites

No toś sobie wybrał układ. Ludzie ciężko pracowali latami by wymyślić wzmacniacze na tyle wygodne, by nie trzeba było myśleć o szczegółach i niewygodach ich stosowania a Ty otworzyłeś szafę dziadka i wyjąłeś z niej zombi 😐

Po pierwsze to nie jest wzmacniacz operacyjny tylko komparator. Ma niesymetryczne wyjście z jednego tranzystora i to już jest pierwsza cecha, która powinna Ci zapalić w głowie czerwoną lampkę. Tak, można go zmusić do pracy jako wzmacniacz (bo przecież wzmacniaczem tak naprawdę jest) ale trzeba uważać i wiedzieć jak. Na początek - nie polecam.

Po drugie wejścia tego scalaka nie działają w całym zakresie napięć zasilania. Popatrz na tabelkę "Electrical Characteristics" i znajdź "Input Voltage Range". Masz tam podany zakres i jest on - niedużo ale jednak - węższy niż ±15V przy jakich to było badane. To oznacza, że układ nie będzie działał, gdy na wejściach będzie - w tym szczególnym przypadku 0V. Taki przypadek ma miejsce na Twoim schemacie.

Zobacz, oddzieliłeś składową stałą kondensatorem i zostawiłeś wejście (+) przywarte potencjometrem do masy. Tam będzie sygnał 0V ± to co przyjdzie z czujnika. A wzmacniacz zauważy dopiero to, co "wychyli" się ponad poziom kilkuset mV. Stawiałbym dla pewności na granicę 1V. Wzmacniacz jest nieodwracający czyli na wyjściu też będzie raczej 0V.

W tej konfiguracji musisz zapewnić, by napięcie na wejściu było w wymaganym zakresie pracy. W układach z niesymetrycznym zasilaniem zwykle sprowadza się to do jakiegoś dzielnika wyznaczającego sztuczną masę - poziom odniesienia czasem dla wielu wzmacniaczy. Może to być połowa zasilania ale niekoniecznie. Jeżeli podepniesz wejście (+) do takiego dzielnika, to obciąży on źródło sygnału rezystancją będącą równoległym połączeniem obu oporników dzielnika - to źle, ale można z tego wybrnąć. Co więcej, wzmacniacz jest zainteresowany wyłącznie różnicą napięć wejściowych, tak więc sprzężenie zwrotne (tutaj potencjometr) do wejścia (-) też musisz oprzeć na tej nowej masie a nie na prawdziwej. To jeszcze gorzej, bo płynący przez to prąd będzie zmieniał potencjał tego dzielnika dość poważnie. Być może trzeba poświęcić kolejny wzmacniacz na zrobienie dzielnika aktywnego lub zmienić konfigurację na odwracającą. Z punktu widzenia działania odwrócenie fazy sygnału nie ma tutaj znaczenia a znacznie upraszcza rozważania i polaryzację wejść.

Generalnie same problemy ale projektowanie układów składa się z małych kroczków, których nie trzeba rozwiązywać jednocześnie tylko raczej po kolei. Radziłbym Ci zacząć od poczytania jakichś tekstów o samych wzmacniaczach operacyjnych:

http://www.ti.com/lit/an/slod006b/slod006b.pdf

a potem o ich szczególnej odmianie - tych z pojedynczym zasilaniem. Ma to swoją specyfikę i niestety jest trudniejsze niż gdy do dyspozycji masz zasilanie symetryczne:

http://www.ti.com/lit/an/sloa030a/sloa030a.pdf

Nie bardzo wiem czego oczekujesz, czy gotowego schematu cz chciałbyś sam do niego dojść. Na początek radziłbym zaopatrzyć się mimo wszystko we wzmacniacz RRIO - będzie łatwiej, choć nie jest to warunek konieczny. Fajnie byłoby, gdybyś rozumiał działanie dwóch podstawowych układów pracy wzmacniacza operacyjnego oraz wpływ jego fizycznych ograniczeń na ich funkcjonowanie. Jeżeli już tak jest, to działające rozwiązanie masz na wyciągnięcie ręki.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Tak, im więcej czytałem na ten temat, tym większe miałem wątpliwości co do wyboru LM311.

Wiem, że połowa sygnału (ta poniżej 0V) przepadnie, i zostaną mi te górne części, ale chodzi mi tylko o poznanie amplitudy sygnału. Dla odległości 15cm będzie to np. 10mV, a dla 1cm 30mV (przykład). Żeby jak najlepiej wykorzystać ADC, chciałbym ten sygnał "rozciągnąć", tak że 30mV z filtra da 5V na ADC, 10mV z filtra da 1,66V na ADC.

Bardzo mnie interesuje działanie wszystkiego, i miałem ogromną frajdę z tego jak zadziałał filtr 😃 (cienki jestem z tej działki elektroniki). Ale gdyby ktoś poratował schematem lub podpowiedział jakieś odpowiednie części, to może zdążyłbym do RoboticAreny 2013-tylko te czujniki zatrzymują obecnie cały postęp prac.

W tej chwili mam już jakiś sygnał (bardziej prostokąt niż sinus) na wyjściu z filtra o napięciach od -U do U (szczegóły jeszcze nieznane), chciałbym go uśrednić (lub znaleźć wartość max. w jakimś okresie czasu) i wzmocnić X razy. Co do wzmocnienia to wiem, że należy pokombinować ze wzmacniaczami operacyjnymi (a może wzmacniacz instrumentalny?), co do wartości średniej (lub max), to nie mam pojęcia-przeczucie podpowiada mi, że kondensator za filtrem zmieni mi sam filtr, nie naładuje się, bo na filtrze jest tyle napięć - co +, albo jeszcze coś innego. A zależy mi na stałym napięciu na wyjściu, żeby uC mógł je mierzyć w dowolnej chwili, bez ryzyka że akurat trafi na 0V bo teraz jest pora na "ujemny" prostokąt.

Do dyspozycji mam +5V ze stabilizatora, lub 9V prosto z baterii 9V (wiadomo, z czasem spada, chwilowe spadki przez silniki itd)

PS: Najpierw uśrednić a potem wzmocnić, bo jak najpierw rozciągnę amplitudę do 5V a potem uśrednię (z prostokąta to będzie jego połowa), to znowu Umax będzie 2,5V i znowu stracę połowę możliwości ADC. No chyba że inaczej nie da rady :/

Będę wdzięczny za wszelkie rady, schematy, linki 🙂

[ Dodano: 27-10-2013, 18:51 ]

Jest postęp 😃 a właściwie mały sukces, także mimo wszystko liczę na poprawki 😉

wygrzebałem z szuflady LM324N, z drugiego pdf'a podesłanego przez marek1707 zmontowałem układ według Figure 4. z tym że zamiast oporników dałem potencjometr 100k. Dodałem też kondensator 1nF (kod 104) i rezystor 470 Om od wyjścia wzmacniacza do masy-żeby uśrednił, wygładził wynik.

Wyjechałem z częstotliwością poza słyszalny zakres, i opieram się teraz tylko na tym co podpowie multimetr. Potencjometrem udało mi się wykręcić tak, że dla białego pudełka w odległości 1cm mam 2,63V, dla 5cm 0,62V, dla 10cm 0,46V.

jutro postaram się pójść gdzieś do PWr poszukać oscyloskopu, z którego mógłbym skorzystać, i przyniosę więcej informacji.

Zwłaszcza byłbym wdzięczny za jakąś poprawkę tego "wygładzacza" sygnału wyjściowego-bo jakiś tam kondensator i opornik to obawiam się, że za mało, ale tylko tyle póki co umiem.

Link do komentarza
Share on other sites

Oj, strasznie chaotyczne to "dopracowywanie czujnika". Piszesz o tak wielu rzeczach na raz, że nawet trudno na wszystko odpowiedzieć. Rozumiem, że odkrywanie świata elektroniki analogowej jest ekscytujące a czasem może nawet prowadzić do pewnych stanów mogących zainteresować lekarzy, ale na szczęście - podobnie jak przy promocjach w Saturnie - nie trzeba tego leczyć.

Przede wszystkim nie wiem co masz na myśli pisząc o filtrze. Odmieniasz go przez wszystkie przypadki i na pewno masz w głowie ten układ ale ja nie, więc się nie rozumiemy.

Wzmacniacze naprawdę szczerze nie lubią wchodzenia w nasycenie. Możesz tak zaprojektować układ, by jedne połówki sygnału tracić a drugie wzmacniać tylko że i tak musisz podnieść składową stałą na wejściach po to, by w ogóle Twój wiekowy 311 zaczął widzieć sygnał. Inaczej już na wejściu będziesz musiał dysponować amplitudą 1 lub 2V żeby wyjść z bliskości szyny GND. Jest ona dla 311 ujemnym zasilaniem a sygnał wejściowy musi być od tego daleko.

Żeby mieć jakiś działający punkt odniesienia proponuję zacząć dyskusję od poniższego schematu. Jest to wzmacniacz odwracający o wzmocnieniu 10. Na wyjściu dostajesz sygnał wokół składowej stałej 2V bo taka jest polaryzacja wejścia (+) a ujemne nie ma żadnego wymuszania DC oprócz sprzężenia zwrotnego więc też ustawi się na 2V. Musisz takie napięcie zrobić jakimś dzielnikiem np. z zasilania i podać na wejście (+) tak jak zaznaczyłem.

Na wyjściu masz detektor, który zamienia sygnał na jego amplitudę minus spadek napięcia na diodzie. Tak więc na kondensatorze wyjściowym dostaniesz ok. 1.5V na dzień dobry + to co przyjdzie z sygnału - nie liczyłbym na więcej niż 4V. Na razie spróbuj tymi 2.5V rozpiętości się zadowolić. Możesz to mierzyć bezpośrednio ADC. Im zrobisz lepszy filtr na wyjściu (teraz jest 220n/220k) tym mniejsze będą tętnienia ale tym wolniejsza będzie odpowiedź filtru. Obecnie, przy 2kHz powinno być nie więcej jak 30mV wahań w stanie ustalonym.

Ten układ działa. Zanim zaczniesz chcieć więcej pomyśl poważnie o zmianie wzmacniacza. Ten działa marnie przy 5V, ma wtedy bardzo wąski zakres napięć wejściowych i jeszcze to niesymetryczne wyjście. Projektowanie na coś takiego jest kłopotliwe. Możesz budować następne stopnie (np. wzmacniacz sygnału DC z detektora) ale rewelacja to nie będzie.

No i tymi słuchawkami to taka trochę prowizorka, nie sądzisz? Tak można było kiedyś uruchamiać zepsute radia ale tutaj, gdy ważne są amplitudy, napięcia szczytowe, składowe stałe i na dodatek nie powinieneś wpływać na układ badany (a podłączasz mu pewnie ze 30Ω) to niewiele zdziałasz. Pomyśl o jakimś nawet najprostszym oscyloskopie. Może jakaś przystawka do PC? Bez tego to męczarnia a w końcu i tak nie rozumiesz co się dzieje. Z tego co usłyszysz możesz wyciągać ruskie wnioski, które zaprowadzą Cię do rozpaczy bo "nic tu nie działa jak powinno".

EDIT: Widzę, że coś dopisałeś a ja nie zauważyłem. Jeśli mamy rozmawiać o Twoich układach, dawaj schematy. Nie bardzo mam czas odtwarzać je z opisów słownych a jeden rzut oka na rysunek i będę wiedział o co chodzi.

Link do komentarza
Share on other sites

Natychmiast uzupełniam o schemat. Jutro we Wrocławiu będę rysował ładniejsze na kompie, i może nawet coś zasymuluję 🙂

oscyloskop postaram się jutro odwiedzić, i znaleźć jakiś do komputera-choćby taki na kartę dźwiękową.

Słuchawki faktycznie prowizorka, ale jak jest ochota to i pies kota...

Wzmacniacz wymieniłem na LM324N, lepszy wybór bo daje oznaki działania zgodnie z założeniami, ale wymiana na inny to kwestia 2km.

[ Dodano: 27-10-2013, 20:49 ]

takie mnie troszkę smutne przemyślenie naszło... może na razie dać sobie z tym spokój i zrobić normalny czujnik co porównuje pomiar ze światłem diody i bez? Bo napaliłem się na te filtry bo to ciekawy temat, ale zdaje się że to co u mnie robi IC, oporniki i kondensatory, u innych załatwia uC kilkoma działaniami matematycznymi...

Z tego co m.in. marek1707 napisał w innym temacie o podczerwieni, natężenie światła można dodawać, tj. żarówka+dioda=wynik, wynik-żarówka=dioda, a natężenie prądu fototranzystora jest proporcjonalne do natężenia światła. Opłaca się bawić w te sprzętowe filtry w MM? Mają jakąś przewagę nad zwykłym odejmowaniem natężeń światła (a dokładniej prądu, jeszcze dokładniej: napięcia na fototranzystorze)?

Projektu na pewno nie porzucę, ale póki co mam kryzys, bo elektronika analogowa jest fajna jak dotąd, ale czas leci, a roboty przy robocie stoją. Ostatnio tak nie spałem po nocach, jak w gimnazjum kupiłem Simsona...

Link do komentarza
Share on other sites

Dobra, to już jest jakiś punkt zaczepienia.

324 jest specjalnie zaprojektowany do pracy w pobliżu swojego dolnego zasilania więc będzie sobie dobrze radził przy 0/+5V. Zrobiłeś ten wzmacniacz zupełnie niezgodnie z regułami zasilania niesymetrycznego ale OK, konkretnie do tego ograniczonego zadania wzmocnienia z jednoczesnym wyznaczeniem składowej stałej będzie się nadawać. Będzie wchodził w nasycenie w czasie dodatnich połówek sygnału wejściowego ale co tam, nikt nie będzie z tego strzelał (mam nadzieję..) ani od jego wyników uzależniał jakieś ważne rzeczy.

Natomiast zupełnie źle jest zrobione wyjście. Zapamiętaj sobie, że do wyjścia wzmacniacza nigdy nie możesz dołączać kondensatora. To w prostej linii droga do wzbudzenia i generacji drgań. Jeśli chcesz zrobić filtr dolnoprzepustowy, przenieś opornik 470 między wyjście wzmacniacza a kondensator. Stała czasowa filtra 470R/1nF jest bardzo mała i dostaniesz bardzo duże tętnienia na wyjściu. Moim zdaniem dla kilku kHz sygnału powinieneś zrobić ją dużo większą, np. 10kΩ/1uF.

Teoretycznie dla sygnału prostokątnego o wypełnieniu ok. 50% i maksymalnej dla tego wzmacniacza amplitudzie wyjściowej powinieneś dostać jakieś 2V napięcia stałego. W rzeczywistości będzie to nie więcej jak 1.5V bo problemem staje się niesymetria układu wejściowego. Tak czy tak, 1.5V możesz już spokojnie zmierzyć w ADC. Jeżeli chcesz więcej możesz zrobić z kolejnego wzmacniacza stopień nieodwracający x2 i dostać zakres 0..3V. Dużo więcej i tak nie będzie z 324 a to już i tak jest całkiem niezły sygnał.

Napisz jak to zrobisz i oczywiście zapodaj schemat plus wyniki pomiarów.

Acha, w sprzężeniu zwrotnym wstaw jeden opornik stały (np. ten wejściowy) a potencjometrem reguluj wzmocnienie tylko między wejściem (-) a wyjściem. Nie potrzebujesz przecież wzmocnień rzędu tysięcy a jednocześnie ustalisz jakieś stabilne warunki obciążenia filtra wejściowego.Ja bym zrobił tak:

kondensator filtra wejściowego: 1u

opornik do masy: 1k

opornik szeregowo z wejściem (-): 22k

potencjometr sprzężenia zwrotnego: 500k (wzmocnienie x1 do x22 wystarczy)

opornik na wyjściu: 10k

kondensator za tym opornikiem: 1uF

Napięcie wyjściowe bez żadnego sygnału z czujnika może nie być równe 0V ale to normalne.

EDIT: Oj, widzę poważnego doła. Szczerze mówiąc nie wiem o jakich filtrach mówisz. Na razie zrobiłeś prosty wzmacniacz, który niczego nie filtruje - zakłócenia będą wchodziły jak w masło. Dobra, może trochę obetnie poniżej kilkudziesięciu Hz ale to niczego nie zmieni, żarówki będą tu bruździły jak złoto. Chętnie bym posłuchał o tych kilku operacjach matematycznych, bo jednak realizacja filtrów cyfrowych nie jest trywialna. To znaczy w sumie jest, ale trzeba trochę najpierw policzyć na PC a potem napisać splot. W AVR da się to zrobić przy częstotliwościach próbkowania rzędu pojedyńczych kHz - nie są to demony szybkości w operacjach DSP. Mogę coś takiego pokazać następnym razem. Wtedy wystarczy prosty wzmacniacz liniowy (a nie żaden obcinający połówki sygnału 🙂 ) i funkcja programowa zjadająca pokaźną część mocy obliczeniowej ATmegi.

Link do komentarza
Share on other sites

Od początku plan był taki:

Na fototranzystorze mam napięcia od A+x do A-x

Filtr robi z tego napięcia od -x do x

wzmacniacz wzmacnia sygnał, żeby wykorzystać większy zakres ADC (opamp nic nie filtruje)

jakiś wygładzacz robi z prostokątnego sygnału sygnał stały (wartość skuteczna prostokąta, albo średnia, co prościej)

ADC mierzy, i w każdej chwili ma stałą wartość sygnału do dyspozycji

Co do matematycznych funkcji, to gdy dopiero poznawałem fototranzystor, mierzyłem natężenie prądu jaki przez niego przepływał. Zrobiłem 5 serii pomiarów, każda przy innym oświetleniu, od 1 do 10cm do pudła, co 1cm.

Zrobiłem wykres płaszczyznowy w Excelu, wyszła górka w jednym rogu. Coś jakby 1/8 arbuza przyłożyć do obu ścian i podłogi.

W drugim eksperymencie spisywałem prąd przy zapalonej diodzie minus prąd przy zgaszonej. Pudełko przy przesuwaniu zmieniało światło zewnętrzne, więc mierzyłem je przy każdym pomiarze, nie tylko raz na serię.

Okazało się, że w tym eksperymencie wyniki z różnych serii prawie się nie różniły! Zamiast półćwierci arbuza miałem na wykresie ćwiartkę walca. Pozostawało tylko znaleźć wzór tej powierzchni, ale to była praktycznie funkcja jednej zmiennej, gdzie zmienną było (I(irZapalona)-I(irZgaszona)). Do takiej coś by się już dopasowało (Excel sam potrafi poprowadzić linię trendu, i nie tylko prostą; wyświetli też jej wzór). Ewentualnie wybrać parę punktów i poprowadzić między nimi proste, i w ten sposób przybliżać.

W labiryncie MM zdaje się że pierwsze pole musi być otoczone z 3 stron (wyjazd tylko na wprost), więc w momencie startu uC może zmierzyć odległość od lewej i prawej, a znając rozstaw czujników wykombinuje, jak ma się jednostka ADC do np. centymetra, i w ten sposób wykalibruje się cały. Zakładając że uda się pozbyć wpływu żarówek, jedyną nieznaną będzie odbijalność światła od ścian labiryntu-ale ten współczynnik zmierzy sobie właśnie na starcie.

Tak, mam doła... ale po tylu dniach prób z czystej ciekawości przejdę się z tym na oscyloskop. Może jestem już blisko , hehe... raczej nie.

Link do komentarza
Share on other sites

Rozumiem. Jesteś na etapie odkrywania podstaw, choć widzę tu niewielkie poplątanie. Żeby zaoszczędzić Ci czasu i pokazać gdzie mniej więcej jesteś, kilka zdań komentarza:

1. Metoda której działanie dzielnie badałeś nazywa się detekcją synchroniczną. Zakłada ona, że masz pewną wiedzę a priori o poszukiwanym sygnale. W przypadku czujnika optycznego jest to oczywiście prawdą, bo przecież wiesz kiedy diodkę LED zapalasz a kiedy gasisz. W przypadku spodziewanego sygnału prostokątnego po stronie odbiorczej wystarczy robić dwa pomiary a potem liczyć różnicę. Proste jak drut choć diabeł siedzi w szczegółach.

2. Jeżeli zakłócenia z którymi walczysz są raczej stałe (np. oświetlenie od Słońca) to w zasadzie nie jest ważne jakie parametry przyjmiesz. Parametry - to znaczy jaki sygnał będziesz nadawać i jaki odbierać. Jeżeli będziesz modulował LED sygnałem 10Hz, to takich 10Hz będziesz szukał w odbiorniku. Wtedy mierzysz raz "na górce", raz "na dołku" (w sumie 20 razy na sekundę), odejmujesz i koniec. Jedynym bólem głowy może być wielkość różnicy. Jeśli zrobisz mało czuły odbiornik, ściana będzie pokryta czarną gumą albo odstawisz ją na 2 metry to różnica między pomiarem z LEDem włączonym a wyłączonym może być na poziomie rozdzielczości przetwornika A/C. Wtedy trudno zdecydować, czy wynik 3 lub 5 to już coś jest, czy to skumulowany szum toru pomiarowego.

3. Widzę, że z jakichś powodów dążysz do zastosowania metody z modulacją nałożoną na sygnał wysyłany. Jak rozumiem, chcesz wysyłać np. kilka kHz (wszystko jedno, może być nawet 40kHz) w paczkach tak jak robią to typowe piloty zdalnego sterowania. W odbiorniku chciałbyś ten sygnał obciąć niesymetrycznie wzmacniaczem a potem uśrednić filtrem po to by dostać amplitudę obwiedni. Dokładnie to robi wzmacniacz który narysowałeś, no może z kilkoma poprawkami na wartości elementów. Możesz teraz mierzyć sygnał w czasie ciszy, potem załączyć falę kHz, poczekać chwilę aż sygnał przejdzie przez filtry dolnoprzepustowe, zmierzyć jeszcze raz i policzyć różnicę. To zadziała, ale właśnie z uwagi na filtr wygładzająco-uśredniający który musiałeś wstawić, pomiary nie będą mogły być dokonywane często. W sumie wyjdzie tak, jakbyś wysyłał falę 10Hz.

4. Teraz wszystko zależy od tego co chcesz osiągnąć. Im wyższe wymagania tym metoda musi być sprytniejsza. Jeśli odcinanie światła słonecznego Cię zadowala, układ jest gotowy. Nie zdziw się jednak gdy się okaże, że za dnia będzie działało a wieczorem, przy sztucznym oświetleniu detekcja ścian padnie. Budując mysz i tak jesteś w komfortowej sytuacji, bo ściana jest blisko albo wcale, jest biała i całkiem nieźle odbija światło więc zakłóceń od otoczenia i tak jest względnie niewiele. Załóżmy jednak, że chcesz pójść krok dalej i zrobić to lepiej. Co jest głównym problemem w tak wykonanym detektorze synchronicznym? To, że częstotliwość poszukiwanego sygnału leży w paśmie, gdzie występują zakłócenia. Mruganie 50 i 100Hz żarówek i świetlówek jest nieodróżnialne od Twoich 10 czy 20Hz obwiedni sygnału IR. Dlaczego? Gdybyśmy rozpatrywali to w dziedzinie czasu to wyobraź sobie, że na sygnał odbierany nałożona jest sinusoida 50Hz. Jeżeli jeden pomiar wykonasz w czasie t a następny w czasie np. t+25ms (czyli masz prostokąt 20Hz i mierzysz 2 razy na okres) to w tym czasie zakłócająca sinusoida zmieniła odbierany sygnał bardzo poważnie. Różnica jaką wyliczysz nie będzie zawierała jedynie zmian między ciszą a nadawaniem Twojego IR ale także - niestety - w dużej części fragment sinusoidy 50Hz. Musisz to zmienić.

5. Zapomnij o pojedynczym stopniu wzmacniacza z detektorem i filtrem. Zrób wzmacniacz liniowy taki, by przenosił wszystko jak leci. No, możesz obcinać coś poniżej np. 1kHz. Teraz wysyłaj po prostu prostokąt np. 5kHz bez żadnych przerw. Po każdym zapaleniu LEDa mierzysz sygnał ze wzmacniacza i to samo robisz po zgaszeniu. Ważne, by pomiary były dokonywane blisko siebie w czasie. Tylko to pozwala na wycięcie zakłóceń zmiennych a im bardziej odsuniesz się od nich w częstotliwości, tym lepsze ich tłumienie uzyskasz.

6. Oczywiście nadal pozostaje problem amplitudy różnicy. W myszy niekoniecznie, ale w innych przypadkach mimo wszystko warto trochę skomplikować układ i zrobić wstępne odcinanie zakłóceń zaraz na wejściu po to, by nie "zapychać" nimi wzmacniacza.

Link do komentarza
Share on other sites

marek1707, widzę teraz jak wiele rzeczy przeoczyłem-przekonałeś mnie jednak do pozostania przy pierwotnym planie. Zakłada modulację sygnału wysyłanego falą prostokątną o częstotliwości dużo ponad tymi, które mogłyby zakłócić pomiary-tak, że filtr górnoprzepustowy łatwo się ich pozbędzie. Teoretycznie będzie przepuszczał tak:

Nie będzie tu jednak żadnych pakietów itp (chyba, że będą, choć sam o tym nie wiem). Trzy diody będą migać po kolei, a przez tranzystory będzie podawany prąd na kolejne fototranzystory.

W kwestii czujników niewiele się działo w zeszłym tygodniu, ponieważ strategicznie lepszym posunięciem było zająć się kołami i napędem-miałem wtedy dostęp do tokarki.

W kwestii wzmacniaczy edukowałem się po nocach, i aktualnie mój plan wygląda tak:

proszę się nie śmiać z wielostopniowego filtra górnoprzepustowego, jak tylko będę umiał-zrobię lepszy 🙂

Byłem dziś w sali z oscyloskopami, niestety miałem tylko parę chwil do zamknięcia więc udało mi się stwierdzić, że nadajnik, odbiornik i filtry działają (jeszcze nie wymyśliłem wtedy wzmacniacza).

Z jakiegoś powodu zmierzona częstotliwość sygnału wyniosła coś koło 243kHz, chociaż obliczyłem go na 100kHz. Nie wiem czemu tak się dzieje. Ale ta częstotliwość też jest chyba OK.

Wzmacniacz sklecam ciągle, kupiłem układ TS271CN (link), nie mam w domu jeszcze oscyloskopu więc testowałem układ stałym napięciem z potencjometra (0-5V) na wejściu (+) WO, drugim regulowałem wzmocnienie (wszystko jak na załączonym schemacie, tylko zamiast sygnału z filtra dawałem napięcie stałe)-działa bardzo ładnie. Diody na jego wyjściu mają zapewnić taki sam spadek napięcia w sprzężeniu zwrotnym, jak i w sygnale, który powędruje do wygładzenia i ostatecznie do ADC. Diody są identyczne, z jednego paska oderwane, a do robota postaram się znaleźć jakieś 2 w jednej obudowie.

Kondensator i opornik przed adc jest jeszcze nieznany-prawdopodobnie wybiorę coś na podstawie ich stałej czasowej, lub znajdę odpowiedni zestaw metodą prób i błędów.

Z góry dziękuję za wytknięcie błędów, jeśli jakieś znajdziecie 🙂 Zwłaszcza że jeśli są, dowiem się o nich dopiero jutro, a poprawię dopiero na piątek-oscyloskop to kawałek drogi.

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.