Servos mit AT90CAN128 ansteuern

Gast #2097583
Lesenswert?

Hallo zusammen,

ich habe einen Servo angesteuert. Das folgende Programm zeigt, wie ich 
ihn angesteuert habe. Nun zum Problem:

Der Servo läuft. Es kommen immer kurze Takte. Nun bekomm ich es aber 
nicht hin, dass der Servo einen längeren Weg hinterlegt. Also nun macht 
er ja ca. 1 mm. Wie bekomm ich es hin, dass er z.B. 6 mm macht?
Die Zeit habe ich verändert. Passiert aber nicht viel.

Könnt ihr mir da ein Beispiel geben?

Programm:

int count = 0;

ISR (TIMER0_OVF_vect)
{
TCNT0 = 6;
 count++;

    switch(count)
    {
    case 20: PORTA = 0x01;

             break;

      case 21: PORTA = 0x00;
               count = 0;
               break;

TCCR0A = 0x04;
    }
}

int main()
{
 sei();
 TCCR0A = 0x05; //Vorteiler 64
 TCNT0 = 0x00;   //Timer vorladen
 TIMSK0 = 0x01;  //Interrupt enablen

 while(1)
  {
 }

}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren