Forum: Compiler & IDEs Reedkontakt auswerten Fahrrad


von Frank R (Gast)


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???

von STK500-Besitzer (Gast)


Lesenswert?

Mach das lieber mit dem ICP-Modul.

von Εrnst B. (ernst)


Lesenswert?

Egal ob ICP oder INT0 oder externer Trigger für den Timer oder Polling 
vom Pin:

Das Signal muss sauber entprellt sein: Entprellung

von Frank R (Gast)


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

von Thomas (Gast)


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

von Thomas L. (Firma: ZT Lechner GmbH) (bulmist)


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.

von Gast (Gast)


Lesenswert?

Ja

von Thomas L. (Firma: ZT Lechner GmbH) (bulmist)


Lesenswert?

Wäre es möglich das du mir diesen Code in einem File per e-mail 
schickst???
Wer echt super!!!

thomas_lechner@yahoo.de

MFG
Thomas L.

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
Noch kein Account? Hier anmelden.