Hallo miteinander!
Zuerst mal ein großes Lob an den Erfinder, das Forenteam und jeden -teilnehmer!
Ich bin ja immer schwer beeindruckt, was die Qualität der Themen hier betrifft, und genau deshalb hat es mich einiges an Überwindung gekostet mit meinen Anfängerproblemen hier anzutanzen.
Ich habe hier ein Lab mit ADA-IO DA, AD, IO32 zur Verfügung, und alles läuft soweit bestens.
Doch nun wollte ich den ADA-Logger etwas umstricken, um von einem der Analog-Eingänge, auf den ich ein Rechtecksignal lege, dessen Frequenz zu ermitteln.
Leider haut das mit meinen bescheidenen Kenntnissen überhaupt nicht hin.
Ist das generell möglich?
ADA-Logger, Frequenzbestimmung
Re: ADA-Logger, Frequenzbestimmung
Hi Joesen,Joesen hat geschrieben: Ich habe hier ein Lab mit ADA-IO DA, AD, IO32 zur Verfügung, und alles läuft soweit bestens.
Doch nun wollte ich den ADA-Logger etwas umstricken, um von einem der Analog-Eingänge, auf den ich ein Rechtecksignal lege, dessen Frequenz zu ermitteln.
Leider haut das mit meinen bescheidenen Kenntnissen überhaupt nicht hin.
willkommen im Forum!
Wenn Du uns noch etwas genauer beschreiben könntest, was "überhaupt nicht hinhaut", dann könnten wir Dir vielleicht besser helfen.
Wie hoch ist eigentlich die maximal zu messende Frequenz?
Prinzipiell brauchst Du bei der Frequenzbestimmung Deines Rechtecksignals zwei Dinge:
- einen Schwellwert (evtl mit Hysterese)
- die Zeitmessung der Zeiten über und unter dem Schwellwert.
Die Summe der beiden Zeiten ist dann die Periode, der Kehrwert davon ist die Frequenz.
Viele Grüße
Paul
Re: ADA-Logger, Frequenzbestimmung
Hallo Paul, danke für die Antwort & den Willkommensgruß!
Die Zeit, genau die scheint das Problem meiner Denkblokade zu sein.
Zu meinem "Projekt": Ich habe vor einen Rechteckimpuls auszuwerten, mit der bestimmten Frequenz will ich dann eine dazu proportionale Spannung ausgeben (DA).
Zweck des Ganzen: Ich möchte die Drehzahl eines Motors als Spannungswert auf mein DSO bekommen.
Ich dachte dazu würde sich das Lab eignen. Die Frequenz wird die 50Hz nicht übersteigen.
Zu meinen bisherigen Versuchen:
Ich wollte eines der Pulse&Transition Measurement VIs nutzen, doch es scheint an der Waveform zu scheitern, irgendwas mache ich beim "Build Waveform" wohl falsch.
Nun bin ich dazu übergegangen, einfach den Spannungswert auf z.b. größer/kleiner 2,5V zu vergleichen.
Nur wie messe ich jetzt die Zeit der Zustände?
Mein Versuch war, in einer Case-Struktur den "Tickcounter" laufen zu lassen, der sich allerdings nicht Nullen lässt.
Dann nahm ich das "Time delayed"-Dingsbums, aber das ist auch nicht das gelbe vom Ei, da es ja immer erst nach der eingestellten Zeit rücksetzt.
Ich bräuchte also eine Struktur o.ä. in der immer dann ein Timer anläuft, wenn mein Signal z.b. "High" ist, das mir dann die verstrichene Zeit ausgibt um die Periodendauer zu errechnen und dann daraus die Frequenz.
Und das wäre ja dann schonmal die halbe Miete.
Gruß, Joesen
Die Zeit, genau die scheint das Problem meiner Denkblokade zu sein.
Zu meinem "Projekt": Ich habe vor einen Rechteckimpuls auszuwerten, mit der bestimmten Frequenz will ich dann eine dazu proportionale Spannung ausgeben (DA).
Zweck des Ganzen: Ich möchte die Drehzahl eines Motors als Spannungswert auf mein DSO bekommen.
Ich dachte dazu würde sich das Lab eignen. Die Frequenz wird die 50Hz nicht übersteigen.
Zu meinen bisherigen Versuchen:
Ich wollte eines der Pulse&Transition Measurement VIs nutzen, doch es scheint an der Waveform zu scheitern, irgendwas mache ich beim "Build Waveform" wohl falsch.
Nun bin ich dazu übergegangen, einfach den Spannungswert auf z.b. größer/kleiner 2,5V zu vergleichen.
Nur wie messe ich jetzt die Zeit der Zustände?
Mein Versuch war, in einer Case-Struktur den "Tickcounter" laufen zu lassen, der sich allerdings nicht Nullen lässt.
Dann nahm ich das "Time delayed"-Dingsbums, aber das ist auch nicht das gelbe vom Ei, da es ja immer erst nach der eingestellten Zeit rücksetzt.
Ich bräuchte also eine Struktur o.ä. in der immer dann ein Timer anläuft, wenn mein Signal z.b. "High" ist, das mir dann die verstrichene Zeit ausgibt um die Periodendauer zu errechnen und dann daraus die Frequenz.
Und das wäre ja dann schonmal die halbe Miete.
Gruß, Joesen
Re: ADA-Logger, Frequenzbestimmung
Hallo nochmal,
ich dachte ich zeige einfach mal wie ich mir das gedacht hatte.
Das ganze ist natürlich sehr einfach ausgefallen, und wird dem ein oder anderen hier ein breites Grinsen ("wie kann er nur...") bereiten.
Ich hab also einfach mal nen Schwellwert festgelegt, und schau nach wann dieser unter-/überschritten wird.
Die Zeit, in der das der Fall ist, wird mit dem "Time" VI gemessen, besser gesagt es wird vom Zustand zurückgesetzt.
Dieser Wert wird dann (Puls = Pause) der Einfachheit halber mit 2 multipliziert, der Kehrwert gebildet und ausgegeben.
Bin ich auf dem richtigen Weg, oder sollte ich mir was komplett neues einfallen lassen? Gibt es ne schönere/einfachere Lösung? und wie bekomm ich es hin, immer nur den (End-)Wert bei Änderung der Frequenz anzeigen zu lassen? Macht mir da die While-Schleife nen Strich durch die Rechnung?
Ich bin kein Programmierer, und mit LabView hatte ich noch nicht viel zu tun...
Mit dem Verständnis für die Kommunikation zwischen PC und c´t-Lab ist es auch nicht weit her.
Gruß, Joesen
ich dachte ich zeige einfach mal wie ich mir das gedacht hatte.
Das ganze ist natürlich sehr einfach ausgefallen, und wird dem ein oder anderen hier ein breites Grinsen ("wie kann er nur...") bereiten.
Ich hab also einfach mal nen Schwellwert festgelegt, und schau nach wann dieser unter-/überschritten wird.
Die Zeit, in der das der Fall ist, wird mit dem "Time" VI gemessen, besser gesagt es wird vom Zustand zurückgesetzt.
Dieser Wert wird dann (Puls = Pause) der Einfachheit halber mit 2 multipliziert, der Kehrwert gebildet und ausgegeben.
Bin ich auf dem richtigen Weg, oder sollte ich mir was komplett neues einfallen lassen? Gibt es ne schönere/einfachere Lösung? und wie bekomm ich es hin, immer nur den (End-)Wert bei Änderung der Frequenz anzeigen zu lassen? Macht mir da die While-Schleife nen Strich durch die Rechnung?
Ich bin kein Programmierer, und mit LabView hatte ich noch nicht viel zu tun...
Mit dem Verständnis für die Kommunikation zwischen PC und c´t-Lab ist es auch nicht weit her.
Gruß, Joesen
- Dateianhänge
-
- Labview Document.pdf
- (70.25 KiB) 384-mal heruntergeladen
Re: ADA-Logger, Frequenzbestimmung
Hi Joesen,Joesen hat geschrieben: Ich bin kein Programmierer, und mit LabView hatte ich noch nicht viel zu tun...
Mit dem Verständnis für die Kommunikation zwischen PC und c´t-Lab ist es auch nicht weit her.
tut mir leid, ich war gestern bis spät unterwegs.
Hmm, mir DER Beschreibung kann ich jetzt was anfangen, aber speziell mit Labview kenn ich mich gar nicht aus, Experten, bitte meldet Euch! Ich hab schon bei der Fehlersuche in den vi's immer regelmäßig Stunden gebraucht und die Konstruktion noch nicht durchstiegen.
Programmieren in C liegt mir aber im Gegensatz dazu und mit der c't-Lab-Kommunikation könnte ich Dir vermutlich auch weiterhelfen...
Viele Grüße
Paul
Re: ADA-Logger, Frequenzbestimmung
Hallo Paul!
Danke für dein Hilfeangebot, darauf werd ich wohl noch zurückkommen.
Der neueste Stand: Ich hab die Idee mit der Frequenzmessung jetzt beinahe verworfen, und einen anderen Weg eingeschlagen. Die Drehzahleinheit ist ja "einfach" [1/min], und da mir mein gebastelter Sensor exakt 1 Impuls pro Umdrehung ausgibt, zähle ich diese nun einfach über eine bestimmte Zeit und multipliziere das Ergebnis dann halt mit nem entsprechenden Faktor, um auf Umdrehungen pro Minute zu kommen. Doch der Teufel steckt im Detail, in diesem Fall wohl in meinem Hirn. Denn nach Ablauf der Zeit muss ich das Ergebnis der Zählung ja wieder nullen. Und schwupps, Drehzahl = 0. Ich müsste nun einen Weg finden, den maximalen Wert zu speichern, dauernd anzeigen zu lassen, und erst bei einer Änderung von +/- XX [1/min] zu "erneuern".
Aber alles in kleinen Stücken: Die größte meiner Sorgen ist es, einen Wert zwischenzuspeichern (Schieberegister haut nicht hin). Hat da jemand Erfahrung oder ne Idee? Bin für jeden Vorschlag dankbar!
Gruß, Joesen
Danke für dein Hilfeangebot, darauf werd ich wohl noch zurückkommen.
Der neueste Stand: Ich hab die Idee mit der Frequenzmessung jetzt beinahe verworfen, und einen anderen Weg eingeschlagen. Die Drehzahleinheit ist ja "einfach" [1/min], und da mir mein gebastelter Sensor exakt 1 Impuls pro Umdrehung ausgibt, zähle ich diese nun einfach über eine bestimmte Zeit und multipliziere das Ergebnis dann halt mit nem entsprechenden Faktor, um auf Umdrehungen pro Minute zu kommen. Doch der Teufel steckt im Detail, in diesem Fall wohl in meinem Hirn. Denn nach Ablauf der Zeit muss ich das Ergebnis der Zählung ja wieder nullen. Und schwupps, Drehzahl = 0. Ich müsste nun einen Weg finden, den maximalen Wert zu speichern, dauernd anzeigen zu lassen, und erst bei einer Änderung von +/- XX [1/min] zu "erneuern".
Aber alles in kleinen Stücken: Die größte meiner Sorgen ist es, einen Wert zwischenzuspeichern (Schieberegister haut nicht hin). Hat da jemand Erfahrung oder ne Idee? Bin für jeden Vorschlag dankbar!
Gruß, Joesen