-
-
Moderator
Robotik Visionär
Impuls(sagtmanso?) und duty zusammen bilden die Periode.
In der Interrupt-Routine zählst du eine Variable hoch und immer, wenn diese Variable einen bestimmten Wert erreicht hat, endet der Impuls und duty beginnt. Wenn die Variable den Endwert erreicht hat(günstig ist z.b.255) endet auch duty und der neue Impuls beginnt. Die Variable wird wieder auf null gesetzt und das Ganze endlos wiederholt.
Die Länge des Impuls ist die Pulsweite, die moduliert wird, indem der Vergleichswert zum Umschalten verändert wird. Die Periodendauer ist die Zeit zwischen den Interrupts mal dem Endwert der Zählvariablen und bleibt immer konstant.
Aber eigentlich geht das ja am Thema vorbei, den Schrittmotoren werden per Frequenz angesteuert und nicht mit Pulsweiten. Im Ansatz ähnlich zählt auch hier eine Interruptroutine eine Zählvariable hoch. Beim Erreichen des Endwerts wird der Ausgang umgeschaltet und die Zählvariable auf null gesetzt. Das ergibt den Takt für den Schrittmotor, die Fequenz wird durch verändern des Endwertes eingestellt, Periodendauer ist dann Interruptabstand mal Endwert geteilt durch zwei.
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen