Hallo zusammen, ich habe die suche des Forums bereits bemüht, ausserdem habe ich die Artikel über die Timer und Counter Durchgelesen und nichts gefunden. Ich habe ein Programm vorliegen mit welchem man die Windgeschwindigkeit mittels Anemometer, Magnet an der Achse und Hallsensor am Gehäuse messen kann. Dort wird der Timer gestartet und dann eine gate time von 2,5s abgewartet. Anschließend wird der Timer gestoppt, der zählerstand wird ausgewertet und daraufhin in km/h an einem LC-Display ausgegeben. Nun zu meiner Frage: Was ist die Gatetime? Meine Vermutung: Die Gatetime diehnt dazu dem Zähler etwas Zeit zu verschaffen das er auch Tatsächlich ein Paar Impulse Zählen kann. Dadurch müsste sich dann die genauigkeit einer Messung ergeben. Anderst ausgedrückt: Durch diese Gate time wird festgelegt wie schnell das Messsystem auf änderungen der -in diesem Beispiel- Windgeschindigkeit reagieren kann. Es würde mich freuen wenn ihr mich Korrigieren oder Bestätigen würdet bezüglich der Frage/Aussage. Grüße
Jens Freiburger schrieb: > Was ist die Gatetime? Im Deutschen sagt man dazu "Torzeit". Das Tor ist eine bestimmte Zeit lang offen. Alle (Impule) die in dieser das Tor passieren, werden gezählt. Jens Freiburger schrieb: > Anderst ausgedrückt: Durch diese > Gate time wird festgelegt wie schnell das Messsystem auf änderungen der > -in diesem Beispiel- Windgeschindigkeit reagieren kann. Jain. Frequenzen kann man entweder dadurch bestimmen, dass die Anzahl der Impulse pro Zeiteinheit zählt, oder die Zeit zwischen zwei Impulsen misst (Periodendauer) und durch Kehrwertbildung die Frequenz daraus bestimmt. Beide Methoden haben ihre Vorsteile. Eine gewisse Zeit wird immer für die Messung benötigt.
Das heisst für mich das hier eine Messung im Sinne "Impulse pro Zeiteinheit" Vorliegt. Wenn also der Wind zu langsam ist kann es unter umständen sein das ich 0.0km/h angezeigt bekomme obwohl der Wind z.B. eine Geschwindigkeit von 2km/h hätte. Das wäre für mich nicht weiter schlimm, nur interessehalber. Wenn ich im gegensatz dazu eine Periodendauer Messen wollte, müsste ich als Beispiel den Timer so konfigurieren das er bei Steigender Flanke anfängt zu zählen und bei der nächsten Steigenden Flanke aufhört zu Zählen. Und dann den Kehrwert f=1/T bilde. Ich hoffe ich habe mich damit jetzt nicht ganz verlaufen. Danke für die Antwort
Es gibt zwei einfache Arten Frequenzen zu messen 1) Ein Zähler wird resettet, für gewisse Zeit (Gatetime) zählt er einkommende Impulse, danach wird er ausgelesen, berechnet wird Impulse/Zeit = Frequenz 2) es werden die Abstände der Impulse gemessen, ist im Prinzip ähnlich zu obiger Messung, ein Impuls gibt den Zähler frei, der nächste sperrt ihn wieder, am Zähler liegt meistens eine interen Frequenz des µP an
Für mich wäre die zweite Messung interessant. Da ich bedingt durch die gate time mit erster Messung immer zwei Impulse Messen würde. Ich muss sechs verschiedene Impulse Messen welche jeweis zwei mal die selbe ti haben und einmal tp. So könnte ich mit der zweiten Messung die Tatsächliche Dauer der Impulse feststellen.
Jens Freiburger schrieb: > Wenn also der Wind zu langsam ist kann es unter umständen sein das ich > 0.0km/h angezeigt bekomme obwohl der Wind z.B. eine Geschwindigkeit von > 2km/h hätte. Wenn du ein Schalenanemometer hast, ist die Drehzahl proportional zur Windgeschwindigkeit und umgekehrt proportional zum Radius. Bei einer Gatezeit von 2,5s und einem Impuls/Umdrehung ist die Auflösung in km/h dann leicht auszurechnen, solange das Anemometer nicht auf Grund der Reibung stehen bleibt. Um die Auflösung zu erhöhen, könntest du einen weiteren Magneten einbauen und mußt dann natürlich die Umrechnung von Impulszahl in Windgeschwindigkeit entsprechend anpassen.
Jens Freiburger schrieb: > Für mich wäre die zweite Messung interessant. > Da ich bedingt durch die gate time mit erster Messung immer zwei Impulse > Messen würde. > Ich muss sechs verschiedene Impulse Messen welche jeweis zwei mal die > selbe ti haben und einmal tp. > So könnte ich mit der zweiten Messung die Tatsächliche Dauer der Impulse > feststellen. Und dabei geht es immer noch um ein Anemometer?
Bei letzterem nicht, tut mir leid, da hätte ich ein neues Thema aufmachen sollen
Jens Freiburger schrieb: > Bei letzterem nicht, tut mir leid, da hätte ich ein neues Thema > aufmachen sollen Dann ist die Periodenmessung natürlich genau richtig. Bei verschiedenen AVR-Controllern gibt es dafür die InputCapture-Einheit.
Nur ist mir eines beim InputCapturing nicht ganz klar: Wenn ich die Inputcapturing methode Anwende kann ich diese ja auf eine Steigende oder Fallende Flanke auslösen lassen. Wenn aber der Impuls ankommt und der Timer noch nicht Läuft bekomm ich ja den wert 0. Also müsste ich den Timer bei einer Steigenden Flanke aktivieren. Und das Input Capturing auf eine Fallende Flanke einstellen. So wird der Timer bei Steigender flanke anktiviert -er zählt- kommt die Fallende Flanke wird er durch das Inputcapturing gestoppt und der Wert in das entsprechende register kopiert. Diesen wert kann ich dann auslesen und eben weiterverarbeiten. Ist diese prinzipielle denkweise so richtig? Zumindest habe ich das so verstanden
Neiwirger schrieb: > Wenn aber der Impuls ankommt und der Timer noch nicht Läuft bekomm ich > ja den wert 0. > Also müsste ich den Timer bei einer Steigenden Flanke aktivieren. > Und das Input Capturing auf eine Fallende Flanke einstellen. Jain. Man startet zuerst den Timer, der konstant durchläuft. Wenn dann die stegende Flanke kommt, wird der aktuelle Zählerstand im ICRegister gespeichert und ggf. die zugehörige ISR angesprungen. In dieser speichert man den ICR-Wert in einer anderen Variable, weil er bei der nächsten Flanke überschrieben werden würde, stellt man dann die Flankenerkennung um. Subtrahiert man nun den ersten Wert vom zweiten, bekommt man die Imuplslänge heraus. Das funktioniert immer, sofern es nicht mehr als einen Timerüberlauf zwischen den beiden Flanken gab. Den Fall müsste man dann noch explizit abfangen. Wenn allerdings die beiden Flanken innherhalb eines Timerdurchlaufs auftreten ist das kein Problem. Warum man sich keinen Kopf über die Rechnung machen muss? Der Zahlenraum des Timers ist beschränkt...
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.