Skocz do zawartości

Problem z sterowaniem silnikami


Pomocna odpowiedź

Napisano

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

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.

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ą).

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ę.

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ł.

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ć.

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?

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.

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

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).

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 😉

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.

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.

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