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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.