Skocz do zawartości

[Inne] - RoMek - worklog


Pomocna odpowiedź

Po krótkiej przerwie rozpocząłem testy z enkoderem kół. Zaprzęgnięty do tego został CNY-70. Tarcza kodowa - kółko fi 2,5 podzielone na 6 czarno-białych pól. Transoptor podpięty pod INT1. Zliczają się pola. Rodzą mi się w związku z próbami następujące problemy:

1) Jak obliczyć prędkość obrotu kółka? Tzn. jak z grubsza wiem, ale jak zweryfikować pomiar nie mając żadnego odniesienia 🙁

2) Chciałbym na początku z grubsza wyliczyć przebytą drogę, ale jeśli zatrzymuję silniki po zadanej ilości ticków, daje o sobie znać bezwładność (chyba bo może jeszcze niedokładność pomiarów enkodera). Silnik zatrzymuję podając 0 na wejścia L298 i PWM = 0. Jak zahamować silnik szybciej? Jedynki na wejścia i PWM na zero?

Link do komentarza
Share on other sites

Żeby mieć natychmiastową kontrolę powinieneś zastosować pętlę sprzężenia zwrotnego. Wtedy zadajesz prędkość i robot albo przyspiesza albo hamuje odwróceniem biegunów na silniku. Tylko przy tak małej rozdzielczości może być problem.

Link do komentarza
Share on other sites

No i kolejne schody. Enkoder oparty na transoptorze CNY-70 i czarno-białej, okrągłej tarczy kodowej wydaje się nie spełniać swojej roli prawidłowo. Już pierwsze testy wykazały, że czujniki "widzą" tarczę z pi x oko kilku mm. Taka odległość sprawia, że są podatne na światło zewnętrzne. Na biurku, przy lampie biurkowej same szaleją, niezależnie od tego w jakiej pozycji sobie wiszą na kablach.

Komplikuje to sprawę i rzuca kłody pod nogi, bo albo będę musiał myśleć o kombinowaniu zabudowy, albo trzeba będzie przejść na enkoder szczelinowy 🙁

Czy ktoś w ogóle próbował enkodera na czujniku odbiciowym? I z jakim skutkiem?

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

Miałem w micromouse enkodery oparte na TCRT1000, odległość czujników do tarczy wynosiła około 2mm, bez żadnej osłony przeciw światłu dziennemu i działało bez najmniejszego problemu. Pomierz napięcia na wyjściu czujnika i poeksperymentuj z rezystorami przy fototranzystorze.

Link do komentarza
Share on other sites

TCRT1000 też kiedyś używałem i gdzieś je może jeszcze mam. Jaką miałeś u siebie rozdzielczość na kółku kodowym? U mnie przy 36 polach i niewielkiej średnicy koła, CNY wydaje się "gubić" pola. Być może to kwestia testów wszystkiego w pająku i niemal w powietrzu, ale czujnik nie sprawia wrażenia szybkiego i boję się marnować czas na dorabianie do niego płytek i stosownych mocowań 🙁

Link do komentarza
Share on other sites

Niestety. Cały dzień kalibrowania i ustawiania czujnika, dobór tarczy enkodera by po kilku h zliczanie obrotów w końcu zaczęło działać, ale po zapaleniu lampki na biurku wszystko poszło się...

CNY-70 nie nadają się widocznie do tego. Odległość od tarczy 4,7mm. Czujnik zlicza prawidłowo obroty (tarcza 9 pół czarnych) w świetle dziennym rozproszonym. Przy świetle padającym na czujnik, działa on na przesłonięcie źródła światła ręką nawet z kilku cm.

Nie może być tak, że układ jest podatny na światło zewnętrzne 🙁

Muszę szukać enkoderów szczelinowych.

Link do komentarza
Share on other sites

Jeśli faktycznie jest tak źle, to dodaj gdzieś jeszcze jeden czujnik, niech będzie działać w podobnych warunkach oświetleniowych co pozostałe, ale stale miej go skierowanego na czarne tło i porównuj wyniki enkoderów z pomiarami tego jednego. Dodatkowo daj zliczanie białych pól na przerwaniach, to nie będziesz tak szybko ich "gubić".

Link do komentarza
Share on other sites

Próbowałem i póki co nie jestem w stanie zrobić tarczy kodowej dokładnie i na tyle precyzyjnie by utrzymała odległość 0,3mm od czujnika.

Naprawde sprawdzałem i jeden czujnik działał znakomicie z odległości ok. 5mm 🙂 Pozostałe 4 nie, więc może ten jeden akurat był walnięty 🙂

W każdym razie zaopatrzyłem się już w 2 stare myszki i będę wybebeszał z niej transoptory. Pierwszy test wykazał, że transoptor z myszy jest mniej podatny na światło zewnętrzne. No, chyba że znów coś robię nie tak. Wtedy pozostanie zabudowa czujnika i osłonięcie go od czynników zewnetrznych.

Nie specjalnie rozumiem ideę dodatkowego czujnika odniesienia. Czujnik na kole ma liczyć impulsy i ustalać obroty koła. Jeśli zmieniam warunki oświetlenia (albo robot sam je sobie zmienia, wjeżdżając z miejsca oświetlonego w ciemne) i czujnik przestaje w ogóle liczyć, staje się bezużyteczny, niezależnie od tego czy czujnik referencyjny pokaże zmianę warunków, czy nie.

Czujniki pracują na przerwaniach. Docelowo zamierzam za ich pomocą regulować prostoliniowość jazdy i obliczać przebytą drogę - zdaję sobie przy tym sprawę z niedokładności, ale jak temu zaradzać, będę myślał w następnych fazach 🙂

Link do komentarza
Share on other sites

CNY podłączone bezpośrednio pod przerwania z podciągnięciem do 5V przez 47k. Od strony diody, na jej lini zasilania 220ohm.

47k lub 4,7k - nie mam pewności z pamięci - sprawdzę po południu.

Link do komentarza
Share on other sites

Jeśli zmieniam warunki oświetlenia (albo robot sam je sobie zmienia, wjeżdżając z miejsca oświetlonego w ciemne) i czujnik przestaje w ogóle liczyć, staje się bezużyteczny, niezależnie od tego czy czujnik referencyjny pokaże zmianę warunków, czy nie.

Pokaż zdjęcia zamontowanego czujnika.

Link do komentarza
Share on other sites

rezolut, daj 4k7. Można powiedzieć, że im większy pullup, tym większa czułość czujnika (masło maślane 🙂 ), można to porównać do ISO w aparacie. Dużo światła, wysokie ISO - zdjęcie często wychodzi przepalone (całkiem białe miejsca), mało światła, małe ISO, zdjęcia wychodzą zaciemnione i też nic nie widać. Musisz odpowiednio dobrać pullup-a, żeby być w odpowiednim miejscu z czułością (polecałbym wieloobrotowy potencjometr montażowy rzędu 50kOhm zamiast pullupa i kombinowanie z nim, potem tylko wymiana na najbliższą wartość z szeregu). Inna sprawa, że CNY70 od któregoś producenta, teraz nie jestem pewny czy Vishay czy Telefunken, nie chcę skłamać 🙂 mają spore rozrzuty pomiędzy egzemplarzami. Było to poruszane w którymś z tematów "Psotków" Sabre.

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.