hriszna Napisano Listopad 14, 2011 Udostępnij Napisano Listopad 14, 2011 Witam Jestem w trakcie budowy ramienia o 4 stopniach swobody i mam problem ze sterowaniem, a mianowicie ze znalezieniem odpowiedniego schematu sterowania pięcioma serwami. Jeżeli ktoś mógłby mi pomóc bym był bardzo wdzięczny. Cytuj Link do komentarza Share on other sites More sharing options...
mog123 Listopad 14, 2011 Udostępnij Listopad 14, 2011 tu nie chodzi o schemat a o program. schemat jest prosty bo potrzebujesz tylko 5 złącz goldpin 1x3. Odnośnie programu to musisz powiedzieć w czym piszesz i jak dobrze Ci to idzie. Czy wiesz co to przerwanie? timer? itp Cytuj Link do komentarza Share on other sites More sharing options...
hriszna Listopad 14, 2011 Autor tematu Udostępnij Listopad 14, 2011 Szczerze mówiąc jestem dość zielony w temacie. Puki co jestem w trakcie tej łatwiejszej części, czyli konstrukcja mechaniczna. Teraz chciałem się skupić na skleceniu układu i na zasadzie prób i błędów pomału zacząć pisać program. Znalazłem taki układ tylko na Atmedze 8 bitowej i zastanawiam się czy mógłbym go użyć? http://www.fotoload.pl/index.php?id=5ae7467688c96dbc1bcc31364a275750140 __________ Komentarz dodany przez: Sabre Cytuj Link do komentarza Share on other sites More sharing options...
kling Listopad 14, 2011 Udostępnij Listopad 14, 2011 Takie podłączenie serw wymusza na Tobie napisanie programowanego pwm'u. Da się to bez przeszkód zrobić na Atmedze 8 ( i na każdym innym mikrokontrolerze z przynajmniej dwoma timerami). Jeżeli chcesz sobie nieco uprościć zadanie znajdź mikrokontroler który będzie wyposażony w co najmniej 5 wyjść PWM ( w AVR zazwyczaj oznaczone jako OCxy). Wiem, że na pewno takie możliwości ma atmega 128 ale z pewnością to nie jedyny wybór. Jeżeli byłbyś zainteresowany mam gdzieś napisany PWM programowy dla czterech kanałów na atmegę 32. Jest akurat przystosowany do sterowania serwami. I łatwo da się go poszerzyć o kolejne kanały. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
GAndaLF Listopad 14, 2011 Udostępnij Listopad 14, 2011 po co ci aż dwa timery do programowego pwma? Cytuj Link do komentarza Share on other sites More sharing options...
kling Listopad 14, 2011 Udostępnij Listopad 14, 2011 Jeżeli chodzi o sterowanie serwami to należy generować sygnał PWM o długości trwania 0-2ms i okresie 20ms. W takim przypadku jeden timer dba o odmierzanie okresu (20ms) a drugi zajmuje sie generowaniem odpowiednich wypełnień (od 0 - 2ms). Możliwe, że jest inny sposób, ale ja korzystam z tego, i się sprawdza. Cytuj Link do komentarza Share on other sites More sharing options...
GAndaLF Listopad 15, 2011 Udostępnij Listopad 15, 2011 A nie uważasz, że realizacja tego zadania na jednym timerze była by bardziej efektywna? Tym bardziej, że istnieją różne sposoby implementacji. Można na przykład 20ms podzielić na 8 części po 2.5ms i w przerwaniu zmieniać wyjścia odpowiednich portów. Innym sposobem mniej dokładnym ale za to umożliwiającym obsługę jeszcze większej ilości serw niezależnie jest stworzenie zmiennych inkrementowanych w przewraniu przepełnienia timera występującym np co 25us i obsługiwanych w głównej pętli programu. Cytuj Link do komentarza Share on other sites More sharing options...
kling Listopad 15, 2011 Udostępnij Listopad 15, 2011 Nie ma powodów dla których miałbym się z Tobą nie zgodzić. Różnych implementacji jest wiele. Ja kiedyś stworzyłem taką i do niej sięgam. Pewnie jakby się okazało, że brakuje mi jednego timera zastanawiałbym się nad zmianą koncepcji. Natomiast decyzję którego z algorytmów użyje hriszna zostawmy samemu zainteresowanemu. Cytuj Link do komentarza Share on other sites More sharing options...
KD93 Listopad 15, 2011 Udostępnij Listopad 15, 2011 Jeżeli chcesz sobie nieco uprościć zadanie znajdź mikrokontroler który będzie wyposażony w co najmniej 5 wyjść PWM ( w AVR zazwyczaj oznaczone jako OCxy). Wiem, że na pewno takie możliwości ma atmega 128 ale z pewnością to nie jedyny wybór. ATmega164 - polecam. Kiedyś kosztowały na TME 13zł netto i się skusiłem, teraz niestety podchodzą już pod 20. Cytuj Link do komentarza Share on other sites More sharing options...
Wojtek Listopad 15, 2011 Udostępnij Listopad 15, 2011 Ja kiedyś napisałem taki programik w Bascomie na 5 serw, dyrektywie config servos , attiny2313 https://www.forbot.pl/forum/topics50/algorytm-do-obslugi-serw-config-servos-vt5788.htm#48066 Od razu mówię ,że nie wiem czy to zadziała w praktyce bo od początku roku szkolnego nie pracowałem nad swoim robotem (poczeka do ferii 🙂 ) [ Dodano: 15-11-2011, 23:03 ] A w tym temacie : https://www.forbot.pl/forum/topics49/konfiguracja-fusebitow-i-podlaczenie-do-isp-vt5786.htm zamieściłem całkiem "ręcznie" napisany program bez poleceń config servos bezpośrednio używająć timerów . Niestety też nie wiem czy w praktyce to zadziała ,ale nic nie szkodzi spróbować. Cytuj Link do komentarza Share on other sites More sharing options...
hriszna Listopad 16, 2011 Autor tematu Udostępnij Listopad 16, 2011 Dziękuje za tak duże zainteresowanie na pewno przetestuje programik jak tylko polutuje płytkę. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!