Skocz do zawartości

Problem z sterowaniem silnikami


Ksawery

Pomocna odpowiedź

Witam.

Podczas konstruowania robota natrafiłem na pewien problem ze sterowaniem napędem otóż robot będzie musiał jeździć prosto wzdłuż linii (nie po krzywej) oraz skręcać o zadany kąt. Z samymi silnikami jest to chyba nie możliwe, dlatego zastanawiam się nad innymi koncepcjami i pomyślałem o zastosowaniu enkoderów na silniki lub silników krokowych. Do konstrukcji chciałem użyć słynnych silników 30:1 i tu jest problem z enkoderami, natomiast, jeśli chodzi o silniki krokowe to nie spotkałem takim małych i w podobnych kształtach. Myślałem jeszcze nad jakimś czujnikiem położenia, który informowałby mikrokontroler o ile się obrócił, ale nie wiem czy takie istnieją. Za cały napęd nie chciałbym zapłacić więcej niż 100zł. Proszę o jakieś porady jak można ten problem rozwiązać.

Pozdrawiam

Link do komentarza
Share on other sites

K.G. możesz zastosować enkoder albo jakiś akcelelometr. Tarczki do enkoderów można pozyskać z myszek kulkowych. Również w nich znajdziesz odpowiednie transoptory, więc nie będzie problemów czy fototranzystor wykryje wiązkę podczerwoną 😉

Moja wypowiedź to tylko teoria, bo praktyki w tym zakresie póki co nie mam.

Link do komentarza
Share on other sites

Robot będzie mieć wymiary około12x8cm. Właściwie to mam już silniki, o których wspomniałem powyżej i do nich koła 60mm. Niestety pomiędzy silnikiem a kołem jest mało miejsca i trudno byłoby zamontować tarczę.

103-354.jpg

Bardziej wolałbym zastosować jakiś czujnik (np. akcelerometr) tylko czy da się dzięki niemu kontrolować czynności wymienione powyżej i czy nie będzie to zbyt trudne (przyrost formy nad treścią).

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

K.G. praktyki w tym zakresie nie mam, ale powinno się dać. Akcelelometr dwuosiowy powinien w zupełności wystarczyć. Nie mierzyłbyś kątów a zmianę położenia na osi X i Y co teoretycznie powinno wystarczyć i sprawdzić się.

Link do komentarza
Share on other sites

Szkoda, że nie kupiłeś pololków z przedłużoną ośką z tyłu silnika - można na nich łatwo zamontować enkodery. Jak już chcesz koniecznie odczytywać kąt i przemieszczenie w inny sposób, to najlepiej do tego celu zaprzęgnąć akcelerometr+żyroskop oraz odpowiedni program, który dane z nich by odpowiednio obrobił.

Link do komentarza
Share on other sites

Możesz jeszcze dokleić magnes do koła od drugiej strony i na tej postawie czytać enkodery magnetyczne, rozdzielczość tego typu rozwiązań jest dość duża, powinno to wystarczyć.

Link do komentarza
Share on other sites

Koniecznie trzeba stosować akcelerometr i żyroskop? Jeśli chodzi o enkoder magnetyczny to musiałbym mieć na dwa koła – czy są takie układy w jednej obudowie. Układ musiałby być chyba dosyć blisko magnesu? Która z tych możliwości będzie łatwiejsza do zrealizowania?

Link do komentarza
Share on other sites

Układ enkodera magnetycznego musi być o kilka milimetrów od magnesu, który z kolei będzie na osi koła lub silnika. Tak jak wcześniej koledzy pisali, brak tylnej osi silnika mocno utrudnia tu sprawę.

Moim zdaniem, jedynym sensownym rozwiązaniem jest przylepienie papierowej tarczy z czarno-białymi paskami po wewnętrznej stronie koła i użycie transoptora do ich zliczania. Dokładność takiego rozwiązania będzie jednak pozostawiała sporo do życzenia.

Link do komentarza
Share on other sites

Moim zdaniem, jedynym sensownym rozwiązaniem jest przylepienie papierowej tarczy z czarno-białymi paskami po wewnętrznej stronie koła i użycie transoptora do ich zliczania. Dokładność takiego rozwiązania będzie jednak pozostawiała sporo do życzenia.

Dokładność powinna być bardzo dobra, chyba chodziło Ci o rozdzielczość. Sam używam tarczy z 5 czarnymi polami i 2 transoptorami w polulkach 30:1 i jest to w zupełności wystarczające do rozwiązania podanego przez K.G..

Link do komentarza
Share on other sites

Rzeczywiście takie rozwiązanie będzie chyba prostsze. Mógłbym kupić silniki z przedłużoną osią tylko skąd wymontować tarcze takie, które by pasowały idealnie na te osie (z tego, co się orientuję ø1,5mm).

Link do komentarza
Share on other sites

K.G. nie trzeba kupować specjalnych tarczy. Moje z myszek w ogóle nie mają otworów w środku i musiałbym je sam wywiercić. Jeśli nie pasowałoby idealnie to od czego jest ludzka kreatywność? 😃 Rurki termokurczliwe i inne bajery dobrze się sprawdzą w takiej roli 😉

Link do komentarza
Share on other sites

Mam (być może głupie) pytanie: jeśli robot "będzie musiał jeździć prosto wzdłuż linii" to dlaczego nie zrobisz po prostu czujnika tej linii? I czy w miejscach gdzie ma "skręcać o zadany kąt" ta linia też "skręca"? Jak ma szybko jeździć? Po jakim podłożu? Kto będzie podejmował decyzje o skrętach? Na podstawie czego? Czujników otoczenia (ściany, przeszkody, światło itp), pozycji np. GPS, przebytej trasy? Czy to ma być mysz w labiryncie? No tak, zrobiło się kilka pytań.. ale może nie wszystkie głupie.

Link do komentarza
Share on other sites

Robot nie będzie miał żadnych linii, miałem na myśli, że będzie musiał jeździć wzdłuż prostej, a nie zjeżdżać w jedną stronę zbyt mocno. Robot będzie reagował na sygnały z czujników.

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.