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
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.
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???
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.
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???
Hauptprogramm Die goldene Regel lautet: In einer ISR wird nur das absolut Notwendige gemacht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.