Skocz do zawartości

Sonar - problem z odczytem


Armir

Pomocna odpowiedź

Witam

Złożyłem sonar i w nim jest dioda sygnalizująca zbliżenie do przeszkody. Sonar ten chcę podłączyć do Arduina w miejscu diody. Mam jeden problem dioda miga (bardzo szybko i wydaje się że świeci) i przez to mam złe odczyty. Jak zrobić aby sonar ten był 2 stopniowy (albo jest blisko albo nie - dioda świeci albo gaśnie). Dodam że nawet bez spostrzeżenia przeszkody dioda lekko świeci.

Link do komentarza
Share on other sites

Rozumiem, że z tego układu sygnał na diodę jest analogowy, więc zrób to na komparatorze i wtedy na wyjściu komparatora będziesz miał, że albo widzi albo nie widzi. Zastosowałem to w minisumo na lm393. Ma w sobie dwa komparatory, więc dwa sonary możesz sobie podłączyć.

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

Z tego co widzę na schemacie to dioda LED

jest podłączona bezpośrednio przez rezystor do bramki

więc sygnał nie jest analogowy tylko raczej PWM lub coś podobnego.

Więc potrzebny Ci będzie filtr RC, jakiś pasywny będzie wystarczający.

Dopiero wtedy z sygnałem na komparator lub bezpośrednio do ADC.

Jak nie chcesz się bawić w filtrowanie to pozostaje Ci pomiar częstotliwości

lub wypełnienia na procku.

Coś więcej będzie można powiedzieć jak podasz więcej szczegółów

zachowania diody (czy miga ze stałą częstotliwością tylko jaśniej/ciemniej,
czy częstotliwość się zmienia, w funkcji odległości od przeszkody).

Skoro dioda:

dioda miga (bardzo szybko i wydaje się że świeci)

to będzie to ok 50±5 Hz.

Wygląda mi to na jakiś zestaw "zrób to sam" więc powinno być tam to opisane.

Podaj namiary na ten zestaw (symbol, link do instrukcji montażu, oraz ewentualnie sklep)

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

Schematy te znalazłem w necie. Przed chwilą pod diodę podłączyłem l293d (do sterowania silnikami). Niestety podczas braku przeszkody na diodę idzie 0,2v i układ reaguje na braku przeszkody. Jak obniżyć to napięcie do 0v.

Link do komentarza
Share on other sites

Dioda krzemowa - spadek napięcia na niej powinien być wystarczający.

Ed. Możesz też zmienić układ odbiorczy, ja korzystam z tego i działa, ten mam zamiar sprawdzić na dniach, ale też powinien być ok. Ponadto, do układu nadawczego dodałbym max232, żeby podnieść napięcie dla przetwornika (zdecydowanie zwiększa zasięg) i polecam zrobienie sobie takiego analizatora, można sobie ładnie dostroić częstotliwość.

Link do komentarza
Share on other sites

A nie wystarczy rezystor ??

[ Dodano: 30 Gru 09 12:43 ]

Coś więcej będzie można powiedzieć jak podasz więcej szczegółów

zachowania diody (czy miga ze stałą częstotliwością tylko jaśniej/ciemniej,
czy częstotliwość się zmienia, w funkcji odległości od przeszkody).

Dioda miga ze stałą częstotliwością ,a gdy zbliża się do przeszkody to jaśniej świeci.

Link do komentarza
Share on other sites

Czyli w takim razie na diodzie LED jest sygnał PWM

to 0,2V to jest tło i teoretycznie mógłbyś je wyeliminować

dobierając nowe wartości elementów pasywnych.

Ale to teoria.

Do jakiego typu robota chcesz ten czujnik wykorzystać

Do "robota" bez procka

Czy do robota posiadającego jakiś procesor

Mówiłem o filtrze RC i w sumie taki filtr jest już zrobiony

w układzie - są to elementy R12,C9.

