INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Pulsrate eines externen Triggers ändern



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

12.01.2012, 14:52
Beitrag #1

labrat Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2011

2011 DS2
2008
DE



Pulsrate eines externen Triggers ändern
Hallo,

ich verwende zum Ersten Mal eine DAQ-Karte (NI-PCI 6229) und hoffe Ihr könnt mir bei meinem Problem helfen. Ich benutze eine Kamera um Laserpulse aufzunehmen. Dazu steht ein externes Triggersignal (etwa 100Hz) zur Verfügung. Leider ist die maximale Framerate deutlich unterhalb dieser 100Hz. Nun möchte ich das externe Triggersignal mit der DAQ-Karte einlesen, die Pulsrepititionsrate verringern und wieder ausgeben. Sinn der Sache ist es also, aus einem 100Hz Trigger z.B einen 10Hz Trigger zu machen, mit dem die Kamera wieder vernünftig arbeiten kann.

Ich verwende momentan das Labview Example "Read_Dig_Chan.vi" um das Triggersignal einzulesen. Das klappt soweit auch ganz gut. Nur wie kann ich jetzt aus dem 100Hz Signal ein 10Hz machen?

Vielen Dank im voraus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2012, 19:12
Beitrag #2

B033el Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 105
Registriert seit: Mar 2009

2016
2009
DE

66***
Deutschland
RE: Pulsrate eines externen Triggers ändern
nur eine Idee von mir:

Nimm doch dein 100Hz Signal und zähle deine Pulse. Bei jedem 10. Puls schaltest du dein Ausgang um. Dann hast du ein 10Hz Signal.


LG Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2012, 13:04
Beitrag #3

labrat Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2011

2011 DS2
2008
DE



RE: Pulsrate eines externen Triggers ändern
hallo und vielen Dank für den Vorschlag.

Die Idee klingt schonmal recht gut. Mittlerweile kann ich auch schon den Counter-Eingang der DAQ-Karte verwenden. Wenn ich es richtig verstanden habe, soll ich den Zähler abfragen und bei jedem Vielfachen von 10 (also 10, 20, 30...) z.B eine Case-Struktur auf True schalten, die dann wiederum auf einen Digitalen Ausgang schreibt. Oder sollte ich hier besser mit einer Event-Struktur arbeiten?

Egal wie, ich scheitere allerdings schon an der Abfrage ob der Zähler gerade ein Vielfaches von 10 ist. Klingt zwar eigentlich nicht schwer, ich weiß aber wirklich nicht wie ich das anstellen soll.

Vielen Dank nochmal
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2012, 13:58
Beitrag #4

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Pulsrate eines externen Triggers ändern
Hallo,

versuche mal die "Quotient & Remainder" - Funktion.
Wenn Bei Division mit 10 der Rest = 0 ist, dann Trigger.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2012, 17:33
Beitrag #5

labrat Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2011

2011 DS2
2008
DE



RE: Pulsrate eines externen Triggers ändern
Super, hat wunderbar funktioniert. Danke! Statt dem 100Hz Signal bekomme ich nun ein 10Hz Signal.

Leider ist mir aufgefallen, dass ab und zu ein Puls "verloren" geht. D.h. statt einer Periodendauer von 100ms (entspricht den 10Hz) kommt es gelegentlich vor, dass 200ms zwischen zwei Pulsen vergehen. Weiß jemand woran das liegen könnte? Sind die 100Hz Eingangsignal vielleicht zu schnell, so dass bereits da mal ein Puls nicht gezählt wird?


Angehängte Datei(en)
11.0 .vi  Trigger4.vi (Größe: 27,98 KB / Downloads: 149)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2012, 10:53 (Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2012 10:54 von eb.)
Beitrag #6

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Pulsrate eines externen Triggers ändern
Hallo labrat,

Ich bin mir jetzt nicht 100%sicher, aber hier meine Vermutung: Der ausgelesene CounterWert ist eben nicht immer ohne Rest teilbar, weil das SoftwareTiming nicht ganz exakt ist, schon gar nicht bei 5ms-Schleifenzeit. Ich würde das "Quotient and Remainder" mal testweise so ersetzen:
   

ist das besser; gehen so auch noch Pulse verloren?
Gruß

Edit: Ich wollte mal loswerden, dass dein VI eine saubere Struktur hat! So lässt sich sehr schnell alles erfassen und verstehen, sehr gut!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2012, 14:17
Beitrag #7

labrat Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2011

2011 DS2
2008
DE



RE: Pulsrate eines externen Triggers ändern
Die Änderungen bringen leider keine Verbesserung. Es werden immernoch Pulse ausgelassen. Trotzdem vielen Dank für die Mühe, einen Versuch war es auf jeden Fall wert!

Ich habe auch schon versucht, die Wiederholrate der Schleifen (Momentan 5ms) zu ändern bzw. ganz wegzulassen: Keine Verbesserung.

Statt einer Lösung ist mir ein weiteres Problem aufgefallen:

Die Pulse des 10Hz Signals müssen genau mit denen des 100Hz Signals übereinstimmen. Wir wollen schließlich eine Kamera triggern, die relativ schnelle Laserpulse aufnimmt. Gibt es eine möglichkeit die Signale zu synchronisieren? Hab an einer anderen Stelle gelesen, dass Kanäle, die zu einem Task zusammengeführt sind, immer synchron laufen. Kann mir jeamnd dazu genaueres sagen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2012, 15:21
Beitrag #8

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Pulsrate eines externen Triggers ändern
Ja,

standardmäßig sind alle Kanäle eines Tasks synchronisiert.
Aber: Du kannst nicht erwarten, dass das 100Hz-Signal exakt synchron mit dem 10Hz-Signal ist, wenn du das 100Hz-Signal erst misst, dann mit Software verarbeitest und dann wieder ausgibst als "Pseudo-10Hz-Signal". Wie gesagt, Software-Timing ist halt so eine Sache.

Wenn du synchron sein willst, dann würde ich vorschlagen:
Du erstellst einen Erzeuger-Task, mit Externer Triggerung (100Hz-Signal). Also bei exakt irgendeiner Flanke des 100Hz-Signals startet die AnalogeAusgabe deines 10Hz-Signals. Das ist schon ziemlich synchron dann... nach einer Weile (k.A. vllt. 1Tag) driften sie auseinander (µs-Bereich), weil die Clock der DAQ-Karte eben nicht 100% der Clk des 100Hz-Signals entspricht, weil eben auch diese Clks nicht zueinander synchronisiert sind
Es fragt sich, woher das 100Hz-Signal eigentlich kommt. Wenn es auch über dein Programm erzeugt wird, dann ließe es sich "noch synchroner" hinbekommen. (Durch Synchronisierung der Clks)

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  PC-Externen-Schalterzustand in Labview einlesen DaPachi 6 5.556 22.02.2012 21:10
Letzter Beitrag: Woodeye
  Anforderungen an externen Sample Takt Surtre 6 6.962 25.06.2010 11:04
Letzter Beitrag: Achim
  Konfigurieren von externen Trigger PFI 0 1johleh 4 6.695 06.05.2010 10:02
Letzter Beitrag: 1johleh
  Messwerte über externen Trigger/ Zeitinformation briareos 5 4.707 28.04.2010 15:06
Letzter Beitrag: briareos
  Steuerung eines LabVIEW Programms mit einem externen Trigger Moeseph 1 3.350 02.09.2008 18:32
Letzter Beitrag: MikeS81
  Für den Counter einen externen Takt erstellen maier_m 0 3.000 12.01.2006 17:35
Letzter Beitrag: maier_m

Gehe zu: