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 

Zeitmessung mittels Lichtschranke



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!

26.09.2008, 06:58
Beitrag #2

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Zeitmessung mittels Lichtschranke
zunächst einmal würde ich das nicht über einen digitalen Eingang am 6008 realisieren, sondern über einen Analog-Eingang. Die DIOs muss man nämlich in Software pollen, und da wäre die theoretisch maximale "Abtastrate" 1 kHz, was aber auch nicht das gelbe vom Ei ist, weil man dann eine Schleife in SW-getaktet mit 1000 Hz laufen lassen müsste, und das ist auf einem "normalen Desktop PC" nicht wirklich eine elegante Lösung.

Bei den analogen Eingängen kann man die Geräte-eigene Hardware Clock verwenden und das sind zumindest 12 kHz, wenn du's einfacher haben willst mit dem Rechnen kannst du eine 10 kHz Clock verwenden und hättest dann eine Auflösung für die Zeitmessung von 100 µs (=0,1 ms) und das ist ja schonmal gar nicht so schlecht.

Vorgehensweise: erstelle eine kontinuierliche analoge Erfassung mit einem Kanal, mit einer Blockgröße von 1000 Werten und einer Abtastrate von 10 kHz. Wenn du dafür ein Beispiel brauchst kannst du das hier verwenden: http://forum.ib-berger.com/index.php?showtopic=64. Aus der Abtastrate in Verbindung mit der Blockgröße ergibt sich automatisch eine Schleifen-Durchlaufzeit für deine Erfassung von 100 ms. In diesen 100 ms holst du immer einen 1000er Block Werte ab und prüfst, ob bestimmte Bedingungen eingetreten sind. Die analogen Signale kannst du dabei relativ einfach in digitale Signale umwandeln: wenn der analoge Wert kleiner 0,8 ist, ist es ein digital LOW (gem. der Spezifikation für ein TTL Signal), wenn der Wert größer 2 Volt ist, handelt es sich um ein digital HIGH. Für die Zeitmessung brauchst du noch eine Variable ("Zähler"), in der du mitzählst, wieviel Samples du bereits verarbeitet hast.

Die Zeitmessung realisierst du, in dem du dir immer den letzten Zustand des digitalen Signals merkst und bei jedem Übergang von HIGH nach LOW (und umgekehrt) die Anzahl der verarbeiteten Samples (gemäß der Variable "Zähler") mit 1/Sample-Rate multiplizierst und anschließend den Zähler zurücksetzt.

Vielleicht willst du die Signale noch entprellen, das würde ich über eine kleine Funktion realisieren, die einen gleitenden Mittelwert mit einer Länge von. z.B. 5 ms über das analoge Signal legt, dann bekommst du auf jeden Fall reproduzierbare Flankenwechsel.

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Zeitmessung mittels Lichtschranke - cb - 26.09.2008 06:58
Zeitmessung mittels Lichtschranke - cb - 02.10.2008, 06:37

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Nulldurchgang mit Zeitmessung denzlair 5 10.660 22.11.2012 22:08
Letzter Beitrag: GerdW
  Zeitmessung mit 2 Lichtschranken Fre3styler 8 8.823 20.01.2010 13:21
Letzter Beitrag: Fre3styler
  Geschwindigkeitsmessung mittels Lichtschranke Guest 1 6.569 03.11.2009 11:27
Letzter Beitrag: b_laudrup

Gehe zu: