mikrocontroller.net

Forum: Compiler & IDEs Reedkontakt auswerten Fahrrad


Autor: Frank R (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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???

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach das lieber mit dem ICP-Modul.

Autor: Εrnst B✶ (ernst)
Datum:

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

Das Signal muss sauber entprellt sein: Entprellung

Autor: Frank R (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas Lechner (Firma: ZT Lechner GmbH) (bulmist)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja

Autor: Thomas Lechner (Firma: ZT Lechner GmbH) (bulmist)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.