Hallo Leute! Hab vorhin den analogen Komparator des ATMEGA8 in Betrieb genommen, funzt soweit auch super, aber eines ist mir nicht ganz klar. Mann kan im ACSR Register mit den ACIS1 und ACIS0 Bits einstellen, wann ein Interrupt stattfinden soll. 1. Bei Toggle 2. Bei Fallender Flanke 3. Bei steigender Flanke Egal was ich in den Bits einstelle, es funzt immer als Toggle, das heißt, wenn die z vergleichende Spannung über oder unter die Referenzspannung rutscht, erfolgt ein Interrupt. Ich hätte aber auch gerne, dass nur dann ein Interrupt stattfindet, wenn die zu vergleichende Spannung größer wie die Referenz ist, aber dann soll kein interrupt mehr stattfinden, wenn die spannung wieder unter die referenz rutscht. Weiß da jemand Bescheid? Vielleicht gibts da ne Tücke, von der ich noch nichts weiß... Danke Miki
Komparatoren neigen im Umschaltpunkt u.U. zu Schwingungen, vor allem dann, wenn die Spannung sich nur langsam ändert und die Quelle so hochohmig bzw. die Analogleitung so lang ist ist, daß EMV-Störungen eingefangen werden. Digitale Leitungen in der Nähe von Komparatoreingängen sind auch kritisch. Vielleicht hilft es, das Analogsignal und ggf. die Referenzspannung über einen RC-Tiefpaß zu glätten. Wenn es nicht auf kurze Reaktionszeit ankommt, könnte man das ohne Interrupt machen und das Komparator-Bit (z.B. zusammen mit der Tastatur) aller 10ms auslesen und mit einer Tastenentprellroutine (z.B. von Peter Dannegger) behandeln. Andere Möglichkeit: Man verwendet den Timer1-Capture-Interrupt, da läßt sich der Komparator aufschalten. Vorteil: Der Timer-Capture-Interrupt ermöglicht eine Noise-Canceler-Funktion, d.h. eine Art Schnell-Entprellung mit Clockgeschwindigkeit. MfG Olaf
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.