Hallo! Ich bin grad dabei ein Servosignal mit einem ATMega8 zu digitalisieren. Das Signal kommt von einem Funkempfänger der über eine Funkfernsteuerung angesprochen wird. Der Impuls ist zwischen ~700µs und 1200µs lang und soll auf ~8 Bit aufgelöst werden. Das heißt ~1Bit/2µs! Der µC läuft im Moment auf 3,6MHz und das ist deutlich zu wenig für einen Interrupt-Aufruf der Länge 2µs. Da der µC später einen Helikopter regeln soll ist diese Frequenz realistisch. Dort kommt natürlich ein anderer ATmega zum Einsatz. Mein Gedanke war das Signal zu verlängern / zu strecken. Da es ein PWM-Signal ist, wird es zu keinen zeitlichen Komplikationen kommen. Bisher hab ich nur eine kleine Schaltung im Kopf die einen Kondensator aufläd und dieser dann parallel zur Basis-Emitter Spannung am Transistor hängt. Dieser würde dann etwas verzögert und verlängert das Signal liefern. Diese Methode ist aber jedoch sehr Temperaturanfällig, dh vor jedem Betrieb müsste dies initialisiert werden. :-/ Gibt es Chips / ICs die sowas schon können? Wie sieht es da in sachen Temperatur aus? Grüße Dominik
Wie soll denn die Auflösung besser werden, durch ein "Verlängern" oder "Strecken"? Sehe ich das recht, das ist eine Rechteckschwingung mit veränderlihem Tastverhältnis, die High-Zeit beträgt 0,7...1,2 Millisekunden. Ist die Wiederholfrequenz konstant? Muß jeder Impuls ausgewertet werden, oder ist eine Mittelung über mehrere Schwingungen möglich?
Timer Capture ist auf den Takt des Timers genau. Der damit assoziierte Interrupt wird nur benötigt, um den Wert aus dem Capture Register zu fischen. Das sollte sich in 700µs erledigen lassen.
Der Timer1 hat eine Input Capture Unit. Bei 3.6Mhz kannst du damit das Signal auf 2.7 E-7 (also ~0.3 µs) genau Ausmessen. Von einem Capture Interrupt zum nächsten hast du dann mindestens 2200 Takte Zeit ( = 700µs ) um das Ergebnis auszuwerten. Da kann dein Mega8 zwischendurch noch auf einen Kaffee gehen und ein paar teuflisch schwierige quadratische Gleichungen lösen ( (c)Douglas Adams )
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.