mikrocontroller.net

Forum: Compiler & IDEs Drehzahlmesser


Autor: Timo O. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin

Ich wollte mir dieses Wochenende ein eher einfaches Projekt vornehmen
doch leider läuft ja nicht immer alles so wie man sich das gedacht
hat...
Ich bin dabei einen Drehzahlmesser für eine Modellturbine zu bauen. Die
Drehzahl soll dabei durch eine Lichtschranke ermittelt werden.
Nun soll der Interrupt0 die Impulse der Lichtschranke zählen. Jede
Sekunde soll dann ein Compare-Interrupt überlaufen und die aktuelle
Drehzahl über die Serielle-Schnittstelle ausgeben. Eigentlich ganz
simpel....
Doch leider funktioniert nicht alles so wie ich mir das gedacht habe.
Der Compare-Interrupt löst wirklich jede Sekunde aus und auch der
Interrupt0 funktioniert doch wenn ich die Lichtschranke auf meine
Schreibtischlampe richte bekomme ich folgende Werte ausgegeben...
126; 121; 119; 117; 120; 118; 116; 132; 120;
Das Signal das am Int0 anliegt hat aber wirklich 50Hz (Oszi). Woran
liegt es, dass die Werte so stark schwanken und warum liegen die Werte
nicht ungefähr bei 50 ???

und noch ein Codeschnipsel...

//Compare-Interrupt (1Sekunde)
SIGNAL(SIG_OUTPUT_COMPARE1A)
{
  GIMSK = (0<<INT0);       //Interrupt0 deaktiv
  UDR = count;             //count über rs232 ausgeben
  count = 0;               //count zurücksetzen
  GIMSK = (1<<INT0);       //Interrupt0 aktiv
}

//Interrupt0 (rising edge)
SIGNAL(SIG_INTERRUPT0)
{
 count++;
}

Gruß
Timo O.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstens müßten die Werte doch wohl eher bei 100 liegen, oder denkst
Du, daß Dein Fototransistor positives Leuchten der Glühwendel von
negativem unterscheiden kann? ;-)

Zweitens solltest Du die ganze Chose einfach entprellen.  Sinnvoll
wäre es z. B., den externen Interrupt nach dem Eintreffen erstmal für
eine Weile abzuschalten und erst dann zuzuschalten, wenn im Rahmen des
vorgesehenen Drehzahlbereichs wieder mit einem neuen Interrupt zu
rechnen ist.  (Dabei nicht vergessen, einen eventuell noch anhängigen
externen Interrupt vorher zu löschen.)

Autor: Harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korigiert mich, wenn ich mich irre, aber bei einer Glühlampe dürfte
überhaupt nichts zu messen sein! Für Flackern ist die Glühwendel doch
zu träge. Wenn überhaupt, dann müsste bei Leuchtstoffröhren oder
Sparlampen was zu messen sein.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach was, klar ,,brummt'' eine Glühlampe auch.  Sicher nicht mit 100 %
Amplitude und umso weniger, je dicker der Glühfaden ist, aber
moduliert ist auch Glühlicht.  Jeder, der mal irgendwann versucht hat,
beim Basteln mittels Licht Töne zu übertragen, wird das schon erlebt
haben.

Autor: MSE (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Harry, @Jörg Wunsch

Oh ja,
ich habe sogar einmal eine Demo-Schaltung gebaut, mit der ich Musik
mittels einer Taschenlampen-Glühlampe übertragen habe. Das lief eher in
Telefon- als in Hifiqualität, aber es ging. Ich hatte die Anregung aus
einem Physik-Schulbuch und habe selber nicht schlecht darüber gestaunt,
dass es funktioniert hat.

Den Störeffekt durch die Glühlampenbeleuchtung kannte ich vorher
allerdings auch schon.


Gruss, Michael

Autor: Harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha, das habe ich auch nicht gewusst. Danke.

Autor: Timo O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Leute

Sorry, dass ich mich erst so spät wieder melde. Ging leider nicht
früher :-(
@Jörg
Du hast natürlich mit den 100 Pulsen pro Sekunde recht. Ich habe
einfach eine Halbwelle unterschlagen. :(

Ich habe das Programm dann einfach mal so erweitert, dass es auch für
Drehzahlmessungen mit mehr als 256 Umdrehungen pro Sekunde
Funktioniert. Dann habe ich die Schaltung mit einem Lüftermotor
getestet und als Refernz noch einen gekauften Drehzahlmesser verwendet.
Und siehe da es funktioniert. Die beiden Drehzahlmesser haben bei 5000
U/min ca. 10-30 U/min Differenz. Warum es bei der Glühlampe nicht
funktioniert konnte ich leider nicht in erfahreung bringen. Ist
eigentlich auch egal da es in meinem Anwendungsfall ja funktioniert.

Danke für die Hilfe
Timo O.

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.