lasergesteuerte stoppuhr

Alle allgemeinen Themen zu Elektronik und Elektro

Alle allgemeinen Themen zu Elektronik und Elektro

Moderator: Moderatorengruppe

lasergesteuerte stoppuhr

Neuer Beitragvon möp am Samstag 28. Oktober 2006, 14:58

hallo

für die durchführung eines versuches für meine facharbeit bräucht ich eine schaltung mit der ich den abstand zwischen zwei wassertrofen messen kann

soll dann so ablaufen
wenn das laserlicht vom wassertropfen unterbrochen wird soll die zeit gestartet werden und beim nächsten tropfen wieder gestoppt werden. gleichzeitig soll die nächste zeit wieder starten usw.
die zeiten sollten dann in ner datenbank abgelegt werden mit der dazugehörigen tropfennummer

hat vor des mit nem normalen laserpointer und nem fototransistir zu machen.
des signal wollt ich dann mithilfe des com-ports in nen pc einschleusen und nen kleines programm schreiben

hab net wirklich viel erfahrung, hab nur mal nen ir-empfänger fürn pc gelötet und nen programmcode (basic) für ne led-uhr geschrieben

über hilfe würd ich mich freuen

gruß flo
möp
Threadstarter
22767
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon Zerleger am Samstag 28. Oktober 2006, 15:21

Wenn du den Laser genau ausrichtest sollte es gehen, einfach mal ausprobieren.
Benutzeravatar
Zerleger
22768
Platinum Mitglied
 
Beiträge: 570
Registriert: Samstag 1. Februar 2003, 17:05
Wohnort: Rhein-Main Gebiet
Postleitzahl: 55
Land: Germany / Deutschland

Interessant

Neuer Beitragvon Erfinderlein am Samstag 28. Oktober 2006, 16:00

Hallo Flo,

das klingt ja interessant. Vor allem wenn man daran denkt was man da alles mit untersuchen kann.
Kannst ja auch mal eine Ringelektrode in den Tropfenweg montieren und mit einem elektrostatischen Potential gegenüber der Flüssigkeit arbeiten und schauen, was das für einen Einfluss auf die Tropfenbildung hat.
Vom Prinzip her musst du mit jedem Tropfen (Takt) einen Übertrag des Zählregisters machen und quasi gleichzeitig das Zählregister löschen. Nur so denke ich mal lässt sich das ohne Wartezeit für einen neuen Zählzyklus realisieren. Diese Zeit für Übertrag/löschen sollte sehr kurz sein, zumindest aber gleichbleibend präzise in ihrer Dauer. Als Hardwarelösung habe ich diese Schaltung industriell eingesetzt ( lang ists her, smile ) und beide Funktionen flankengesteuert realisiert. War sehr schnell und präzise und vor allem ohne den bei den Zählern übliche Jitter von plus minus ein bit. Da war Null erstmalig auch Null in der Anzeige.

Für die Empfängerschaltung würde ich eher zu einer schnellen Fotodiode raten. Unter Umständen müsstest du auch eine Spaltblende in der Nähe des Tropfens anbringen um nicht die gesamten als vertikaler Strich sichtbar werdenden Reflexionen am Tropfen auf das Fotoelement zu bekommen. Die kommen sonst sehr ungleichmässig und du wärest dann von geringsten Luftbewegungen abhängig.

So viel mal fürs erste.

LG aus GR
Lothar Gutjahr bestätigt:Senneca hatte recht. Wir haben nicht zu wenig Zeit, sondern vergeuden zu viel.
Benutzeravatar
Erfinderlein
22769
Co-Admin
 
Beiträge: 4275
Registriert: Donnerstag 9. Januar 2003, 18:21
Wohnort: Neukirchen a.T.
Postleitzahl: 83364
Land: Germany / Deutschland

Neuer Beitragvon möp am Samstag 28. Oktober 2006, 17:05

vielen dank schonmal für eure tipps

