Reedkontakt auswerten Fahrrad

Gast #806024
Lesenswert?

Hallo

Habe einen Reedkontakt an einen Fahrrad.

Diesen will ich in einen Zähler einbauen um die umdrehungen /min zu 
ermitteln.


Ich habe diesen mit dem INT0 meines Mega 8 verbunden.

Meine Frage haz jemand einen effektiven code für das auswerten wenn der 
reed dauerhaft am magnet hängt fahrrad steht.

Momentan bekomme ich ca 10impulse wenn das rad einmal dreht.

Entprellen???

Danke


Start interrupt
void extint_enable(void)
{
MCUCR = (1<<ISC11);
GICR = (1<<INT0);
}


SIGNAL(INT0_vect)
{
if (messung==1)umdrehung++;
}

in einem zähler der alle 1sec messung=0 auslöst frage ich die umdrheung 
ab und berechne daraus die geschwindigkeit.dann zähler wieder 0 und 
messung=1

aber wie kann ich erreichen das der int0 mir auch wirklich nur eine 
umdrehung bringt wenn das rad auch nur einmal dreht???
Gast #806201
Lesenswert?

Hallo

Habe es aus der int0 herausgenommen

habe in der main schleife

if(messung==1)
{
if ((PIND & (1 << 2)) )eingang=1;

if(!(PIND & (1<<2)))ausgang=1;

if(eingang==1 && ausgang==1)
{
um++;
eingang=0;
ausgang=0;
}

}

So bekomme ich immer pro umdrehung ein impuls.

Jetz habe ich ein Timer der alle 1sec einen int auslöst dort
stoppe ich die messung und hole mir den um wert und berechne die 
geschwindigkeit.setzte dann um =0 und messung=1

Geht jetzt super.

Danke
Gast #812975
Lesenswert?

Hallo,
ich habe schon verschiedene sogenannte Tripmaster fürs Motorrad gebaut 
mit Geschwindigkeits und Kilometermessung und immer einen Reedkontakt 
verwendet. Dabei habe ich immer einen Kondensator zum Reed parallel 
geschaltet und den Interrupt mit der fallenden Flanke gestartet. Der 
Reed war gegen Masse. Somit gibt es eine vernünftige fallende Flanke 
beim Einschalten und eine Aufladekurve beim Abschalten des Reed. Diese 
macht aber nichts weil die fallende Flanke allein zählt.
Funzt immer ohne Problem.

Gruss
Thomas
(Firma: ZT Lechner GmbH) #1205675
Lesenswert?

Hallo!

Ich möchte gerne einen reed Kontakt an einen Microcontroller hängen und 
auf einem Display die Umdrehungen bzw. die Geschwindigkeit ausgeben!!
Soll ein Windmesser sein!!

Hat jemand einen C -Code für mich???

Wäre wirklich hilfreich!!!

MFG
Thomas L.

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