-
-
Moderator
Robotik Visionär
Hallo
Ich verwende die 2.8er Lib nicht, deshalb kann ich dir nicht viel zum Zusammenspiel mit der IR-Erweiterung sagen. Allerdings scheint mir dein Beispielprogramm die etwas erweitete Demo von Waste zu sein, ich sehe keinen Hinweis auf eine Unterstützung durch die Lib.
Wichtig ist die Initialisierung des Timers in der Lib, bei der von Waste modifizierten Version sieht die entsprechende Stelle in asuro.c so aus:
TCCR2 = (1 << WGM20) | (1 << WGM21) | (1 << COM20) | (1 << COM21) | (1 << CS20);
In der Funktion Init()
Laut Datenblatt (Seite 177ff) ist das "Fast PWM" (WGM20+21) mit "Set OC2 on Compare Match, clear OC2 at BOTTOM, (inverting mode)" (COM20+21). Prescaler ist 1 (CS20) (Wie man dann auf 36kHz kommt ist mir grad auch nicht klar ;)
Diese Initialisierung sollte bei der 2.8er Lib gleich sein sonst funzt die IR-Abstandsmessung nicht.
Du kannst auch noch mit dem OCR2-Wert rumspielen, mein asuro fuhr mit 0x50 ziemlich optimal. Das hängt aber auch vom Reflektor und dem Gesamtaufbau ab.
Gruß
mic
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