Skocz do zawartości
Nawyk

[Mechanika] Serwa modelarskie w robotyce amatorskiej - Kompendium

Pomocna odpowiedź

stanekcr, w praktyce może być różnie, jednak na pewno nie tak jak chcesz 😋. To jest tak, że jak chcesz mieć w pozycji neutralnej to wysyłasz cały czas sygnał 1.5ms i serwo będzie trzymać ten kąt, tj. będzie przeciwstawiać się zmianą pozycji orczyka.

A co do sterowania, to chyba mimo wszystko najlepiej zaprząc do tego PWM/ew. Timer w innej konfiguracji. Musisz tylko sobie odpowiednią częstotliwość pracy wyliczyć i trochę poeksperymentować, bo każde serwo reaguje trochę inaczej.

Udostępnij ten post


Link to post
Share on other sites
Nie programuje w bascomie tylko w C. Jak to wygląda w C? Można tam zadać kąt?

Jeśli napiszesz sobie taką funkcję to będziesz mógł, w C takie rzeczy trzeba samemu sobie dorobić albo poszukać gotowych rozwiązań w sieci.

Udostępnij ten post


Link to post
Share on other sites

Dzięki za rady. Myślę, że jestem w stanie zaprogramować w C wychylenie o dany kąt bez większych problemów.

Jednak nie otrzymałem jednoznacznej odpowiedzi w jednej kwestii. Jeżeli serwo jest obciążone, wychyle je o dany kąt i będę chciał zatrzymać je w tej pozycji, będzie musiało przeciwstawiać się sile zewnętrznej. Jak to osiągnąć, jaki sygnał należy wysłać?

Udostępnij ten post


Link to post
Share on other sites

Musisz wysyłać nie zmiennie taki sam sygnał jakiego używasz do zmiany położenia.

Udostępnij ten post


Link to post
Share on other sites

Wysyłasz mu sygnał jakiś, np wychyl się o 60*. I serwo będzie dążyło do pozostania w tej pozycji 60* tak długo jak ten sygnał będzie docierał do serwa. Jak będzie dążyło, to będzie również przeciwstawiać się sile zewnętrznej.

Udostępnij ten post


Link to post
Share on other sites

kolega stanekr możliwe, że nie rozumie dokładnie jak się steruje serwem: wysyła się zadany kąt jako sygnał o określonej długości, powtarzalny 40-60Hz. Aby serwo stało w danym miejscu należy wysyłać sygnał o stałym wypełnieniu i w miarę stałej częstotliwości.

Udostępnij ten post


Link to post
Share on other sites

Chyba widzę już mój błąd. Myślałem, że serwo może przyjmować tylko 3 pozycje (1 ms max w lewo, 1,5 ms środek,2 ms max w prawo). Czyli sygnał z zakresu np 1-1,5 ms zadaje okreslony kąt. Dziękuje za rozwianie moich wątpliwości.

Udostępnij ten post


Link to post
Share on other sites

Ponawiam pytanie użytkownika wsowa.

Czy dałoby się podłączyć potencjometr (środkową nóżkę) do przetwornika ADC w ATmedzę oraz masę tego potencjometru do masy ATmegi i sprawdzać położenia serwa nie przerabiając go uprzednio?

Jeśli nie, to dlaczego?

Proszę o odpowiedź,
Defozo

Udostępnij ten post


Link to post
Share on other sites

Można. Nie powinno nic przeszkadzać.

Udostępnij ten post


Link to post
Share on other sites

Masę potencjometru? Ona nie jest równa masie zasilania (zwykle). W serwach potencjometry zwykle mają rezystory po obu stronach. Ale sam sygnał analogowy jak najbardziej mierzyć można, ale trzeba być świadomym, że zakres napięć nie będzie wynosić od 0 do Vcc.

Udostępnij ten post


Link to post
Share on other sites
Masę potencjometru? Ona nie jest równa masie zasilania (zwykle). W serwach potencjometry zwykle mają rezystory po obu stronach. Ale sam sygnał analogowy jak najbardziej mierzyć można, ale trzeba być świadomym, że zakres napięć nie będzie wynosić od 0 do Vcc.

Trochę się pogubiłem...

Jak mam podłączyć potencjometr z serwomechanizmu do ADC ATmegi, by dobrze zmierzyć położenie serwa bez przerabiania?

Potrzebuję mierzyć napięcia ujemne?

Po przerobieniu wystarczy tylko podłączyć potencjometr tak jak jest to opisane w pierwszym poście i wtedy będą tylko napięcia 0 do Vcc?

Udostępnij ten post


Link to post
Share on other sites

Podłączasz do ADC wyjście potencjometru. oraz masę serwomechanizmu.

Udostępnij ten post


Link to post
Share on other sites

Tylko po co mierzyć kąt jak sam go najpierw wysyłasz z programu. Wystarczy zapamiętać co wysłałeś.

Udostępnij ten post


Link to post
Share on other sites

Z dwóch powodów:

1. Żeby znać położenie serwa zanim cokolwiek do niego wyślesz

2. Żeby znać położenie serwa jeżeli obciążenie jest zbyt duże żeby serwo znalazło się w zadanej pozycji.

Udostępnij ten post


Link to post
Share on other sites

W przypadku dużego obciążenia ważniejszy jest prąd, bo jeśli wzrośnie gwałtownie podczas ruchu, to wiadomo, że kąt można cofać. Nie jest to idealne rozwiązanie, ale jest. Natomiast rzeczywiście jest istotne w momencie załączenia, aby po podaniu sygnału serwa gwałtownie nie szarpnęły, pokonując (lub nie) przy okazji wszelkie przeszkody po drodze, przy okazji np. uszkadzając robotowi nogi.

Udostępnij ten post


Link to post
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!

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