Skocz do zawartości

[C] Algorytm obsługi serwomechanizmu na atmega32u4


kamdz

Pomocna odpowiedź

Witam, w C zacząłem programować niedawno i stąd moje pytanie - czy mógłby mi ktoś pomóc napisać algorytm/funkcję do obrotu serwem przy użyciu timera? Byłbym bardzo wdzięczny za gotowy kod z właśnieniem działania albo chociaż wskazówki jak takowy algorytm stworzyć.

Pozdrawiam i liczę na szybką odpowiedź

Link do komentarza
Share on other sites

Ostatnio dokładnie coś takiego napisałem, tu masz kod:

https://bitbucket.org/thesheep/d1mini-18ch-servo/src

A tu trochę wyjaśnień:

https://hackaday.io/project/13278-servo-breakout-for-wemos-d1-mini/log/50331-firmware-in-plain-c

[ Dodano: 11-04-2017, 00:26 ]

Tu masz alternatywną wersję bez asemblera:

https://bitbucket.org/thesheep/d1-mini-20ch-servo/src

Link do komentarza
Share on other sites

Dziękuję za szybką odpowiedź. A co to są te pliki svg i inne dziwne... Jak je otworzyć? Przeczytałem to wyjaśnienie i tam jest jakaś biblioteka pwm.h - skąd ją wziąść? Czy serwa są tam sterowane przez pwm sprzętowy czy programowy? Jak wyglądałoby sterowanie dla 1 serwa?

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

Nie wiem co rozumiesz przez "programowy PWM" czy "sprzętowy PWM". Może po prostu zajrzyj do kodu i zobacz. Jak na hackaday.io popatrzysz na późniejsze logi, to tam też jest trochę więcej informacji.

Używam tam timera (więc chyba sprzętowy?) z przerwaniem (więc może jednak programowy?).

Link do komentarza
Share on other sites

W sumie jak 18 serw to musi być programowe... Ok jak dostanę się do komputera to zerknę dokładniej na kod. Dzięki

edit: próbowałem przeanalizować kod ale nie bardzo go rozumiem, czy mógłby mi pan go wyjaśnić?

Link do komentarza
Share on other sites

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

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.