für alle dies interessiert, mein thema is die chaostheorie
als versuch will ich den wassertropfenvrsuch durchführen ( http://www.spektrum.de/artikel/821311 )

so nun mal zur schaltung

momentan steh ich vor nem ziehmligen rätsel


die pinbelgung von der com schnittstelle sieht ja so aus:

wo schalt ich jetzt am besten die fotodiode dazwischen um die daten dann am pc auswerten zu können?

Pin Signal
1 CD Carrier Detect
2 RXD Receive Data
3 TXD Transmit Data
4 DTR Data Term. Ready
5 GND Signal GND
6 DSR Data Set Ready
7 RTS Request to Send
8 CTS Clear to Send
9 RI Ring Indicator
möp
Threadstarter
22771
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon Maschinenbauer am Sonntag 29. Oktober 2006, 21:59

Hi...
Hab ein Zählwerk über V24 mit einem induktiven Nährungsschalter bebaut.
RTS auf 1 gesetzt (Spannungsversorgung) und CTS als Eingang benutzt.
Die Frage ist, wie sauber die Diode in die Bereiche schaltet...
Maschinenbauer
22780
Junior Mitglied
 
Beiträge: 32
Registriert: Mittwoch 14. Dezember 2005, 17:36

Serielle Schnittstelle

Neuer Beitragvon BernhardS am Montag 30. Oktober 2006, 07:44

Hallo,

das Thema Messen an der seriellen Schnittstelle ist hier mehrfach zu finden. Such z.B. mal den Beitrag "Sensoren an serielle schnittstelle" und geh den angegebenen Links nach bzw. such das Forum mal durch nach "RS232" oder "serielle Schnittstelle" und so weiter.

Zur Optik: Ich würde nicht die Unterbrechung des Lichtstrahls auswerten, sondern das Streulicht wenn der Tropfen in den Lichtstrahl kommt. Je nach Abdunkelung könnte ein passender Vorwiderstand als "Schaltung" eventuell schon reichen.

Bernhard
BernhardS
22782
Moderator
 
Beiträge: 4597
Registriert: Donnerstag 17. Februar 2005, 17:50
Postleitzahl: 84028
Land: Germany / Deutschland

Neuer Beitragvon möp am Dienstag 31. Oktober 2006, 12:28

ok neuer stand: :D

über den elektrschen teil bin ich mir jetzt eigentlich im klaren
aber ich bekomms einfach nicht auf die reihe des signal per computer auszulesen
is es möglich das signal mit dem in excel intergrierten visual-basic auszulesen?
auf den ganzen seiten hab ich bisher auch nix gefunden
möp
Threadstarter
22797
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon möp am Dienstag 31. Oktober 2006, 14:06

so das: http://www.visualbasic.at/forum/showfla ... &fpart=all
sieht ganz hilfreich aus

hab mir jetzt auch visual basic 2005 express runtergeladen (gibts kostenlos)

wenn ich aber den angegebenen quelltext ausführen will erhalt ich immer:
Die Anweisung ist in einem Namespace ungültig.

laut hilfe so zu beheben:

Visual Basic-Referenz: Fehlermeldungen
Die Anweisung ist in einem Namespace ungültig.

Statement is not valid in a namespace

Die Anweisung kann nicht auf Namespaceebene angezeigt werden. Die einzigen auf Namespaceebene zugelassenen Deklarationen sind Modul-, Schnittstellen-, Klassen-, Delegat-, Enumerations- und Strukturdeklarationen.

Fehler-ID: BC30001

So beheben Sie diesen Fehler
Verschieben Sie die Anweisung an einen Ort innerhalb einer Modul-, Klassen-, Schnittstellen-, Struktur-, Enumerations- oder Delegatdefinition.


sagt mir jetzt relativ wenig...


der code ist:
Code: Alles auswählen
' Ereignis auslösen durch kontakt an COM pin 4 <-> pin 2

Option Explicit

Private Sub Form_Load()
Dim Port As String

' port erfragen
Port = InputBox("Zu verwendene COM angeben." & vbCrLf & vbCrLf & _
"Zum Beispiel COM1 oder einfach 1")
'Port = "4"
If Port = "" Then End ' ungültig

If Len(Port) > 1 Then Port = Right(Port, 1) ' hat COM eingegeben

' mscommport einrichten
On Error GoTo errComOpen
MSComm1.CommPort = Val(Port) ' zu verwendendes port
MSComm1.Settings = "600,n,8,1" ' baudrate & co
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.PortOpen = True
Exit Sub

errComOpen:
MsgBox "FEHLER: Commport COM" & MSComm1.CommPort & " konnte nicht geöffnet werden", vbCritical
End
End Sub

Private Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False ' Port schiessen
End Sub

Private Static Sub MSComm1_OnComm() ' *** auf ereignis von mscomm reagieren
Dim RXD As String

Select Case MSComm1.CommEvent
Case comEvSend ' sende puffer jetzt leer (hier braucht nichts getan zu werden)
Case comEvReceive ' es wurden daten empfangen
Beep
MsgBox "Hallo Harry :-)"
RXD = MSComm1.Input ' nur pro forma einlesen
Case Else
MsgBox "FEHLER: Unbekannter Fehler oder Ereignis"
End Select
End Sub


kann mir wer helfen???
möp
Threadstarter
22802
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon möp am Dienstag 31. Oktober 2006, 16:29

so nachdem ich mich praktsch den ganzen tag mit visualbasic und der com-schnittstelle auseinadergesetzt hab und ich kurz vorm durchdrehn bin :twisted: :twisted: kamm mir endlich die beste idee

mag am anfang vl biss komisch klingen, aber ich schlacht einfach ne alte maus und nutz das tasten-klick signal als eingangssignal :D
möp
Threadstarter
22810
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon Zerleger am Dienstag 31. Oktober 2006, 17:49

kannst du sagen in welcher Zeile der Fehler auftritt? bzw. mal das komplette Projekt zippen und hochladen?
Benutzeravatar
Zerleger
22814
Platinum Mitglied
 
Beiträge: 570
Registriert: Samstag 1. Februar 2003, 17:05
Wohnort: Rhein-Main Gebiet
Postleitzahl: 55
Land: Germany / Deutschland

Neuer Beitragvon möp am Dienstag 31. Oktober 2006, 18:30

immer bei den private subs

kenn mich halt nich wirklich bei vb aus weswegn die maus-lösung einfacher sein wird

hoffe bloß, dass sich keine großen verzögerungen ergebn werden, und wenn zumindest relgelmäßige ;)
möp
Threadstarter
22817
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon möp am Dienstag 2. Januar 2007, 11:28

