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!
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.
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.
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.
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?
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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.