Wenn Du sicher Stellen kannst, das immer nur ein Auto an einem Empfänger vorbeikommt, kannst Du das über Input Capture und INT0 realisieren.ich brauch die Frequenz ja nur zur Unterscheidung der Autos
Der Timer 1 läuft frei, es werden die Zeiten zwischen mindestens 2 Nulldurchgängen der Wechselspannung gemessen.
Daraus lässt sich dann die Frequenz bestimmen und dem entsprechenden Fahrzeug zuordnen.
Beim ersten Nulldurchgang wird dder aktuelle Zählerstand ( TCNT1 ) des Timers 1 abgespeichert. Beim nächsten nulldurchgang in gleicher Richtung ( komplette Periode ) wird der vorherige Wert von dem vorher ermittelten abgezogen. Aus diesem Wert lässt sich dann die Frequenz ermitteln.
Man kann auch die erste Periode verwerfen und dann die nächsten 2 Auswerten, oder, oder, oder...
Eine Impulsaufbereitung die Dir wieder saubere Rechteckimpulse liefert musst Du aber trotzdem Vorschalten.
Ich würd da einen Vorverstärker, einen Bandpaß und dann einen Begrenzer Verstärker hinterherschalten.
Um ein Auto nur einmal pro Runde zu zählen, kann man nach einem erkannten Fahrzeug eine Totzeit von ca. 2 Sekunden für dieses Fahrzeug in das Programm integrieren.
Ich würde für diese Aufgabe einen ATMEGA 16 Controller verwenden, da der auch genügend Ports für eine vernünftige Anzeige hat.
Wenn Du unbeding sparen willst wird es auch ein ATMEGA 8 tun, vom Preis her ist es aber kein großer Unterschied.
LapTime und Durchschnitts LapTime sind dann nur noch ne Frage von Deiner Programmierkunst.
Beispielprogramme kann ich Dir leider nicht liefern - Arbeite mit C.
Lesezeichen