ne555, tacho, atmega 1280

Gast #1214420
Lesenswert?

Hallo!
Ich benutze die im Anhang einzusehende Schaltung mit einem Reed-Kontakt 
als Tachosensor.
Bislang werkelte das Ganze an einem Atmega32. Hier habe ich die Register 
wie folgt konfiguriert:

//fallende flanke löst tacho-interrupt aus
  MCUCR |= (1<<ISC01);
//enable interrupt on int0
  GIMSK |= (1<<INT0);

Nun bin ich auf einen Atmega1280 umgestiegen und habe das Problem, dass 
der Interrupt so lang immer wieder ausgelöst wird, wie der Magnet den 
Reed-Kontakt schliesst. Das Ergebnis sind natürlich absurd hohe Werte 
für die Geschwindigkeit da die Zeit zwischen zwei Flanken minimal ist.

Beim Atmega1280 schreibe ich folgendes in die Register:

  EICRB = (1<<ISC61); //fallende Flanke
  EIMSK = (1<<INT6); //enable interrupt

Das sollte doch eigentlich gleichbedeutend sein? Das einzige was sich 
außerdem geändert hat, ist, dass ich vom NE555 im DIP auf einen NE555 im 
SO-8 Gehäuse umgestiegen bin und die Leitung zwischen NE555 und Reed 
deutlich länger geworden ist.

Hat jemand eine Idee, was ich falsch mache?
Angehängte Dateien:
Gast #1229022
Lesenswert?

Hi,
noch da?
Wozu er 555er? Das kannste mit einem Kondensator direkt am INT0 des AVR 
betreiben, hab ich schon tausende Kilometer am Motorrad praktiziert.
Pullup 4,7K an Plus, Elko 1-2,2µF an Masse. Reed parallel und auf 
fallende Flanke triggern. Funzt tadellos! Siehe Link:

http://www.advrider.com/forums/showthread.php?t=400288&page=1

Dort kann man meinen Zähler sehen, der funktioniert mit einem Reed 
Kontakt an der Gabel und einem einzigen Magneten an der Bremsscheibe. 
Misst auf den Milimeter genau, ich addiere da pro Umdrehung einen 
Radumfang milimetergenau auf. Der Zähler hat sich dabei VOLL bewährt, 
EINWANDFREI und ohne 555.

Gruss
Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren