-
-
Erfahrener Benutzer
Robotik Einstein
Hi Orko,
also wenn du zwei Motoren ansteuern willst, dann verwenden wir nicht Timer0, da der nur einen Ausgang hat.
Das siehst du im Datenblatt auf Seite 2 (OC0).
Wir verwenden besser Timer1, dann brauchen wir nur einen Timer.
Wir hätten sogar 3 (OC1A-OC1C) zur Verfügung.
Der Vorteil bei der PWM-Ansteuerung eines Motors ist, dass wir in Sachen Frequenz und Genauigkeit nicht festgelegt sind.
Im folgenden werden wir uns jetzt durchs Datenblatt und durch die Register arbeiten. (Ich hoffe, dein Englisch ist gut
)
Ab Seite 111 wird es also interessant. Wobei, da am Anfang erstmal sehr viel über die prinzipielle Funktionsweise geht. Danach noch etwas Assembeler etc. Für uns erstmal nicht interessant. Wenn du Lust hast, kanst du dich da ja mal durcharbeiten.
Der Vorteil des des Hardware-PWMs ist ja, dass außer der Initialisierung keine Rechenzeit verschwendet wird. das ganze läuft vollkommen im Hintergrund.
Auf Seite 135 findest du jetzt erstmal einen Überblick über die möglichen Einstellungen der Timer.
Da wir keine besonderen Ansprüche an den PWM haben, würde ich vorschlagen, dass wir ihn im Mode 5,6 oder 7 betreiben, je nachdem, welche Auflösung du haben willst. Das ist der Fast PWM. Der ist am einfachsten zu erklären.
Was heißt das jetzt:
Der Counter1 zählt mit einer Frequenz, die wir später festlegen, bis zu einer Grenze (entweder 256, 512 oder 1024). Wobei, wenn der Counter bei 256, 512, 1024 ankommt wieder auf Null springt. Das ist ein einfacher Überlauf. Jetzt haben wir 3 Register, in die wir Werte schreiben. Wenn der Counter1 auf einen Zahl = einem der 3 Register kommt, wird ein Ausgang gesetzt oder gelöscht, je nachdem wie wir das noch einstellen.
Der Counter1 Zählt also einfach und vergleicht, ob der Wert, an dem ein Ausgang gesetzt werden soll, schon erreicht ist. Kommt der Counter an seine Obergrenze, so setzt oder löscht er den Zustand des Ausgangs automatisch.
Schau dir am besten mal die Seiten 124 und 125 dazu an.
Timer und PWM beruhen nur auf einem Counter, der immer nach einer bestimmten Zeit seinen Wert inkrementiert.
Bei welcher Frequenz betreibst du den AVR eigentlich?
Ist soweit alles klar? Kommst du mit, sonst stell Fragen.
Wie du siehst, kommst du um das Datenblatt nicht herum.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen