Skocz do zawartości

[Mechanika] Serwa modelarskie w robotyce amatorskiej - Kompendium


Nawyk

Pomocna odpowiedź

Tak, na pewno optymalniej i bardziej elegancko niż na for 🙂 A w powyższym pseudokodzie znalazłem niekoniecznie poprawną rzecz teraz - najlepiej zrobić tak, że serwo będzie zawsze obracane o 1stopień (czy tam jakiś najmniejszy krok), a częstotliwość wywoływania tego (częstotliwość przerwania od timera lub wartość czekaj()) będzie warunkować prędkość obrotu. Jeszcze ilość wykonanych przerwań/powtórzeń pętli = kąt obrotu (końcowy) serwa. Robiąc w ten sposób (jak najmniejszy jednorazowy kąt obrotu serwa) będziemy mieli najwyższą rozdzielczość - im większy kąt jednorazowego obrotu, tym rozdzielczość mniejsza.

Link do komentarza
Share on other sites

Zaproponowałbym tak:

- w pętli głównej programu czekamy aż upłynie 20ms od poprzedniego ustawienia timera

- ustawiamy timer na 20ms

- obliczamy aktualną pozycję. Aby określać prędkość mozemy np. trzymać zmienną kat i co te 20ms robić:

kat = kat + predkosc;

i wprowadzić ograniczenia na krańcowe wartości czy wartość docelową położenia.

- dawać sygnał do serwa

I to właściwie wszystko. W przypadku serw analogowych dość istotne jest zachowanie częstotliwości sterowania z zakresu 40-60Hz.

Tak, na pewno optymalniej

To da sie lepiej niż optymalnie? 😉

Link do komentarza
Share on other sites

Zależy do czego to ma być stosowane, ale warto tak z 10..20% na początku i na końcu ruchu płynnie regulować prędkość, by zachować tak zwany "miękki start" i to samo na końcu - eliminuje się dość mocno drgania i szarpania pewnym kosztem czasu ruchu.

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

Z tymi serwami powiem Wam różnie bywa. Przykładowo miałem 2 takie same mikroserwa firmy HEXTRONIK i po przerobieniu każdego na zwykły silniczek dc z przekładnią okazało się po zamocowaniu orczyków że jedno serwo obracało orczyk wolniej (prawdopodobnie wina zębatek). W line followerach nie robi to wielkiej różnicy ale np. w waldkach światłolubach już tak 🙄

Link do komentarza
Share on other sites

Tak ale lfr zawsze będzie się trzymał linii a o to przede wszystkim chodzi 😋

Tak, ale będzie co chwila z niej zjeżdżał i musiał korygować, przez co jazda będzie wolniejsza, a chyba nie o to chodzi 😉 Zresztą serwa nie nadają się zbytnio do robotów line follower przy obecnych ofertach silników. Chyba że taki stricte edukacyjny.

Link do komentarza
Share on other sites

Gdyby tak podliczyć koszta takiego silniczka + przekładnia to przypuszczam że trochę więcej trzeba kasy 🙄 Za 2 mikroserwa dałem 22zł + przesyłka, a zawsze można w programie zmienić z 255 na wartość niższą, doświadczalnie dla szybszego serwa :->

Link do komentarza
Share on other sites

bluehais, nie, to nie działa, nie da się łatwo tego zrobić, i to MA znaczenie w LFRach.

Zwłaszcza kiedy chce się użyć czegoś bardziej ambitnego od 3 IF'ów jest to bardzo frustrujące i nieefektywne. A to dlatego, że oprócz rożnych prędkości na maksie, mamy różne zachowanie dla różnego wypełnienia PWM, co znacząco utrudnia płynną i skuteczną jazdę po linii.

Link do komentarza
Share on other sites

No tak, ale szkoda wyrzucać serwa na które czekałem 11 dni zanim przesyłka dotarła :->

Gdy załączam jeden z nich (ten wolniejszy) słychać taki "pisk" jakby coś ocierało. Rozkręciłem drugi raz i porównałem z tym szybszym - wszystko tak samo. Załączyłem i dalej to samo. Pewnie je do czegoś wykorzystam, ale następnym razem muszę pomyśleć nad silnikami 🙄

Link do komentarza
Share on other sites

bluehais, to mikroserwa, tak? Ja miałem taki efekt gdy za mocno skręciłem śruby. Spróbuj poluźnić lekko, odciągnij górną pokrywę (ta która osłania zębatki) i sprawdź czy dalej piszczy i jest wolniejsze. Popróbuj troche i jeśli to nic nie da to szukamy problemu dalej.

Link do komentarza
Share on other sites

Smarować próbowałem, wykręciłem wszystkie śrubki tylko założyłem pokrywę ale dalej to samo. Sprawdziłem też czy ta zębatka która daje ostateczny moment obrotowy obraca się swobodnie razem z wałkiem potencjometru, wszystko ok tylko dalej ten pisk (nie jest taki głośny jak pierwszy raz, ale serwo dalej wolniejsze) . Przy pierwszym skręcaniu przed założeniem pokrywy potencjometr był dość mocno zginany przez zębatkę między silnikiem a wałkiem napędzanym. Wydaje mi się, że to wszystko siedzi za ciasno 🙄

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.