30.10.2007, 10:04
Beitrag #1
|
monoceros84
LVF-Stammgast
Beiträge: 445
Registriert seit: Oct 2006
2011
2006
EN
Deutschland
|
Frequenzmessung funktioniert nicht...
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.
|
|
|
30.10.2007, 10:21
Beitrag #2
|
monoceros84
LVF-Stammgast
Beiträge: 445
Registriert seit: Oct 2006
2011
2006
EN
Deutschland
|
Frequenzmessung funktioniert nicht...
' 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?
|
|
|
30.10.2007, 11:50
Beitrag #3
|
|
|
30.10.2007, 14:56
Beitrag #4
|
monoceros84
LVF-Stammgast
Beiträge: 445
Registriert seit: Oct 2006
2011
2006
EN
Deutschland
|
Frequenzmessung funktioniert nicht...
Perfekt, danke. Irgendwie hatte ich das (meiner Meinung nach ) 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
|
|
|
02.11.2007, 15:34
Beitrag #5
|
martin81
LVF-Grünschnabel
Beiträge: 13
Registriert seit: Oct 2007
7.1
-
kA
Deutschland
|
Frequenzmessung funktioniert nicht...
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?
|
|
|
03.11.2007, 09:20
Beitrag #7
|
martin81
LVF-Grünschnabel
Beiträge: 13
Registriert seit: Oct 2007
7.1
-
kA
Deutschland
|
Frequenzmessung funktioniert nicht...
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.
|
|
|
03.11.2007, 10:48
Beitrag #8
|
martin81
LVF-Grünschnabel
Beiträge: 13
Registriert seit: Oct 2007
7.1
-
kA
Deutschland
|
Frequenzmessung funktioniert nicht...
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?
|
|
|
03.11.2007, 11:46
(Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2007 12:08 von Achim.)
Beitrag #9
|
Achim
*****
Beiträge: 4.223
Registriert seit: Nov 2005
20xx
2000
EN
978xx
Deutschland
|
Frequenzmessung funktioniert nicht...
' 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:
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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
|
|
|
05.11.2007, 10:40
(Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2007 15:11 von jg.)
|
monoceros84
LVF-Stammgast
Beiträge: 445
Registriert seit: Oct 2006
2011
2006
EN
Deutschland
|
Frequenzmessung funktioniert nicht...
' 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.
DigitalIO_Count_Freq.vi (Größe: 30,52 KB / Downloads: 292)
(LV 8.0)
@ 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 kann
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...
|
|
|
| |