LabVIEWForum.de - Frequenzmessung funktioniert nicht...

LabVIEWForum.de

Normale Version: Frequenzmessung funktioniert nicht...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hi

Vor wenigen Tagen habe ich noch das VI DAQmx Create Channel -> Counter Input -> Frequency empfohlen, jetzt habe ich selber Probleme damit. Um allen Fehlern vorzubeugen, habe ich einen Funktionsgenerator an den Counter-Source (PFI8) meiner DAQ-Karte angeschlossen. Die Masse hängt an D GND. Ich erzeuge damit ein 10Hz-Rechtecksignal zwischen 0V und 5V. Das ganze wird mit einem Oszi kontrolliert - damit fällt das digitale Signal meiner Meinung nach als Fehlerursache raus.

Als nächstes habe ich das LV Beispiel "Count Digital Events" versucht, das einfach nur die Flanken zählt. Funktioniert einwandfrei. 10 Pulse pro Sekunde.

Nun wollte ich aber gern die Frequenz bestimmen, was letztendlich mein eigentliches Ziel ist. Also habe ich das Beispiel "Meas Dig Frequency-Low Freq 1 Ctr" versucht. Das ist ja wirklich minimalistisch. Um es kurz zu machen, es wird immer nach 10s mit einem Timeout-fehler beendet, so als würden keine Pulse im Counter ankommen. Ich habe es übrigens auch schon mit einem Inkrementalencoder versucht, der später zum Einsatz kommen soll. Als dies aber ebensowenig funktionierte, habe ich mir den Funktionsgenerator geschnappt, weil ich hier wenigstens Kontrolle über das Signal habe...

Hat einer von euch eine Idee, was ich falsch gemacht haben könnte? Ich stehe vor einem Rätsel. Der Counter scheint ja zu funktionieren, da das Zählen der Flanken möglich ist.

BTW: Ich konnte nirgends Erklärungen zum genauen Prinzip eines Counters finden. Wozu sind die einzelnen Anschlüsse da? Source, Gate, AUX, OUT, A, Z, B. Ich habe zunächst einmal wie selbstverständlich angenommen, dass das Signal an Source gehört, ist das richtig?

Danke für die (hoffentliche) Hilfe!

PS: Das Posten des VIs erspar ich mir mal, da die beiden Beispiele in jedem LV verfügbar sein sollten.
' schrieb:Wozu sind die einzelnen Anschlüsse da? Source, Gate, AUX, OUT, A, Z, B. Ich habe zunächst einmal wie selbstverständlich angenommen, dass das Signal an Source gehört, ist das richtig?

OK, ich habe soeben selber herausgefunden, dass es funktioniert, wenn ich das Signal an den Gate-Anschluss lege. Dann funktioniert das Flanken-Zählen aber nicht mehr...

Bleibt zu klären, welche Funktion die einzelnen Anschlüsse haben und wieso es sich gerade SO verhält. Hoffe, ihr könnt mir weiterhelfen.

Achja: Im Moment verwende ich die Grequenzbestimmung mit EINEM Counter. Wann sollte ich zu zwei Countern übergehen? In der Hilfe steht nur: "für hohe Frequenz". Was heißt das genauer?
Hi,

guck mal unter START >> Programme >> National Instruments >> NI-DAQ >> Hilfe für NI-DAQmx....NI-DAQmx Device Considerations....Counters

Da stehen alle Anwendungen und Anschlüsse erklärt! Ist schwer zu finden und auch ein bisschen aufwändig zu verstehen...

Gruß
Achim
Perfekt, danke. Irgendwie hatte ich das (meiner Meinung nachSmile) schonmal so, wie's in diesem Dokument steht, aber im Gegensatz zu bisher funktioniert es jetzt. Danke.

Übrigens habe ich folgendes feststellen können: Wenn man die Methode für kleine Frequenzen mit EINEM Counter nimmt, bekommt man bei 15kHz Abweichungen von bis zu 2Hz. Egal, ob als Timebase 20MHz oder 80MHz gewählt wurde (wieso?). Wenn ich zur Messung mit zwei Countern (Methode für große Frequenzbereiche) übergehe, kann ich durch den Devisor am Create Channel VI die Genauigkeit einstellen. Mit 100 schwankt mein Messwert beispielsweise nur noch um ein paar 0,01Hz. Das ist absolut perfekt.

