Skocz do zawartości

Problematyczne serwo


PiotrekR

Pomocna odpowiedź

Cześć, ostatnimi czasy zmagam się z nauką C, oraz ogólnie mówiąc AVRami.

I tak się męczę z obsługą serwa. Serwo to SG92R.

Pod arduino wszystko działa jak powinno, natomiast w czystym C napotykam gdzieś problem.

Z obliczeń wynika (chyba że źle liczę), że przy taktowaniu procesora 1mHz, najrozsądniej skorzystać z 16bitowego timera, bez prescalera, który będzie liczył do 20000.

Ze zdobytych w internecie informacji wynika że serwo przy okresie sygnału 20ms jest sterowane impulsem od 2ms do 1ms.

Policzyłem sobie i wyszło mi że 1ms to 1000 impulsów timera. Jednak korzystając z tych wartości serwo nie porusza się w pełnym zakresie. Pełen zakres 180 uzyskuję przy ICR - 2300 min i max ICR - 500.

Z czego wynika taka rozbieżność? Może tkwi w tym jakiś banalny błąd?

Tutaj kod jakim testuje (po prostu zmieniam wartość w OCR1A)

#include <avr/io.h>

int main (void)
{
//***IO CONFIG***
DDRB |= (1<<PB1);

//***TIMER1 (PWM)***
TCCR1A |= (1<<COM1A1) | (1<<COM1A0) //OC1A - inverting
	   |  (1<<WGM11); //MODE 14, FAST PWM TOP = ICR1

TCCR1B |= (1<<WGM13) | (1<<WGM12) //MODE 14, FAST PWM ...
	   |  (1<<CS10); //PRESCALER = 1

ICR1 = 20000; //TOP

OCR1A = ICR1-2300;


while(1)
{
//loop
}

}//main
Link do komentarza
Share on other sites

Wszystko jest OK. Typowe serwa modelarskie nie mają zakresu ruchu 180 stopni tylko mniej - zwykle ok. ±60°. Podczas ustawiania położenia sterów po prostu więcej nie jest potrzebne. Żeby "rozkręcić" je bardziej, musisz wyjść poza typowy zakres długości impulsów. Spróbuj, ale raczej nie przeginaj powyżej ±100-110°, bo z kolei górnym ograniczeniem jest blokada mechaniczna związana z potencjometrem.

  • Pomogłeś! 1
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

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.