Skocz do zawartości

Sterowanie silnikiem


Szarry

Pomocna odpowiedź

Witam Was bardzo serdecznie. Mam kilka pytań i nt. sterowania silnikami i nadzieją się krzepie, że pomożecie mi znaleźć odpowiedzi.

1. Który silnik będzie lepszy? Pololu z przekładnią, czy przerobione serwo? Niby oczywiste, ale zastanawiam się, czy zalety zrównoważą ponad 3-krotnie większą cenę. (rozważałem też zastosowanie krokówki, ale pomysł skreśliłem, bo ponoś tracą na momencie obr. przy większych prędkościach)

2. Jak steruje się prędkością takiego silnika?

Schematy niescalonych mostków H sugerują, że steruje się takowym mostkiem przy pomocy stanów; jednakże często słyszę o modulacji PWM. Wiem, że to głupie pytanie, ale nie mogę się w tym połapać.

3. Synchronizacja. Jeżeli mamy dwa silniki, to nigdy nie będą one identyczne, więc nie będą chciały jechać prosto. Dokładamy więc enkodery.

3a. Jak łatwo (i tanio) uzyskać sygnał cyfrowy z fototranzystora?

3b. Jak programowo rozwiązać synchronizację znając ilość obrotów/impulsów, które przebył silnik. Wybrać jeden silnik jako wodzący i gonić go drugim? Słyszałem coś o "zadaniu pozycji". Jak to zrobić?

3c. W pogoni za enkoderem na śmierć skazałem mysz kulkową. Czy taki "gryzoniowy" enkoder ma on szansę działać przy tych 625 rpm?

To by było w sumie na tyle. Myślałem, że będzie tego więcej 🙂 ... chociaż dalsze pytania pewnie wynikną z odpowiedzi na powyższe.

Link do komentarza
Share on other sites

3. Synchronizacja. Jeżeli mamy dwa silniki, to nigdy nie będą one identyczne, więc nie będą chciały jechać prosto.

Bzdura. Będzie jechać prosto lub tak nieznacznie skręcać, że to będzie nie zauważalne. Jest masa LF'ów z Pololkami bez enkoderów i świetnie sobie radzą.

Link do komentarza
Share on other sites

3. Synchronizacja. Jeżeli mamy dwa silniki, to nigdy nie będą one identyczne, więc nie będą chciały jechać prosto.

Bzdura. Będzie jechać prosto lub tak nieznacznie skręcać, że to będzie nie zauważalne. Jest masa LF'ów z Pololkami bez enkoderów i świetnie sobie radzą.

Bzdura 😋 Linefollowery jeżdżą prosto, bo mają sprzężenie zwrotne w postaci informacji o położeniu linii. Puść sobie robota tylko ustawiając stałe i jednakowe wypełnienie na oba silniki, a zobaczysz, że będzie skręcał.

Generalnie do regulacji prędkości obrotowej silników stosuje się regulatory PID (np. w lf można wtedy zastosować kaskadę - jeden regulator oblicza prędkość dla poszczególnych silników, która jest z kolei utrzymywana przez kolejny regulator). Myślę, że coś więcej na temat "jak zrobić, żeby robot jechał prosto" będzie mógł powiedzieć kolega Grabo, który ostatnio robił robota micromouse, w którym to dość istotne zagadnienie 🙂

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

Myślę że trzeba było zacząć od pytania co to za robot ?

Zupełnie przypadkowo, a całkiem trafnie, został tutaj wymieniony kolega Grabo, ze swoim Devilem, bo to właśnie Jego występ na tegorocznej Arenie zainspirował mnie do stworzenia własnej myszy.

Zależałoby mi na zachowaniu zdolności jazdy (względnie) prosto gdy robot jest "ślepy", bez wykorzystywania odczytów z czujników odległości. Te ostatnie chciałbym stosować tylko do korekty odległości od ścianek (czyt. ustawienia w osi trasy).

P.S. Jak to zwykle mi się zdarza, znalazłem odpowiedź na pytanie nr. 2 na krótko po utworzeniu tematu (mimo że szukam już od tygodnia). Oczywiście jeżeli ktoś napisze coś ciekawego o PWM to się nie obrażę, ale...

Link do komentarza
Share on other sites

Tolo, kiedy korzystałem z Sharpów, pomiary zazwyczaj oscylowały +/-1 może 2cm wokół jakiejś wartości. O ile do wykrycia czy nie wpadnie się zaraz na ścianę nie ma to znaczenia, to do pozycjonowania się w labiryncie, który ma szerokość kilkunastu centymetrów, to takie błędy są niedopuszczalne.

Link do komentarza
Share on other sites

Być może mój sposób myślenia jest błędny, ale wydaje mi się, że lepiej będzie kontrolować przyczynę, mierząc kąt obrotu obu osi i pilnując, by był on jednakowy dla obu kół, niż reagować na skutek, mierząc odległość od ścianek i pilnując by była ona równa.

Boczne czujniki założę również, a ich zadaniem (oczywiście poza "wypatrywaniem" ścianek) będzie trzymanie się środka, zaś enkodery chcę wykorzystać do takiego wysterowania silników, by jechać prosto. Chcę móc "narysować" linię na podłodze i jechać wzdłuż niej.

To by było tyle mojego biadolenia "co chcę". Powiedzcie mi proszę, czy jest to realne do osiągnięcia, a jeśli nie, to jaki kompromis dobrać.

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.