ok hab den kompletten versuch nun aufgebaut und die schaltung funktioniert super
das problem is, dass ich nun aber immer sprünge bei der zeiterfassung hab

erkennt man unten an den angehängten grafiken

bei unbenannt.gif wurde die lichtschranke zufällig per hand unterbrochen

auf der x-achse die nummer der unterbrechung
auf der y-achse die zeit zwischen den unterbrechungen in ms

bei unbenannt2.gif hab ich die werte nach größe sortiert
und hier sieht man, dass fast immer nur bestimmte werte auftreten
der sprung zwischen den stufen beträgt 9ms

da ich das signal ja über den masuklick einer alten ps/2 maus einspeise, geh ich davon aus, dass die 9ms verzögerung beim verarbeiten des interrupt signals auftreten
hab das ganze programm unter windows XP laufen,was ja leider kein echtzeitbetriebssystem ist

hat hier wer ne idee wie ich die verarbeitungszeit des interrupt senken kann?
oder gibts ne andre möglichkeit wie ich das signal in den pc bekomm?
gruß flo
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
möp
Threadstarter
23935
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon anders am Dienstag 2. Januar 2007, 12:45

was ja leider kein echtzeitbetriebssystem ist

hat hier wer ne idee wie ich die verarbeitungszeit des interrupt senken kann?
oder gibts ne andre möglichkeit wie ich das signal in den pc bekomm?

Das war leider zu erwarten.
Vielleicht verwendest du besser den Eingang der Soundkarte mit einer relativ langsamen Samplingrate.
Diese Daten werden ja in auf jeden Fall quarzgenau abgeholt.
Dabei fällt zwar ziemlich viel Datenmüll zwischen den Impulsen an, aber moderne CPUs sollten schnell genug sein, um die ganzen Nullen zu entfernen und nur die Samplenummern die den Impuls beinhalten zu registrieren.

Anstelle einer Lichtschranke könntest du viellicht einfach zwei dünne Drähte durch den fallenden Wassertropfen verbinden lassen. Er wird ja nachher nicht mehr gebraucht.
Wasser leitet bekanntlich den elektrischen Strom und besonders gut tut es das, wenn etwas Salz oder noch besser, wenn eine Spur Säure (z.B. von einer Zitrone) darin enthalten ist.
anders
23938
Moderator
 
Beiträge: 4686
Registriert: Freitag 28. Februar 2003, 13:46

Neuer Beitragvon möp am Mittwoch 3. Januar 2007, 17:26

die registrierung mit der laserschranke klappt ohne probleme, die drahtmethode wär aber bestimmt auch ne alternative gewesen

die idee das übern mikrofoneingang zu lösen hört sich nicht schlecht an
mit welchem programm würdest du das realisieren
oder muss man zwangsweise selbst programieren?
kann nur bissl vb

ps: unten mal paar bilder vom versuchsaufbau
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
möp
Threadstarter
23957
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Neuer Beitragvon möp am Sonntag 7. Januar 2007, 15:43

hat niemand eine idee?
möp
Threadstarter
24027
Bronze Mitglied
 
Beiträge: 43
Registriert: Mittwoch 3. November 2004, 15:09

Nächste

Zurück zu Elektronik Allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 46 Gäste