mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeitschleifen für Servo


Autor: Andreas Müller (andy999mueller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe das Problem, dass ich eine Zeitschleife mit exakt 400µs 
benötige.
Danach brauche ich noch eine Zeitschleife mit 1,5ms.
Ich habe einen ATMEGA128 mit 16Mhz. Ich programmiere meinen MC mit C und 
dem AVR Studio. Ich weiß jetzt nur nicht wie ich vorgehen soll. Benutze 
ich nun ein PWM Signal oder mache ich es mit einem normalen Zähler.
Der Pseudo-Code könnte in etwa so aussehen:


//include Dateien einbinden

//PortB als Ausgang definieren
//PortB einschalten
//Timer mit Prescaler einstellen
//Timer evtl. mit PWM Signal einstellen
//Timer Compare-Wert zuweisen
//Timer starten

//Wenn Timer 400µs erreicht, dann PortB auf 0 setzen
//Timer zurücksetzen und Zeitschleife mit 1,5ms laufen lassen.
//In diesen 1,5ms den PortB auf 1 setzen und Zeitschleife mit 1,5ms auf 
0 setzen

Ist das so realisierbar? Es geht nämlich darum einen Digital-Servo 
anzusteuern. Habe es jetzt schon Tagelang versucht aber der Servo 
reagiert nicht. Und ich komme einfach nicht mehr weiter.

Es wäre super, wenn ihr mir helfen könntet.



Gruß Andy

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hast Du immer 1 am Pin!
Wenn ich Dich richtig verstehe, willst Du 0,4ms low dann 1,5ms high? Das 
ganze immer wieder, oder nur einmal?
Würde ein PWM nehmen. Denke, das ist weniger Aufwand. Ein Problem hast 
Du aber vielleicht, wenn Dein PWM-Signal immer mit high-Pegel startet...

Autor: Andreas Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst du mir einen quellcode schreiben???

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.