Forum: Compiler & IDEs Drehzahlmesser


von Timo O. (Gast)


Angehängte Dateien:

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.

von Jörg Wunsch (Gast)


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.)

von Harry (Gast)


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.

von Jörg Wunsch (Gast)


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.

von MSE (Gast)


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

von Harry (Gast)


Lesenswert?

Aha, das habe ich auch nicht gewusst. Danke.

von Timo O. (Gast)


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.

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.