PS: Die verschiedenen Messmethoden sind hier erklärt:
http://zone.ni.com/devzone/cda/epd/p/id/5000
Hey, ich hab dasselbe Problem, kannst du mal schreiben wie du es gelöst hast?

ich habe am 6602 einen counter (6) an source mit dem zu messenden signal verbunden, und ihn auch an "gate" (von counter 6) mit dem auch an dem 6602 generierten referenzpuls (nehme ich aus counter 4 out) genommen. dann habe ich das beispiel "hohe frequenzen mit 2 countern genommen", habe einen
Referenzpuls (länger) an Counter 4 im selben VI generiert aber aber es funktioniert irgendwie nicht, es kommen fehlermeldungen und die frequenzen stimmen nicht. wie hast du es gemacht, evtl mit Bild deines VI?
Schaue mal in die von Achim empfohlene Hilfe-Datei. Dort findest du ein Wiring-Diagram (Schaltbild) deiner Counter. Du wirst sehen, dass die Counter intern schon verdrahtet sind, d.h. Ausgang von Counter 1 geht in den Source (oder war's Gate?) von Counter 2. Du musst nun also dein Signal nur an den Source von Counter 1 schließen. Counter zwei musst du gar nicht angeben, das wird intern gemacht. Du solltest nur wissen, dass dieser Counter dann verwendet wird und nicht mehr frei ist.
Das ist mit deinem Counter/Timer-Modul sicher sehr ähnlich. Wie gesagt, werfe mal einen Blick in die Hilfe-Datei...

Leider hab ich jetzt hier weder LV, noch mein VI. Wenn du das VI immer noch brauchst, dann sag nochmal Bescheid (damit dieser Thread nochmal bei ungelesene Beiträge auftaucht - sonst vergess' ich das bestimmt wiederWink)... Wird dann am Montag nachgeliefert.
Danke für die Antwort. die counter sind intern verdrahtet? ich dachte ich muss diese über meine SCB-68 Anschlussbox selbst verbinden? Ok, ich werd mir die Hilfe Datei dann Montag mal angucken, die gibts leider wohl nicht online. Falls du noch dein VI findest, kannst du es ja mal posten.
aso, nochmal zum verständnis:

für frequenzmessung (hohe) mit 2 countern eines unbekannten signal muss ich:
z.b.
-das unbekannte signal an source eines counters (z.B. CTR 1) anschließen
-einen definierten impuls (von einem anderen counter) ans gate des counters (z.B. CTR 1) anschließen
-dann in LabVIEW in einem daqmx task diesen definierten impuls generieren, dann einen anderen virtuellen Task erstellen als frequenzmessung mit 2 countern für hohe frequenzen?
' schrieb:aso, nochmal zum verständnis:

für frequenzmessung (hohe) mit 2 countern eines unbekannten signal muss ich:
z.b.
-das unbekannte signal an source eines counters (z.B. CTR 1) anschließen
-einen definierten impuls (von einem anderen counter) ans gate des counters (z.B. CTR 1) anschließen
-dann in LabVIEW in einem daqmx task diesen definierten impuls generieren, dann einen anderen virtuellen Task erstellen als frequenzmessung mit 2 countern für hohe frequenzen?

Hi,
ich hab das auch schon ewig nicht mehr gemacht und kann es jetzt auch nicht testen...aber ich glaube, es geht so:

1. Nimm Method 2, hier ist der Measurement-Mode auf "High Frequency with two counters" eingestellt
2. Je nachdem, welchen Counter du auf dem FrontPanel auswählst, wird dieser dafür verwendet, dass unbekannte (externe) Signal zu messen
3. Das unbekannte Signal musst du dann an den Pin anschließen, der im folgenden Screenshot angegeben ist:
[attachment=9477]
4. Der auf dem FrontPanel nicht ausgewählte Counter wird dann als Taktgeber für den Mess-Kanal-Counter verwendet.

So weit so gut...das gilt wohl für alle Multifunction DAQ-Boards, die nur maximal zwei Counter haben. Wie es allerdings bei den 660x-Boards ist, die mehrere Counter(paare) haben, müsste man mal ausprobieren.

EDIT: Zu diesem Thema gibt's Info im 660x-Manual...Seite 39 (3-15)...
Auf den Seiten 3-10 bis 3-13 steht, das man die Counter-Pins "beliebig" innerhalb (!!) der Karte um-routen kann. Evtl. muss man das auch für die Messung tun (siehe letzten Absatz). Machen kann man das mit dem VI DAQmx Connect Signals (Palette Advanced unter DAQmx). Ich finde es aber schade, dass das noch nicht als komplettes Beispiel auf den NI-Seite hinterlegt ist, so wie es für die TraditionalDAQ-Anwendungen der Fall war (siehe Link unten)...

In "Traditional-DAQ-Anwendungen" mit Countern konnte man beide getrennt angebenm, z.B. Ctr1 als Messkanal, Ctr4 als Referenz...ich hab das früher schon mal mit ner 6602-Karte gemacht. Leider bringt das jetzt mit DAQmx rein gar nichts mehr. Aber das MUSS irgendwo beschrieben sein...

Gruß
Achim
' schrieb:Hi,
ich hab das auch schon ewig nicht mehr gemacht und kann es jetzt auch nicht testen...aber ich glaube, es geht so:

1. Nimm Method 2, hier ist der Measurement-Mode auf "High Frequency with two counters" eingestellt
2. Je nachdem, welchen Counter du auf dem FrontPanel auswählst, wird dieser dafür verwendet, dass unbekannte (externe) Signal zu messen
3. Das unbekannte Signal musst du dann an den Pin anschließen, der im folgenden Screenshot angegeben ist:
[attachment=36396:counter.jpg]
4. Der auf dem FrontPanel nicht ausgewählte Counter wird dann als Taktgeber für den Mess-Kanal-Counter verwendet.

So weit so gut...das gilt wohl für alle Multifunction DAQ-Boards, die nur maximal zwei Counter haben. Wie es allerdings bei den 660x-Boards ist, die mehrere Counter(paare) haben, müsste man mal ausprobieren.

EDIT: Zu diesem Thema gibt's Info im 660x-Manual...Seite 39 (3-15)...
Auf den Seiten 3-10 bis 3-13 steht, das man die Counter-Pins "beliebig" innerhalb (!!) der Karte um-routen kann. Evtl. muss man das auch für die Messung tun (siehe letzten Absatz). Machen kann man das mit dem VI DAQmx Connect Signals (Palette Advanced unter DAQmx). Ich finde es aber schade, dass das noch nicht als komplettes Beispiel auf den NI-Seite hinterlegt ist, so wie es für die TraditionalDAQ-Anwendungen der Fall war (siehe Link unten)...

In "Traditional-DAQ-Anwendungen" mit Countern konnte man beide getrennt angebenm, z.B. Ctr1 als Messkanal, Ctr4 als Referenz...ich hab das früher schon mal mit ner 6602-Karte gemacht. Leider bringt das jetzt mit DAQmx rein gar nichts mehr. Aber das MUSS irgendwo beschrieben sein...

Gruß
Achim

Also, zunächst erstmal, bevor ich's vergesse, das VI meiner Frequenzmessung. Es läuft allerding nicht für 'hohe Frequenzen', sondern für einen 'großen Frequenzbereich'. Das ändert aber nicht wirklich viel. Außerdem kann ich nciht auf 7.2 runterspeichern. Entweder reicht dir der Screenshot, oder das muss mal noch jemand anders übernehmen.

[attachment=9496](LV 8.0)
[attachment=9498]

@ Martin: Das unbekannte Signal muss an den Source, wenn du einen 'großen Frequenzbereich' hast. Wenn du 'hohe Frequnezen' messen willst, dann muss es glaube an das Gate. Folge einfach dem Screenshot von Achim, das ist aus der Hilfe, die er vorher schonmal empfohlen hat. In dieser Hilfe gibt es auch wie gesagt einen Schaltplan, wie die Counter intern verdrahtet sind.

@ Achim: Ich war auch ein bisschen enttäuscht, dass sich dazu nichts weiter finden lässt. Dann ist eben unser Forum das erste, wo man sowas finden kannSmile
Im Moment habe ich leider nciht die Zeit, das ganze auf meiner Counter-Karte (6602) auszuprobieren. Das wird aber noch folgen. Dann erstatte ich Bericht. Ich hoffe mal, die sind immer paarweise verdrahtet. Oder seqentiell, so dass immer der folgende Counter verwendet wird.
So, wie das früher scheinbar ging, habe ich es auch erst versucht und bin daher nicht gleich auf einen grünen Zweig gekommen. Schon seltsam, dass man keinen Einfluss auf den Referenzcounter hat...
Seiten: 1 2
Referenz-URLs