Sprawdź napięcie na kondensatorze C9

(i najlepiej do testów odlutuj R13 - tamta strona układu nie jest potrzebna)

Jeżeli chcesz korzystać z tego czujnika w robocie z procesorem

to sygnał z C9 możesz podać na przetwornik ADC

bezpośrednio (najprościej) lub przez bufor (wzmacniacz o wzmocnieniu 1)

(bezpieczniejsza wersja) i wtedy możesz wyskalować wskazanie ADC

w funkcji odległości od przeszkody.

Możesz też jak napisał kiper podać ten sygnał na komparator

i potencjometrem ustawiać próg wykrywania przeszkody.

W wersji "robota" bezprocesorowego pozostaje układ komparatora,
ale wtedy nie wiem czy tez uda Ci się osiągnąć wartość napięcia 0V

- zależy od zastosowanego wzmacniacza.

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

Robot ten opiera się na platformie Arduino. Spróbuje zrobić tak jak powiedziałeś.

[ Dodano: 30 Gru 09 06:42 ]

Jest dobrze tylko że co kilka sekund mam skok napięcia. Przykładowe zczyty

Bez przeszkody:

0
0
0
0
604
1023
31
0
0
0
362
1023
693
0
0
0
808
1023
0
0
0
0
176

Z przeszkodą:

914
908
916
942
943
923
904
901
922
945
914
897
915
942
934
895
900
910
935
903
891
917
932
933

Jak mogę "wyczyścić" sygnał z tych skoków?

Link do komentarza
Share on other sites

Czyli od początku.

Z czego zasilasz swojego robota z baterii:?:

Czy w fazie testów korzystasz z zasilacza Jak tak to jakiego

Liniowego czy impulsowego

Jak masz podpięte napięcie odniesienia ADC

czy je filtrujesz od reszty układu

czy podpiąłeś czujnik do wejścia ADC bezpośrednio czy przez wtórnik napięciowy

Masz możliwość sprawdzić skąd się biorą te skoki (czy masz dostęp do oscyloskopu)

Jak tak to sprawdź przebieg na obydwu wejściach.

Link do komentarza
Share on other sites

Zasilam go z pakietu ok. 7,5v

Podpiąłem to bezpośrednio do pinu analogowego (próbowałem też przez kondensator - efekt taki sam).

Niestety do oscyloskopu dostępu nie mam.

Do Arduina podłączony mam tylko sonar (2 kable + i masa). Mógł byś powiedzieć co to jest to napięcie odniesienia.

Skoki te musiały być bardzo krótkie ponieważ na zwykłym mierniku ich nie widziałem.

Link do komentarza
Share on other sites

Napięcie odniesienia...

Jak mierzysz jakieś napięcie analogowe przez ADC.

potrzebujesz dodatkowo napicie o znanej wartości do porównania.

W przypadku przetworników ADC w AVR wartość podana jako odczyt

z ADC jest to wartość ułamkowa napięcia odniesienia.

Jeżeli mamy napięcie odniesienia 5V a mierzymy napięcie ok 2,5V

przetwornik ADC jest ustawiony jako 8 bitowy (czyli max. wskazanie to 255)

to otrzymamy pomiar ok. 127-128.

Jeżeli Uref <= Uzmierzone wtedy otrzymujemy wskazanie 255.

(Bardzo prosta proporcja podana w nocie katalogowej).

Napięcie odniesienia może być wewnętrzne w AVRku i np dla mega8 wynosi ok 2,56V

ale jest bardzo niestabilne i nie poleca się jego używania,
lub podane z zewnątrz na nóżce AREV lub AVCC.

Dobrze jest sobie przejrzeć notę katalogową procesora i płytki.

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

W Arduinie najwyższe napięcie to 5v i w odczycie pokazuje wtedy 1024 (czasem 1023). Według mnie nie potrzebuje takiego ponieważ arduino ma je standardowo wbudowane.

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.