mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR als Taktgeber


Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie kann ich mit einem AVR, z. B. Mega8, eine bestimmte Anzahl Takte mit 
einer festen Frequenz ausgeben? Also z.B. 50 Takte bei einer Frequenz 
von 100 Hz.
Das Problem hierbei ist, dass das Ganze sozusagen im Hintergrund 
geschehen sollte, weil der AVR zur gleichen Zeit anderes zu tun hat. 
Also einfaches Schalten eines Ausgangspins geht hier nicht. Aber das 
müsste doch mit den Timern zu machen sein.

Hat jemand eine Idee? Danke für eure Anregungen!

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CTC-Modus

Autor: F. Kriewitz (freddy436)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck dir mal diverse Schrittmotor Steuerungen an, da wird so was z.B. 
benötigt.

Man kann es entweder direkt mit der Hardware machen oder noch ein wenig 
Software dazu. Die Software Variante ist deutlich flexibler, so kann man 
z.B. mit nur einem Timer mehrere (verschiedene) Frequenzen erzeugen.

Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab' mich mal kurz in das Thema CTC eingelesen. So wie ich das verstehe 
kann ich damit meine gewünschte Frequenz erzeugen. Mir ist aber noch 
nicht klar, wie ich exakt die gewünschte Anzahl Pulse ausgeben kann.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PWM-Ausgang nutzen, Timer1 im CTC-Modus mit geeignetem Vorteiler 
programmieren oder OCR1A-Register als Top-Value benutzen. Wenn feine 
Auflösungen gewünscht sind, kann man auch beide Varianten kombinieren, 
also 2 Timer benutzen, einen als programmierbaren Vorteiler, den anderen 
dann als freilaufende PWM.

Autor: F. Kriewitz (freddy436)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neuling wrote:
> Hallo,
>
> hab' mich mal kurz in das Thema CTC eingelesen. So wie ich das verstehe
> kann ich damit meine gewünschte Frequenz erzeugen. Mir ist aber noch
> nicht klar, wie ich exakt die gewünschte Anzahl Pulse ausgeben kann.

Was für eine Quarz Frequenz hast du den und was für eine Frequenz 
brauchst du?

Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

genau das will ich machen, nämlich einen Schrittmotor ansteuern! Die 
Pulse gehen auf eine L297/L298-Kombination. Mittels definierter Anzahl 
Pulse kann mein Antrieb einen bestimmten Weg zurücklegen. Es kann aber 
sein, dass der Weg noch nicht zurückgelegt ist und schon die Anforderung 
nach zusätzlicher Wegstrecke kommt.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo liegt das Problem? Eine Zählvariable, die mit der Schrittzahl 
vorgeladen und mit jedem Schritt dekrementiert wird. Wenn dann 
zwischendurch noch ein paar Schritte dazukommen, dann einfach zur 
Variable dazuaddieren.

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.