Programmierung: Eine kurze Beschreibung der PWM bei der Erstellung einer 20-ms-Periode und eines nicht-invertierten Modus für ein Hitec Hobby-Servo
Teilen
Im nicht-invertierten Modus beginnt der Impuls am Anfang der Periode. Um die Periode an 50 Hz (20 ms Periodenzeitrahmen) anzupassen, wird ein Timer/Zähler verwendet und der Top-Wert ICR1 auf 19.999 gesetzt. Um den nicht-invertierten Modus einzustellen, wird COM1A1 gesetzt und COM1A0 nicht gesetzt. Der OCR-Wert wird entsprechend dem nicht-invertierten Modus gesetzt, sodass er am unteren Ende des Timer/Zähler-Counts liegt. 2 ms würden 2000 entsprechen. Im invertierten Modus würden die 2 ms 19.999 - 2000 entsprechen, da der Impuls am Ende liegt.
Um die PWM (Pulsweitenmodulation) für den nicht-invertierten Modus zu initialisieren: DDRD |= 0xFF; TCCR1A |= 1<