Und nochmal Drehzahlmesser

Gast #2702955
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
Gast
Erstmal mußt du dir klar werden, ob du die Drehzahl des Mondes oder 
einer Ultrazentrifuge messen möchtest. Davon hängt u.U. die Art des 
Sensors und die Vorgehensweise ab.
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.
Gast
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???
(Firma: matzetronics)
Normalerweise brauchst du eine Kombination:
Ein EXTINT wird vom Drehzahlgeber ausgelöst, in dem zählst du nur eine 
Variable hoch. Der Timerinterrupt liest die Variable, übergibt sie als 
Ergebnis und setzt sie dann wieder auf Null.
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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.