Und nochmal Drehzahlmesser

Gast #2702955
Lesenswert?

Hallo ich würde gerne als nächstes Projekt ein Drehzahlmesser bauen.
Mir ist nur noch nicht so richtig der Programmablauf klar und hoffe ihr 
könnt mir ein wenig auf die Sprünge helfen.

Ich würde jetzt einen Timer nehmen und diesen in ein interrupt springen 
lassen z.b. alle 100ms.In der ISR möchte ich dann die Signale messen und 
dann die Hochrechnen.

Was ich jetzt nicht so richtig verstehe wie ich in Bascom progrmmiere 
mehrere Signale auszulesen.
Weil das Signal wird ja eventuell mehrmals in der Routine kommen
#2702968
Lesenswert?

basti12345 schrieb:

> Ich würde jetzt einen Timer nehmen und diesen in ein interrupt springen
> lassen z.b. alle 100ms.In der ISR möchte ich dann die Signale messen und
> dann die Hochrechnen.

Ist eine Möglichkeit.

> Was ich jetzt nicht so richtig verstehe wie ich in Bascom progrmmiere
> mehrere Signale auszulesen.

Du willst sie ja gar nicht 'auslesen'. Du willst zählen, wie oft das 
'Signal' vorhanden war. Und nach deinen 100ms, im Timerinterrupt, 
wertest du diese Anzahl aus.
#2702982
Lesenswert?

basti12345 schrieb:
> Oder könnte man das auch mit INT machen? Timerstand speichern neuen
> Timerstand nehmen und abziehen dann hatte ich ja das ergebniss in
> Timertakten und könnte es eventuell genauer ausrechen???

Ah.
Jetzt fängst an interessant zu werden. Jetzt beginnst du nachzudenken.

Welche Möglichkeiten hast du
* du kannst eine gewisse Zeit vorgeben und abzählen, wieviele
  Pulse du in dieser Zeit zählen kannst
* du kannst das alles aber auch umdrehen und die Zeit zwischen
  2 Pulsen messen und daraus die Frequenz errechnen.

Welche Vor/Nachteile hat jedes der beiden Verfahren? Wann wird man daher 
welches Verfahren nehmen? Tip: es hängt mit der zu messenden 
Frequenz/Drehzahl zusammen. Und noch ein Tip: Es hängt auch damit 
zusammen, dass du bei jedem der beiden Verfahren einen Messfehler machen 
wirst. Denn zb im ersten Verfahren, beginnt ja dein Zeitfenster nicht 
mit dem Beginn eines Pulses bzw. mit dem Ende eines Pulses. Wenn dein 
Zeitfenster 100ms groß ist, und von einem Puls zum nächsten 120ms 
vergehen, dann zählst du in einem Zeitfenster 1 Puls und im nächsten 
aber 0.
Gast #2703256
Lesenswert?

Ja danke erstmal für eure Antworten.Jetzt bin ich schonmal etwas weiter. 
Ich habe jetzt noch was über die Sache nachgedacht.Also ich werde einen 
Timer mit INT die Pulse zählen lassen.Einen anderen Timer lasse ich dann 
einfach in einer bestimmten Zeit überlaufen um die Werte auszulesen.Dann 
werde ich noch 4-8 Ergebnisse vergleichen und einen Durchschnittswert zu 
ermitteln.Die Ausgabe ans LCD werde ich dann noch ein wenig begrenzen 
damit sie nicht so extrem hin und her springt.

Eine frage hätte ich noch sollte man das umrechnen besser im 
Hauptprogramm machen oder in der ISR???

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